Giao tiếp UART là viết tắt của Universal Asynchronous Receiver – Transmitter, UART có mặt trên hầu hết các loại vi điều khiển. Giao tiếpUART là rất tiện dụng, tuy nhiên nhiều máy tính ngày nay đã không còn tích hợp cổng giao tiếp này nữa. Vì vậy chúng ta phải chuyển đổi UART sang một giao tiếp hiện đại và phổ thông hơn đó là cổng USB.
Có khá nhiều IC hỗ trợ công việc này như FT232, PL2303, CP2102…
2.6.1. Mạch chuyển từ USB sangUART có chế độ chọn3v3 và 5V dùng PL2303
Hình 2.24 là Module chuyển từ USB ra UART dùng PL2303 ( PL2303 USB to UART Converter), việc sử dụng chip PL2303HX chuyển đổi USB - UART dễ dàng kết nối với máy tính.
Module dễ dàng cho việc nghiên cứu các module khác bằng cách gửi lệnh trực tiếp từ máy tính và phân tích dữ liệu nhận được lên màn hình máy tính mà không cần thông qua chương trình của vi điều khiển.
Thông số kỹ thuật:
• Điện áp 5V cấp trực tiếp từ cổng USB. • Ngõ ra dạng UART gồm 2 chân TX, RX.
• Với 3 led trên board: led báo nguồn, led RX, led TX. • Kích thước: 15 x 31 mm.
2.6.2. Mạch chuyển từ USB sang UART dùng CP 2102
Mô đun và mạch chuyển từ USB sang UART CP2102 Nạp Pro Minisử dụng chip CP2102 của hãng SILICON LABS. Chip hỗ trợ các loại hệ điều hành phổ biến như: Win8, Win7, Vista, Server 2003, XP, Mac OS - X và các hệ điều hành phổ biến khác.
CP2102 không sử dụng thạch anh ngoài như các chip PL2303. Module có sẵn ngõ ra điện áp 3.3V.Trên mạch có 6cổng đầu ra: 3.3V DTR 5V Tx Rx Gnd. Trong đó chân DTR được sử dụng để reset vi điều khiển trong quá trình nạp.
Tốc độ tối đa 115200 bps. Module có sẵn LEDnguồn sáng khi gắn vô máy tính và LED báo hiệu Tx/Rx sẽ sáng khi module nhận/gửi dữ liệu.
Driver tương thích với nhiều hệ điều hành. Hoạt động tốt trên Windows, Mac OS, Linux. Riêng với Gnu/Linux, driver đã được biên dịch sẵn trong kernel, ta không cần càiđặtthêm gì cả.
Mô tả sơ đồ chân:
5V: nguồn điện áp dương (tối đa 500mA). DTR: Chân reset để nạp cho vi điều khiển 3.3V: nguồn điện áp dương 3.3V
TXD: chân truyền dữ liệu UART, dùng kết nối đến chân Rx của các module khác, không kết nối trực tiếp đến mức của RS232
RXD: chân nhậndữ liệu UART, dùng kết nối đến chân Tx của các module khác, không kết nối trực tiếp đến mức của RS232
GND: chân mass hoặc nối đất.
2.6.3. Mạch chuyển đổi USB sang UART dùng IC Atmega 8
Hiện nay trên thị trường thường dùng các dòng IC AVR, Tiny, PIC...để kết nối giữa máy tính và mạch VĐK…Vì hiện nay việc giao tiếp giữa VĐK với máy tính sẽ cho ra nhiều kết quả chính xác, chính vì vậy bài giảng sẽ đưa ra mạch hỗ trợ cho các dòng chip ATmega 8/48/88/26/64.
Hình 2.27 Thiết lập chọn cổng COM
Ta có thể tự mình làm lấy 1 mạch chuyển đồi USB sang COM mà không phải mua mạch USB to COM dùng Pl2303 nữa.
Đây là cách nối cổng USB ta cần chú ývì sẽrất quan trọng cho bước cuối để thành công.
Hình 2.29 Cách nối cổng USB
2.6.4. Chuyển đổi USB sang UART sử dụng cab chuyển đổi
Khi mua thiết bị này thì đĩa driver kèm theo cài driver cho cổng RS232 USB. Khi cắm thiết bị vào laptop (xem hình 2.30) thì máy tính sẽ nhận ra thiết bị đó và tải driver trong Device manager.
Thực hiện theo các bước sau:
1.Vào device manager và right click vào RS232 USB (trong Ports) chọn Properties.
2.Chọn Tab Port settings.
3.Chọn nút Advances và dialog của Advance settings sẽ popup. 4.Click vào list box Com Port Number.
5.Chọn port nào nhỏ nhất mà trống (theo hình thì COM4).
Khi dùng chương trình hay thiết bị nào cần COMport của Laptop thì chọn COM4 (hoặc COM port mà ta đã chỉ định trong Laptop).
Hình 2.30 Thiết lập cài đặt cho cab
Chú ý: Khi gắn thiết bị RS232 USB cho Laptop, nếu Laptop có nhiều cổng USB thì nên gắn vào cùng một chỗ như lúc trước đã gắn để máy không chỉ định cổng COM khác.
Hình 2.31 Một số Card giao tiếp máy tính
2.7. Câu hỏi và bài tập chương 2
1. Trình bày ý nghĩa các loại bus : IBM PC bus ISA , EISA, PCI ,VMEbus (IEEE 1014).
2. So sánh các rãnh cắm PC, ISA và PCI.
3. Các thành phần của một card ghép nối trao đổi tin số song songthông ụng.
4. Nhiệm vụ và vai trò của các vi mạch đệm đường dây địa chỉ, dữ liệu và giải mã điều khiển.
5. Thiết kế mạch giải mã cho các địa chỉ từ 300h tới 307h. 6. Trình bày hệ thống bus của máy tính IBM-AT
7. Thiết kế card peripheral adaptor 16 bit sử dụng vi mạch 74LS244, 74LS245, và mạch giải mã 74LS138 dùng giải mã địa chỉ từ 300h đến 31Fh; gắn vào rãnh ISA. 8. Thiết kế card thu thập dữ liệu gắn vào rãnh ISA, sử dụng vi mạch 8255, A/D 0809, D/A 7520, giải mã địa chỉ từ 300h đến 307h.
9. Các địa chỉ ngoại vi đã sử dụng của một máy Pentium 2 10. Trình bày các ngắt của máy Pentium 2.
11. Trình bày đặc điểm của card thu thập dữ liệu và điều khiển PCI- 1711/1718HDU (slot PCI) và PCL-818L (slot ISA) của hãng Advantech.
CHƯƠNG 3
CÁC CHUẨN TRUYỀN THÔNG VÀ GIAO TIẾP MÁY TÍNH
3.1. Chuẩn giao tiếp cổng song song
IEEE 1284 là một tiêu chuẩn về giao diện ngoại vi song song hai chiều cho máy tính cá nhân. Chuẩn này được đưa ra phiên bản cuối cùng (final release) vào tháng 3 năm 1994. Tiêu chuẩn này định nghĩa các đặc trưng vật lý, phương thức truyền dữ liệucủa cổng song song.
IEEE 1284 đặt ra để tiêu chuẩn hoá việc kết nối giữa máy tính với mộtthiết bị ngoại vi có tính chất cố định, tuy nhiên khi mở rộng chúng với các loại thiết bị ngoại vi mang tính di chuyển (như các loại máy quét, ổ đĩa di động) chúng cũng được hỗ trợ. Băng thông của các loại cổng song song theo chuẩn IEEE 1284 được liệt kê theo bảng sau
Loại cổng song song
Hướng truyền (Direction)
Băng thông (Transfer Rate)
Nibble (4-bit) Input only 50 KBps
Byte (8-bit) Input only 150 KBps
Compatible Output only 150 KBps
EPP (Enhanced Parallel Port) Input/Output 500 KBps-2,77 MBps ECP (Enhanced Capabilities Port) Input/Output 500 KBps-2,77 MBps
Như vậy các chuẩn giao tiếp của cổng song song được chia ra làm 5 chế độ hoạt động như sau:
- Chế độ tương thích (Compatibility). Chế độ tương thích truyền dữ liệu theo các giai đoạn sau :
+ Máy chủ báo sẵn sàng nhận bằng cách đưa HostBusy về 0 . + Thiết bị ngoại vi báo byte đầu tiên lên dây dữ liệu.
+ Thiết bị ngoại vi báo byte có giá trị bắng cách đặt PtrClk về 0.
+ Máy chủ đưa Hot Busy lên 1, báo đã nhận được byte và chưa sẵn sàng cho byte khác.
+ Thiết bị ngoại vi chứa PtrClklên 1 để báo cho máy chủ, máy chủ đưa HostClk lên 1 để trả lời .
+Chế độ Nibble.
Chế độ nible là chế độ thường dùng nhất để nhận dữ liệu từ thiết bị ngoại vi về máy tính. Chế độ này phối hợp với chế độ cơ bản thành một giao diện song song truyền dữ liệu hai chiều . Giao diện cơ bản có 5 tín hiệu vào máy vi tính để báo trạng thái thiết bị ngoại vi. Dùng các tín hiệu này, thiết bị ngoại vi có thể truyền một byte về máy vi tính qua hai chu kỳ, mỗi chu kỳ một nibble.
+Chế độ Byte.
Từ thế hệ máy PS/2 của IBM, bộ khuếch đại dữ liệu được ngắt mạch để dùng 8 tín hiệu dữ liệu theo chiều ngược lại (chiều vào). Chế độ này cho phép thiết bị ngoại vi truyền một lúc 8 bit về máy chủ , thay vì hai lần như chế độ nibble . Chế độ này có tốc độ gần bằng chế độ tương thích . Chế độ byte còn được gọi là chế độ cổng hai chiều cải tiến (enhanced bi-directional port ) .
+Chế độ EPP (Enhanced Parallel Port).
Phiên bản truyền cổng song song cải tiến EPP được các hãng Intel , Xircomva Zenith Data Systems thiết kế. Phiên bản này được cài đặt trong các vi mạch Chipset của Intel trước khi chuẩn 1284 ra đời. Chế độ EPP có bốn chu kỳ truyền dữ liệu:
+ Chu kỳ dữ liệu + Chu kỳ đọc dữ liệu + Chu kỳ ghi địa chỉ + Chu kỳ đọc địa chỉ
Các tín hiệu giao diện song song trong chế độ EPP
CHÂN TÍN HIỆU Ý NGHĨA
1 Write, ra Xuống 0 khi ghi lên 1 khi đọc 14 Datastrobe, ra Xuống 0 khi đọc hoặc ghi dữ liệu 16 Addrstrobe, ra Xuống 0 khi đọc hoặc ghi địa chỉ 17 Reset, ra Khởi động thiết bị ngoại vi khi bằng 0
10 Intr, vào Được dùng để truyền yêu cầu ngắt từ thiết bị ngoại vi về máy chủ
11
Wait, vào Wait=0 cho phép bắt đầu chu kì truy nhập, Wait=1 cho phép kết thúc chu kì truy nhập
12 Tuỳ chọn, vào Cho phép thiết bị ngoại vi tự qui định 13 Tuỳ chọn, vào Cho phép thiết bị ngoại vi tự qui định 15 Tuỳ chọn, vào Cho phép thiết bị ngoại vi tự qui định 2-9 Vào/ra Bus dữ liệu hai chiều
Chế độ EPP cần nhiều thanh ghi hơn và bổ sung thêm 3 thanh ghi (địa chỉ lệch từ 3 đến 7). Địa chỉ các cổng này được tính bằng cách cộng địa chỉ lệch với địa chỉ cơ sở của cổng song song 378H (278H). Khi ghi dữ liệu ra cổng 37CH (27CH), phần cứng sẽ tự động quản lý các tín hiệu bắt tay của chu kỳ ghi . Ghi lên các cổng cơ bản 378H - 37AH sẽ nhận được phản ứng của giao diện song song chuẩn SPP. Chu kỳ đọc/ghi địa chỉ cũng được tiến hành khi ghi hoặc đọc cổng 37BH (27BH).
Các thanh ghi có địa chỉ lệch từ 5 đến 7 được các nhà sản xuất vi mạch SuperIO sử dụng tuỳ ý . Những thanh ghi này có thể được dùng làm cổng vào ra 16 hoặc 23 bit .
Chế độ EPP ghi dữ liệu theo các giai đoạn sau :
+ Chương trình thực hiện lệnh ghi ra thanh ghi dữ liệu EPP
+ Tín hiệu WRITE xuống 0 và dữ liệu được chuyển ra đường dữ liệu + Tín hiệu DATA STB xuống 0trong khi WAIT cũng xuống 0 + Cổng EPP đợi tín hiệu nhận từ thiết bị ngoại vi (WAIT =1) + Tín hiệu DATA STB lên 1 và chu kỳ kết thúc
+ Chu kỳ đọc /ghi của bus ISA trong máy tính kết thúc + Tín hiệu WAIT xuống 0 , báo chu kỳ tới có thể bắt đầu
Quá trình truyền dữ liệu trên EPP xảy ra trong 1 chu kỳ đọc /ghi của bus ISA trong máy vi tính. Như vậy dùng EPP, máy vi tính có thể truyền dữ liệu với tốc độ 500Kbyte đến 2 Mbyte trong 1 giây. Như vậy thiết bị ngoại vi có thể làm việc nhanh như một bản mạch cắm ISA bên trong máy tính.
- Chế độ ECP (Extended Capabilities Port).
Cổng có khả năng mở rộng ECP(Extended Capability Port) được các hãng Hewlett Packard và Microsoft thiết kế nhằm cải thiện quá trình truyền dữ liệu giữa máy chủ và máy in cũng như máy quét hình. Chế độ EPP cho pháp hai chu kỳ truyền dữ liệu theo hai hướng: chu kỳ dữ liệu và chu kỳ lệnh.
Chu kỳ lệnh được chia thành hai loại :
+ Đếm chiều dài chạy (run- length count ), + Kênh địa chỉ (channel address )
Khác với EPP , khi phiên bản ECP được đề nghị , Microsoft đã có một chuẩn với các khả năng mà IEEE 1284 không đáp ứng được như: mã chiều dài chạy RLE (run length encoding), nén dữ liệu, đệm FIFO cho hai hướng, DMA và cổng vào ra lập trình được.
RLE cho phép nén dữ liệu trong thời gian thực đến tỷ lệ 64:1. Phương pháp này rất thuận lợi cho máy in hay máy quét có dữ liệu dạng bitmap và có nhiều dữ liệu lặp lại Để dùng được RLE, cả thiết bị ngoại vi và máy chủ cần cài đặt nó .
Phương pháp định địa chỉ kênh của ECP khác với EPP. Phương pháp định địa chỉ cho phép truy nhập nhiều kênh khác nhau trong một thiết bị vật lý duy nhất (chẳng hạn một máy đa chức năng FAX, máy in, MODEM ). Phương pháp này cho phép nhiều thiết bị của máy đa chức năng chạy đồng thời và cùng trao đổi dữ liệu với máy tính qua mộtgiao điện song song duy nhất.
Hai chu kỳ truyền dữ liệu hướng ra, HostAck lên một báo đó là chu kỳ dữ liệu. HostAck xuống 0 báo đó là chu kỳ lệnh và giữ liệu được truyền là một số đếm RLE hay địa chỉ kênh. Bit 7 của dữ liệu được dùng làm cờ phân biệt nội dung. Bit 7 bằng 0 thi bit 0 đến 6 là số đếm RLE (0-127). Bit 7 bằng 1 thì nội dung bit 0 đến bit 6 là địa chỉ kênh 0 đến 127 của thiết bị ngoại vi.
Chế độ ECP ghi dữ liệu của các giai đoạn sau:
+Máy chủ đặt dữ liệu lên đường dữ liệu và đưa HostAck lên một báo chu kỳ dữ liệu (0 cho lệnh ).
+Máy chủ đưa HostClk xuống 0 báo dữ liệu có giá trị
+ Thiết bị ngoại vi chấp nhận dữ lệu bằng cách đưa PeriphAck lên một + Máy chủ đưa HosttClk lên một, bắt đầu truyền dữ liệu.
+Thiết bị ngoại vi đưa PeriphAck xuống không báo sẵn sàng cho Byte tới. Chu kỳ tiếp tục
Chế độ ECP nhận dữ liệu theo các giai đoạn sau:
+Máy chủ đặt đưa RevertRequest xuống không báo hướng vào.
+Thiết bị ngoại vi AckReserve xuống 0 chấp nhận yêu cầu chuyển hướng
+ Thiết bị ngoại vi đưa dữ liệu lên đường dữ liệu và báo chu kỳ dữ liệu bằng cách đưa PeriphAck lên một ( 0 cho chu kỳ lệnh)
Thiết bị ngoại vi đưa PeriphClk xuống 0 báo dữ liệu có giá trị + Máy chủ chấp nhận bằng cách đưa HostAck lên 1
+ Thiết bị ngoại vi đưa PeriphClk lên 1 và bắt đầu truyền dữ liệu về máy chủ. + Máy chủ đưa HostAck xuống 0 báo sãn sàng nhận byte tiếp theo.
Chu kỳ tiếp tục từ 1 đến 7.
Giao diện ECP định nghĩa nhiều chế độ làm việc cho các thanh ghi của nó . Mô hình các thanh ghi ECP tương tự như SPT.
Vi du: nếu muốn gửi một chuỗi gồm 25 kí tự ’A’, thì đầu tin máy tính sẽ gửi một byte
RUN COUNT (xác định số lần lặp lại của byte theo sau nó) bằng 24. Tiếp theo gửi byte ‘A’.Thiết bị ngoại vi khi nhận được lệnh RLE, nó sẽ lặp lại byte tiếp theo một số lần xác định thông qua RUN COUNT.
Để dùng được RLE, cả thiết bị ngoại vi và máy chủ cần cài đặt nó. Phương pháp định địa chỉ cho phép truy nhập nhiều kênh khác nhau trong một thiết bị vật lý duy nhất (chẳng hạn một my đa chức năng FAX,my in, MODEM).
Phương pháp này cho phép nhiều thiết bị của máy đa chức năng chạy đồng thời và cùng trao đổi dữ liệu với máy tính chủ qua một giao diện song song duy nhất. và Để phân biệt lệnh l RLE hay địa chỉ thì phải dựa vào bit 7 của đường dữ liệu:
+Bit 7 bằng 1 thì bit 0 đến bit 6 là địa chỉ kênh 0 đến 127 của thiết bị ngoại vi. +Bit 7 bằng 0 thì bit 0 đến bit 6 là số đếm RLE (0-127).
+Các tín hiệu trong chế độ ECP:
Chân Tín hiệu Vào/ra Ý nghĩa
1 Hostclk Ra Cùng với periphack truyền dữ liệu và địa chỉ
ra thiết bị ngoại vi
2-9 D0-D7 Vào/ra Bus dữ liệu 2 chiều
10 Hostack Ra
Báo trạng thi dữ liệu hay lệnh của hướng ra, cùng với periphclk để nhận dữ liệu từ thiết bị ngoại vi
11 1284active Ra Lên 1 khi chuẩn 1284 hoạt động
12 Reverserequest Ra Xuống 0 đường dữ liệu có chiều vào, lên 1 đường dữ liệu có chiều ra
13 Periphclk Vào Cùng với hostack nhận dữ liệu và địa chỉ từ thiết bị ngoại vi
14 Periphack Vào
Báo trạng thi dữ liệu hay lệnh của hướng vào, cùng với hostclk để truyền dữ liệu ra thiết bị ngoại vi
15 Ackrerseve Vào Xuống 0 khi thiết bị ngoại vi chấp nhận rerserverequest
16 Xflag Vào Cờ byte mở rộng
17 PeriphRequest Vào Thiết bị ngoại vi cho xuống 0 khi cho phép hướng vào máy chủ
18-25 Ground ground
3.2. Giao tiếp PC với PC
3.2.1. Giao tiếp chế độ chuẩn
Hình 3.1 Sơ đồ giao tiếp chế độ chuẩn
+ Các chân chức năng như sau:
Hình 3.2 Chức năng các chân giao tiếp chế độ chuẩn
3.2.2. Chế độ mở rộng
+ Sơ đồ kết nối :
3.2.3 Giao tiếp PC với thiết bị ngoại vi
Sơ đồ các Cardgiao tiếp thiết bị ngoại vi với PC
- Card giao tiếp 5 đường vào số 12 đường ra số. Card sử dụng IC đệm 74244 .