Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
112,05 KB
Nội dung
GIỚITHIỆUCHUẨN RS-232C Vào năm 1960, cùng với sự phát triển mạnh của các thiết bò đầu cuối máy tính chia sẻ thời gian, các Modem đã được tung ra ngày càng nhiều nhằm đảm bảo cho các thiết bò đầu cuối có thể dùng các đường điện thoại để thông tin giữa các máy tính với nhau ở những khoảng cách xa. Modem và các thiêt bò được dùng để gửi số liệu nối tiếp thường được gọi là thiết bò thông tin số liệu DCE (Datommunication Equipment). Các thiết bò đầu cuối hoặc máy tính đang gửi hay nhận số liệu được gọi là các thiết bò đầu số liệu DTE (Data Terminal Equipment). Nhằm đáp ứng với nhu cầu về tín hiệu và các chuẩn bắt tay (handshake standards) giữa DTE và DCE, hiệp hội kỹ thuật điện tử EIA đã đưa ra chuẩn RS-232C. Chuẩn này mô tả chức năng 25 chân tín hiệu và bắt tay cho việc chuyển dữ liệu nối tiếp. Nó cũng mô tả các mức điện áp, trở kháng, tốc độ truyền cực đại và điện dung cực đại cho các đường tín hiệu này. RS-232 ấn đònh 25 chân tín hiệu, và quy đònh các đầu nối DTE phải là male (đực) và các đầu nối DCE phải là female (cái). Một loại đầu nối đặc biệt không được cho, nhưng thường dùng nhiều nhất là đầu nối mele DB-25P (hình 2-1). Ngoài ra, đối với nhiều hệ thống còn dùng loại 9 chân như loại DE-9P mele (hình 2-2). Hình 2-1 Hình 2-2 Được EIA đưa vào năm 1969 để truyền dữ liệu nối tiếp và tín hiệu điều khiển giữa Modem và thiết bò đầu cuối (hoặc máy tính) với tốc độ truyền tối đa là 20kbps ở cự ly khoảng 15m. đây là một dạng giao tiếp loại TTL + bộ kích đường dây không cân bằng. Việc mô tả chuẩn này được chia làm ba phần: Các đặc điểm kỹ thuật về điện, mô tả các đường dữ liệu điều khiển và sử dụng bộ kết nối chân ra. I _ ĐẶC ĐIỂM KỸ THUẬT VỀ ĐIỆN CỦA RS232C IN NUMBERS FOR 9 PINS PIN NUMBERS FOR 25 PINS COMMON NAME RS232C NAME SIGNAL DIRECTION ON DCE 3 2 7 8 1 2 3 4 5 TxD RxD RTS CTS AA BA BB CA CB - IN OUT IN OUT 6 5 1 6 7 8 9 10 DSR GND CD CC AB CF - - OUT - OUT - - 11 12 13 14 15 SCF SCB SBA ĐB - OUT OUT IN OUT 4 16 17 18 19 20 DTR SBB SCA CD OUT OUT - IN IN 9 21 22 23 24 25 CG CE CH/CI DA OUT OUT IN/OUT IN - Hình 2-3 Qui đònh về chân của RS232C Mức điện áp logic của RS-232C là khoảng điện áp giữa +15V và – 15V. Các đường dữ liệu sử dụng mức logic âm: logic 1 có điện thế giữa –5V và –15V, logic 0 có điện thế giữa +5V và +15V. tuy nhiên các đường điền khiển (ngoại trừ đường TDATA và RDATA) sử dụng logic dương: gía trò TRUE = +5V đến +15V và FALSE =-5V đến –15. Ở chuẩn giao tiếp này, giữa ngõ ra bộ kích phát và ngõ vào bộ thu có mức nhiễu được giới hạn là 2V. Do vậy ngưỡng lớn nhất của ngõ vào là ±3V trái lại mức ± 5V là ngưỡng nhỏ nhất với ngõ ra. Ngõ ra bộ kích phát khi không tải có điện áp là ± 25V. Các đặc điểm về điện khác bao gồm ♦ R L (điện trở tải) được nhìn từ bộ kích phát có giá trò từ 3 ÷ 7kΩ. ♦ C L (điện dung tải) được nhìn từ bộ kích phát không được vượt quá 2500pF. ♦ Để ngăn cản sự dao động quá mức, tốc độ thay đổi (Slew rate ) của điện áp không được vượt qúa 30V/µs. Đối với các đường điều khiển, thời gian chuyển của tín hiệu (từ TRUE sang FALSE, hoặc từ FALSE sang TRUE ) không được vượt qúa 1ms. Đối với các đường dữ liệu, thời gian chuyển (từ 1 sang 0 hoặc từ 0 sang 1) phải không vượt qúa 4% thời gian của 1 bit hoặc 1ms. II _ CÁC ĐƯỜNG DỮ LIỆU VÀ ĐIỀU KHIỂN CỦA RS232 - TxD: Dữ liệu được truyền đi từ Modem trên mạng điện thoại. - RxD: Dữ liệu được thu bởi Modem trên mạng điện thoại. Các đường báo thiết bò sẵn sàng : - DSR : Để báo rằng Modem đã sẵn sàng. - DTR : Để báo rằng thiết bò đầu cuối đã sẵn sàng - Các đường bắt tay bán song công. - RTS : Để báo rằng thiết bò đầu cuối yêu cầu phát dữ liệu. - CTS : Modem đáp ứng nhu cầu cần gửi dữ liệu của thiết bò đầu cuối cho thiết bò đầu cuối có thể sử dụng kênh truyền dữ liệu. Các đường trạng thái sóng mang và tín hiệu điện thoại: - CD : Modem báo cho thiết bò đầu cuối biết rằng đã nhận được một sóng mang hợp lệ từ mạng điện thoại. D0 D1 D4 D5D3 D5 D6 D5D7 D5 StopbitStarbit +12V LOW 1 1 0 1 0 0 1 0 -12V HIGHT T =1/fBaud 104µS 1.04ms Hình 2-4: Dòng dữ liệu trên cổng RS 232 với tốc độ 9.600 baud - RI : Các Modem tự động trả lời báo rằng đã phát hiện chuông từ mạng điện thoạïi đòa chỉ đầu tiên có thể tới được của cổng nối tiếp được gọi là đòa chỉ cơ bản (Basic Address). Các đòa chỉ ghi tiếp theo được đặt tới bằng việc cộng thêm số thanh ghi đã gặp của bộ UART vào đòa chỉ cơ bản. - Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông thường nằm trong khoảng –12 đến +12. Các bit dữ liệu được gửi đảo ngược lại. Mức điện áp đối với mức High nằm giữa –3V và –12V và mức Low nằm giữa +3V và +12V. Trên hình 2-4 mô tả một dòng dữ liệu điển hình của một byte dữ liệu trên cổng nối tiếp RS-232C. - Ở trạng thái tónh trên đường dẫn có điện áp –12V. Một bit khởi động (Starbit) sẽ mở đầu việc truyền dữ liệu. Tiếp đó là các bit dữ liệu riêng lẻ sẽ đến, trong đó các bit giá trò thấp sẽ được gửi trước tiên. Còn số của các bit thay đổi giữa 5 và 8. Ở cuối của dòng dữ liệu còn có một bit dừng (Stopbit) để đặt trở lại trạng thái ngõ ra (-12V). Đòa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong bảng các đòa chỉ sau: COM 1 (cổng nối tiếp thứ nhất) Đòa chỉ cơ bản = 3F8(Hex) COM 2 (cổng nối tiếp thứ hai) Đòa chỉ cơ bản = 2F8(Hex) COM 3 (cổng nối tiếp thứ ba) Đòa chỉ cơ bản = 3E8(Hex) COM 4 (cổng nối tiếp thứ tư) Đòa chỉ cơ bản = 2E8(Hex) Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi qua các đòa chỉ trong máy tính PC. Trong trường hợp này, người ta thường sử dụng những vi mạch có mức độ tích hợp cao để có thể hợp nhất nhiều chức năng trên một chip. Ở máy tính PC thường có một bộ phát/nhận không đồng bộ vạn năng (gọi tắt là UART: Universal Asnchronous Receiver/ Transmitter) để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bò ngoại vi. Phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thế hệ tiếp theo. Thông thường với các yêu cầu ứng dụng tốc độ thấp người ta giao tiếp qua ngõ nối tiếp, nó giao tiếp theo tiêu chuẩn RS232C và dùng để giao tiếp giữa máy tính với Modem hoặc Mouse. Ngoài ra cũng có thể dùng giao tiếp với printer hay plotter nhưng không thông dụng lắm bởi tốc độ truyền quá chậm. Đối với máy AT cho ta hai ngõ giao tiếp COM1 và COM2. Trong một số card I/O ta có thể có đến 4 cổng COM. Để giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU (Data Bus và Address Bus) hãng IBM sử dụng hai Chip lập trình của Intel là 8250 UART (Universal Asynchronus Receiver Transmitter). Đòa chỉ theo bộ nhớ của hai Chip này là 0040:0000 cho UART của ngõ COM1 và 0040:0002 cho UART của ngõ COM2 (Đòa chỉ logic do hệ điều hành chỉ đònh) và đòa chỉ theo Port để truy xuất khi sử dụng là 3F8-3FF cho COM1 và 2F8-2FF cho COM2. Dữ liệu truyền qua cho Port COM dưới dạng nối tiếp từng Bit một, đơn vò dữ liệu có thể là 5 Bit, 6 Bit hay 1 byte tùy theo sự cài đặt lúc khởi tạo Port COM. Ngoài ra để truyền dữ liệu qua Port COM còn cần những tham số sau: Bit mở đầu cho một đơn vò dữ liệu START Bit. STOP Bit (Bit kết thúc). Parity (Kiểm tra chẵn lẻ). Baud Rate (Tốc độ truyền) tạo thành một Frame (Khung truyền). Port COM là một thể khởi tạo bằng BIOS thông qua chức năng 0 của Interrupt 14, nạp vào thanh ghi DX1 chỉ số chọn kênh (COM1 = 0, COM2 = 1). Thanh ghi AL được nạp vào các tham số của việc truyền dữ liệu. A L D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 Bit D 0 D 1 : Cho biết độ rộng của dữ liệu 0 0 : Dữ liệu có độ rộng 5 Bit 0 1 : Dữ liệu có độ rộng 6 Bit 1 0 : Dữ liệu có độ rộng 7 Bit 1 1 : Dữ liệu có độ rộng 8 Bit. Bit D 2 : Cho biết số Stop Bit. 0 : Sử dụng một bit Stop 1 : Sử dụng hai bit Stop Bit D 3 D 4 : Các Bit parity (chẵn lẻ) 0 0 : Không kiểm tra tính Parity 1 1 : Không kiểm tra tính Parity 0 1 : Odd (lẻ) 1 0 : Even (chẵn) Bit D 5 D 6 D 7 : Cho biết tốc độ truyền (Baud Rate) 0 0 0 : Tốc độ truyền 110bps (bit per second) 0 0 1 : Tốc độ truyền 150bps (bit per second) 0 1 0 : Tốc độ truyền 300bps (bit per second) 0 1 1 : Tốc độ truyền 600bps (bit per second) 1 0 0 : Tốc độ truyền 1200bps (bit per second) 1 0 1 : Tốc độ truyền 2400bps (bit per second) 1 1 0 : Tốc độ truyền 4800bps (bit per second) 1 1 1 : Tốc độ truyền 9600bps (bit per second) III _ MODEM RỖNG CỦA RS232C Mặc dù chuẩn RS_232C của EIA được dành riêng để áp dụng kết nối giữa Modem với thiết bò đầu cuối, nhưng một thuê bao của RS_232C cũng thường được sử dụng khi hai thiết bò đầu cuối được nối với nhau, hoặc một máy tính và một máy in mà không sử dụng các Modem. Trong những trường hợp như vậy, các đường TxD và RxD phải được đặt chéo nhau và các đường điều khiển cần thiết phải được đặt ở TRUE hoặc phải được tráo đổi thích hợp bên trong cáp kết nối. Sự nối lắp cáp của RS232C mà có sự tráo đổi đường dây được gọi là Modem rỗng (null Modem). Cáp như vậy thích hợp để nối trực tiếp 2 thiết bò DTE qua các port RS232C. Hai sơ đồ có thể kết nối lẫn nhau được trình bày trong hính 2-5 và hình 2-6 chú ý rằng trong trường hợp đơn giản nhất chỉ cần kết nối 4 dây lẫn nhau, trong thực tế 2 đường dây đất (SIG GND 0 và CHAS GND) thường được kết hợp lại, mặc dù điều này không được đề cập tới. IV _ CÁC IC KÍCH PHÁT VÀ THU CỦA RS232C Nhờ tính phổ biến của giao tiếp, người ta đã chế tạo các IC kích phát và thu. Hai vi mạch như vậy được Motorola sản xuất là IC kích phát MC 1488 có dạng vỏ vuông. Và MC 1489.Mỗi IC kích phát 1488 nhận một tín hiệu mức TTL và chuyển thành tín hiệu ở ngõ ra tương thích với mức điện áp của RS232C. IC 1489 phát hiện các mức vào của RS232C và chuyển chúng thành các ngõ ra có mức TTL. V _ MINH HỌA THÔNG TIN NỐI TIẾP BẤT ĐỒNG BỘ Đối với các máy PC, các cổng liên lạc nối tiếp (serial port) còn được gọi là các cổng COM. Hoàn toàn có thể sử dụng các cổng này để kết nối máy PC với các máy tính khác, với các Modem, các máy in, máy vẽ, các thiết bò điều khiển, mouse, mạng … Tất cả các máy tính PC có khả năng làm việc tối đa là 4 cổng nối tiếp khi sử dụng các card giao tiếp I/O chuẩn. Các cổng nối tiếp thường được thiết kế theo các qui đònh RS-232 theo các yêu cầu về điện và về tín hiệu. BIOS chỉ hỗ trợ các cổng nối tiếp RS-232C. Còn các chuẩn khác như: RS-422, BiSync, SDLC, IEEE-488 (GPIB),… cần phải có các trình điều khiển thiết bò bổ sung để hỗ trợ. 2 2 TxDTxD 3 3 CHAS GND SIGNAL GND 1 1 7 7 88 CDCD CTSCTS 55 4 4 RTSRTS 66 RxD DSR DTR RxD DTE B DTE A 2020 DTR DSR HÌNH 2-5 Tốc độ tối độ của cổng nối tiếp tùy thuộc vào bộ phát tốc độ Baud trong card giao tiếp cổng nối tiếp, phần mềm BIOS, và hệ thống có thể thực hiện chương trình BIOS nối tiếp nhanh đến mức nào. Ngoài ra, nếu hệ thống đang xử lý chương trình khác có độ ưu tiên cao hơn thì tốc độ tin cậy có thể bò suy giảm đáng kể. Hoạt động của cổng nối tiếp chủ yếu cũng được xử lý bởi 1 chip UART. Các thiết kế ban đầu đã sử dụng một chip NS-8250. Các thiết bò sau này chuyển sang một phiên bản CMOS, chip 1650, có chức năng hoạt động giống như 8250. Một số thiết bò mới sử dụng chip 16550 hay các biến thể khác nhằm bổ sung thêm việc đệm dữ liệu để giảm bớt gánh nặng cho CPU. Một phần của BIOS hệ thống (ngắt 14 h) cung cấp các dòch vụ để liên lạc với các card giao tiếp nối tiếp. Giống như các cổng song song, POST (Power on Self Test- chương trình của BIOS tự kiểm tra cấu hình hệ thống khi bật máy) kiểm tra xem liệu một cổng nối tiếp có được gắn vào hệ thống không, và ghi lại các đòa chỉ I/O của các cổng hoạt động trong vùng dữ liệu của BIOS. Tất cả các hệ thống đến 4 cổng nối tiếp, BIOS không hỗ trợ các cổng bổ sung thêm khác. Để truy suất phần cứng của một cổng nối tiếp, cần đọc một trong 4 từ (word) trong vùng dữ liệu BIOS chứa đòa chỉ I/O cơ sở đối với 4 cổng nối tiếp có thể có. 2 2 TxD TxD 3 3 CHAS GND SIGNAL GND 1 1 7 7 88 CDCD CTS CTS 55 4 4 RTSRTS 66 RxD DSR DTR RxD DTE B DTE A 2020 DTR DSR CTS (optional) HÌNH 2-6 Ví dụ: Để truy suất cổng nối tiếp số 2, trước tiên phải đọc đòa chỉ cổng I/O cơ sở từ vùng dữ liệu BIOS. Điều này có nghóa là một côûng nối tiếp không có đòa chỉ cổng I/O cố đònh. a. Lưạ chọn cổng COM Mỗi cổng nối tiếp sử dụng 8 byte của bộ nhớ máy PC và một ngắt phần cứng đặc biệt. Việc sử dụng các đòa chỉ bộ nhớ và ngăùt phần cứng này là điều quan trọng đối với người lập các chương trình liên lạc và các chương trình điều khiển thiết bò đối với các thiết bò nối tiếp. Bảng sau mô tả các đòa chỉ bộ nhớ và các ngắt phần cứng đối với 4 cổng nối tiếp chuẩn cho các máy tính tương thích với máy tính PC. Thông tin quan trọng nhất ở đây là đòa chỉ cơ sở, là đòa chỉ bộ nhớ đầu tiên trong mỗi cổng COM (vùng đệm phát/thu – Transmit/ Receive Buffer) đòa chỉ của đường yêu cầu ngắt (IRQ) đối với mỗi cổng. Một thiết bò nối tiếp chỉ có thể sử dụng một đòa chỉ cổng COM. Khi cài đặt một Modem nội trong máy PC, hay bất kỳ thiết bò nào khác sử dụng cổng nối tiếp cho giao diện của nó, trước tiên phải đảm bảo rằng đã xác lập nó đối với một cổng COM (bao gồm đòa chỉ và số IRQ). COM1 COM2 COM3 COM4 Mô tả IRQ4 3F8 3F9 3FA 3FB 3FC 3FD 3FE IRQ3 2F8 2F9 2FA 2FB 2FC 2FD 2FE IRQ4 3E8 3E9 3EA 3EB 3EC 3ED 3EE IRQ3 2E8 2E9 2EA 2EB 2EC 2ED 2EE Interrupt Request Line Transmit/Receive Buffer và LSB of the Divisor Latch Interrupt Enable Register và MSB of the Divisor Latch Interrupt Identification Registers Line Control Register Modem Control Register Line Status Register Modem Status Register b. Hoạt động của cổng nối tiếp. Sự khởi động của BIOS. Sau khi bật máy (hay Reset máy), chương trình POST kiểm tra xem liệu có bất kỳ cổng nối tiếp nào được cài đặt hay không. POST khảo sát nhóm cổng I/O: 3F8 ÷3FEh. Để phát hiện một cổng hoạt động, thanh ghi IIR (Interrupt Identification Register) được đọc từ cổng 3FAh hay 2FAh. Nếu tất cả các bit từ 3÷7 của thanh ghi IIR đều là 0, thì POST xem như cổng nối tiếp có hoạt động. Một khi đã xác đònh được nhóm cổng I/O nối tiếp có hoạt động, đòa chỉ cổng I/O cơ sở được lưu trữ trong vò trí BIOS RAM cổng nối tiếp chưa sử dụng thấp nhất. Có 4 từ được dành trong RAM bắt đầu tại đòa chỉ 40:0h để chứa đòa chỉ I/O của cổng nối tiếp có hoạt động. Nhiều POST của các hãng cung cấp máy sẽ không bao giờ kiểm tra các cổng COM3 và COM4, vì IPM không đònh nghóa một đòa chỉ cổng chuẩn cho các cổng này. Nói chung, hầu hết các hệ thống chỉ kiểm tra có 2 cổng. Tuy nhiên, các hệ thống cùng họ mới hơn thường kiểm tra 4 đòa chỉ cổng có thể có. Các hệ thống MCA kiểm tra 8 đòa chỉ cổng nối tiếp khác nhau có thể có trong một lần thử để tìm ra 4 cổng nối tiếp có hoạt động. Thứ tự kiểm tra Hầu hết hệ thống Một số hệ thống AT và EISA Các hệ thống MCA Thứ 1 Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Thứ 8 3F8 2F8 Không Không Không Không Không Không 3F8 2F8 Không Không Không Không Không Không 3F8 2F8 3220h 3228h 4220h 4228h 5220h 5228h Bảng trên mô tả thứ tự theo đó các BIOS sẽ tìm kiếm các cổng hoạt động. Chỉ cổng I/O cơ sở đối với mỗi nhóm được hiển thò trong bảng này. Trên hệ thống MCA, một khi 4 cổng đã được tìm thấy, các cổng khác không được kiểm tra nữa. Khi hoàn tất các công việc kiểm tra POST nối tiếp, các đòa chỉ cổng nối tiếp được cất giữ. Điều này thường tạo ra một trong 4 trường hợp được mô tả trong bảng sau: Đòa chỉ RAM Cổng nối tiếp Trường hợp 1 Đòa chỉ I/O Trường hợp 2 Đòa chỉ I/O Trường hợp 3 Đòa chỉ I/O Trường hợp 4 Đòa chỉ I/O 40:0h 40:2h 40:4h 40:6h 1 2 3 4 3F8 2F8 0 0 3F8 0 0 0 2F8 0 0 0 0 0 0 0 Các kết quả POST có thể có về việc phát hiện cổng nối tiếp. - Trường hợp 1 : Mô tả POST phát hiện 2 cổng nối tiếp. - Trường hợp 2 và 3 : Cho thấy chỉ có một cổng nối tiếp được phát hiện. - Trường hợp 4 : Cho thấy không phát hiện được cổng nối tiếp nào. [...]... đầu vào RxD có mức logic cao thì sự thay đổi từ 1 xuống 0 ở RxD trước lúc kích mẫu là do nhiễu hay khối thu đã khởi động bộ đếm trong khi nhận bit số liệu Như vậy có sai 8251 bỏ lệnh đang thực hiện và chuẩn bò ký tự mới - Nếu đầu vào RxD có mức logic thấp trong thời điểm kích mẫu 8251 tiếp tục kích mẫu để nhận giá trò của các bit số liệu, bit kiểm tra chẵn lẻ và các bit dừng Sau đó, 8251 tách các bit . GIỚI THIỆU CHUẨN RS-2 32C Vào năm 1960, cùng với sự phát triển mạnh của các thiết bò đầu. cầu về tín hiệu và các chuẩn bắt tay (handshake standards) giữa DTE và DCE, hiệp hội kỹ thuật điện tử EIA đã đưa ra chuẩn RS-2 32C. Chuẩn này mô tả chức năng