Giao tiếp song song

Để xuất 1 byte ra cổng máy in, máy tính cần làm những bước sau:

Kiểm tra printer có báo bận không (BUSY=1)? Nếu có, chờ cho đến khi tín hiệu BUSY=0

Ghi 1 byte ra Data Port

Xuất tín hiệu STROBE=0, báo cho printer có tín hiệu trên đường DATA

Sau khoảng 5us, chuyển STROBE=1 trở lại

 

ppt17 trang | Chia sẻ: maiphuongdc | Lượt xem: 2863 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Giao tiếp song song, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
GIAO TIẾP SONG SONG là hình thức truyền thông dụng thường sử dụng giao tiếp: printer, plotter,… Dữ liệu được truyền song song, hỗ trợ duplex Các chuẩn giao tiếp song song (IEEE 1284) SPP: standard parallel port EPP: enhanced parallel port ECP: extended capabilities port So sánh giữa truyền song song và nối tiếp Parallel Port Các ngõ tín hiệu cổng LPT chuẩn SPP *pin: là những ngõ tín hiệu bị đảo bởi phần cứng Các ngõ tín hiệu cổng LPT chuẩn EPP Các ngõ tín hiệu cổng LPT chuẩn ECP Điểu khiển cổng song song qua thanh ghi Lập trình cổng LPT qua DOS Một số lệnh điều khiển cổng LPT trong ngôn ngữ C: outportb( PORTID, data); data = inportb( PORTID); outport( PORTID, data); data = inport( PORTID); Ví dụ: #include"conio.h" #include"dos.h" #define PORT 0x378 void main() {     while(!kbhit())     {         outportb(PORT, ~inportb(PORT) );         delay(1000);     } } Lập trình cổng LPT qua DOS (tt) Sử dụng ngắt 21h Hàm 05h: xuất ký tự ra LPT Ví dụ: xuất ký tự a ra cổng LPT MOV ah, 05h MOV dl, ‘a’ INT 21h Sử dụng ngắt 17h: Hàm 00h: xuất ký tự ra LPT Hàm 01h: khởi động cổng LPT Hàm 02h: xác định trạng thái cổng LPT Ví dụ: xuất ký tự a ra LPT MOV ah, 00h MOV al, ‘a’ MOV dx, 00h INT 17h Ví dụ: khởi động cổng LPT2 MOV ah, 01h MOV dx, 01h INT 17h Ví dụ: xác định trạng thái cổng LPT3 MOV ah, 02h MOV dx, 02h INT 17h ; byte trạng thái trong al Lập trình cổng LPT qua BIOS Ví dụ: đọc địa chỉ của printer port qua BIOS #include #include void main(void) { unsigned int far *ptraddr; /* Pointer to location of Port Addresses */ unsigned int address; /* Address of Port */ int a; ptraddr=(unsigned int far *)0x00000408; for (a = 0; a < 3; a++) { address = *ptraddr; if (address == 0) printf("No port found for LPT%d \n",a+1); else printf("Address assigned to LPT%d is %Xh\n",a+1,address); *ptraddr++; } } Mạch kiểm tra parallel port Phương pháp điều khiển máy in (theo chuẩn SPP) Để xuất 1 byte ra cổng máy in, máy tính cần làm những bước sau: Kiểm tra printer có báo bận không (BUSY=1)? Nếu có, chờ cho đến khi tín hiệu BUSY=0 Ghi 1 byte ra Data Port Xuất tín hiệu STROBE=0, báo cho printer có tín hiệu trên đường DATA Sau khoảng 5us, chuyển STROBE=1 trở lại Truyền dữ liệu cổng LPT theo chuẩn EPP 1. Program writes to EPP Data Register.(Base + 4) 2. nWrite is placed low. (Low indicates write operation) 3. Data is placed on Data Lines 0-7. 4. nData Strobe is asserted if Wait is Low (O.K. to start cycle) 5. Host waits for Acknowledgment by nWait going high (O.K. to end cycle) 6. nData Strobe is de-asserted. 7. EPP Data Write Cycle Ends. Figure : Enhanced Parallel Port Data Write Cycle. Truyền dữ liệu cổng LPT theo chuẩn ECP 1. Data is placed on Data lines by Host. 2. Host then indicates a Data Cycle will proceed by asserting HostAck. 3. Host indicates valid data by asserting HostClk low. 4. Peripheral sends its acknowledgment of valid data by asserting PeriphAck. 5. Host de-asserts HostClk high. Rising edge used to shift data into the Peripheral. 6. Peripheral sends it's acknowledgment of the byte via de-asserting PeriphAck. Chế độ hoạt động Parallel Port trong BIOS Các chế độ hoạt động của Parallel Port được cài đặt trong BIOS: SPP EPP ECP Thanh ghi điều khiển mở rộng (ECR): Địa chỉ Base+0x402h Chức năng cài đặt mode cho LPT port Chế độ hoạt động Parallel Port trong BIOS (tt) Câu hỏi ôn tập Đặc điểm của cổng song song LPT? So sánh ưu nhược điểm của cổng COM và LPT của máy tính Nêu chuẩn SPP, ECP và EPP của cổng song song Phương pháp điều khiển cổng song song qua thanh ghi Giả sử cần xuất tín hiệu AAh ra port LPT, ta cần phải tác động vào thanh ghi nào? Trình bày phương pháp điều khiển máy in. Để xuất chữ “Hello” ra máy in cần phải tạo tín hiệu gì ở cổng LPT? Hãy cài đặt cổng song song hoạt động ở chế độ EPP Thiết kế một mạch giao tiếp cổng LPT với in/out 8 bit

Các file đính kèm theo tài liệu này:

  • pptgiao_tiep_song_song_9091.ppt