Giáo trình Đo lường và điều khiển bằng máy tính - Chương 7: Giao tiếp qua cổng nối tiếp

Cổng nối tiếp trên máy tính, thường gọi là cổng COM, được
sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại vi, có
các ưu điểm sau:
- Khoảng cách truyền dài hơn so với cổng song song. Cổng
nối tiếp truyền mức 1 từ -3V đến -25V và mức 0 từ +3V đến
+25V nên tính chống nhiễu cao hơn, cho phép khoảng cách truyền
xa hơn.
- Số dây kết nối ít, tối thiểu ba dây.
- Có thể ghép với đường dây điện thoại, cho phép khoảng
cách truyền chỉ bị giới hạn bởi mạng tổng đài điện thoại.
- Có thể truyền không dây dùng tia hồng ngoại.
- Ghép nối dễ dàng với vi điều khiển hay PLC.
- Cho phép nối mạng.
Các thiết bị ghép nối nối tiếp chia làm hai loại DTE (Data
Terminal Equipment) và DCE (Data Communication Equipment)
DCE là các thiết bị trung gian như modem, còn DTE là các thiết
bị như máy tính, vi điều khiển, PLC, là nguồn tạo ra dữ liệu hay
tiếp nhận dữ liệu để xử lý. Có thể ghép nối DTE với DTE hoặc
DCE, DCE với DTE hoặc DCE. Tín hiệu truyền nối tiếp theo
dạng xung chuẩn RS 232 của EIA (Electronics Industry
Associations), mức logic 0 còn gọi là Space giữa +3 và +25V, mức
logic 1 còn gọi là Mark, ở giữa -3V và -25V. 
pdf 38 trang xuanthi 24/12/2022 3280
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Đo lường và điều khiển bằng máy tính - Chương 7: Giao tiếp qua cổng nối tiếp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfgiao_trinh_do_luong_va_dieu_khien_bang_may_tinh_chuong_7_gia.pdf

