mở đầu cho một đơn vị dữ liệu START Bit. 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 D7 D6 D5 D4 D3 D2 D1 D0 Bit D0 D1 : 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 D2 : Cho biết số Stop Bit. 0 : Sử dụng một bit Stop 1 : Sử dụng hai bit Stop Bit D3 D4 : 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 D5D6D7 : 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) Sinh Viên : Đỗ Trần Anh 16 MSSV: 8D15001 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Báo cháy và chống cháy qua mạng Internet 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.Các IC kích phát và kích 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.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.Minh hoạ thông tin nối tiếp bất đồng: Đố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.
Hồn tồ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 … Sinh Viên : Đỗ Trần Anh 17 MSSV: 8D15001 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Báo cháy và chống cháy qua mạng Internet 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ợ.
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. Ngồ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ó. Sinh Viên : Đỗ Trần Anh 18 MSSV: 8D15001 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Báo cháy và chống cháy qua mạng Internet 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.
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ả Sinh Viên : Đỗ Trần Anh 19 MSSV: 8D15001 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Báo cháy và chống cháy qua mạng Internet IRQ4 IRQ3 IRQ4 IRQ3 Interrupt Request Line 3F8 2F8 3E8 2E8 Transmit/Receive Buffer và LSB of the Divisor Latch 3F9 2F9 3E9 2E9 Interrupt Enable Register và MSB of the Divisor Latch 3FA 2FA 3EA 2EA Interrupt Identification Registers 3FB 2FB 3EB 2EB Line Control Register 3FC 2FC 3EC 2EC Modem Control Register 3FD 2FD 3ED 2ED Line Status Register 3FE 2FE 3EE 2EE Modem Status Register 2. 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ừ 37 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ệ Một số hệ thống Các hệ thống thống AT và EISA MCA Sinh Viên : Đỗ Trần Anh 20 MSSV: 8D15001 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Báo cháy và chống cháy qua mạng Internet Thứ 1 3F8 3F8 3F8 Thứ 2 2F8 2F8 2F8 Thứ 3 Không Không 3220h Thứ 4 Không Không 3228h Thứ 5 Không Không 4220h Thứ 6 Không Không 4228h Thứ 7 Không Không 5220h Thứ 8 Không Không 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 hồ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ỉ Cổng nối Trường hợp 1 Trường hợp 2 Trường hợp 3 Trường hợp 4 RAM tiếp Địa chỉ I/O Địa chỉ I/O Địa chỉ I/O Địa chỉ I/O 40:0h 1 3F8 3F8 2F8 0 40:2h 2 2F8 0 0 0 40:4h 3 0 0 0 0 40:6h 4 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. Các phép thử này không khẳng định liệu có một thiết bị nối tiếp thực sự được nối với cổng I/O hay không. Phép thử chỉ kiểm tra xem liệu phần cứng cổng nối tiếp có tồn tại hay không tại một địa chỉ I/O cụ thể.