Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 2. Các thanh ghi: Ở hình 5.4a và hình 5.4b mô tả bộ thanh ghi của 8251, gồm: thanh ghi trạng thái và thanh ghi điều khiển. Hai thanh ghi trên có cùng một đòa chỉ với A0 = 1, một dùng để ghi (/WR) lệnh điều khiển và một để đọc (/RD) trạng thái. Hai thanh ghi đệm số liệu ghi và đọc có cùng một đòa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của KGN. Các lệnh cho các thanh ghi trên như bảng sau: /CE C/D /WR /RD LỆNH 0 0 0 0 1 1 1 0 0 x 0 1 0 1 x 1 0 1 0 x Ghi vào thanh ghi điều khiển (chế độ, lệnh). Đọc thanh ghi trạng thái. Ghi số liệu vào thanh ghi đệm truyền. Đọc số liệu từ thanh ghi đệm nhận. Trở kháng cao (không dùng). - Thanh ghi điều khiển - Thanh ghi trạng thái . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng a. Thanh ghi điều khiển: - dùng để ghi: + lời điều khiển chế độ. Hình 5.4a D7 D6 D5 D4 D3 D2 D1 D0 Tốc độ truyền 00 đồng bộ 01 không đồng bộ x1 10 không đồng bộ x 16 11 không đồng bộ x64 Độ dài ký tự 00 5 bit 01 6bit 10 7bit 11 8 bit Điều khiển khung. 00 không giá trò 01 một bit dừng 10 1.5 bit dừng 11 2 bit dừng Bit chẵn lẻ X0 không kiểm tra chẳn lẻ 01 kiểm tra lẻ 10 kiểm tra chẵn . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng b. Lời lệnh: D7 D6 D5 D4 D3 D2 Cho phép phát 1= cho phép Chế độ bất đồng bộ 1= tìm ký tự đồng bộ Ngắt mềm 1= xoá các thanh ghi Yêu cầu phát 1= đưa tín hiệu Xoá cờ báo lỗi 1= xoá cờ Gửi tín hiệu cắt 1= đưa TxD = 0 Cho p hép thu 1= cho phép RxRDy Số liệu đầu cuối Sẵn sàng, DTR \ =1 EH IR RTS ER SBRK RxEN DTR TxEN HÌNH 5.4b . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng c. thanh ghi trạng thái. Dùng để đọc lời trạng thái: Chỉ modem đã Sẵn sàng để truyền số liẹäu Chỉ chữ đồng bộ đã được 8251 nhận Chỉ thanh ghi biến đổi song song - nối tiếp rỗng Chỉ 8251 sẵn sàng nhận 1 chữ hay lệnh để truyền Bit báo sai chẳn lẻ Pe= 1 khi có sai xóa bằng ER của lệnh Chỉ sẵn sàng nhận số liệu để truyền cho VXL Bit chỉ lỗi tràn Khi VXL chưa đọc lời trước, lời sau đã tới thì OE =1 xoá bằng ER của lệnh Bit chỉ sai khung (không đồng bộ) khi số bit dừng bò sai FE= 1 xoá bằng ER =1 Hình 5.4c D7 D6 D5 D4 D3 D2 D1 D0 DSR SYNDET FE OE PE TxEM RxRDy TxRDy . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng * Vớùi lời điều khiển chế độ: hình 5.4a - Chế độ đồng bộ: (trong, ngoài hai hay một ký tự đồng bộ SYNC) bởi nội dung ghi vào D7, D6. - Tốc độ truyền với giá trò: + D1D0 = 00: Dùng cho chế độ đồng bộ, tốc độ nơi thu bằng tốc độ nơi phát, không có sự thay đổi tần số xung nhòp. + D1D0=01 : dùng cho chế độ không đồng bộ, tốc độ giữa nơi thu và nơi phát không đổi. + D1D0=01: tốc độ thu = tốc độ truyền X1, tức tốc độ thu = tốc độ truyền. +D1D0=10: tốc độ thu =16x tốc độ truyền. + D1D0=11: tốc độ thu =64x tốc độ truyền. - Độ dài ký tự, tức độ dài một đơn vò tin SDU với các giá trò D3d2 = 00 (5bit), 01(6bit), 10(7bit) và 11(8bit) - Kiển tra chẵn lẻ D5D4 =00 (không kiểm tra), 01 (kiểm tra lẻ), 11 (kiểm tra chẵn) - Điều khiển khung, xác đònh số bit dừng. Với D7D6 = 01 – một bit dừng D7D6 = 10 – một bit rưỡi dừng D7D6 = 11 – hai bit dừng Với lời lệnh (hình5.4b) ta có thể ghi lệnh để: - Điều khiển modem: DTR(D1=1), RTS(D5=1) - Xoá mềm( bằng chương trình có IR (D6=1) để xoá về 0 các thanh ghi nội - Xóa cờ báo lỗi ER (D4=1) - Ghi cho phép truyền TxEN (D0=1) cho phép nhận RxE(D2=1) - Gửi tín hiệu cắt ( các bit bằng 0-Break) để cắt dòng tin liên tục đang truyền. - Tìm ký tự đồng bộ EH(D7=1) trong chế độ đồng bộ Thanh ghi trạng thái (hình 5.4c): dùng để đọc. - Sẵn sàng truyền TxRDY (D0=1), sẵn sàng nhận RXRDY( D1=1) - Thanh ghi đệm số liệu rỗng TxE (D2=1) - Tuy chỉ có một đòa chỉ (CS\=0, A1=1) nhưng ta có thể ghi được 2 lời điều khiển chế độ và lời lệnh ở 2 thanh ghi điều khiển khác nhau vì còn có chung một flip flop nội điều khiển lần lượt vào hai thanh ghi trên . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng III. ỨNG DỤNG 8251A ĐỂ TRUYỀN THÔNG TIN NỐI TIẾP: 1. Truyền thông tin nối tiếp giữa 2 kit VXL: a. Khởi phát 8251A: Muốn 8251 hoạt động đúng chế độ (không đồng bộ), tgác độ (300, 600, 1200, 2400, 4800, 9600bps hoặc lớn hơn), số bit tin (5, 6, 7, 8) có kiểm tra chẵn hoặc lẻ và xác đinh số bit dừng (1; 1,5; 2 bit) ta phải ghi lời điều khiển chế độ vào thanh ghi điều khiển cuả 8251. Ví dụ: Một 8251 có điạ chỉ gốc CS\ với 0FFF0h, cần trao đổi thông tin 8 bit, tốc độ x16 không có kiểm tra Parity chẵn lẻ, 2bit stop. Lời điều khiển là: 1 1 0 0 1 1 1 0 TxD RxD DTR\ 8251 DSR\ RTS\ CTS\ TxD RxD DTR\ 8251 DSR\ RTS\ CTS\ VXL2 VXL1 HÌNH 5.5 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng Lưu đồ khởi tạo 8251A 00h thanh ghi điều khiển Begin 03h AH AH - 1 AH = 0 ? Delay Nạp từ chế độ cào thanh ghi chế độ Delay End sai Đúng HÌNH 5.5 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng chương trình khởi phát: MOV DX, 0FFF2h MOV AL,00h OUT DX,AL MOV CX 2h D0 : LOOP D0 OUT DX, AL D1: MOV CX,2h LOOP D1 OUT DX, AL MOV CX,2h D2: LOOP D2 MOV AL, 40h OUT DX, AL MOV CX, 2h D3: LOOP D3 MOV AL, 11001110B OUT DX, AL MOV CX, 2h D4: LOOP D4 END . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 2. Truyền thông tin nối tiếp giữa kit VXL và máy tính: 1 5 6 9 O O O O O O O O O A 1 – A 11 D 0 –D 7 Reset CLK A 0 RD \ WR \ INTR INTA \ CS \ GND D 0 – D7 TxD Rest RxD CLK DTR C/D\ RD \ DSR\ WR\ RTS \ TxD CTS\ RxRDy Giải mã điạ chỉ Xử lý ngắt (8259A hai mức) 8251 VXL Cổng COM của máy tính HÌNH 5.6 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng CHƯƠNG VI: GIAO TIẾP SONG SONG DÙNG VI MẠCH 8255 I. GIỚI THIỆU VỀ VI MẠCH 8255A: Để vi xử lý giao tiếp với những thiết bò bên ngoài, người ta thường dùng vi mạch giao tiếp 8255A, vi mạch này có khả năng giao tiếp rất rộng, vừa có thể xuất dữ liệu, vừa có thể nhận dữ liệu tùy theo người lập trình điều khiển bằng cách thay đổi t`ông số của thanh ghi điều khiển. II. SƠ ĐỒ CHÂN, SƠ ĐỒ LOGIC, CHỨC NĂNG CÁC CHÂN CỦA VI MẠCH 8255A. Sơ đồ chân và sơ đồ logic của vi mạch 8255A được thể hiện qua hình vẽ: Hình 6.1 : Sơ đồ chân và sơ đồ logic của vi mạch 8255A Trong đó: Chân 1 4, 37 40 (PA 0 – PA 7 ): là các đường xuất nhập có tên là cổng A. Chân 18 25 (PB 0 – PB 7 ): là các đường nhập xuất có tên cổng B. Chân 10 13, 14 17 (PB 0 – PB 7 ): là các đường nhập xuất có tên cổng C. Chân 27 34 (D 0 – D 7 ): là các đường dữ liệu (data) hoạt động hai chiều, dẫn tín hiệu điều khiển từ vi xử lý ra các thiết bò bên ngoài đồng thời nhận các dữ liệu từ các thiết bò điều khiển bên ngoài vào vi xử lý. Chân 35 (Reset input): ngõ vào xóa, chân reset phải được nối với tín hiệu reset out của vi xử lý để không làm ảnh hướng đến mạch điều khiển. Khi reset, các cổng PA 3 PA 2 PA 1 PA 0 RD \ CS\ GND A 1 A 0 PC 7 PC 6 PC 5 PC 4 PC 0 PC 1 PC 2 PC 3 PB 0 PB 1 PB 2 PA 4 PA 5 PA 6 PA 7 WR \ RESET D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 V cc PB 7 PB 6 PB 5 PB 4 PB 3 1 20 21 40 D 0 – D 7 PA 0 – PA 7 PB 0 – PB 7 PC 0 – PC 7 RD \ WR \ RESET A 0 A 1 CS \ 8255A 8255A . . . người lập trình điều khiển bằng cách thay đổi t`ông số của thanh ghi điều khiển. II. SƠ ĐỒ CHÂN, SƠ ĐỒ LOGIC, CHỨC NĂNG CÁC CHÂN CỦA VI MẠCH 8255A. Sơ đồ chân và sơ đồ logic của vi mạch 8255A. động hai chiều, dẫn tín hiệu điều khiển từ vi xử lý ra các thiết bò bên ngoài đồng thời nhận các dữ liệu từ các thiết bò điều khiển bên ngoài vào vi xử lý. Chân 35 (Reset input): ngõ vào xóa,. (/WR) lệnh điều khiển và một để đọc (/RD) trạng thái. Hai thanh ghi đệm số liệu ghi và đọc có cùng một đòa chỉ (A0 = 0) và dùng để ghi và đọc số liệu cần truyền và nhận của KGN. Các lệnh cho các