Nội dung text: Giáo trình Đo lường và điều khiển bằng máy tính - Chương 7: Giao tiếp qua cổng nối tiếp

  1. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 178 Khi DTE cần truyền dữ liệu thì DTR tích cực đưa về DSR cho biết phía nhận sẵn sàng, đưa về CD cho biết đã nhận được sóng mang của modem ảo. Hai DTE có cùng khung truyền nên RTS và CTS nối với nhau. Đôi khi có thể bỏ đường nối DTR với DSR và CD. Khi kết nối DTE với DCE, do vận tốc truyền khác nhau, cần điều khiển lưu lượng. Có hai cách là dùng phần cứng và phần mềm. Khi dùng phần cứng sử dụng hai dây RTS và CTS. Nếu DTE muốn truyền sẽ cho RTS tác động, nếu DCE chấp nhận sẽ gởi trở về CTS và máy tính sẽ gởi dữ liệu, nếu máy tính không nhận được CTS sẽ không gởi dữ liệu. Điều khiển lưu lượng bằng phần mềm dùng hai ký tự Xon và Xoff. Khi modem muốn máy tính ngừng truyền sẽ gởi đi ký tự Xoff (ASCII 19) còn khi modem rảnh nó sẽ gởi ký tự Xon (ASCII 17). Việc trao đổi dữ liệu của máy tính được thực hiện thông qua vi mạch UART (Universal Asynchronous Receiver Transmitter) còn với vi điều khiển hay PLC thì có các vi mạch chuyên dụng hoặc được tích hợp trong vi xử lý. Các máy tính đời mới dùng công nghệ ASIC sử dụng chip đa năng làm nhiều nhiệm vụ giao tiếp nối tiếp, song song, cổng trò chơi, điều khiển đĩa, tuy nhiên phần giao tiếp nối tiếp thiết kế tương hợp với các vi mạch UART rời. Các loại vi mạch UART thường gặp là 8250, 8250A, 16450, 16550, 16650, 16750, 6402 Các cổng nối tiếp được đánh số COM 1, COM 2, COM 3, COM 4. Bảng 7.2 cho địa chỉ gốc cổng COM và các thông tin khác Bảng 7.2 Tên Địa chỉ gốc Ngắt Nơi chứa địa chỉ COM 1 3F8 4 0000 : 0400 COM 2 2F8 3 0000 : 0402 COM 3 3E8 4 0000 : 0404 COM 4 2E8 3 0000 : 0406 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  2. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 180 Hình 7.4b: Card giao tiếp LPT/COM phần LPT Thành phố Hồ Chí Minh, tháng 4 năm 2006
  3. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 182 Hình 7.4c: Card giao tiếp LPT/COM phần COM Hình 7.4 cung cấp sơ đồ card giao tiếp LPT/COM của máy XT giúp ta có khái niệm về cách ghép bus ISA với UART. Các chân của UART có mức TTL nên cần mạch chuyển mức để ghép với mức RS232. Hình 7.5 cho sơ đồ chân của một số UART thông dụng. Bảng 7.3 cung cấp ý nghĩa các chân của 16550 Hình 7.5: Sơ đồ chân UART Bảng 7.3: Ý nghĩa chân UART16650 Chân Tên Ý nghĩa 1:8 D0:D7 Data Bus 9 RCLK Xung nhịp vào,tần số = Baud Rate *16 10 RD RXD 11 TD TXD 12 14 CS0,CS1,/CS2 Ba chân chọn chip 15 /BAUDOUT Xung nhịp ra, tần số = Baud Rate *16 16 XIN Dao động vào bộ chia tần 17 XOUT Dao động ra 18 /WR Ghi dữ liệu, đảo 19 WR Ghi dữ liệu, không đảo 20 VSS Mass 21 /RD Đọc dữ liệu, đảo Thành phố Hồ Chí Minh, tháng 4 năm 2006
  4. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 184 Bảng 7.4 Các thanh ghi của UART Địa chỉ gốc DLAB Đọc/Ghi Tên Chức năng Transmitter Holding Register 0 Ghi THR Thanh ghi giữ thông tin truyền Receiver Buffer Register + 0 0 Đọc RBR Thanh ghi đệm thu Baud Rate Divisor Latch 1 Đọc/Ghi BRDL Cài số chia byte thấp Interrupt Enable Register 0 Đọc/Ghi IER + 1 Thanh ghi cho phép ngắt 1 Đọc/Ghi BRDH Cài số chia byte cao Interrupt Identification Register Đọc IIR + 2 Thanh ghi nhận dạng ngắt Ghi FCR FIFO Control Register Line Control Register + 3 Đọc/Ghi LCR Thanh ghi điều khiển đường dây Modem Control Register + 4 Đọc/Ghi MCR Thanh ghi điều khiển modem Line Status Register + 5 Đọc LSR Thanh ghi trạng thái đường dây Modem Status Register + 6 Đọc MSR Thanh ghi trạng thái Modem + 7 Đọc/Ghi Scratch Register Bảng 7.5 Baud Rate BRDH BRDL 4800 00 18 9600 00 0C 19200 00 06 38400 00 03 57600 00 02 115200 00 01 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  5. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 186 byte cao là 00H, byte thấp là 0CH Khi DLAB = 0 ghi vào địa chỉ gốc +0 để truyền đi 8 bit nối tiếp, đọc địa chỉ gốc +0 nhận được 8 bit dữ liệu truyền đến. Thanh ghi IER (gốc +1) cho phép ngắt vi xử lý khi có biến cố trên đường truyền. Khi có ngắt xảy ra, bit 0 của IIR ở mức 0, loại ngắt chỉ bởi bit 1 và 2, ngắt lỗi truyền thu có ưu tiên cao nhất còn ngắt do modem ưu tiên thấp nhất. Bảng 7.8: Thanh ghi điều khiển đường truyền LCR xác định khung truyền Bit 7 1 : cài đặt số chia DLAB 0 : truy xuất RBR, THR, IER Bit 6 Khi bằng 1 cho phép truyền tín hiệu BREAK, đường dây ở mức 0 (+12V) trong thời gian lớn hơn một khung Bit 3 ÷ Bit 5 Bit 4 Bit 5 3 Không kiểm tra cờ chẵn/lẻ X X 0 0 0 1 Khi lẻ 0 1 1 Khi chẵn 1 0 1 Bit kiểm tra cờ chẵn lẻ là 1 1 1 1 Bit kiểm tra cờ chẵn lẻ là 0 Bit 2 0 Một bit stop 1 Hai bit stop khi số bit dữ liệu là 6, 7, 8. Khi số bit dữ liệu là 5 thì dùng 1,5 bit stop Bit 0, Bit 1 Bit 0 1 0 0 5 bit dữ liệu 0 1 6 bit dữ liệu 1 0 7 bit dữ liệu 1 1 8 bit dữ liệu Bảng 7.9: Thanh ghi điều khiển modem MCR Bit 5 Dùng cho 16750 Bit 4 Mode loopback dùng để kiểm tra hoạt động UART Bit 3 Điều khiển ngõ ra Aux Output 2 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  6. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 188 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  7. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 190 7.4 MẠCH GIAO TIẾP CỔNG NỐI TIẾP Sử dụng vi mạch CDP6402 ta có thể chuyển đổi số liệu song song ở ngoại vi ra tín hiệu nối tiếp và ngược lại để ghép nối với cổng nối tiếp. Vi mạch này chuyển đổi dữ liệu song song ra nối tiếp và ngược lại theo chuẩn RS232. Có hai tuyến dữ liệu song song riêng cho phần thu và phát. Tín hiệu TXD từ cổng COM được đổi sang mức TTL nhờ vi mạch MAX 232 đưa vào chân RRI (Receiver Register In) của 6402 và đổi thành tín hiệu song song 8 bit RBR1 ÷ RBR8 (Receiver Register) Tín hiệu song song 8 bit TBR1 ÷ TBR8 (Transmitter Buffer Register) được đổi thành tín hiệu nối tiếp ra chân TRO (Transmitter Register Out) sau đó nhờ MAX 232 đổi sang điện áp thích hợp vào chân RXD. Vận tốc truyền được xác định bởi tần số tín hiệu ở chân RRC (Receiver Register Clock), TRC (Transmitter Register Clock). Nhờ vi mạch dao động chia tần 74HC4060 có thể thay đổi các vận tốc truyền khác nhau. Khuôn dạng truyền được xác định bởi các chân PI (Parity Inhibit) SBS (Stop Bit Select) CLS1, 2 (Character Length Select) và EPE (Even Parity Select), các tín hiệu vào được cài bởi CRL (Control Register Load) Hình 7.7: UART CDP6402 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  8. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 192 { int c; do {c = inportb(PORT1 +5); Hình 7.8: Chuyển đổi AD dùng cổng nối tiếp 9600, 8, E, 1 if (c & 1) {buffer[bufferin] = inportb(PORT1); bufferin++; if (bufferin == 1024) {bufferin = 0;}} } while (c & 1); outportb (0x10, 0x20); } void main (void) { int c; outportb (PORT1 + 1, 0); /* Cấm ngắt port 1 */ oldport1isr = getvect (INTVECT); setvect (INTVECT, PORT1INT); /*PORT 1 - Đặt chế độ*/ outportb (PORT1 + 3, 0x80); /* SET DLAB ON */ outportb (PORT1 + 0, 0x0C); /* đặt Baud rate 9600 BPS */ outportb (PORT1 + 1, 0x00); outportb (PORT1 + 3, 0x03); /* 8 bits, No Parity, 1 Stop Bit */ outportb (PORT1 + 2, 0xC7); /*FIFO Control Register*/ outportb (PORT1 + 4, 0x0B); /*Cho DTR, RTS, và OUT2 ON*/ outportb (0x21, (inportb (0x21) & 0xEF); Thành phố Hồ Chí Minh, tháng 4 năm 2006
  9. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 194 if (c & 1) {ch = inportb (PORT1); printf (“%c” ch);} /* Xuất ký tự ra màn hình */ if (kbhit ()) {ch = getch (); /* Đọc phím bấm */ outportb (PORT1, ch);} /* Gởi ký tự */ } while (ch != 27); } /* Chương trình giao tiếp nối tiếp dùng ngắt*/ #include #include #include #define PORT1 0x2E8 #define INTVECT 0x08 /* Com Port’s IRQ here */ int bufferin = 0; int bufferout = 0; char ch; char buffer [1025]; void interrupt (*oldport1isr) (); void interrupt PORT1INTO () /* Interrupt Service Routine (IRS) for PORT 1 */ { int c; do {c = inportb (PORT1 + 5); if (c & 1) {buffer [bufferin] = inportb (PORT1); bufferin++; if (bufferin == 1024) bufferin = 0;} } while (c & 1); outportb (0x20, 0x20); } void main (void) { int c; outportb (PORT1 + 1 , 0); oldport1isr = getvect (INTVECT); /* cất vectơ ngắt cũ */ setvect (INTVECT, PORT1INT); /* đặt vectơ ngắt mới */ /* COM 1 - 0x0C */ /* COM 2 - 0x0B */ /* COM 3 - 0x0C */ /* COM 4 - 0x0B */ outportb (PORT1 + 3 , 0x80); /* SET DLAB ON */ outportb (PORT1 + 0 , 0x03); /* Set Baud rate - Divisor Latch Low Byte */ /* Default 0x03 = 38,400 BPS */ /* 0x01 = 115,200 BPS */ /* 0x20 = 56,700 BPS */ /* 0x06 = 19,200 BPS */ /* 0x0C = 9,600 BPS */ /* 0x18 = 4,800 BPS */ /* 0x30 = 2,400 BPS */ outportb (PORT1 + 1, 0x00); /* Set Baud rate - Divisor Latch Hight Byte */ Thành phố Hồ Chí Minh, tháng 4 năm 2006
  10. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 196 Hình 7.9: Truyền tin song công dùng RS422 Chuẩn RS422 dùng 4 dây do đó cho phép truyền song công, tức là cùng lúc có thể thu phát. Tín hiệu từ máy tính theo chuẩn RS 232 có mức điện áp ±12V phải đổi sang mức TTL 0 - 5V dùng vi mạch MAX232, sau đó tín hiệu đơn được đổi sang tín hiệu vi sai dùng vi mạch MAX485 (488, 489, 490, 491). Điện áp vi sai phải lớn hơn 200mV. Nếu VAB > 200mV ta coi như trị logic 1 được truyền còn nếu VAB < − 200mV thì trị logic 0 được truyền. Chuẩn RS422 không cho phép có hơn hai thiết bị truyền nhận tin trên đường dây, vì vậy chuẩn RS485 thông dụng hơn. Với chuẩn RS485 ta có thể nối 32 thiết bị thu phát trên hai dây có khoảng cách tối đa 1200m và vận tốc truyền đến 10Mbit/s. Hai điện trở kết thúc 120Ω được nối với hai đầu xa nhất của mạng, dây dẫn là loại dây xoắn đôi 26AWG. Chuẩn này dùng vi mạch lái SN75176 hay họ Maxim MAX481, 483, 485 , 487, 488, 489, 490, 1487. Tiêu biểu là vi mạch MAX485 chuyển đổi từ tín hiệu đơn sang tín hiệu vi sai, có chân điều khiển cho ngõ ra vi mạch ở tổng trở cao, nhờ vậy có thể nối chung nhiều vi mạch lái với nhau. Thành phố Hồ Chí Minh, tháng 4 năm 2006
  11. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 198 Mạng 485 làm việc theo chế độ master -slave, master cho DE mức 1 để truyền dữ liệu, còn các slave có DE=0, /RE=0 chờ nhận dữ liệu, Khi master muốn nhận dữ liệu, DE=0, /RE=0 còn slave phát sẽ có DE=1, /RE=1. Điều khiển các đường DE,/RE bằng tín hiệu RTS hay mạch định thì Hình 7.12: Mạch chuyển đổi RS 232 485 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  12. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 200 Hình 7.13 Việc trao đổi dữ liệu giữa máy tính và modem thực hiện theo cơ chế bắt tay phần cứng hay phần mềm. - Bắt tay phần cứng: DTE muốn truyền dữ liệu liên quan DCE thì cho RTS = H và chờ CTS trả lời modem. Ngược lại modem muốn truyền dữ liệu thì cho DSR = H và chờ DTR. Khi DTE là vi điều khiển có thể cho RTS và DTR của modem ở mức cao hoặc điều khiển các chân này qua cổng nhập xuất I/0. - Bắt tay phần mềm: dùng hai ký tự XON (CtrlS) (transmitter ON) và XOFF (CtrlQ) (transmitter off) để bắt đầu truyền hay ngưng truyền dữ liệu. Dùng phương pháp này có thể gây ra sai lầm khi dữ liệu trùng với XON hay XOFF. Do đường dây điện thoại công cộng chủ yếu dùng cho điện thoại nên khổ sóng giới hạn 3300Hz, điều này làm hạn chế vận tốc truyền dữ liệu (định lý Shannon) do đó các hãng sản xuất modem phải tìm cách nâng cao tốc độ truyền và độ tin cậy thông tin bằng các phương pháp điều chế, nén tín hiệu và sửa sai. Hiện nay tốc độ tối đa là 56kbps trên lý thuyết, còn thông thường sử dụng modem ngoài tốc độ là 33,6kbps. Điều chế • Điều biên AM: mức 0 và 1 được biểu thị bằng hai điện áp khác nhau của sóng mang. • Điều tần FM: dùng hai tần số khác nhau 1070 Hz cho logic 0 và 1270 Hz cho logic 1 ở một chiều, còn chiều ngược lại theo thứ tự là 2025 Hz và 2225 Hz. Hai dải tần số khác nhau nên modem hoạt động song công trên hai dây. • Điều pha PM: sóng mang có tần số cố định nhưng Thành phố Hồ Chí Minh, tháng 4 năm 2006
  13. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 202 Để tăng vận tốc truyền, modem dùng phương pháp nén dữ liệu, ví dụ như phương pháp mã Huffman, ký tự thường truyền được mã hóa ít bit hơn các ký tự khác hay phương pháp run length coding thay một loạt bit giống nhau bằng bit đó và số lần lặp. Tỷ số nén có thể lên đến 4: 1 hay 2: 1 tùy thuộc loại dữ liệu. Các giao thức phổ biến là MNP (Microcom Networking Protocol) V.42 bis với LAPM (Link Access Protocol for Modems). Khi truyền file cần phải tuân thủ các qui định của giao thức truyền FTP (File Transfer Protocol). XMODEM chia tập tin thành khối 128 byte, mỗi khối được kèm tổng kiểm tra hay CRC (cyclic redundancy check) 4 byte YMODEM dùng khối 1024 byte. ZMODEM dùng khối kích thước thay đổi tùy theo trạng thái đường truyền. Trong trường hợp dùng máy tính đo lường điều khiển có thể dùng các giao thức khác Khi thực hiện kết nối, đầu tiên DTE gởi lệnh kiểm tra đến modem xem có liên lạc được không, sau đó gởi lệnh quay số, modem sẽ quay số điện thoại nơi cần kết nối, nếu kết nối được sẽ báo cho DTE để truyền dữ liệu, đầu tiên modem sẽ truyền với vận tốc cao nhất có thể có, nếu không trao đổi thông tin được nó sẽ chuyển sang vận tốc truyền thấp hơn hay giao thức khác, quá trình tiếp tục cho đến khi kết nối được hay không có khả năng kết nối, hết thời gian. 7.8 TẬP LỆNH MODEM Tập lệnh modem, thường gọi là tập lệnh Hayes (do hãng chế tạo modem Hayes Micro Computer Products đề nghị), còn gọi là tập lệnh AT vì bắt đầu mỗi lệnh bằng ký tự chú ý AT (attention) . Thông qua tập lệnh, DTE có thể điều khiển modem và nhận thông tin từ nó. Trong modem có một số thanh ghi gọi là thanh ghi S, cho phép DTE thay đổi cấu hình modem. Lệnh AT luôn luôn khởi đầu bằng AT và gồm một hay nhiều lệnh kế tiếp nhau kết thúc bằng Enter ( mã ASCII 13); chiều dài Thành phố Hồ Chí Minh, tháng 4 năm 2006
  14. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 204 Z0 Đưa modem về cấu hình 0 Z1 Đưa modem về cấu hình 1 L0, L1, L2, L3 Đặt âm lượng loa modem M0 Tắt loa M1 Mở loa cho đến khi nhận được sóng mang (mặc định) M2 Mở loa. M3 Tắt loa khi quay số và nhận sóng mang. &Kn n=0 Không nén dữ liệu n= nén Bảng 7.17 Các thông báo Dạng chữ Dạng số Ý nghĩa OK 0 Thực hiện lệnh thành công CONNECT 1 Kết nối 300 bps RING 2 Có chuông gọi NO CARRIER 3 Không có sóng mang ERROR 4 Nhận lệnh không giá trị, sai tổng kiểm tra, hàng lệnh quá dài CONNECT 1200 5 Kết nối 1200 bps NO DIAL TONE 6 Không có âm hiệu mời quay số BUSY 7 Máy bên kia bận NO ANSWER 8 Máy bên kia Không trả lời CONNECT 2400 10 Báo kết nối vận tốc 2400 baud CONNECT 4800 11 CONNECT 9600 12 CONNECT 14400 13 CONNECT 19200 14 CONNECT 16800 15 CONNECT 57600 18 CONNECT 7200 24 CONNECT 12000 25 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  15. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 206 khoảng cách đến công cung cấp dịch vụ. Chi tiết về ISDN đề nghị đọc ở các tài liệu chuyên môn. DSL (Digital Subscriber Line) là công nghệ khác kết nối DTE qua đường dây điện thoại, với DSL có thể đạt vận tốc truyền lên đến 6,1Mbps (tối đa 8,448Mbps). Có thể đồng thời sử dụng các dịch vụ điện thoại, internet, Fax. Bắt đầu triển khai từ 1998, DSL đang thay thế ISDN. Người dùng DSL được kết nối vào mạng xương sống vận tốc cao của công ty dịch vụ dùng DSLAM (Digital Subscriber Line Access Multiplexer) để ghép với mạng ATM (Asynchronous Transfer Mode). Máy tính được nối qua modem DSL đến công ty cung cấp dịch vụ bằng hai dây điện thông thường, dải tần được chia thành 247 kênh bề rộng mỗi kênh 4KHz, coi như có 247 modem ảo làm việc song song, các đàm thoại thực hiện ở kênh thấp nhất 0 4KHz. Khoảng cách từ khách hàng đến trung tâm dịch vụ là 18000ft (5469m). Có nhiều loại DSL: - ADSL (năm 2000): DSL bất đối xứng (Asymmetric DSL) có vận tốc download tải từ mạng xuống 6,1Mbps và vận tốc upload tải lên mạng 640 kbps. Gọi là bất đối xứng vì hai vận tốc truyền khác nhau. - CDSL: (Consumer DSL) có vận tốc thấp hơn ADSL nhưng chi phí thấp hơn - G. Lite: giá thấp hơn CDSL. Các loại DSL khác nhau về vận tốc cũng như chi phí lắp ráp và thuê bao. Thông qua DSL có thể xem phim, nói chuyện videophone, truy cập LAN và internet. Thành phố Hồ Chí Minh, tháng 4 năm 2006
  16. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 208 Hình 7.15: Sơ đồ chân cổng USB phía máy tính Khi cắm thiết bị vào cổng USB điện áp trên dây 2 và 3 thay đổi báo cho bộ điều khiển USB có thiết bị gắn và bắt dầu một loạt trao đội thông tin nhận dạng thiết bị gắn vào để nạp driver phù hợp cho thiết bị. Muốn gắn nhiều thiết bị vào một cổng ta dùng hub. Sô lượng thiết bị USB tối đa là 127. Nhiều máy tính không còn thiết kế cổng COM, do đó gây bất tiện khi cần giao tiếp nối tiếp với các thiết bị không hỗ trợ USB. Nhiều hãng đã chế tạo các mạch chuyển đổi từ USB sang RS232 hay RS422, RS485. Nguyên tắc là dùng một vi mạch làm giao tiếp với máy tính theo chuẩn USB và giao tiếp với thiết bị khác theo chuẩn của cổng COM. Phần mềm driver sẽ coi thiết bị như là cổng COM bình thường và ta lập trình giao tiếp với thiết bị ngoại vi như là với cổng COM, qua trung gian mạch chuyển đổi. Ví dụï, xét sản phẩm của hãng FTDI (Future Technology Devices International Ltd.) dùng vi mạch FT232BM, sơ đồ khối vi mạch trình bày ở hình 7.16. Phần sau mô tả các khối chính 3.3V LDO Regulator : tạo nguồn 3.3V cho các khối khác. USB Transceiver : lái tuyến dữ liệu USBDPLL: vòng khóa pha Serial Interface Engine: chuiyển đổi song song nối tiếp, nén tín hiệu và kiểm tra chống sai . USB Protocol Engine: tạo và kiểm tra giao thức USB. Dual Port TX Buffer: chứa dữ liệu truyền Dual Port RX Buffer: chứa dữ liệu thu Thành phố Hồ Chí Minh, tháng 4 năm 2006
  17. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 210 FB1 USB 1 2 VCC VCC VCC VCC FERRITE BEAD CN1 CN-USB C5 R3 10nF 1 470R 2 C7 3 0.1uF 4 C4 C6 5 33nF 0.1uF U1 VCC-5v 30 3 26 13 6 25 TXD 3V3OUT VCC VCC TXD AVCC VCC-IO 24 RXD R4 27R 8 RXD USBDM 23 RTS# RTS# R5 27R 7 22 CTS# USBDP CTS# 21 DTR# R6 1k5 5 20 RSTOUT# DSR# RSTOUT# 19 27 DCD# XTIN 18 5v MCU or Logic cct Y1 RI# 6MHz RESONATOR 16 TXDEN 28 15 XTOUT PWREN# 4 14 VCC RESET# PWRCTL 12 TXLED# 32 11 EECS RXLED# 1 EESK 2 10 SLEEP# POWERDN# EEDATA SLEEP# DECOUPLING CAPS 31 RSTOUT# RESET# VCC TEST AGND GND GND GND FT232BM 29 9 17 R7 47k C3 C2 C1 10uF 0.1uF 0.1uF VCC U2 1 8 2 CS VCC 7 3 SK NC 6 4 DIN NC 5 DOUT GND 93C46/56/66 R2 ( Optional ) 2k2 R1 10k FT232B APPLICATION SCHEMATIC INTERFACING TO 5 V LOGIC - BUS POWERED ( <= 100mA ) APPLICATION Hình 7.17: Sơ đồ mạch chuyển đổi USB -RS232 Hình 7.18 Chưẩn IR 1.0 Thành phố Hồ Chí Minh, tháng 4 năm 2006
  18. Chương 7: GIAO TIẾP QUA CỔNG NỐI TIẾP Trang 212 Kỹ thuật truy cập mạng là CSMA/CA tránh xung đột. Khi một trạm muốn truyền nhận thấy môi trường tự do, nó sẽ gởi RTS cho biết thời gian truyền, đối tác gởi trả lại CTS và sự truyền tin bắt đầu, các trạm khác biết khi nào kết thúc sự truyền và sẽ chờ đợi. Khi kết thúc truyền, đối tác gởi ACK báo truyền tin thành công. Kỹ thuật FHSS Kỹ thuật DSSS Hình 7.19: Kỹ thuật trải phổ Thành phố Hồ Chí Minh, tháng 4 năm 2006