Giáo trình Ghép nối máy tính

pdf 59 trang hapham 2510
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Ghép nối máy tính", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_ghep_noi_may_tinh.pdf

Nội dung text: Giáo trình Ghép nối máy tính

  1. Kỹ Thuật GGHHÉÉPP NNỐỐII MMÁÁYY TTÍÍNNHH
  2. Kỹ thuật ghép nối máy tính MỤC LỤC MỤC LỤC 1 ĐỐI TƯỢNG MÔN HỌC 3 CHƯƠNG I - CỔNG SONG SONG 4 1.1. Vài nét cơ bản về cổng song song 4 1.1.1. Tên gọi 4 1.1.2. Mức điện áp cổng 4 1.1.3. Khoảng cách ghép nối 4 1.1.4. Tốc độ truyền dữ liệu 4 1.2. Cấu trúc cổng song song 4 1.3. Các thanh ghi ở cổng song song. 6 1.4. Trao đổi với các đường dẫn tín hiệu bằng phần mềm 8 1.4.1. Bằng hợp ngữ 8 1.4.2. Bằng TurboC 8 1.4.3. Bằng Turbo Pascal 8 CHƯƠNG II - RÃNH CẮM MỞ RỘNG 10 2.1. Đặt vấn đề 10 2.2. Bus PC 10 2.3. Bus ISA 13 2.4. Bus MCA 15 2.5. Bus EISA 15 2.6. Bus VESA Local 15 2.6.1. Đặt vấn đề 15 2.6.2. Tốc độ truyền dữ liệu 15 2.7. Bus PCI 17 2.8. So sánh các kiểu bus khác nhau 18 2.9. Ghép nối qua rãnh cắm mở rộng 19 2.9.1. Một số đặc điểm của card ISA 19 2.9.2. Giải mã địa chỉ và kết nối bus 20 2.9.2.1. Đặt vấn đề 20 2.9.2.2. Giải mã địa chỉ 22 CHƯƠNG III - GHÉP NỐI QUA CỔNG NỐI TIẾP 24 3.1. Đặt vấn đề 24 3.2. Nguồn gốc 24 3.3. Mức điện áp trên đường truyền 24 3.4. Đầu nối trên máy tính PC 26 3.5. Một số chuẩn ghép nối 28 3.5.1. RS422 28 3.5.2. Chuẩn RS423A 29 3.5.3. Chuẩn RS485 29 3.5.4. So sánh các chuẩn ghép nối 29 3.6. Lập trình cho cổng RS232 31 3.6.1. Bộ truyền nhận không đồng bộ vạn năng 8250 31 3.6.2. Các thanh ghi trên UART 8250 33 3.6.2.1. Các thanh ghi giữ 34 3.6.2.2. Thanh ghi điều khiển đường truyền 35 Trang 1/59
  3. Kỹ thuật ghép nối máy tính 3.6.2.3. Thanh ghi tốc độ baud 36 3.6.2.4. Thanh ghi trạng thái đường truyền 38 3.6.2.5. Thanh ghi cho phép ngắt 39 3.6.2.6. Thanh ghi nhận dạng ngắt 39 3.6.2.7. Các thanh ghi môđem 41 CHƯƠNG IV - CỔNG USB 43 4.1. Những nét chung 43 4.2. Đầu nối và cáp nối 44 4.3. Truyền dữ liệu nối tiếp qua cổng USB 45 4.4. HUB USB 45 4.5. Phần cứng và phần mềm của máy chủ 46 4.6. Phiên bản USB 2.0 46 CHƯƠNG V - MÔĐEM 47 5.1. Mở đầu 47 5.2. Truyền thông qua cổng nối tiếp 49 5.3. Các tiêu chuẩn dùng cho môđem 49 5.4. Các lệnh môđem 49 5.5. Các thanh ghi trên môđem 52 5.6. Cáp nối môđem 54 5.7. Cài đặt môđem 55 5.8. Các đèn báo trên môđem 56 TÀI LIỆU THAM KHẢO 58 Trang 2/59
  4. Kỹ thuật ghép nối máy tính ĐỐI TƯỢNG MÔN HỌC Nghiên cứu môn học Cấu trúc Máy tính ta thấy rằng khi máy tính PC được xuất xưởng thì đó chưa phải là một hệ thống hoàn chỉnh. Tùy theo yêu cầu sử dụng, người dùng có thể nâng cấp, mở rộng cấu hình bằng cách ghép nối thêm các card mở rộng hoặc các thiết bị ngoại vi. Các nhà sản xuất máy tính đã dự trữ sẵn các rãnh cắm mở rộng trên bản mạch chính, các cổng ghép nối: song song(LPT), nối tiếp(COM). Đây chính là những vị trí mà kỹ thuật ghép nối máy tính có thể tác động vào. Nhờ có kỹ thuật ghép nối máy tính mà khả năng của máy tính được mở rộng thêm rất nhiều: ví dụ có thể xây dựng được các hệ thống đo lường hoàn toàn tự động có thể thực hiện được việc giao tiếp giữa hai máy tính từ Châu lục này sang Châu lục khác. Để ghép nối máy tính với các thiết bị ngoại vi có bốn khả năng để lựa chọn: Ghép nối qua cổng máy in hay còn gọi là cổng song song. Ghép nối qua cổng RS 232 hay còn gọi là cổng nối tiếp. Ghép nối qua rãnh cắm mở rộng trên bản mạch chính. Ghép nối qua cổng USB. Mỗi khả năng đều có những ưu và nhược điểm riêng và đến nay vẫn cùng tồn tại. Tùy theo điều kiện, hoàn cảnh cụ thể của bài toán ứng dụng mà trước khi tiến hành ghép nối máy tính ta luôn phải cân nhắc xem nên sử dụng khả năng nào cho thích hợp. Để có thêm thông tin cho việc lựa chọn trước khi tiến hành ghép nối máy tính sau đây ta sẽ đi nghiên cứu lần lượt từng khả năng. Trang 3/59
  5. Kỹ thuật ghép nối máy tính CHƯƠNG I - CỔNG SONG SONG 1.1. VÀI NÉT CƠ BẢN VỀ CỔNG SONG SONG 1.1.1. TÊN GỌI Cổng song song: Dữ liệu được truyền qua cổng này theo cách song song, cụ thể dữ liệu được truyền 8 bit đồng thời hay còn gọi byte nối tiếp bit song song. Cổng máy in: Lí do là hầu hết các máy in đều được nối với máy tính qua cổng này. Cổng Centronic: Đây là tên của một công ty đã thiết kế ra cổng này. Centronic là tên một công ty chuyên sản xuất máy in kiểu ma trận đứng hàng đầu thế giới. Chính công ty này đã nghĩ ra kiểu thiết kế cổng ghép nối máy in với máy tính. 1.1.2. MỨC ĐIỆN ÁP CỔNG Đều sử dụng mức điện áp tương thích TTL(Transiztor - Transiztor - Logic) 0v → +5v trong đó: 0v là mức logic LOW. 2v → +5v là mức logic HIGH. Vì vậy khi ghép nối với cổng này ta chỉ ghép nối những thiết bị ngoại vi có mức điện áp tương thích TTL. Nếu thiết bị ngoại vi không có mức điện áp tương thích TTL thì ta phải áp dụng biện pháp ghép mức hoặc ghép cách ly qua bộ ghép nối quang. 1.1.3. KHOẢNG CÁCH GHÉP NỐI Khoảng cách cực đại giữa thiết bị ngoại vi và máy tính ghép qua cổng song song thường bị hạn chế. Lý do là hiện tượng cảm ứng giữa các đường dẫn và điện dung kí sinh hình thành giữa các đường dẫn có thể làm biến dạng tín hiệu. Khoảng cách giới hạn cực đại là 8m. Thông thường chỉ 1,5 đến 2m vì lí do an toàn dữ liệu. Nếu sử dụng khoảng cách ghép nối trên 3m thì các đường dây tín hiệu và đường dây nối đất phải được soắn với nhau thành từng cặp để giảm thiểu ảnh hưởng của nhiễu. Biện pháp khác sử dụng cáp dẹt, trên đó mỗi đường dữ liệu được đặt giữa hai đường dây nối đất. 1.1.4. TỐC ĐỘ TRUYỀN DỮ LIỆU Tốc độ truyền dữ liệu qua cổng song song phụ thuộc vào phần cứng được sử dụng. Trên lý thuyết tốc độ có thể đạt đến 1Mb/s nhưng với khoảng cách truyền hạn chế trong phạm vi 1m. Với nhiều mục đích sử dụng thì khoảng cách này hoàn toàn thỏa đáng, tuy vậy cũng có những ứng dụng đòi hỏi phải truyền trên khoảng cách xa hơn. Trong trường hợp đó ta phải nghĩ ngay đến khả năng ghép nối khác (như ghép nối qua cổng RS232). 1.2. CẤU TRÚC CỔNG SONG SONG Cổng song song có hai loại: ổ cắm 36 chân và ổ cắm 25 chân. Ngày nay, loại ổ cắm 36 chân không còn được sử dụng, hầu hết các máy tính PC đều trang bị ổ cắm 25 chân nên ta chỉ cần quan tâm đến loại 25 chân. Hình vẽ 1-1. Giới thiệu loại ổ cắm 25 chân. Trang 4/59
  6. Kỹ thuật ghép nối máy tính Bảng 1-1. Sắp xếp các chân trên hai loại ổ cắm. VỊ TRÍ TÊN TÍN HIỆU CHỨC NĂNG CHÂN Strobe 1 Khi đặt một mức điện áp LOW vào chân này, máy tính thông báo cho máy in biết có một byte sẵn sàng trên các đường tín hiệu để được truyền. D0 2 D1 3 D2 4 D3 5 Các đường dữ liệu ( 8 đường ) D4 6 D5 7 D6 8 D7 9 Acknowledge 10 Mức LOW ở chân này, máy in thông báo cho máy tính biết đã nhận được kí tự vừa gửi và có thể tiếp tục nhận. Busy (Báo bận) 11 Máy in gửi một mức lôgic HIGH vào chân này trong khi đang đón nhận hay đang in ra dữ liệu để thông báo cho máy tính biết bộ đệm dữ liệu đầy hay máy in đang ở trạng thái Off-line Paper empty (Hết giấy) 12 Máy in đặt trạng thái trở kháng cao (HIGH) ở chân này khi hết giấy. Select (Lựa chọn) 13 Một mức HIGH có nghĩa là máy in đang trong trạng thái được kích hoạt . Auto Linfeed (Tự động 14 Mức LOW ở chân này máy tính nhắc máy in tự động nạp dòng) nạp một dòng mới mỗi khi kết thúc một dòng. Error (Có lỗi) 15 Mức LOW ở chân này, máy in báo cho máy tính biết đã xảy ra lỗi khi in. Reset (Đặt lại trạng thái 16 Máy in được đặt trở lại trạng thái được xác định lúc máy in) ban đầu khi chân này ở mức LOW. Select Input (Lựa chọn 17 Bằng một mức LOW máy in được lựa chọn bởi máy lối vào) tính. Ground (Nối đất) 18-25 Trang 5/59
  7. Kỹ thuật ghép nối máy tính Qua bảng trên ta thấy cáp nối giữa máy tính và máy in bao gồm 25 sợi, tuy nhiên không phải tất cả các sợi cáp đều được sử dụng như vậy chúng ta có thể tận dụng dây cáp này nếu có một vài sợi bị đứt. Tên tín hiệu Số chân trên đầu nối PC STROBE 1 D0 2 D1 3 D2 4 D3 5 D4 6 D5 7 D6 8 Máy in Máy tính D7 9 Ack 10 Busy 11 Paper Empty 12 Select 13 Auto Line feed 14 Error 15 Reset 16 Select Input 17 Ground 18-25 Hình 1-2. Sơ đồ nối dây và chiều tín hiệu giữa máy tính và máy in Qua cách mô tả chức năng của từng tín hiệu riêng lẻ ta có thể nhận thấy là các đường dẫn tín hiệu có thể chia thành 3 nhóm: • Các đường dẫn tín hiệu xuất ra từ máy tính PC và điều khiển máy in, được gọi là các đường dẫn điều khiển. • Các đường dẫn tín hiệu, đưa các thông báo ngược lại từ máy in về máy tính, được gọi là các đường dẫn trạng thái. • Đường dẫn dữ liệu, truyền các bit riêng lẻ của các ký tự cần in. Từ cách mô tả các tín hiệu và mức tín hiệu ta có thể nhận thấy các tín hiệu Acknowledge, Auto Linefeed, Error, Reset, và Select Input kích hoạt ở mức Low. Thông qua chức năng của các chân này ta cũng hình dung được cách điều khiển máy in. Đáng chú ý là 8 đường dẫn song song đều được dùng để chuyển dữ liệu từ máy tính sang máy in. Trong những trường hợp này, khi chuyển sang ứng dụng đo lường và điều khiển ta phải chuyển dữ liệu từ mạch ngoại vi vào máy tính để thu thập và xử lý. Vì vậy ta phải tận dụng một trong năm đường dẫn theo hướng ngược lại, nghĩa là từ bên ngoài vào máy tính để truyền số liệu đo lường. 1.3. CÁC THANH GHI Ở CỔNG SONG SONG. Để có thể ghép nối các thiết bị ngoại vi, các mạch điện ứng dụng trong đo lường và điều khiển với cổng song song ta phải tìm hiểu cách trao đỏi với các thanh ghi thông qua cách sắp xếp và địa chỉ các thanh ghi. Các đường dẫn của cổng song song được nối với ba thanh ghi 8 bit khác nhau: Trang 6/59
  8. Kỹ thuật ghép nối máy tính THANH GHI DỮ LIỆU ĐỊA CHỈ ( 278H, 378H, 2BCH, 3BC H) D7 D6 D5 D4 D3 D2 D1 D0 D0 (chân 2) D1 (chân 3) D2 (chân 4) D3 (chân 5) D4 (chân 6) D5 (chân 7) D6 (chân 8) D7 (chân 9) THANH GHI TRẠNG THÁI ĐỊA CHỈ ( 279H, 379H, 2BDH, 3BD H) 7 6 5 4 3 2 1 0 Error (chân15) Select (chân 13) Paper Empty (chân 12) Acknowledge (chân 10) Busy (chân 11) THANH GHI ĐIỀU KHIỂN ĐỊA CHỈ ( 27AH, 37AH, 2BEH, 3BE H) D7 D6 D5 D4 D3 D2 D1 D0 Strobe (chân 1) Auto Feed (chân 14) Reset (chân 16) Select Input (chân 17) Interrup Enable (cho phép ngắt) Như sơ đồ trên đã trình bày 8 đường dữ liệu dẫn tới thanh ghi dữ liệu còn 4 đường dẫn điều khiển Strobe, Auto Linefeed, Reset, Select Input dẫn tới thanh ghi điều khiển. Năm đường dẫn trạng thái Acknowledge, Busy, Paper Empty, Select, Error tới thanh ghi trạng thái. Thanh ghi dữ liệu hay 8 đường dẫn dữ liệu không phải là đường dẫn 2 hướng trong tất cả các loại máy tính nên dữ liệu chỉ có thể được xuất ra qua các đường dẫn này cụ thể từ D0 đến D7. Thanh ghi điều khiển hai hướng, hay nói chính xác hơn: Bốn bit có giá trị thấp được sắp xếp ở các chân 1, 14, 16, 17. Thanh ghi trạng thái chỉ có thể được đọc và vì vậy được gọi là một hướng. Trang 7/59
  9. Kỹ thuật ghép nối máy tính 1.4. TRAO ĐỔI VỚI CÁC ĐƯỜNG DẪN TÍN HIỆU BẰNG PHẦN MỀM Đây là nhiệm vụ mà bất kỳ khi nào muốn viết mới hoặc sửa đổi một phần mềm dùng cho mạch ghép nối với cổng song song đều phải nghĩ cách giải quyết. Câu hỏi đặt ra là làm thế nào để đọc được các tín hiệu điện trên các đường dẫn tín hiệu của cổng song song hoặc để xuất dữ liệu ra các đường dẫn này. Việc truy nhập trực tiếp lên các giao diện của máy tính PC, cụ thể là lên các đường dẫn riêng lẻ được tiến hành thuận lợi nhất là bằng hợp ngữ, Các ngôn ngữ bậc cao như Turbo Pascal hoặc C cũng có những lệnh đơn giản để thực hiện việc truy nhập lên các cổng tuy rằng tốc độ truy nhập có thấp hơn đôi chút. Trước hết ta cần biết địa chỉ của các cổng mà qua đó các giao diện song song có thể được trao đổi. Sau đó sẽ quyết định đọc dữ liệu trong thanh ghi nào hoặc xuất dữ liệu ra thanh ghi nào ? Nói chung, các lệnh được sử dụng có thể viết như sau: 1.4.1. BẰNG HỢP NGỮ Để xuất ra dữ liệu OUT DX, AL Để nhập vào dữ liệu IN AL, DX Trong đó địa chỉ của thanh ghi cần trao đổi phải đứng ở trong DX. Ví dụ: Giả sử LPT1 có địa chỉ là 378H MOV DX,378H; Nạp địa chỉ của cổng LPT1 vào thanh ghi DX OUT DX,AL; Xuất nội dung của thanh ghi AL lên đường dẫn dữ liệu (Từ D0 đến D7) của LPT1. Hai lệnh sau đây đọc các byte ở đường dẫn dữ liệu của cổng LPT1: MOV DX, 378H; Nạp địa chỉ của cổng LPT1 vào thanh ghi DX IN AL,DX: Đọc thông tin trên các đường dẫn dữ liệu (Từ D0 đến D7) của LPT1 sang thanh ghi AL. Hai lệnh sau đây xuất nội dung của thanh ghi AL sang thanh ghi điều khiển của LPT1. MOV DX,37AH; Nạp địa chỉ của thanh ghi điều khiển cổng LPT1 vào thanh ghi DX OUT DX,AL; Mang nội dung của thanh ghi AL sang thanh ghi điều khiển của LPT1. Hai lệnh sau đây đọc các byte ở đường dẫn trạng thái của cổng LPT1 đặt vào thanh ghi AL. MOV DX, 379H; Nạp địa chỉ của thanh ghi trạng thái vào thanh ghi DX IN AL,DX: Đọc nội dung của thanh ghi trạng thái của LPT1 sang thanh ghi AL. 1.4.2. BẰNG TURBOC Để xuất ra dữ liệu Outportb(Địa chỉ cổng,Giá trị) Để nhập vào dữ liệu Inportb(Địa chỉ cổng) Ví dụ Lệnh sau đây xuất giá trị 5 qua thanh ghi dữ liệu của cổng LPT1 Outportb(0x378, 5) Lệnh sau đây đọc thông tin của thanh ghi trạng thái của cổng LPT1 sắp xếp vào biến status Status= Inportb(0x379) 1.4.3. BẰNG TURBO PASCAL Để xuất ra dữ liệu PORT [Địa chỉ cổng]:= Variable Để nhập vào dữ liệu Variable:=PORT [Địa chỉ cổng] Ví dụ PORT [$378]:= 5; Xuất giá trị 5 lên đường dẫn dữ liệu (Từ D0 đến D7) của LPT1. X:= PORT [$378] ; Đọc thông tin trên các đường dẫn dữ liệu (Từ D0 đến D7) của LPT1 và đặt chúng vào biến x. Trang 8/59
  10. Kỹ thuật ghép nối máy tính Khi đã thành thạo với những thao tác dùng phần mềm để trao đổi với các đường dẫn tín hiệh thì phần còn lại của công việc lập trình cho các ứng dụng ghép nối với cổng song song không còn là công việc khó khăn. Trang 9/59
  11. Kỹ thuật ghép nối máy tính CHƯƠNG II - RÃNH CẮM MỞ RỘNG 2.1. ĐẶT VẤN ĐỀ Khi ta bàn luận về cấu trúc Máy tính ta thường đề cập tới các cấu trúc bus, đường dẫn bus như databus, controlbus Các rãnh cắm mở rộng về thực chất là một dạng thể hiện bằng phần cứng của các bus trên bản mạch chính, trên đó có thể cắm thêm các card mở rộng để thay đổi hoặc nâng cấp cấu hình của máy tính. Vì vậy các thuật ngữ như rãnh cắm mở rộng, bus, bus mở rộng được sử dụng trong chương này là như nhau về mặt ý nghĩa. Kiểu card ghép nối được sử dụng ảnh hưởng nhiều đến tính năng của máy tính. Vì vậy ngay từ thế hệ máy tính đầu tiên người ta đã dựa vào các tuỳ chọn mở rộng để cải thiện các đặc tính kỹ thuật của máy tính. Các tuỳ chọn mở rộng này là các card được cắm thêm vào bus mở rộng. Có thể có đến 8 rãnh cắm mở rộng được lắp ráp sẵn trên bản mạch chính. Các card cắm thêm vào cho phép truy cập tới: bộ nhớ, card màn hình, đĩa cứng và đĩa mềm,xuất dữ liệu ra máy in, các cổng modem, vào/ra nối tiếp v.v. Sự phát triển của rãnh cắm mở rộng gắn liền với sự phát triển của máy tính. Từ trước đến nay có 8 kiểu bus mở rộng được sử dụng cho máy tính cá nhân. Việc phân loại bus mở rộng được dựa trên số bit dữ liệu mà bus xử lý đồng thời. Đó là các bus: Bus PC (ISA 8 bit) Bus EISA (32 bit) Extended Industry Standard Architecture. Bus VESA Local (32 bit) Video Electronics Standard Association. Bus SCSI (16/32 bit) Bus ISA (16 bit) Industry Standard Architecture. Bus MCA (32 bit) Microchanel Interface Architecture. Bus PCI (32/64 bit) Peripheral Component Interconnection. Bus PC/MCIA (16 bit). Các loại bus này ra đời kế tiếp nhau loại sau luôn được chứng minh có nhiều ưu điểm thậm chí tìm cách phủ định loại trước đó. Nhưng trên thực tế mọi việc không phải bao giờ cũng diễn ra theo đúng ý đồ của người thiết kế, vì vậy có những loại chỉ được ra đời trong vòng một vài tháng thì đã bị loại khác làm cho lãng quên chẳng hạn loại MCI 32 bit. Cho đến nay, trên mainboard được chế tạo gần đây thường có 3 rãnh cắm ISA 16 bit và 2 rãnh cắm PCI; Số lượng và chủng loại này đủ để đáp ứng các nhu cầu sử dụng thông thường của hầu hết những người sử dụng máy tính. 2.2. BUS PC Bus PC xuất hiện ngay trên máy tính PC/XT đầu tiên cho nên được gọi luôn là bus PC. Nó tận dụng cấu trúc của bộ xử lý Intel 8088 cho nên có 1 bus dữ liệu 8 bit ngoài và bus địa chỉ 20 bit. Rãnh cắm nối với bus PC có 62 chân vì vậy cho phép cắm vào 1 card mở rộng làm từ một tấm mạch in 2 mặt cũng có 62 tiếp điểm, mỗi mặt là 31 tiếp điểm. Vì trên bus này có 8 bit dữ liệu được truyền cho nên bus PC còn có tên là bus 8 bit hay bus ISA 8 bit. Qua hình vẽ ta thấy: Từ chân A13 đến A31 giành cho 20 bit địa chỉ nên nó có thể định địa chỉ một vùng bộ nhớ cực đại đến 1 Mbyte (220=1Mb) . Tốc độ truyền được cố định ở 4,772727 MHz, như vậy có nhiều nhất là 4.772727 byte có thể được truyền trong mỗi giây. Giá trị 4.772727 MHz là nhận được từ bộ giao động tinh thể thạch anh có tần số là 14.31818 MHz sau đó cho qua một bộ chia tần số. Trang 10/59
  12. Kỹ thuật ghép nối máy tính Hướng của dữ liệu được chọn là đi vào nếu tín hiệu đến từ bộ điều khiển bus và được gọi là đi ra nếu nó đến từ thiết bị ngoại vi ở bên ngoài bus cụ thể là từ card ghép nối mở rộng. Còn một loại tín hiệu khác được quy định là đi vào/đi ra khi tín hiệu đó được bắt nguồn hoặc từ bộ điều khiển bus PC hoặc là từ card mở rộng. Như vậy khái niệm đi vào và đi ra là xuất phát từ cách nhìn trên card mở rộng. Hình 2-1. Card ISA 8 bit Hình 2-2. Rãnh cắm ISA 8 bit Bảng 2-1.Chức năng các tiếp điểm trên bus PC Tín hiệu Tên Mô tả A0 - A19 Bus địa chỉ (lối vào/ Hai chục bit thấp hơn của bus địa chỉ hệ thống, đôi khi lối ra) ký hiệu là SA0-SA19. AEN Cho phép địa chỉ Chân address enable cho phép dùng một card mở rộng (Address enable - để cấm khối logic giải mã địa chỉ I/O cục bộ của nó. Nó lối ra) kích hoạt ở mức cao. Khi hoạt động, Address enable chỉ cho thấy hoặc quá trình truy nhập trực tiếp bộ nhớ (DMA) hoặc quá trình làm tươi lại đang được điều khiển trên các bus. D0 - D7 Bus dữ liệu (lối vào/ Tám bit dữ liệu, cho phép truyền giữa máy chủ (master lối ra) bus) và card mở rộng. CLK Tín hiệu giữ nhịp (lối Tín hiệu giữ nhịp bus được đặt bằng (4,772727 MHz đối ra) với bus PC và 8,33 MHz đối với bus ISA) và bảo đảm việc đồng bộ hoá đối với quá trình truyền dữ liệu (tín hiệu này được bắt nguồn từ xung đồng hồ OSC). Sau đó cho qua bộ chia tần số. ALE Chốt địa chỉ Chỉ cho bus mở rộng thấy là tín hiệu điều khiển bus địa Address Latch chỉ và chu trình bus là hợp lệ. Ngoài ra nó chỉ cho thấy chỗ bắt đầu của một chu trình bus trên bus mở rộng . IOR Đọc vào ra I/O read Chỉ cho thấy một chu trình đọc vào ra đang được tiến ( lối vào lối ra) hành. IOW Ghi vào ra I/O write Chỉ cho thấy một chu trình ghi vào ra đang được tiến hành. SMEMR Đọc bộ nhớ hệ Tín hiệu này báo hiệu chỉ cho thấy một chu trình bus thống (System đọc bộ nhớ hệ thống trong phạm vi bus địa chỉ 20 MEMory Read bit(0h- FFFFFh). SMEMR Ghi bộ nhớ hệ thống Tín hiệu này báo hiệu chỉ cho thấy một chu trình bus ghi (System MEMory bộ nhớ hệ thống trong phạm vi bus địa chỉ 20 bit (0h- Trang 11/59
  13. Kỹ thuật ghép nối máy tính Write FFFFFh). IOCHRDY I/O CHeck ReaDY Cho phép một card mở rộng kéo dài thời lượng cần cho bus sẵn sàng (lối một chu trình bus. vào) OWS Zero Wait State Trạng thái chờ bằng 0 (hay là không có trạng thái chờ) Trạng thái chờ bằng cho phép một card mở rộng rút bớt thời lượng cần có 0. cho một chu trình bus. DRQ1- DRQ3 DMA Request Yêu Tín hiệu này chỉ cho thấy có một thiết bị ghép nối đang cầu DMA đề nghị truy nhập trực tiếp vào bộ nhớ DACK1-3 DMA ACKnowledge Xác nhận DMA chỉ cho thiết bị ghép nối đang yêu cầu (lối ra) biết là DMA đang sử lý yêu cầu của nó. REF REFresh (lối ra) Tín hiệu làm tươi lại được sử dụng để báo tin cho bản mạch biết nó sẽ thực hiện một chu kỳ làm tươi laị T/C Terminal Count Cho thấy DMA đã tiến hành truy nhập xong và tất cả các Đếm đầu cuối (lối byte đã được truyền. vào) IRQ2-7 Interrupt Request Tín hiệu này chỉ cho thấy thiết bị ghép nối đang đề nghị bộ xử lý phục vụ hay còn gọi là dịch vụ từ bộ xử lý OSC Crestal Tín hiệu từ bộ giao động tinh thể là tín hiệu có tần số OSCillator bộ giao 14,31818 MHz cung cấp cho các ứng dụng mở rộng. động tinh thể(lối ra) Tốc độ này bằng ba lần tốc độ CLK. RESET DRV Reset drive đặt lại Thông báo tác động đặt lại trạng thái ban đầu cho bản trạng thái ban mạch mở rộng đã cắm vào bus PC. đầu(lối ra) I/O CHCK I/O Check kiểm tra Tín hiệu này chỉ cho thấy bộ nhớ của thiết bị ghép nối vào ra (lối ra) đã bị phát hiện một lỗi chẵn lẻ. }5V}12V và Nguồn nuôi (lối ra) Cung cấp điện áp nguồn cho card mở rộng . GND Kết luận: Rãnh cắm PC là loại rãnh cắm được thiết kế đầu tiên cho máy tính nhưng cho đến nay vẫn tồn tại trên bản mạch mở rộng. Lý do là tuy với tốc độ truyền là 8 bit đồng thời là hơi thấp nhưng trong nhiều ứng dụng tốc độ đó vẫn hoàn toàn thoả mãn. Đặc biệt trong phép ứng dụng đo lường và điều khiển - lĩnh vực không cần đòi hỏi tốc độ trao đổi dữ liệu cao. Trang 12/59
  14. Kỹ thuật ghép nối máy tính 2.3. BUS ISA Từ tên gọi cho thấy đây là loại bus được kiến trúc theo tiêu chuẩn công nghiệp (Industry Standard Architecture). Một số tài liệu gọi bus PC là bus ISA 8 bit thì loại này được phân biệt rõ là ISA 16 bit.Tác giả của loại bus này là công ty IBM. Công ty này đã thiết kế ra bus ISA để dùng cho máy tính AT Advanced Technology dựa trên cơ sở của bộ xử lý 80286. Điểm mạnh rõ nét của loại bus này là có thể cho phép cùng một lúc xử lý hoặc trao đổi vứi 16 bit dữ liệu nghĩa là gấp đôi bus PC. Để đảm bảo tính tương thích so với bus PC người ta đưa thêm vào một rãnh cắm thứ hai thẳng hàng so với rãnh cắm thứ nhất và có chứa 36 tiếp điểm xếp thành hai hàng mỗi hàng 18 tiếp điểm. Trên rãnh cắm thứ hai có chứa 8 bit dữ liệu và 4 đường dẫn địa chỉ. Như vậy ở trên bus ISA có tổng cộng 16 bit dữ liệu và 24 bit địa chỉ . Tốc độ truyền dữ liệu được quy định bởi tốc độ đông hồ cố định. Như vậy trên bus ISA có một bus dữ liệu16 bit và chính vì lẽ đó đôi khi bus này còn gọi là bus ISA16 bit để phân biệt với bus 8 bit ngoài ra nó còn 24 bit địa chỉ chỉ cho phép quản lý 16 Mb bộ nhớ. Giống như bus PC, nó cũng sử dụng tốc độ đồng hồ cố định nhưng khác về giá trị, cụ thể là 8MHz.Một lợi thế rất lớn của card mở rộng dùng với bus PC là chúng cố thể cắm được vào rãnh cắm ISA bởi vì bus ISA bảo đảm tính tương thích kế thừa. Có thể nói card mở rộng ISA rất phổ biến bởi vì chúng thể hiện được tính năng ưu việt đối với hầu hết các ứng dụng ghép nối. Các linh kiện được sử dụng trên card mở rộng ISA thường rất rẻ, cho nên có thể nói trên thực tế việc ghép nối bằng card mở rộng ISA tỏ ra là một công nghệ đã qua thử thách và đáng tin cậy. Ứng dụng tiêu biểu của card mở rộng ISA 16 bit có thể kể ra là: card vào ra nối tiếp và song song, card âm thanh, card mạng Hình 2.3. Rãnh cắm ISA 16 bit Như vậy để đảm bảo tính tương thích với loại bus PC 8 bit thì rãnh cắm mở rộng ISA 16 bit bao gồm 2 phần: Phần thứ nhất giống hệt rãnh cắm PC, các tiếp điểm ở hai mặt được đánh số theo A và B. Phần thứ hai bao gồm 36 tiếp điểm chia làm 2 hàng mỗi hàng 18 tiếp điểm đánh số là C và D. Đầu nối bus PC chuẩn có chứa các dãy A và B. Trên dãy A có 20 địa chỉ đánh từ A0 đến A19 và 8 đường dẫn dữ liệu D0 đến D7. Dãy B có chứa các đường dẫn ngắt đánh số từ IRQ0 đến IRQ7, các đường cấp nguồn nuôi và các đường dẫn điều khiển khác. Phần rãnh cắm bổ xungbao gồm 2 dãy C và D trên đó có thêm 7 đường dẫn địa chỉ từ A17 đến A23 và các đường dẫn dữ liệu từ D8 đến D15 và các đường dẫn ngắt từ IRQ10 đến IRQ14. Như vậy bus ISA 16 bit có những đặc điểm chính sau: Sử dụng một bus dữ liệu 16 bit từ D0 đến D15. Một bus địa chỉ 24 bit từ A0 đến A23. Tín hiệu giữ nhịp CLK được đặt là 8,33 MHz. Trang 13/59
  15. Kỹ thuật ghép nối máy tính Hình 2.4. Card ISA 16 bit Các đường đẫn SMENR và SMEMW dược sử dụng để truyền dữ liệu đối với 1 Mb thấp nhất của bộ nhớ. Cụ thể là từ 0 đến FFFFh. Còn các tín hiệu MENR và MEMW được sử dụng để truyền dữ liệu trong vùng bộ nhớ giữa 1 Mb(FFFFFh) và 16 Mb(FFFFFFh). Chẳng hạn nếu khi đọc từ địa chỉ 001000h thì đường dẫn SMENR được làm cho hoạt động ở mức thấp, trong khi nếu như địa chỉ là 1F0000h thì đường dẫn SMENR được làm cho hoạt động. Bảng 2-2. Rãnh cắm của bus ISA 16 bit bổ xung. Tín hiệu Tên Mô tả LA17-23 Bus địa chỉ (lối vào/lối Bảy bus phía trên của địa chỉ của bus địa chỉ của hệ ra) thống SBHE System Byte High Chân này chỉ cho thấy dữ liệu được chờ đợi ở 8 bit Enable. Cho phép phía trên của bus dữ liệu (D8 đến D15). byte cao của hệ thống. SD8-15 Bus dữ liệu(lối vào/lối Tám bit phía trên của bus dữ liệu cung cấp nửa thứ hai ra). của bus dữ liệu 16 bit. MEMR Đọc bộ nhớ (lối vào/ Lệnh đọc bộ nhớ chỉ cho thấy một quá trình đọc bộ nhớ lối ra). khi địa chỉ bộ nhớ ở trong phạm vi 100000h- FFFFFFh(16 Mb của bộ nhớ ). MEMW Ghi vào bộ nhớ (lối Lệnh ghi vào bộ nhớ chỉ cho thấy một quá trình ghi vào vào/ lối ra). bộ nhớ khi địa chỉ bộ nhớ ở trong phạm vi 100000h- FFFFFFh(16 Mb của bộ nhớ ). MEMCS16 Bộ nhớ 16 bit dùng Chỉ cho thấy thiết bị ghép nối đã được định địa chỉ là cho thiết bị ghép thiết bị ghép nối có bộ nhớ 16 bit. nối(16 bit memory slave). IO CS16 16-bit I/O slave thiết Chỉ cho thấy thiết bị ghép nối đã được định địa chỉ là bị ghép nối vào ra16 thiết bị ghép nối vào ra 16 bit. bit). DRQ0, Các đường dẫn yêu Các đường dẫn yêu cầu truy nhập trực tiếp bộ nhớ chỉ DRQ5-7 cầu DMA (DMA cho thấy là một thiết bị ghép nối đang yêu cầu truy request lines) nhập DMA. Trang 14/59
  16. Kỹ thuật ghép nối máy tính DACK0, Đường xác nhận truy Đường xác nhận truy nhập DMA bổ sung chỉ cho thiết DACK5-7 nhập trực tiếp bộ nhớ bị ghép nối đang yêu cầu biết là DMA đang xử lý (DMA) yêucầu của nó. MASTER Bus sẵn sàng(bus Tín hiệu này cho phép bộ nhớ xử lý khác điều khiển ready- lối vào) các đường dẫn điều khiển, đường dẫn dữ liệu và đường dẫn địa chỉ hệ thống. IRQ10-12, Yêu cầu ngắt Tín hiệu yêu cầu ngắt bổ sung chỉ cho thấy card mở IRQ14-15 (Interrupt request-lối rộng đang yêu cầu bộ nhớ xử lý phục vụ (dịch vụ của vào) bộ nhớ xử lý). Chú ý là đường IRQ13 thông thường được đĩa cứng sử dụng và được bao gồm trong bus IDE Vcc Điện áp nguồn +5v Cung cấp điện áp nguồn cho card mở rộng . 2.4. BUS MCA Tác giả của loại bus MCA(Microchannel Interface Architecture) là công ty IBM dùng cho các máy tính PS/2 của hãng này. Bus này hoàn toàn không tương thích với bus ISA và có thể hoạt động như một bus dữ liệu 16 bit hoặc 32 bit. Sự khác nhau chủ yếu giữa hai loại bus này là: MCA có một bus đồng bộ trong khi PC và ISA sử dụng một bus dị bộ.Bus dị bộ làm việc với tốc độ xung nhịp (xung đồng hồ cố định) trong khi việc truyền dữ liệu trên bus đồng bộ không phụ thuộc vào đồng hồ cố định. Các bus đồng bộ hình thành sự phân chia thời gian từ các thiết bị tham gia vào cuộc truyền dữ liệu đó là đồng hồ hệ thống hoặc đồng hồ của bộ xử lý. Tốc độ truyền ghi trong bảng thuyết minh về thông số kỹ thuật của bus MCA là 160 Mb/s. Trên thực tế chỉ có một số ít nhà sản xuất tiếp nhận bus tiêu chuẩn MCA và cũng chỉ áp dụng cho loại máy tính PS/2. Chính vì vậy bus MCA chỉ lưu hành trong một thời gian rất ngắn và sau đó thì không tồn tại nữa. lý do chính là nó không đảm bảo tính tương thíchvới những bus đã ra đời trước nó và chính vì vậy nó không thu hút được sự ủng hộ của những nhà sản xuất máy tính. 2.5. BUS EISA Bus ISA (Extended Industry Standard Architecture.) là kết quả của bước cải tiến bus ISA nhằm tăng thêm số bit được truyền. Người ta thực hiện giải pháp đó bằng cách đưa thêm một đoạn rãnh cắm mở rộng nữa để tăng số bit từ 16 thành 32. Khi đó ta có thể thực hiện việc ghép nối với một bus dữ liệu có địa chỉ 32 bit. Card EISA có số tiếp điểm gấp đôi card ISA trên đó được sử dụng một bộ truyền dị bộ với tốc độ xung nhịp đồng hồ bằng 8 MHz. Nó có một bus dữ liệu và địa chỉ đầy đủ 32 bit vì vậy có thể định địa chỉ cho một vùng nhớ rộng tới 4 Gb. Trên lý thuyết tốc độ truyền cực đại là 4 byte /một chu kỳ đồng hồ. Bởi vì đồng hồ chạy ở tần số 8MHz, nên tốc độ truyền dữ liệu cực đại là 32Mbyte/s. 2.6. BUS VESA LOCAL 2.6.1. ĐẶT VẤN ĐỀ. Sau khi đã nâng số bit dữ liệu được truyền lên 32 bit thì nhu cầu cải tiến của cấu trúc bus là làm sao có thể truyền được dữ liệu ở tốc độ của đồng hồ hệ thống. Vì vậy hội tiêu chuẩn điện tử học video VESA (Video Electronics Standard Association) đã thiết kế ra loại bus này để chế tạo ra những loại card truyền dữ liệu giữa bộ xử lý và bộ xử lý video với tốc độ nhanh . Cụ thể hơn là chế tạo ra card màn hình với chất lượng cao. Bus này cũng được hình thành trên cơ sở rãnh cắm ISA tiêu chuẩn, sau đó bổ xung thêm rãnh cắm phụ để hội nhập vào hệ thống bus. Khác với phần mở rộng của card EISA phần bổ xung thêm của card này có khoảng cách giữa các tiếp điểm rất dày. 2.6.2. TỐC ĐỘ TRUYỀN DỮ LIỆU Trang 15/59
  17. Kỹ thuật ghép nối máy tính Khi nâng tốc độ truyền dữ liệu lên ta sẽ thấy không phải tất cả các bộ phận trong máy tính đều đòi hỏi phải có tốc độ cao. Trên thực tế cho thấy việc trao đổi giữa CPU với bộ nhớ và card đồ hoạ đòi hỏi phải có tốc độ truyền rất cao, trong khi đó các ứng dụng khác như card mạng, card âm thanh, card vào ra lại không đòi hỏi tốc độ truyền cao. Vì vậy song song với việc đưa ra thiết kế bus mở rộng này người ta cũng tìm cách phân bố hợp lý việc tận dụng tốc độ truyền. Hình 2.5. Card mở rộng VESA Local Cụ thể các bộ xử lý bộ nhớ card đồ hoạ, bộ điều khiển đĩa cần tốc độ nhanh nên được phép truy nhập tới bus cục bộ 33 MHz trong chế độ 32 bit. Còn các ứng dụng khác không đòi hỏi tốc độ cao thì vẫn sử dụng bus ISA thông thường. Ta có thể mô tả việc sử dụng kết hợp giữa bus VESA Local và bus ISA 16 bit bằng sơ đồ sau: Card đồ Bộ điều Bộ xử lý Bộ nhớ hoạ khiển đĩa Bus VESA Local (33MHz/32 bit) Hệ thống I/O Bus ISA Local (8MHz/16 bit) FAX/ Cổng Ethernet Card âm Modem thanh song song Hình 2.6. Cấu trúc của bus VESA Local. Trang 16/59
  18. Kỹ thuật ghép nối máy tính Nhìn vào hình vẽ ta thấy có một hệ thống chuyển đổi vào ra cho phép sử dụng cả hai bus VESA Local và bus ISA nghĩa là tuỳ thuộc theo yêu cầu sử dụng tốc độ truyền dữ liệu cao hay thấp mà hệ thống vào ra sẽ liên kết thiết bị đó với hoặc bus ISA hoặc bus VESA. Phần rãnh cắm phụ thêm của ISA chuẩn có hai hàng đầu nối mỗi hàng 58 chân nghĩa là có tổng cộng 116 tiếp điểm trên đó có 32 đường dẫn dữ liệu được đánh số thứ tự từ DAT00 đến DAT31 và 32 đường dẫn địa chỉ từ ADR00 đến ADR31. Điểm cuối cùng cần lưu ý là các đường dẫn dữ liệu và địa chỉ không chỉ nằm ở trên phần bổ sung của bus VESA mà một số không nhỏ các đường dẫn ISA tiêu chuẩn vẫn được sử dụng, trong số đó phải kể đến các đường dẫn yêu cầu ngắt IRQ. 2.7. BUS PCI Tác giả của bus PCI (Peripheral Component Interconnection) là công ty Intel. Công ty này đã xây dựng lên một tiêu chuẩn ghép nối mới có tên là bus cục bộ PCI hay thường gọi tắt là bus PCI dùng cho bộ xử lý Pentium. Bus này được thiết kế với chỉ tiêu: Tốc độ hoạt động nhanh Số bit truyền trên bus cao (64 bit). Mục đích là đẩy nhanh tốc độ truy nhập đáp ứng nhu cầu tăng tốc độ trao đổi dữ liệu giữa bộ nhớ, bộ xử lý, bộ điều khiển đĩa và card màn hình. Một bộ vi mạch ghép nối được sử dụng cho loại bus này là chip PCI 82430 cho phép ghép nối trực tiếp với bus. Đặc điểm: Giống VESA ở chỗ là cùng truyền dữ liệu bằng cách sử dụng đồng hồ hệ thống nhưng lại thể hiện ưu điểm hơn hẳn so với bus VESA là có thể hoạt động ở chế độ trên 32 bit thậm chí cho đến 64 bit. Do tốc độ truyền cao nên trong các máy tính có cấu trúc bus PCI có thể hạn chế các card mở rộng ghép nối xuống còn 2 hoặc 3 rãnh. Thông thường chỉ có card màn hình và card điều khiển đĩa cứng là sử dụng bus PCI. Nếu dữ liệu được truyền trong chế độ 64 bit và ở tốc độ đồng hồ là 33 MHz thì tốc độ truyền dữ liệu cực đại có thể đạt đến 264 Mbyte/s. Để phối hợp khả năng truy nhập của các thiết bị khác nhau lên bus PCI và bus ISA người ta sử dụng một khối gọi là cầu vào ra và bố trí như sau: Bộ xử lý Bộ nhớ Cầu PCI Bus PCI 33MHz/64 Card đồ Bộ điều C ầu ISA Thiết bị hoạ khiển khác Hình 2.7. Cấu trúc củaBus bus ISA PCI 8MHz/16 Do có thể truyền ở chế độ 64 bit có nghĩa là bus PCI ít nhất phải có 64 đường dẫn dữ liệu. Vì vậy bình thường ở bus PCI có kích thước tăng thêm gấp đôi. Tuy vậy, kích thước thực không thể tăng quá mức và người ta phải giải quyết bằng cách tăng mật độ chân trên 1 đơn vị diện tích. Chính vì lẽ đó mà chân cắm của bus PCI gần nhau hơn và không còn tương thích được với các rãnh cắm PC hoặc ISA. Trang 17/59
  19. Kỹ thuật ghép nối máy tính Tốc độ truyền cực đại trên bus này có thể đạt tới 264 Mbyte/s. Tuy vậy, tốc độ này chỉ thực sự đạt được khi dùng phần mềm 64 bit chạy trên hệ thống có chứa bộ xử lý Pentium. Các rãnh cắm PCI đầu tiên được lắp ráp trên mainboard với bộ xử lý 80486, mà bộ xử lý này chỉ sử dụng chế độ hoạt động 32 bit do vậy cũng chỉ đạt đến tốc độ cực đại 132 Mbyte/s. Có thể nói bus PCI là kết quả cải tiến của các bus dùng cho máy tính PC đã có sẵn, nhưng về mặt logic thì khác hẳn với bus ISA và bus VESA. Rãnh cắm PCI có rất nhiều chân: Loại 32 bit có 62 chân trên mỗi hàng và tổng cộng 124 chân. Loại 64 bit có 94 chân x 2=188 chân. Thông thường bộ xử lý Pentium chạy với tốc độ đồng hồ hệ thống là 33MHz hoặc 50MHz. Cần chú ý rằng bus VESA chỉ có thể hoạt động ở tốc độ truyền cực đại ứng với tần số 33MHz. Bởi lẽ mật độ các chân cắm ở rãnh cắm mở rộng PCI và VESA rất cao, cho nên khả năng để tự chế tạo ra các card mở rộng trong điều kiện không chuyên nghiệp để ghép nối với các bus này là rất nhỏ. Vì vậy hai loại bus này không được trình bày chi tiết mặc dù các mainboard được chế tạo gần đây ddều có hai đến ba rãnh cắm mở rộng PCI. 2.8. SO SÁNH CÁC KIỂU BUS KHÁC NHAU Lưu lượng dữ liệu được truyền dựa vào số các byte được truyền trong mỗi cuộc truyền và tốc độ truyền. Với các bus PC, ISA, EISA tốc độ truyền này được cố định , cụ thể bus PC 4,17MHz; bus ISA và EISA là 8,33MHz, trong khi bus PCI và VESA sử dụng đồng hồ hệ thống thông thường là 33MHz và 50MHz. Đối với nhiều ứng dụng thì bus ISA tỏ ra là phương tiện tốt nhất bởi vì nó đã được sử dụng trong một thời gian dài và cho phép truyền một lượng dữ liệu lớn đáng kể với giá thành rẻ và độ tin cậy cao. Rãnh cắm ISA là một bus dữ liệu 16 bit và do vậy có thể truyền dữ liệu với tốc độ cực đại là 16 Mbyte/s. Bus EISA có thể truyền 4 byte/ chu kỳ đồng hồ(chu kỳ máy), do vậy tốc độ truyền của nó nhanh gấp hai lần của bus ISA. Ta có thể chỉ ra tốc độ truyền cực đại của các card ghép nối khác nhau bằng bảng dưới đây: Bảng 2.3. Tốc độ truyền dữ liệu cực đại đối với các card I/O khác nhau Card mở rộng Tốc độ truyền cực đại PC 8 Mbyte/s ISA 16 Mbyte/s EISA 32 Mbyte/s MCA 20 Mbyte/s (160 Mbyte/s đối với tín hiệu xung) VESA Local 132 Mbyte/s (đồng hồ hệ thống 33 MHz/chế độ truyền 32 bit) PCI 264 Mbyte/s (đồng hồ hệ thống 33 MHz/chế độ truyền 64 bit) Từ bảng này ta thấy lưu lượng dữ liệu truyền phụ thuộc vào loại rãnh cắm mở rộng được sử dụng. Tuy vậy ta đã nhận xét không phải tất cả các phần của máy tính đều đòi hỏi tốc độ truyền dữ liệu cao. Những cuộc truyền dữ liệu thường xảy ra nhất trên hệ thống là truyền dữ liệu từ bộ vi xử lý đến bộ nhớ và card đồ hoạ. Tốc độ truyền dữ liệu còn phụ thuộc vào ứng dụng và hệ điều hành sử dụng. Các chương trình có giao diện người dùng đồ hoạ GUI cho phép có được các lưu lượng dữ liệu lớn hơn nhiều so với các chương trình chạy trên chế độ text. Dưới đây là một số Tốc độ truyền của một số ứng dụng tiêu biểu. Thiết bị Tốc độ truyền ứng dụng Đĩa cứng 4 Mbyte/s Chế độ truyền tiêu biểu Card âm thanh 88 Kbyte/s 16 bit, lấy mẫu 44,1 KHz Trang 18/59
  20. Kỹ thuật ghép nối máy tính LAN 1 Mbyte/s Ethernet 10 Mbit/s RAM 66 Mbyte/s Bộ vi xử lý tới bộ nhớ RAM Truyền thông nối tiếp 1 Kbit/s 9600 bit/s Super VGA 15 Mbyte/s 1024 x 768 Pixel với 256 màu Chú ý rằng một card âm thanh với các thông số kỹ thuật được xếp vào loại chất lượng cao, với chất lượng ghi chuẩn (tốc độ lấy mẫu 16 mẫu bit ở 44,1 KHz) chỉ yêu cầu một tốc độ truyền bằng 88 Kbti/s trong khi các card mạng cục bộ lại truyền với tốc độ 10 Mbit/s. Như vậy bộ truyền này phải được tiến hành trên bus cục bộ. Bus PC cục bộ ngày nay đã trở thành một cái chuẩn phổ biển trên hầu hết các máy tính cá nhân đời mới và đã thay thế hoàn toàn vai trò của bus VESA dùng với card màn hình. Nó thể hiện ưu điểm vượt trội so với bus VESA cụ thể là tốc độ cao hơn nhiều. Đáng tiếc là đa số các phần mềm hiện nay đang sử dụng hiện có trên thị trường máy tính đã chưa thể tận dụng được toàn bộ khả năng của bus PCI. Bởi vì chúng không sử dụng bus dữ liệu đầy đủ 64 bit. Trong kỹ thuật ghép nối thông thường thì các bus PCI và VESA ít được quan tâm đến bởi vì những ưu điểm của hai loại bus này là tốc độ truyền dữ liệu cao thì không cần thiết hoặc chưa tận dụng được trong khi nhược điểm chính là chế tạo khó khăn lại chưa vượt qua được. 2.9. GHÉP NỐI QUA RÃNH CẮM MỞ RỘNG Điều kiện tiến hành: Phải có một bản mạch mở rộng, card phải hoạt động tốt. Phải có phần mềm cài đặt thích hợp để chính thức đăng ký card đó vào trong hệ thống máy tính. Cách giải quyết: Một số loại card mở rộng thông dụng như card modem, card âm thanh, card vào ra thì chọn giải pháp mua là thuận lợi nhất bởi giá thành giảm mà chất lượng lại đảm bảo, lý do là các card đó được sản xuất trong điều kiện công nghiệp số lượng lớn nên giá thành hạ ngoài ra việc kiểm tra xuất xưởng được tiến hành nghiêm chỉnh bởi nhà sản xuất. Với một số mục đích chuyên dụng nghĩa là đối tượng ứng dụng tương đối hẹp và số lượng cần không nhiều thì ta thường chọn giải pháp tự thiết kế và tự làm, ví dụ card dùng trong kỹ thuật đo lường, thu thập số liệu đo lường, card điều khiển đối tượng cụ thể. Có thể về mặt kỹ thuật không phức tạp lắm nhưng ngược lại ta mua thường rất đắt hoặc không thể tìm mua được. Trong kỹ thuật ghép nối thông dụng thường người ta chỉ sử dụng rãnh cắm ISA 8 bit hoặc 16 bit. Trên các bản mạch chính được chế tạo gần đây thường cũng có ba rãnh cắm ISA 16 bit đặt sẵn trên bản mạch chính. Đây chính là chỗ nắp vào các card biến đổi D/A và A/D hoặc là các card để tạo ra các cổng ghép nối khác như tạo ra bus GPIB hoặc RS-485 Sở dĩ bus ISA được dùng nhiều bởi vì nó có cấu trúc cũng như kích thước hình học tương đối đơn giản. Chính vì vậy trong kỹ thuật ghép nối nhiều tài liệu chỉ trình bày đến loại rãnh cắm này. 2.9.1. MỘT SỐ ĐẶC ĐIỂM CỦA CARD ISA. Kích thước hình học: Để có thể thiết kế ra một card mở rộng thì thông số đầu tiên phải quan tâm là kích thước hình học cực đại cho phép đối với một card. Kích thước hình học cực đại của một card thường được quy định ngay từ khi xây dựng các tiêu chuẩn áp dụng cho bản mạch. Kích thước cực đại của card ISA 8 bit là: Cao: 106,7mm ( 4,2"). Dài : 333,5mm ( 13,3"). Dày: 12,7mm ( 0,5" ) cả linh kiện. Kích thước cực đại của card ISA 16 bit là: Cao: 121,92mm ( 4,8"). Dài : 333,5mm ( 13,3"). Dày: 12,7mm ( 0,5" ) cả linh kiện. Sự khác nhau của hai loại card này thể hiện ở chiều cao, nguyên nhân là vỏ của máy tính AT được thiết kế cao hơn vỏ máy tính XT. Trang 19/59
  21. Kỹ thuật ghép nối máy tính 2.9.2. GIẢI MÃ ĐỊA CHỈ VÀ KẾT NỐI BUS 2.9.2.1. Đặt vấn đề Có thể có nhiều card mở rộng nối vào bus, vấn đề đặt ra là làm thế nào để CPU có thể trao đổi trực tiếp với từng card riêng lẻ khi ở rãnh cắm tất cả các card mở rộng được nối song song với nhau. Vì vậy trước khi một card mở rộng được đặt trong một rãnh cắm của máy tính PC thì địa chỉ vào ra của card cần phải được lựa chọn. Bởi vì đây chính là địa chỉ mà máy tính sẽ trao đổi với card. Vấn đề này rất quan trọng bởi vì để có thể tiến hành trao đổi với card thì mỗi card mở rộng phải có một địa chỉ vào ra duy nhất. Vấn đề này được các nhà thiết kế máy tính PC giải quyết như sau: Người ta dự trữ một vùng 1024 địa chỉ chỉ vào ra và vùng vào ra này chiếm 64 Kbyte đầu tiên của bộ nhớ. Vùng địa chỉ chỉ này được mã hoá bằng 10 bit địa chỉ được sử dụng để xem cổng nào được kích hoạt và người ta quy định cụ thể từng vùng nhớ của bộ nhớ cho các vi mạch, cho các thiết bị bị cụ thể được trang bị ở trên máy tính. Bảng dưới đây sẽ chỉ ra sự sắp xếp của vùng địa chỉ vào ra của máy tính PC. Tuy nhiên, cần phải chú ý là trong các tài liệu khác nhau, nội dung của bảng này cũng không giống nhau; có thể là trong quá trình phát triển của kỹ thuật máy tính nhiều điểm quy định đã được cụ thể hoá. Trang 20/59
  22. Kỹ thuật ghép nối máy tính Nhận xét: Vùng địa chỉ chỉ vào ra có thể chia thành 2 vùng: Vùng thứ nhất 000-1FF Gán cho các bộ phận của bản mạch hệ thống để phục vụ cho các chức năng như là ngắt, truy nhập trực tiếp bộ nhớ và các mạch ghép nối nối ngoại vi. Vùng thứ hai có khoảng 512 địa chỉ từ 200h dến 3FFh được gán cho các cổng và các card mở rộng đó là: card điều khiển đĩa mềm, đĩa cứng, card màn hình, card máy in. Trong vùng này cố chứa ít nhất 32 địa chỉ cổng chưa được dùng cho một ứng dụng nào bao gồm từ 300h đến 31Fh để dành riêng cho các card do người dùng tạo ra và cắm vào. Đây chính là vùng mà kỹ thuật ghép nối máy tính quan tâm đến. Bảng địa chỉ vào ra dưới đây có thể khác nhau trên các tài liệu khác nhau nhưng về thực chất không thể có sự mâu thuẫn, bởi vì sự mâu thuẫn sẽ dẫn đến sự xung khắc địa chỉ và máy tính không thể hoạt động nổi. Bảng 2.4. Vùng địa chỉ vào ra của máy tính PC Địa chỉ vào/ra (Hex) Chức năng 000 - 00F Bộ điều khiển DMA 1 (8232) 020 - 021 Bộ điều khiển ngắt (8259) 040 - 043 Bộ phát thời gian (8254) 060 - 063 Bộ kiểm tra bàn phím (824254) 070 - 07F Đồng hồ thời gian thực (MC 146818) 080 - 09F Thanh ghi trang DMA (LS 670) Gán cho các 0A0 - 0BF Bộ điều khiển ngắt 2 (8259) bộ phận của 0C0 - 0FF Bộ điều khiển DMA 2(8232) bản mạch hệ thống 0E0 - 0EF Dự trữ cho bản mạch chính 0F8-0FF Bộ nhớ đồng xử lý 80x87 1F0-1F8 Bộ điều khiển đĩa cứng 200-20F Cổng dùng cho trò chơi (Game) 278-27F Cổng song song 2(LPT2) 2B0-2DF Card EGA 2 2E8-2EF Cổng nối tiếp 4 (COM 4) 2F8-2FF Cổng nối tiếp 2 (COM 2) 300-31F Card mở rộng của người dùng 320-32F Bộ nhớ điều khiển đĩa cứng 360-36F Cổng nối mạng (LAN) 378-37F Cổng song song 1(LPT1) 380-38F Cổng nối tiếp đồng bộ 2 Gán cho các 3A0-3AF Cổng nối tiếp đồng bộ 1 cổng và card 3B0-3BF Màn hình đơn sắc mở rộng 3C0-3CF Card EGA 3D0-3DF Card CGA 3E8-3EF Cổng nối tiếp 3 (COM 3) 3F0-3F7 Bộ điều khiển đĩa mềm 3F8-3FF Cổng nối tiếp 1 (COM 1) Vùng địa chỉ từ 300h đến 31Fh được dùng cho các card của người dùng. Về nguyên tắc ta cũng có thể không sử dụng vùng này mà sử dụng vùng địa chỉ khác và có trường hợp sử dụng vùng địa chỉ khác mà vẫn hoạt động được. Nhưng về nguyên tắc thì không nên dùng vì rất có thể sảy ra hiện tượng tranh chấp địa chỉ mà hậu quả là máy bị treo, có trường hợp dẫn tới hậu quả nghiêm trọng. Trong vùng từ 300h đến 31Fh có 32 địa chỉ và mỗi card chỉ cần một địa chỉ, cho nên dùng địa chỉ nào trong số địa chỉ đó là tuỳ thuộc vào người dùng nhưng kinh nghiệm cho thấy chỉ nên chọn một địa chỉ để tránh sự nhầm lẫn. Trang 21/59
  23. Kỹ thuật ghép nối máy tính Bảng địa chỉ vào ra trước đây người dùng đều phải tự nhớ. Ngày nay, các chương trình Window95/98 có một chức năng cho phép kiểm tra tình trạng sử dụng địa chỉ vào ra của máy tính mà ta đang làm việc. Cách tiến hành là mở Mycomputer ->Properties -> Device Manager -> Properties -> Input/Output ta sẽ nhận được bảng địa . Vì vậy trước khi dặt địa chỉ cho card mở rộng hoặc trước khi cho chạy phần mềm ghép nối lần đầu tiên ta nên kiểm tra lại địa chỉ này. 2.9.2.2. Giải mã địa chỉ Việc tìm địa chỉ chỉ của một card được giải quyết như sau: Trên card sẽ có một khối định địa chỉ bằng phần cứng mà thông thường nó rơi vào vùng từ 300h đến 31Fh. Địa chỉ này quy định trạng thái của một số chân vi mạch (Thường là 8 chân) sẽ có 8 chân khác được nối với bus địa chỉ. Vi mạch này gọi là vi mạch giải mã địa chỉ (Chân nối với bus địa chỉ dược quy định trạng thái logic bằng phần mềm). Nhiệm vụ của vi mạch này là so sánh trạng thái logic của các chân nối với bus địa chỉ. Nếu các địa chỉ đó giống hệt nhau theo từng cặp thì vi mạch sẽ phát ra một tín hiệu hiệu thông báo kết quả giải mã đã điều khiển một khối logic cho phép trao đổi dữ liệu . Thông thường người ta sử dụng vi mạch có tên là: 74HC688. Hình 2.8. Một mạch giải mã địa chỉ trên card mở rộng Chân A22 đến A29 là các bus địa chỉ, các đường này sẽ được phần mềm quy định trạng thái logic của các chân 2, 4, 6, 8, 11, 13, 5, 17. Các chân 3, 5, 7, 9, 12, 14, 16, 18 được nối qua 8 điện trở 10K tới nguồn 5V. Vì vậy, bình thường điện áp các chân này có giá trị 5V (Có mức logic HIGH), ngoài ra các chân này được nối qua 8 chuyển mạch xuống đất. Vì vậy nếu các chuyển mạch này là đóng thì các chân sẽ bị nối tắt xuống đất hay là có trạng thái logic LOW. Nếu các chuyển mạch này là hở thì các chân vẫn giữ nguyên mức logic HIGH do được nối với nguồn 5V. Vì vậy bằng cách thay đổi vị trí của các chuyển mạch ta có thể thay đổi được trạng thái logic cuả các chân hay nói cách khác các chân này có trạng thái 0110 khác nhau và đây chính là sự quy định địa chỉ chỉ bằng phần cứng. Trang 22/59
  24. Kỹ thuật ghép nối máy tính Khi các chân đối diện nhau có mức logic giống hệt nhau cũng có nghĩa là địa chỉ được quy định bằng phần mềm giống hệt địa chỉ quy định bằng phần cứng thì chân 19 có mức logic LOW và làm cho khối điều khiển logic thoát khỏi trạng thái cấm và dữ liệu được phép trao đổi giữa bus và card mở rộng . Các card mở rộng khác sẽ không thoả mãn điều kiện đó bởi vì địa chỉ được quy định bằng phần cứng có giá trị khác cho nên làm ngơ trước các dữ liệu trên bus. Trang 23/59
  25. Kỹ thuật ghép nối máy tính CHƯƠNG III - GHÉP NỐI QUA CỔNG NỐI TIẾP 3.1. ĐẶT VẤN ĐỀ Ghép nối qua cổng nối tiếp là một kỹ thuật được sử dụng rộng rãi nhất bởi số lượng và chủng loại các thiết bị ngoại vi ghép nối qua cổng này đứng hàng đầu trong các khả năng ghép nối với máy tính. Qua cổng này ta có thể ghép nối modem, chuột, bộ biến đổi A/D, D/A, các thiết bị bị đo lường thậm chí cả máy in. Ghép nối qua cổng nối tiếp là dữ liệu được truyền qua cổng kiểu nối tiếp nghĩa là tại một thời điểm chỉ có một bit được truyền dọc theo một đường dẫn. Đăc điểm này cho phép tạo ra sự khác biệt so với các cách ghép nối nối khác chẳng hạn cách truyền thông theo kiểu song song trong đó nhiều bit được gửi đồng thời. Ưu điểm chính của kỹ thuật này là sử dụng một đường truyền và một đường nhận cho nên việc điều khiển trở nên đơn giản. Cổng này có tên là RS232 hoặc V.24. RS232 là tên một tiêu chuẩn quy định các đặc tính cho cổng nối tiếp, còn V.24 là tên của cổng này được áp dụng ở các nước Tây Âu. RS232 khi chưa trở thành một chuẩn chính thức đã được rất nhiều công ty máy tính và công ty sản xuất thiết bị đo lường áp dụng. Điều đó cho thấy tính cần thiết và tiện lợi của nó, vì qua đó nhiều thiết bị ngoại vi của nhiều nước khác nhau có thể cùng nối với máy tính hoặc là cùng nối với nhau mà không cần phải có sự thay đổi gì về phần cứng. So với các khả năng ghép nối khác tốc độ truyền qua cổng nối tiếp chậm, tốc độ thường sử dụng là 19600 bit/s/20m. Tốc độ truyền ở các modem đời mới nhất cũng chỉ đạt 56,6Kbit/s. Về sau có một số tiêu chuẩn nối tiếp khác ra đời như RS422, RS485 cho phép truyền với tốc độ cao hơn và khoảng cách dài hơn: ví dụ RS422 10Mbit/s/hàng ngàn km. Một số chuẩn khác còn cho phép sử dụng trên mạng máy tính. 3.2. NGUỒN GỐC RS232 có một thời gian dài tồn tại dưới dạng không chính thức, cho đến năm 1962 hiệp hội các nhà công nghiệp điện tử (EIA-The Electronics Industries Association) đã ban hành một tiêu chuẩn chính thức có tên là RS232 áp dụng cho cổng nối tiếp của máy tính. Ngay sau khi RS232 ra đời đã xuất hiện nhu cầu cải tiến. Phiên bản đầu tiên là RS232B, tiếp theo là RS232C. Phiên bản RS232B đã trở lên lỗi thời, RS232C đến nay vẫn còn sử dụng. Vì vậy, tiêu chuẩn hiện nay đang được sử dụng cho các máy tính PC là RS232C đôi khi người ta gọi ngắn gọn là RS232 nhưng đây không phải là tiêu chuẩn lúc ban đâù ban hành năm 1962. Việc thiết bị kế ra cổng RS232 tương đối dễ dàng, đặc biệt là khi truyền dữ liệu với tốc độ thấp như là tốc độ 110,1200 bit/s. Khi đó các linh kiện phần cứng hết sức đơn giản và rẻ tiền. Về mặt cấu tạo thì cả bộ nhận và bộ đệm cũng như bộ phát và bộ đệm đều được tích hợp chung trên vi mạch chuyên dụng. Cụ thể chip bộ phát/bộ đệm tiếp nhận mức điện áp TTL lối vào và biến đổi chúng sang mức phù hợp với chuẩn RS232 sau đó truyền đi. Về phía bộ nhận cách làm việc diễn ra ngược lại, mức điện áp theo RS232 được tiếp nhận rồi chuyển sang mức điện áp TTL để có thể đưa vào máy tính. Các bộ phận này đều nằm trên card vào ra hoặc trên maiboard nghĩa là nằm phía sau cổng nối tiếp. 3.3. MỨC ĐIỆN ÁP TRÊN ĐƯỜNG TRUYỀN Một trong những thông số quan trọng nhất của RS232 là mức điện áp trên đường truyền. RS232 đầu tiên sử dụng mức địên áp TTL giống như cổng song song. Chính vì thế ngay sau khi ra đời RS232 đã xuất hiện nhu cầu phải cải tiến. Ngoài mức điện áp thì tiêu chuẩn cũng quy định rõ giá trị của trở kháng tải đấu vào bus và trở kháng ra của bộ phát và bộ đệm. Hướng cải tiến của mức điện áp là tăng giá trị của điện áp truyền để tăng khả năng chống nhiễu do vậy truyền được xa hơn. Trang 24/59
  26. Kỹ thuật ghép nối máy tính +25 RS-232B +12 Logic 0 ( RS 232C ) +5 Không xác định +3 Điện áp (V) 0 -3 Không xác định -5 ( RS 232C ) RS-232B -12 Logic 1 -25 Hình 3.1. Các mức điện áp của chuẩn RS232 Từ sơ đồ trên ta thấy cải tiến của RS232B là làm tăng mức điện áp từ ±5V đến ±25V Trong đó: Mức logic 1 tính từ -5V đến -25V. Mức logic 0 tính từ +5V đến +25V. Các mức từ -3V đến +3V gọi là trạng thái chuyển tiếp. Các mức điện áp từ ±3V đến ±5V gọi là không xác định. Dữ liệu có mức điện áp rơi vào khoảng này sẽ dẫn đến kết quả không dự tính được và đây cũng là tình trạng hoạt động của những hệ thống được thiết bị kế sơ sài. Điều đáng chú ý ở đây là: Mức 1 ~ LOW, mức 0 ~ HIGH vì trước khi đưa vào xử lý còn có bộ nhớ đảo còn gọi là bộ nhớ chuẩn dạng tín hiệu. Việc nâng mức điện áp của chuẩn RS232B dẫn đến sự hạn chế về tốc độ truyền, vì vậy người ta thấy giữa tốc độ truyền và khoảng cách truyền phải có sự dung hoà. RS232C là chuẩn hiện nay đang được áp dụng. Điện áp sử dụng là ±12V. Trong đó: -12V là mức logic 1 (HIGH) +12V là mức logic 0 (LOW) Cụ thể: +3V -> +12V là mức 0 +5V -> +12V là mức tin cậy (của mức 0) -3V -> -12V là mức 0 -5V -> -12V là mức tin cậy (của mức 1) Bằng việc thu hẹp giới hạn điện áp đường truyền, tốc độ truuyền dữ liệu được tăng lên đáng kể. Ngoài ra chuẩn RS232C cũng quy định trở kháng tải, giá trị này thuộc phạm vi 3000Ω đến 7000 Ω; đồng thời bộ đệm phải duy trì tăng điện áp tương đối lớn khoảng 30V/μs. Các vi mạch Motorola loại MC1488 và MC1489 đã hoàn toàn thoả mãn các thông số kỹ thuật này. Các yêu cầu về mặt điện được quy định trong chuẩn RS232C như sau: 1. Mức logic 1(mức dấu) nằm trong khoảng -3V -> -12V; Mức logic 0 (Mức trống) nằm trong khoảng +3V -> +12V. 2.Trở kháng tải về phía bộ nhận của mạch phải nằm trong khoảng 3000Ω -7000Ω. Trang 25/59
  27. Kỹ thuật ghép nối máy tính 3. Tốc độ truyền nhận cực đại 100 Kbit/s. 4. Các lối vào của bộ nhận phải có điện dung qua đường dẫn RD 4 7 Request To Send RTS DTE đặt đường này lên mức hoạt Yêu cầu gửi động để thông báo cho DTE là nó phải sẵn sàng nhận dữ liệu 6 6 Data Set Ready DSR Tính hoạt động giống CTS nhưng Trang 26/59
  28. Kỹ thuật ghép nối máy tính Dữ liệu sẵn sàng => được kích hoạt bởi DTE khi nó sẵn sàng nhận dữ liệu. 7 5 Signal Ground SG Tất cả các tín hiệu được so sánh Đất của tín hiệu với đất tín hiệu 8 1 Data Carier Detect DCD Phát hiện tín hiệu mang dữ liệu => 20 4 Data Terminal Ready DTR Tính hoạt động giống với RTS (Đầu cuối dữ liệu sẵn rung chuông Đặc điểm của đường truyền dữ liệu qua cổng nối tiếp là tiến hành truyền và nhận trên các đường dẫn đơn lẻ, cho nên khi thiết bị truyền và thiết bị nhận được ghép nối với nhau thì đường truyền bên này sẽ được nối với đường nhận bên kia và ngược lại. Có như vậy mới hình thành được vòng kín của quá trình truyền dữ liệu. Để lưu ý mối quan hệ bắt chéo tay như vậy người ta đã đưa vào dấu x ở giữa TD (TxD) và RD (RxD). Việc truyền dữ liệu qua cổng nối tiếp RS232 được tiến hành theo kiểu không đồng bộ, trong đó khuân mẫu dữ liệu có bit bắt đầu, bit dừng được chỉ ra như hình vẽ sau: Bit Start Bit Start Bit Stop Kí tự Kí tự Kí tự Hình 3.3. Truyền thông theo kiểu không đồng bộ Rõ ràng theo cách truyền này chỉ có một ký tự được truyền tại một thời điểm. Giữa các ký tự có một khoảng phân cách giữa chúng trong đó có chứa bit dừng, bit bắt đầu. Đầu tiên bộ truyền sẽ gửi một bit bắt đầu (bit Start) để thông báo cho bộ nhận biết là sau bit này sẽ là các bit dữ liệu có thể là 5,6 hoặc 7 bit. Tiếp theo là một bit chẵn lẻ và sau cùng là 1 hoặc 2 bit dừng. Điểm đáng chú ý là bao giờ bit bắt đầu cũng ở mức LOW. Khoảng thời gian phân cách của một bit đơn sẽ quyết định tốc độ truyền. Khoảng phân cách càng nhỏ thì tốc độ truyền càng lớn Bit start Bit chẵn lẻ 2 bit dừng -12v 0 1 0 0 0 0 0 1 1 1 1 +12v 0 B0 B1 B2 B3 B4 B5 B6 P S0 S1 Ký tự ASCII Hình 3.4. Mức lôgic và khuân mẫu khung truyền RS232 Bit bắt đầu ~ mức 0, tiếp theo là 7 bit dữ liệu 1000001,1 bit chẵn lẻ 1, cuối cùng là 2 bit dừng 11. Như vậy, toàn bộ khung truyền được phát ra là 01000001111. Bit chẵn lẻ dùng để kiểm tra phát hiện lỗi và sửa lỗi. Thực chất của quá trình này như sau: Khi kí tự được truyền thì máy tính Trang 27/59
  29. Kỹ thuật ghép nối máy tính sẽ đếm số kí tự 1 trong kí tự được truyền. Nếu số đó là chẵn => bit chẵn lẻ =1; Nếu số đó là lẻ => bit chẵn lẻ =0. Ở nơi nhận sẽ kiểm tra kí tự nhận được và đếm số 1, sau đó sẽ so sánh với bit chẵn lẻ. Nếu kết quả trùng khớp thì khung truyền coi như không mắc lỗi, ngược lại nó sẽ phát lệnh yêu cầu truyền lại khung truyền. Nếu tỷ lệ mắc lỗi càng nhiều thì tốc độ truyền càng giảm. Kỹ thuật mã lỗi chẵn lẻ theo kiểu này có một đặc điểm rất đơn giản, nhưng trong trường hợp bị mắc lỗi 2 lần liền hoặc 4 lỗi liền thì lai không phát hiện ra. Nhưng trên thực tế với 7 bit được truyền thì khả năng bị mắc 2 hoặc 4 lỗi là rất nhỏ có thể xem như không bao giờ xảy ra. Chính vì vậy, cách mã lỗi theo kiểu này vẫn được dùng phổ biến ở trong kỹ thuật truyền dữ liệu qua cổng nối tiếp. Tốc độ truyền: Để đánh giá chất lượng của cuộc truyền dữ liệu qua cổng nối tiếp thì một trong những thông số đặc trưng quan trọng là tốc độ truyền/nhận dữ liệu. Trong kỹ thuật truyền dữ liệu qua cổng nối tiếp ta thấy có bit bắt đầu, bit dừng. Trong một số trường hợp có bit chẵn lẻ đã được bổ xung vào, như vậy có tới 10 bit được truyền trong khi chỉ có 7 bit dữ liệu, còn trong trường hợp sử dụng 2 bit dừng thì có tới 11 bit truyền trong khi chỉ có 7 bit dữ liệu. Như vậy nếu có 10 kí tự được gửi trong 1 giây và nếu như có 11 bit được sử dụng cho 1 kí tự thì tốc độ truyền thông sẽ là 110 bit/s. Như vậy giữa tốc độ truyền bit và tốc độ truyền kí tự là khác nhau. Ngoài tốc độ truyền bit người ta còn sử dụng tốc độ baud. Đây là tên của một nhà kỹ thuật người Pháp đã giành nhiều công sức để nghiên cứu về truyền thông và người ta đã lấy tên ông để làm đơn vị truyền dữ liệu. Thông thường tốc độ bit và tốc độ baud là đồng nhất, chỉ trong trường hợp có môdem do có thêm quá trình biến đổi tín hiệu nên 2 tốc độ này nó khác nhau. Bảng 3.2. Tốc độ bps liên quan với số các kí tự được truyền Tốc độ bps Kí tự /s 110 11 300 30 600 60 1200 120 2400 240 4800 480 9600 960 19200 1920 56600 5660 3.5. MỘT SỐ CHUẨN GHÉP NỐI RS232 sau nhiều lần cải tiến vẫn còn một số nhược điểm: Khoảng cách truyền còn hạn chế (15 m), Tốc độ truyền chưa cao (100 Kbps). Vì vậy có một số tiêu chuẩn đã được ra đời nhằm khắc phục những nhược điểm do chuẩn RS232 để lại. Các tiêu chuẩn đó là RS422, RS423A, RS485, tất cả các chuẩn này đều bắt đầu bằng RS. 3.5.1. RS422 Là tiêu chuẩn đầu tiên được cải tiến từ tiêu chuẩn RS232C trong đó cả 2 đặc điểm khoảng cách và tốc độ truyền đều được cải tiến cụ thể: RS422 cho phép tăng tốc độ cỡ vài Mbit/s. Các vi mạch thông thường được sử dụng cho chuẩn RS232C như: MAX232(Maxim), LT232(Linear Technology) đều không thể sử dụng cho chuẩn này. Ngoài ra khoảng cách truyền cũng được cải thiện từ 15m -> 1200m, tất nhiên khi đó phải chấp nhận một tốc độ truyền vừa phải cỡ như 90 Kbps. Cải tiến: Về mặt bản chất vẫn truyền dữ liệu theo kiểu nối tiếp nhưng cách truyền thay đổi. Cụ thể là mức logic của tín hiệu không được tính theo đường Mas (0v) mà được tính theo điện áp vi sai(chênh lệch điện áp giữa 2 đường dẫn) khi đó bộ đệm đường dẫn của RS422 tạo ra một điện Trang 28/59
  30. Kỹ thuật ghép nối máy tính áp vi sai ~ 5v và truyền trên 2 sợi dây soắn, sau đó ở bên nhận sẽ có một bộ phối hợp mức để đo vi sai điện áp để phân biệt giữa mức HIGH và mức LOW. RS422 quy định một cặp tín hiệu được sử dụng để truyền chứ không phải một tín hiệu như trong RS232, cặp này bao gồm: Tín hiệu không đảo kí hiệu (A) và tín hiệu đảo (B). Chênh lệch điện áp giữa tín hiệu A và B khoảng 2->6V và sẽ xảy ra 2 trường hợp: UA âm so với UB -> A có mức logic 1(mức dấu) UA dương so với UB -> A có mức logic 0(mứctrống) Các giá trị điện áp này kết hợp với các thông số đã được quy định trở kháng đường cáp sẽ đặt ra một giới hạn thực tế cho độ dài của đường truyền cực đại. Tính toán cho thấy khoảng cách có thể đạt đến 1200m và đây là khoảng cách lí tưởng đối với rất nhiều ứng dụng. Trong trường hợp sử dụng đường truyền ngắn có thể nâng tốc độ truyền lên 10 Mbps. Nguyên nhân xâu xa của việc cải thiện được khoảng cách truyền là tín hiệu nhiễu khi ảnh hưởng đến một đường tín hiệu cũng đồng thời gây ảnh hưởng đến đường tín hiệu kia và như vậy khi so sánh với nhau sẽ bị bù trừ. Vì vậy để thoả mãn được điều kiện này thì hai đường tín hiệu phải nằm rất sát nhau. Trên thực tế người ta giải quyết bằng cách soắn hai sợi dây lại với nhau. Khi đó không chỉ độ bền cơ học của cáp được tăng lên mà ảnh hưởng của nhiễu cũng được bù trừ thỏa đáng. 3.5.2. CHUẨN RS423A Đặc điểm của chuẩn này là người ta sử dụng điện áp không cân bằng(không đối xứng). Nó chỉ sử dụng một đường dẫn để truyền giống như RS232 nhưng thông số điện đã được cải tiến để có tốc độ cao hơn và đường truyền dài hơn, cụ thể là giảm điện áp xuống chỉ còn 0->6v trong đó 0v~HIGH(1) 6v~LOW(0). Các tín hiệu của chuẩn RS232C thường được sử dụng để tạo ra tín hiệu điều khiển trên cùng một cáp truyền trong khi các tín hiệu của RS423A được sử dụng cho cả dữ liệu và cho cả việc phân chia khoảng thời gian. 3.5.3. CHUẨN RS485 Đây là kết quả trực tiếp của việc cải tiến RS422 theo hướng cho nhiều thành viên có thể tham gia vào cuộc truyền. Ta đã biết các chuẩn vừa trình bày ở trên chỉ cho phép hai thành viên tham gia truyền dữ liệu với nhau, trong trường hợp muốn đưa thêm thành viên thứ ba vào thì giải pháp về phần cứng rất phức tạp trong khi nhiều ứng dụng thực tế cần có khả năng truyền dữ liệu giữa một số thành viên với nhau. Có thể nói việc đưa ra chuẩn này thực chất là cho phép hình thành một bus dữ liệu trên đó có nhiều hơn hai thành viên tham gia, cho đến nay con số có thể đạt đến 32. Về mặt giải pháp kĩ thuật thì việc đưa chuẩn nối tiếp trở thành một bus đòi hỏi phải có sự hỗ trợ của các vi mạch 3 trạng thái(HIGH,LOW,điện trở cao). Mức logic 1 được ấn định tương tự RS422 cụ thể từ -1,5->-6V, mức logic 0 nằm trong khoảng 1,5->6V. Bộ đệm đường dẫn của chuẩn này cũng tạo ra một điện áp vi sai 5V trên hai đường dẫn /truyền dữ liệu và mức điện áp cũng được tính theo phương pháp vi sai. Chính nhờ cải tiến này mà việc ghép nối nhiều thiết bị đo lường (máy tính) với nhau trở nên hết sức đơn giản. Ứng dụng của RS485 Một thí dụ sử dụng RS485 là theo dõi lượng hàng xuất nhập ở các kho xăng dầu. Các bể có thể chứa nhiều loại xăng khác nhau, tổng cộng có thể đến 32 bể chứa được quản lí đồng thời. Người ta quản lí bằng cách mỗi bể đưa vào một đầu đo và gắn cho đầu đo đó một địa chỉ mà thực chất là một mã số. Các thông tin về đầu đo sẽ được chuyển qua RS485 vào máy tính. Tại bộ xử lí máy tính sẽ đọc các số liệu cùng với các mã số kèm theo. Trên cơ sở đó sẽ biết ngay là số lượng đo lường được gửi từ bể nào về, các số liệu này được đem kết hợp với kích thước hình học, nhiệt độ bể, nhiệt độ môi trường từ đó hình thành một cơ sở dữ liệu cho phép quản lí lượng xăng dầu đang được bảo quản trong kho, lượng xuất nhập trong ngày, tuần, tháng. 3.5.4. SO SÁNH CÁC CHUẨN GHÉP NỐI Giao diện nối tiếp RS232C(V.24) là một giao diện điện áp thuần tuý trong đó các mức logic HIGH hoặc LOW đều là các mức điện áp nằm trong khoảng 3->12V hoặc -3->-12V là các mức logic đọc được và được tính so với một đường mas chung. Ưu điểm đặc biệt của nó là việc xử lý Trang 29/59
  31. Kỹ thuật ghép nối máy tính hết sức đơn giản theo nghĩa tìm lỗi rất nhanh hoặc viết phần mềm điều khiển hết sức đơn giản. Chính vì vậy việc ghép nối qua cổng này được áp dụng rất phổ biến và khả năng giao tiếp cũng rất lớn theo nghĩa là rất nhiều loại thiết bị ngoại vi của nhiều hãng khác nhau với nhiều mẫu mã khác nhau đều có thể ghép nối được với cổng này. Nhược điểm của giao diện này trước hết là khoảng cách truyền còn hạn chế và tốc độ truyền dữ liệu chưa cao. Các giao diện RS422 và RS485 đều là các giao diện vi sai điện áp đối xứng. Trong trường hợp này việc truyền dữ liệu được tién hành trên đường dẫn vi sai điện áp và do vậy hai đường dẫn được xoắn với nhau thành cặp khác hẳn với trường hợp của RS232 trong đó mức điện áp trên đường truyền và đường nhận được tính so với đường mas chung. Vì vậy, thông tin nhận được là từ điện áp vi sai giữa hai đường truyền và trên hai dây dẫn chứ không phaỉ là từ giá trị điện áp tuyệt đối tính so với điện thế của đường mas chung. Do cách truyền này mà nhiễu điện từ nói chung không ảnh hưởng đến quá trình truyền dữ liệu. Kết quả là có thể tăng tốc độ truyền lên tới 10 Mbps. Bảng 3.3. So sánh giữa các loại giao diện RS232C, RS422, RS485 V.24/RS232C RS422 RS485 Chức năng Liên kết điểm -điểm Liên kết điểm -điểm Liên kết bus Loại giao diện Giao diện điện áp Giao diện điện áp đối Giao diện điện áp đối không đối xứng xứng xứng với khả năng ba trạng thái Khả năng chống Thấp Cao Cao nhiễu Số bộ đệm cực đại 1 1 32 Số bộ nhận cực đại 1 1 32 Độ dài đường truyền 15m 1200m 1200m cực đại Tốc độ truyền cực 20(100)Kbaud 10Mbaud 10Mbaud đại Điện áp lối ra của bộ đệm: - Không tải ±15V ±5V ±5V - Có tải ±5V ±2V ±1,5V Điện trở lối ra của bộ 3-7 KΩ 100 KΩ 54-60 KΩ đệm Điện trở lối vào của 3-7KΩ > 4 KΩ >12KΩ bộ nhận Dộ nhạy của bộ ±3V ±200 mV ±200 mV nhận Nhận xét: Giữa RS422 và RS 485 có một sự khác nhau về cơ bản đó là: Chuẩn RS422 thực hiện chức năng liên kết điểm-điểm, trong khi bộ đệm của giao diện RS485 có thể được chuyển mạch trong trạng thái điện trở cao, vì vậy cho phép hình thành liên kết bus. Trong một số trường hợp người ta phải hạn chế ảnh hưởng giữa các thành viên của khối ghép nối đặc biệt là trong trường hợp đường truyền dài, khi đó người ta phải thực hiện cách li về điện giữa hai thành viên bằng cách đưa vào bộ ghép nối quang. Trong bộ ghép nối quang bao gồm hai linh kiện: Diot phát quang LED (Light Emitting Diode) và Transtor quang. Khi có dòng điện chạy qua theo hướng thuận thì diot sẽ phát ra ánh sáng và dọi vào cực gốc của transtor quang làm cho nó chuyến sang trạng thái dẫn(có dòng điện chạy qua). Như vậy, việc có dòng điện chạy qua diot bao giờ cũng kéo theo dòng điện đi qua transtor, nhờ vậy mà người ta có thể dùng bộ ghép nối quang vào mục đích truyền dữ liệu. Ưu điểm của nó là giữa bên truyền và bên nhận được cách li về điện, vì vậy nếu có sự cố sảy ra một bên thì sẽ không kéo theo sự cố ở bên kia. Trang 30/59
  32. Kỹ thuật ghép nối máy tính 3.6. LẬP TRÌNH CHO CỔNG RS232 Việc truyền dữ liệu qua cổng nối tiếp được tiến hành qua RS232 hay cụ thể hơn là RS232C. Trong chuẩn này số các đường dẫn được quy định để truyền là 9. Dữ liệu được gửi theo đường TXD và nhận theo đường RXD cùng với một đường trở về đất chung. Sáu đường còn lại được sử dụng vào mục đích bắt tay và có thể được chia ra làm hai loại lối vào và lối ra như sau: Các đường dẫn bắt tay lối vào: RI, DSR, CTS. Các đường dẫn bắt tay lối ra: RTS, DTR. Đóng vai trò điều khiển quá trình truyền thông nối tiếp là vi mạch 8250. Vi mạch này có thể lắp trên vỉ mạch chính của máy tính PC cũng có thể được lắp ráp trên một card vào ra. Vì vậy, muốn lập trình để điều khiển quá trình truyền thông thì ta phải tìm cách làm chủ và truy cập lên các thanh ghi của vi mạch này. 3.6.1. BỘ TRUYỀN NHẬN KHÔNG ĐỒNG BỘ VẠN NĂNG 8250 Chức năng: Truyền và nhận dữ liệu nối tiếp và dị bộ. Tên gọi: UART(Universal Asynchronous Receiver/Transmitter) Các chức năng chính của vi mạch Chuyển đổi tín hiệu song song đi từ bộ xử lý của máy tính thành tín hiệu nối tiếp để truyền ra khỏi máy tính và ngược lại. Bổ xung các bit: bắt đầu, chẵn lẻ, dừng, vào mỗi kí tự để hình thành khung truyền và lấy ra những bit đó từ các kí tự nhận được. Duy trì tình trạng các bit riêng biệt được phát ra với tốc độ truyền dữ liệu thích hợp, tính toán các bit chẵn lẻ trên các kí tự nhận và truyền, đồng thời thông báo cho hệ thống biết bất kì một sai sót nào đã được phát hiện. Thiết lập các tín hiệu bắt tay phần cứng thích hợp và thông báo trạng thái của các mạch đó. Để thực hiện các chức năng kể trên, UART có các giao tiếp chính sau: Giao tiếp với hệ thống bus vào/ra của CPU Giao tiếp với tín hiệu đồng hồ hệ thống Giao tiếp với cổng nối tiếp theo chuẩn RS232C Vi mach 8250 có 40 chân và được sắp xếp theo sơ đồ sau: Hình 3.5. Sắp xếp các chân ở vi mạch 8250. Trong sơ đồ này, người ta quan niệm vi mạch giống như hộp đen. Dựa vào khả năng giao tiếp với bên ngoài ta có thể suy đoán ra chức năng của các khối bên trong. Có 8 đường dẫn dữ liệu được đưa trực tiếp đến vi mạch. Trong khi có 11 đường dẫn địa chỉ thì chỉ có 3 đường được đưa đến vi mạch đó là từ A0 -> A2 . 8 đường dẫn còn lại đưa vào bộ giải mã địa chỉ(nguyên tắc hoạt động của bộ giải mã địa chỉ đã được giới thiệu phần bus mở rộng). Phần phía dưới khối giải mã địa chỉ là phần quy định địa chỉ bằng phần cứng, 8 đường dẫn địa chỉ đưa đến bộ giải mã được so sánh với các địa chỉ được quy định bằng phần cứng và làm thay đổi mức logic của chân CS. Bộ giao động thạch anh của vi mạch làm việc với tần số giao động 1,8432MHz được đấu vào 2 chân XTAL1 và XTAL2, 8 đường dẫn nối tiếp đều đi qua bộ đảo. Bộ đảo này nhằm lấy mức logic ngược Trang 31/59
  33. Kỹ thuật ghép nối máy tính và chuyển lại dạng tín hiệu. Chính vì vậy trong chuẩn RS232 quy định mức logic người ta đã chọn ngược so với trường hợp thông thường trong đó các mức HIGH lại có điện áp thấp và mức LOW lại có điện áp cao. Hai đường dẫn yêu cầu ngắt là IRQ3 và IRQ4. Các cổng nối tiếp từ 1 -> 4 được phân biệt qua các vị trí địa chỉ trong vùng vào ra của máy tính và các số hiệu ngắt IRQ tương ứng. Trong đó địa chỉ đầu tiên của UART cụ thể là địa chỉ của thanh ghi đệm truyền nhận được tính là địa chỉ cơ sở. Thông thường, địa chỉ cơ sở và IRQ được quy định bởi các cầu nối trên card vào ra. Quan hệ giữa địa chỉ cơ sở và yêu cầu ngắt IRQ được mô tả như sau: Bảng 3.4. Địa chỉ và ngắt của các cổng nối tiếp Cổng Địa chỉ cơ sở IRQ COM1 3F8 IRQ4 COM2 2F8 IRQ3 COM3 3E8 (IRQ4) COM4 2E8 (IRQ3) COM1 và COM3 cũng như COM3 và COM4 đều dùng chung một ngắt. Điều đó có nghĩa tại một thời điểm chỉ có thể sử dụng một phần mềm cho các ngắt của 1 trong 2 cổng. Khi ta sử dụng nhiều hơn 2 cổng nối tiếp thì trong chương trình không nên sử dụng ngắt bởi vì rất dễ sảy ra tình trạng tranh chấp. Vì vậy khi máy tính có trang bị cổng COM3 và COM4 thì vấn đề sử dụng ngắt cho cổng nối tiếp cần phải được tìm hiểu và cân nhắc hết sức kĩ lưỡng. Trang 32/59
  34. Kỹ thuật ghép nối máy tính 3.6.2. CÁC THANH GHI TRÊN UART 8250 Trên vi mạch này có nhiều thanh ghi và được chia làm 3 loại Thanh ghi điều khiển (Control Register) : dùng để nhận và thực hiện các lệnh từ CPU. Thanh ghi trạng thái (Status Register) : dùng để thông báo cho CPU biết UART đang làm gì . Thanh ghi đệm (buffer Register) : dùng để dữ ký tự trong lúc truyền hoặc xử lý. Các thanh ghi này cũng giữ các ký tự nhị phân được truyền và nhận. Việc lựa chọn các thanh ghi được thực hiện qua địa chỉ và khối điều khiển. Mỗi thanh ghi được gán một địa chỉ so sánh tương đối (offset) với địa chỉ cơ sở của cổng nối tiếp đầu tiên trong hầu hết các máy tính đã được tiêu chuẩn hoá . Có thể nói toàn bộ hoạt động của giao diện nối tiếp được điều khiển qua các thanh ghi của UART , trong đó thanh ghi đệm truyền / nhận dữ liệu thường được tính là hai thanh ghi. Do chỉ có 8 địa chỉ nên cần đến sự chuyển mạch bên trong qua bit DLAB (bit 7 của thanh ghi điều khiển đường truyền ). Các địa chỉ của từng thanh ghi đều được tính theo khoảng cách đến địa chỉ cơ sở, khoảng cách này thường được gọi là offse. Tuỳ theo thanh ghi, offset nhận giá trị cụ thể trong khoảng từ 0-7. Bảng 3-5 giới thiệu một danh sách các thanh ghi của vi mạch 8250 và các địa chỉ của chúng. Nội dung của bảng rất quan trọng, đặc biệt khi ta muốn trao đổi với các thanh ghi để tiến hành các ứng dụng ghép nối máy tính. Bảng 3-5: Các thannh ghi trên vi mạch 8250 DLAB A2 A1 A0 Thanh ghi Địa chỉ Giải thích 0 0 0 0 Bộ đệm nhận (đọc)-Bộ đệm 3F8(2F8) Địa chỉ Truyền (ghi) cơ sở 0 0 0 1 Cho phép ngắt 3F9 (2F9) ĐCCS+1 x 0 1 0 Nhận dạng ngắt (chỉ đọc) 3FA (2FA) ĐCCS+2 x 0 1 1 Điều khiển đường truyền 3FB (2FB) ĐCCS+3 x 1 0 0 Điều khiển môđem 3FC (2FC) ĐCCS+4 x 1 0 1 Trạng thái đường truyền 3FD (2FD) ĐCCS+5 x 1 1 0 Trạng thái môđem 3FE (2FE) ĐCCS+6 x 1 1 1 Không dùng *) 1 0 0 0 Chốt bộ chia (LSB) 3F8 (2F8) ĐC cơ sở 1 0 0 1 Chốt bộ chia (LSB) 3F9 (2F9) ĐCCS+1 *) Chú ý là : ở vi mạch 8250 địa chỉ này không được sử dụng , nhưng từ phiên bản 16450 thanh ghi ứng với địa chỉ này được gọi là thanh ghi lưu trữ đọc / viết tạm thời , hoặc thanh ghi nháp (scratch pad) với địa chỉ cụ thể là 3FF (hoặc 2FF) hay địa chỉ cơ sở. Vi mạch UART 8250 có tất cả 10 thanh ghi, sau đây ta sẽ lần lượt tìm hiểu các thanh ghi này: Trang 33/59
  35. Kỹ thuật ghép nối máy tính 3.6.2.1. Các thanh ghi giữ Như thấy rõ từ tên gọi, các thanh ghi này thực chất là các bộ đệm được chuyên dùng để giữ một ký tự, ký tự này đã được nhận nhưng chưa được đọc, hoặc một ký tự đã được gửi tới cổng nối tiếp các thanh ghi giữ (holding register) thường đuợc gọi là các bộ đệm nhận hoặc bộ đệm truyền . Việc sử dụng các bộ đệm nhận và truyền cũng là một đặc điểm của vi mạch 8250. Đặc điểm này cho phép một ký tự thứ hai được gửi tới cổng nối tiếp trước khi ký tự thứ nhất đã được truyền hoặc đọc xong xuôi bởi bộ xử lý. Trong thời gian chờ ký tự thứ nhất được truyền hoặc đọc, ký tự thứ hai nằm trong bộ đệm . Viết toàn bộ đệm TX/ RX 3F8h Bộ đệm TX TD Đọc từ bộ 3F8h Bộ đệm RX đệm TX/ RX RD Hình 3.6. Đọc ra và ghi vào từ bộ đệm TX/RX Sau đây ta sẽ thấy rõ hơn là : trạng thái của bộ đệm truyền và bộ đệm nhận được quy định bởi thanh ghi trạng thái đường truyền, cụ thể hơn là ở bit 7 của thanh ghi điều khiển đường truyền LCR (Line Control Register). Khi bit này được đặt bằng ‘0’ thì thao tác đọc từ địa chỉ cơ sở sẽ đọc từ bộ đệm RX và thao tác viết sẽ viết vào bộ đệm TX. Một thí dụ về quá trình này được minh hoạ trên hình 3-6. Trang 34/59
  36. Kỹ thuật ghép nối máy tính 3.6.2.2. Thanh ghi điều khiển đường truyền Một thanh ghi khác trong vi mạch 8250 được gọi là thanh ghi điều khiển đường truyền LCR (Line Control Register). Thanh ghi này giữ các tham số được người lập trình thiết lập và xác định khuôn mẫu của cuộc trao đổi thông tin. Các thông tin về: các bít dữ liệu, số lượng bit dừng và kiểu chẵn lẻ được sử dụng đều được cất giữ trong thanh ghi này. Dữ liệu có thể được viết vào thanh ghi này và được đọc ra sau đấy. Hình vẽ sau minh hoạ chức năng các thanh ghi LCR. Đặt break 0 - Normal output 1 - Gửi một break Stick bit 0 – Không có bit stick 1 – Có bit stick Số các bit dừng 0 – 1 bit dừng 1 – 1,5 bit dừng D7 D6 D5 D4 D3 D2 D1 D0 Đặt số bit trên mỗi từ 00 - 5 bit, 01 - 6 bit 10 - 7 bit, 11 - 8 bit Bit parity 0 - Không bit parity 1 - Parity Loại parity 1- Parity chẵn 0 - Parity lẻ Hình 3.7. Thanh ghi điều khiển đường truyền Các bít 0 và 1. Giá trị được cất giữ trong các bít nhị phân này chỉ rõ các bít dữ liệu trong từng ký tự được truyền. Số các bit trên một ký tự có thể nằm trong khoảng từ năm đến tám bít, cho phép xác định độ dài của từ (word). Lời giải thích cho bit 0 và 1 trên hình 3 – 7 làm sáng tỏ thêm vai trò của các bít này. Bit 2 chỉ rõ số các bít dùng trong mỗi sâu ký tự . Nếu như bít 2 là một giá trị logic 0 thì một bit dừng sẽ được vi mạch 8250 tạo ra. Nếu ký tự được truyền có sáu, bảy hoặc tám bit dữ liệu và bit 2 được đặt vào một logic 1 thì hai bit dừng sẽ được tạo ra và “đính kèm” vào từng từ được truyền. Nếu như năm bit dữ liệu được chọn như hệ thống mã dùng cho một ký tự thì cần đến 1,5 bit dừng để chèn vào trong từ dữ liệu. Yêu cầu này là cần thiết để thích ứng với các thiết bị đã cũ trên do sử dụng năm bit dữ liệu . Bit 3 được quy định là bit cho phép chẵn lẻ. Nếu bit này có giá trị lôgic 1 thì một bit chẵn lẻ sẽ được tạo ra và chèn vào từng xâu ký tự. Do tính chẵn lẻ đã được cho phép lên bất kỳ ký tự nào nhận được cũng đều được kiểm tra về bit chãn lẻ . Bit 4 Kiểu chẵn lẻ đã được chọn, lẻ hoặc chẵn,được xác định bằng cách đặt bit 4. Khi cất giữ một trạng thái logic 0 ở vị trí này có nghĩa là đặt tính chẵn lẻ là lẻ và ngược lại, cất giữ một trạng thái logic 1 ở bit 4 có nghĩa là đặt tính chẵn lẻ là chẵn. Nếu như bit 3, cho phép chẵn lẻ, bị cấm bằng cách đặt một giá trị logic 0 vào vị trí này thì bất kể là giá trị bit như thế nào đặt ở vị trí bit 4 cũng không có tác dụng. Bit 5 (bit strick parity).Nếu như bit 3 và bit 5 được đặt giá trị logic 1 thì khi bộ truyền xuất ra một ký tự, bộ nhận tại chỗ (local) sẽ phát hiện như một giá trị lôgic 1. Trang 35/59
  37. Kỹ thuật ghép nối máy tính Bit 6 được quy định là bit BREAK (dừng). Khi được đặt một giá trị lôgic 1 thì nó bắt buộc SOUT (serial out hay TxD) chuyển sang mức lôgic trống cho đến khi một giá trị 0 được cất giữ ở bit 6. Cách hoạt động này cho phép máy tính báo hiệu cho thiết bị đầu cuối là đã được nối như một phần cuả hệ thống truyền thông. Bit 7 phải được dặt một giá trị lôgic 1 để truy nhập các chốt số chia (Divisor Latches). Các chốt này là những thanh cất giữ số chia tín hiệu giữ nhịp (đồng hồ), số này quy định tốc độ baud của hệ thống truyền thông nối tiếp. Mỗi lần tốc độ baud được đặt lại thì bit này (bit 7) lại được đặt về giá trị lôgic 0. 3.6.2.3. Thanh ghi tốc độ baud Có một điểm trước hết cần lưu ý : Tuy gọi là thanh ghi tốc độ baud nhưng trên thực tế trên thanh ghi không lưu trữ giá trị của tốc độ baud mà dữ liệu được truyền ; trên hai thanh ghi 8 bit chỉ chứa số chia 16 bit được dùng để suy ra tốc độ baud. Tốc độ baud được đặt bằng cách nạp một số chia chiếm 16 bit, bằng 8 bit thấp hơn của số chia đặt trên địa chỉ bộ đệm TX/RX và 8 bit phía trên đặt trên địa chỉ kế tiếp sau bộ đệm TX/RX. Sự tăng gấp đôi số các thanh ghi là cần thiết vì khi bit 7 hoặc thanh ghi LCR (thường viết tắt là DLAB) được đặt lại về giá trị lôgic 0 hai địa chỉ này gắn liền với bộ đệm nhận và bộ đệm truyền. Khi bit DLAB được đặt vào một giá trị lôgic 1 thì hai địa chỉ này gắn liền với hai chốt số chia. Các chốt chia bao gồm 16 bit hay 2 byte, được xắp xếp thành các bít có giá trị thấp LSB (Least Significant Bit ) và bit có giá trị cao hơn MSB (Most Significant Bit) được sử dụng trong việc đặt tốc độ baud của hệ thống truyền thông. Giá trị cất giữ trên hai thanh ghi này phụ thuộc vào tần số của bộ cộng hưởng thạch anh được nối với chân XTAL 1 và XTAL 2 (chân 16 và chân 17) của vi mạch 8250, cụ thể là giá trị này được nhân với 16 rồi được sử dụng để chia tần số của tín hiệu đồng hồ của cổng nối tiếp. Đồng hồ của cổng nối tiếp đã được tiêu chuẩn hoá trong các máy tính cá nhân đời đầu ở tần số 1.8432 MHz. Nếu cần có tốc độ baud bằng 1200 baud thì theo cách tính sau đây sẽ có được giá trị số chia tương ứng . 1843200 1843200 1.200 = => sochia = = 96 = 060 (Hex) 16* sochia 16*1200 Trang 36/59
  38. Kỹ thuật ghép nối máy tính Bởi vì các chốt số chia có độ rộng là hai byte, giá trị 060 Hex cần được chia ra để cất giữ trên hai thanh ghi LSB và MSB. Với giá trị tốc độ baud bằng 1200 trong ví dụ này, 60 Hex được cất giữ trong LSB (bit có giá trị nhỏ ) và giá trị 0 được cất giữ trong MSB (bit có giá trị lớn hơn ). Bảng 3-6 minh hoạ một số tốc độ baud và các giá trị số chia tương ứng dưới cả 2 dạng thập phân và thập lục phân (Hex). Giá trị này của số chia được nạp vào bộ đệm TX/RX khi bit DLAB được một giá trị lôgic 1 đặt vào. Bảng 3-6 –Bảng tốc độ baud ứng với xung nhịp 1,8432 MHz Tốc độ baud Số chia được dùng để Sai số theo phần trăm Muốn có tạo ra:16xĐồng hồ (sai khác giữa mong muốn (Thập phân) (Hex) và thực tế ) 50 2304 900 75 1536 600 - 110 1047 417 0,026 134,5 857 359 0,058 150 768 300 - 300 384 180 - 600 192 0C0 - 1200 96 060 - 1800 64 040 - 2000 58 03A 0,69 2400 48 030 - 3600 32 020 - 4800 24 018 - 7200 16 010 - 9600 12 00C - Trang 37/59
  39. Kỹ thuật ghép nối máy tính 3.6.2.4. Thanh ghi trạng thái đường truyền Thanh ghi trạng thái đường truyền(LSR: line status register)được minh hoạ trên hình 3-8 là một thanh ghi 8 bit chứa thông tin về quá trình truyền dữ liệu qua cổng nối tiếp cần cung cấp cho bộ vi xử lý . Bit 0 .Bit thông báo cho biết số liệu đã nhận được (DR: Data Received). Bit 0 được đặt vào một giá trị lôgic 1 khi dữ liệu đã được nhận và sẵn sàng để bộ xử lý đọc Bit 1 . Một giá trị lôgic 1 ở bit này có nghĩa là ký tự nhận trước đó đã bị mất vì nó không được đọc trước khi một ký tự mới được nhận. Ký tự mới đã ghi đè lên ký tự trước. Bit 2 . Một giá trị lôgic 1 ở bit lỗi chẵn lẻ có nghĩa là ký tự đã được nhận có tính chẵn lẻ sai. Khi thanh ghi trạng thái đường dẫn(LSR) được đọc, bit này được đặt về giá trị lôgic 0. Bit 3 . Nếu ký tự đã nhận không có một bit dừng hợp lệ thì bit 3 trong thanh ghi LSR được đặt vào một giá trị lôgic 1. Bit 4 : Được quy định là bit gián đoạn ngắt (Break Interrupt Bit). Bit này được tự động đặt vào một giá trị lôgic 1 khi dữ liệu nhận được đã được giữ ở một mức trống trên chiều dài của một từ dữ liệu. Bit 5 : Được quy định là bit báo hiệu trạng thái rỗng của một bộ đệm truyền (THRE : Transmit Holding Register Empty) Bít này báo hiệu là cổng nối tiếp sẵn sàng tiếo nhận ký tự khác để được chuyền. Bit 6 : Vị trí bit này là một bit chỉ để đọc. Khi bit này có giá trị lôgic 1 thì bộ truyền đang còn trống. Đặt thành 1 khi bộ đệm truyền trống rỗng Đặt thành 1 khi kí tự được nạp vào bộ đệm truyền Lỗi khung truyền Lỗi chẵn lẻ Tín hiệulàm dừng đượcpháthiện D7 D6 D5 D4 D3 D2 D1 D0 Đặt thành 1 khi dữ liệu nhận được Hình 3.8. Thanh ghi trạng thái đường truyền Lỗi tràn Bit 7 : Không được sử dụng và luôn được đặt giá trị lôgic 0 . Để truy nhập lên thanh ghi trạng thái đường truyền ta lưu ý tới một số chức năng của thanh ghi này. Thanh ghi trạng thái đường truyền (LSR: Line Status Register) xác định trạng thái của bộ đệm truyền và bộ đệm nhận. Thanh ghi này chỉ dùng để đọc ra, tất cả các bit được tự động dặt bằng phần cứng. Vai trò các bít được minh hoạ trên hình 3-8. Khi xuất hiện lỗi trong quá trình truyền 1 ký tự thì một (hoặc một vài) bit lỗi đựơc đặt bằng’1’. Một điều rủi ro có thể xảy ra khi truyền dữ liệu là một ký tự mới có thể viết vào bộ đệm truyền trước khi ký tự trước đấy đã được gửi. Ký tự mới này sẽ viết đè lên nội dung của ký tự đang được truyền. Để tránh tình trạng này bit S5 được kiểm tra để xác định xem liệu vẫn còn một ký tự ở trong bộ nhớ. Nếu có thì nó được đặt thành ’1’.bằng không thì bộ đệm truyền là trống rỗng. Để truyền một ký tự : Kiểm tra bit 6 cho đến khi được đặt ;(Test bit 6 until set:) Truyền ký tự ;(send character:) Một đoạn chương trình (routine) điển hình được viết bằng Pascal như sau : repeat status := port(LSR) and $40 until (status:=$40); Trang 38/59
  40. Kỹ thuật ghép nối máy tính Khi nhận dữ liệu ,bit S0 được kiểm tra để xác định xem liệu có bit trong bộ đệm nhận. Để nhận ký tự: Kiểm tra bit 0 cho đến ki được đặt ; (test bit 0 until set;) Đọc ký tự ; (read character ;) Một đoạn chương trình điển hình được viết bằng Pascal như sau : Repeat Status :=port[LSR] and $01; Until (staus=$01); 3.6.2.5. Thanh ghi cho phép ngắt Hai thanh ghi được sử dụng để điều khiển và xác định các nguồn ngắt. Thanh ghi đầu tiên trong hai thanh ghi đó là thanh ghi cho phép ngắt IER (Interrupt Enable Register) còn thanh ghi thứ hai là thanh ghi nhận dạng ngắt IIR (Interrupt Identification Register). Nếu như khả năng ngắt của vi mạch đã cho phép và một ngắt xuất hiện thì bít xuất ra ngắt từ 8250 chiếm lấy mức logic 1. Tín hiệu này được nối với bus ngắt cứng của máy tính. Lôgíc 1 trên bus này báo hiệu cho bộ sử lý biết và cần phải chú ý tới cổng nối tiếp. Hình 3 –9 minh hoạ sự phân bố của các bít trên thanh ghi IER . Bit 0 . Mỗi lần nhận một ký tự thì một ngắt lại được tạo ra . Bít này được đặt lại (reset) sau khi ký tự đã được bộ sử lý đọc . Bit 1 . Nếu bit này được đặt một giá trị lôgic 1 thì bộ đệm truyền (thanh ghi giữ truyền ) trống và một ngắt xuất hiện . Bit 2: cho phép có sự thay đổi trong trạng thái đường truyền bộ nhận theo cách gây ra một ngắt . Bít 3 : cho phép có sự thay đổi trong trạng thái môdem để ngắt bộ sử lý . Các bít 4 – 7 . Các bít này luôn được đặt giá trị lôgic 0 . D7 D6 D5 D4 D3 D2 D1 D0 =1 Enable Data Available Interrupt =1 Enable TxD Holding Register Empty Interrupt =1 Enable Receiver Line Status Interupt =1 Enable Modem Status Interupt =0 =0 =0 =0 Hình 3.9. Thanh ghi cho phép ngắt 3.6.2.6. Thanh ghi nhận dạng ngắt D7 D6 D5 D4 D3 D2 D1 D0 = 0 if Interrupt Pending = Interrupt ID Bit 0 = Interupt ID Bit 1 =0 =0 =0 =0 =0 Hình 3.10. Thanh ghi nhận dạng ngắt Trang 39/59
  41. Kỹ thuật ghép nối máy tính Nếu như một ngắt xuất hiện thì phần mềm chương trình phải kiểm tra thanh ghi để xác định xem sự kiện nào đang gây ra ngắt. Thanh ghi nhận dạng ngắt IIR (Interrupt Identification Register) chứa đựng mã , nhận dạng điều kiện (ngắt) nào đang yêu cầu chú ý. Bảng 3.7. Các mức ưu tiên của từng ngắt Thanh ghi nhận dạng ngắt Các ngắt và đặt lại chức năng Bit 2 Bit 1 Bit 0 Mức ưu Kiểu ngắt Nguồn ngắt Điều khiển tiên đặt lại ngắt 0 0 1 - Không dùng Không dùng - 1 1 0 Cao nhất Trạng thái Lỗi tràn hoặc Đọc thanh đường nhận lỗi chẵn lẻ ghi trạng thái hoặc lỗi đường truyền khung truyền hoặc break interrupt 1 0 0 Thứ hai Có dữ liệu Có dữ liệu Đọc th_ghi đã nhận đã nhận đệm bộ nhận 0 1 0 Thứ ba Bộ đệm Bộ đệm Đọc th_ghi IR truyền trống truyền trống (nếu là nguồn ngắt) hoặc ghi vào bộ đệm truyền 0 0 0 Thứ tư Trạng thái Xoá để gửi Đọc thanh ghi Môđem Hoặc dữ liệu trạng thái Sẵn sàng hoặc môđem Báo chuông Hoặc phát tín hiệu đường nhận Bảng trên đây liệt kê các mức ưu tiên của từng ngắt. Cột đặt lại ngắt liệt kê tác động nào là cần đến để đặt lại ngắt đã được chốt . Trang 40/59
  42. Kỹ thuật ghép nối máy tính 3.6.2.7. Các thanh ghi môđem Hai thanh ghi cuối cùng trong 8250 được sử dụng để kiểm soát cũng như điều khiển các tín hiệu bắt tay. Cụ thể hai thanh ghi đó là : Thanh ghi điều khiển môđem Thanh ghi trạng thái môđem Thanh ghi điều khiển môđem là một thanh ghi 8 bit , điều khiển việc xuất ra tín hiệu bắt tay. Sự sắp sếp các bit và ý nghĩa của việc xuất ra các tín hiệu bắt tay được quy định trên hình 3 – 11. Ngoài tín hiệu DTR và RTS đã được mô tả trước đây, có ba tín hiệu bổ sung có thể được sử dụng. Hai trong số đó là các tín hiệu out (ra ngoài). Trong một số ứng dụng, có hai lối ra out có thể được sử dụng để điều khiển các chức năng ở bên ngoài như : các rơ le bộ truyền không dây (radiô) hoặc môđem, các bộ chuyển kênh hoặc các thiết bị tương tự. Lối ra thứ ba từ thanh ghi được gọi là vòng. Một mức logic 1 viết vào vị trí bit này sẽ đặt 8250 vào chế độ vòng lặp ngược. Khi hoạt động ở chế độ này đường dẫn TxD được nối với đường dẫn RxD. Đồng thời đường dẫn RTS được nối với đường dẫn CTS, DTR được nối với DSR, còn out1 và out2 được nối với các nối vào RLSD và RI. D7 D6 D5 D4 D3 D2 D1 D0 =Data Terminal Ready (DTR) = Request To Send (RTS) =Out1 =Out 2 =Loop =0 =0 =0 Hình 3.11. Thanh ghi điều khiển modem Chế độ vòng lặp ngược cho phép kiểm tra phần cứng của hệ thống. Nếu như thanh ghi điều khiển môđem cho phép người lập trình đặt các đường dẫn bắt tay nối ra thì thanh ghi trạng thái môđem (MSR : Modem Status Register) hỗ trợ người lập trình khả năng kiểm tra các đường dẫn bắt tay nối vào. Hình 3 –12 chỉ ra sự sắp xếp các bit trên thanh ghi MSR . D7 D6 D5 D4 D3 D2 D1 D0 Delta Clear To Send (DCTS) Delta Data Set Ready (DDSR) Trailing Edge Ring Indicator (TER) Delta Rx Line Signal Detect (DRLSD) Clear To Send (CTS) Data Set Ready (DSR) Ring Indicator (RI) Receiver Line Signal Detect (RLSD) Hình 3.12. Thanh ghi trạng thái modem Bit 0. Một giá trị lôgic 1 ở bít này có nghĩa là đã có sự thay đổi theo cách xoá lối vào để gửi bởi vì bit này đã vừa được đọc. Bit 1. Tương tự như bit 0, một giá trị logic 1 ở vị trí này có nghĩa là đã có sự thay đổi ở tín hiệu lối vào theo cách sẵn sàng gửi dữ liệu. Bit 2. Cho phép bộ xử lí biết là đường dẫn báo chuông (Ring Indicator) đã thay đổi từ giá trị logic 1->0. Trang 41/59
  43. Kỹ thuật ghép nối máy tính Bit 3. Một giá trị lôgic 1 ở bít này có nghĩa là đã có sự thay đổi trên đường dẫn phát hiện có tín hiệu nhận, bởi vì thanh ghi MSR đã vữa được đọc. Bit4. Là phần bù (Complement) của tín hiệu lối vào CTS, bắt nguồn từ thiết bị nhận ở bên ngoài. Bit 5. Là phần bù của lối vào RTS. Bit 6. Là phần bù của lối vào báo hiệu chuông. Bit 7. Là phần bù của lối vào phát hiện tín hiệu trên đường nhận của vi mạch 8250. Trang 42/59
  44. Kỹ thuật ghép nối máy tính CHƯƠNG IV - CỔNG USB 4.1. NHỮNG NÉT CHUNG Có thể nói MTPC từ khi ra đời đã không ngừng phát triển. Hiện nay máy tính PC vẫn đang được cải tiến nhằm nâng cao những tính năng của hệ thống. Những hướng chính là: + Tiếp tục cải tiến bộ vi xử lý cũng như đưa ra những bộ xử lý mới. + Cải tiến các hệ thống đồ họa, ví dụ: card AGP + Nâng cao tốc độ của đồng hồ hệ thống và của chính bộ xử lý. + Cải tiến các kiến trúc bus đặc biệt các cầu PCI. + Hoàn thiện công nghệ cắm và chạy (plug and play) và quá trình tự đông cài đặt. Đặc biệt hoàn thiện cổng USB để trợ giúp cho việc dễ dàng ghép nối. Nếu như máy tính dùng nguồn AT có hai cổng RS 232 thì ở phía sau các máy tính đời mới thường dùng nguồn ATX đều có 2 ổ cắm USB. Cổng USB thực chất là BUS ,bởi vì qua đó có thể đấu nối đồng thời rất nhiều thiết bị ngoại vi với những chủng loại khác nhau. Vì vậy, có thể gọi bus USB là bus nối tiếp đa năng theo đúng nghĩa của nó. Bus USB nhằm thống nhất các kiểu ghép nối máy tính khác nhau về một dạng đầu nối và vì vậy khả năng ghép nối máy tính qua USB trở nên hết sức hấp dẫn . Các giao diện song song nối tiếp, các máy ghép hình ảnh số đều có thể đấu nối vào bus USB.Vì vậy trong tương lai bus USB sẽ thực sự trở thành bus đa năng. Về nguồn gốc USB được đưa ra sử dụng đầu tiên vào năm 1996, phải đến giữa năm 1998 mới thực sự được hỗ trợ đầy đủ và thể hiện vai trò của nó. Các thống kê kỹ thuật của USB đã được các công ty lớn cùng tham gia xây dựng.Trong đó phải kể đến Compaq, Digital Equipment, Nothern, Telecom, IBM, Intel, Microsoft, NEC. Có thể nói bus USB đã nhanh chóng trở thành một chuẩn không chính thức. Người ta cũng sản xuất ra một card mở rộng cho phép cắm vào các máy tính đời cũ để tạo ra 2 cổng USB . Sau khi USB được giới thiệu đã có nhiều thiết bị sử dụng trong lĩnh vực điện tử dân dụng, truyền thông được thiết kế để nối vào với bus này và Microsoft đã viết phần mềm hỗ trợ cho USB từ năm 1998. Trong win 95 thì USB đã được hỗ trợ rất đầy đủ. USB là một bus nối tiếp vì dữ liệu truyền trên bus tương tự như trong cổng nối tiếp. Cụ thể là theo từng bit một nối tiếp nhau. Nhưng có một điểm đáng lưu ý là dữ liệu được truyền trên cùng các đường dẫn theo 2 hướng trong khi theo tiêu chuẩn RS232 thì dữ liệu được truyền trên các đường dẫn khác nhau nhưng trên mỗi đường chỉ theo một hướng. Sự khác nhau cơ bản thể hiện ở chỗ các giao diện nối tiếp từ trước đến nay chỉ có thể sử dụng cho một thiết bị nhưng bus USB lại cho phép đấu nối đến 127 thiết bị.Vì vậy được gọi là một bus. Mỗi thiết bị đấu vào đều nhận một địa chỉ và thôg qua địa chỉ này thiết bị có thể trao đổi dữ liệu với máy tính cũng như các thiết bị khác và địa chỉ này được mô tả bằng 7 bit. Về mặt tốc độ, việc trao đổi dữ liệu qua bus USB nhanh hơn so với qua cổng RS 232.Trên thực tế vận tốc truyền có thể đạt được 12Mbps trên các đường dẫn dữ liệu. Dải thông sẽ được phân chia cho tất cả các thiết bị được đấu nối trên bus .Với bus USB loại 1.0 tốc độ truyền dữ liệu lên tới 12 Mbps, nhưng ở version 2.0 vận tốc đạt tới 480Mbps vẫn giữ được tính tương thích ở phiên bản 1.0. Bus USB có mối liên quan chặt chẽ với đặc tính cắm để chạy ở các máy tính PC đời mới trong khi máy tính đang hoạt động, thiết bị có thể được đấu vào hoặc tháo ra mà không cần tắt điện nguồn nuôi trong máy tính. Đ ặc tính được gọi là đấu ngắt nóng. Hệ thống tự nhận biết một thiết bị mới được đấu vào thiết bị USB và lập tức nạp phần mềm điều khiển hay tệp đệm thích hợp. Những đặc tính cơ bản của bus USB có thể kể ra là: + Các bộ truyền đảm thời có thể hiểu là truyền liên tục hỗ trợ các tín hiệu video và âm thanh với các đường truyền đẳng thời thì các thiết bị truyền dữ liệu theo kiểu đảm thời và theo kiểu đoán trước . +Bus USB hỗ trợ các thiết bị không đẳng thời, các thiết bị có quyền ưu tiên cao nhất (các thiết bị đảm thời cũng như đẳng thời có thể tồn tại cùng một thời điểm). +Các thông số kỹ thuật cắm chạy các cáp và cách kết nối đều được tiêu chuẩn hoá rộng rãi trong công nghiệp. +Các Hub được sản xuất thành nhiều tầng với khả năng mở rộng các mức gần như vô tận và các thao tác xảy ra đồng thời. Trang 43/59
  45. Kỹ thuật ghép nối máy tính +Tốc độ truyền là 12Mbps với các kích thước gói dữ liệu khác nhau. +Hỗ trợ nhiều yêu cầu về giải thông từ một vài Mbps đến 19 Mbps. +Hỗ trợ tốc độ truyền dữ liệu trên một phạm vi rộng các giá trị thông qua việc đỉều tiết kích thước bộ đệm gói dữ liệu và cơ chế tiềm ẩn(latency), có khả năng cắm nóng (hot plug). Nghĩa là cho phép thiết bị ngoại vi có thể được nối mà không cần phải tắt nguồn nuôi cung cấp điện cho mấy tính. Có thể đấu, ngắt và thay đổi cấu hình của thiết bị ngoại vi một cách linh hoạt . +Khả năng quản lý năng lượng được tăng cường với các chế độ nghỉ trên phạm vi hệ thống. +Tự nhận dạng thiết bị ngoại vi kiểu mới, tự động vẽ bản đồ chức năng đói với phần mềm điều khiển và cấu hình. +Hỗ trợ cho các thiết bị loại khác nhau với nhiều công nghệ khác nhau. +Điều khiển luồng dữ liệu thông qua bộ đệm bằng việc quản lý giao thức đặt sẵn bên trong. +Có thể xử lý lỗi và hoàn trả lỗi. +Hỗ trợ khả năng nhận dạng các thiết bị mắc lỗi. +Giao thức đơn giản trong việc thực hiện và tích hợp. USB là một kiến trúc bus cân bằng trong quá trình hoạt động máy chủ USB đóng vai trò điều khiển dải thông của hệ thống. Mỗi thiết bị được gán một địa chỉ mặc định khi thiết bị USB được cấp điện lần đầu hoặc được đặt lại. Một đặc điểm cơ bản khác nữa của USB điện áp nguồn nuôi (+5v) có thể nhận được từ bus. Các thiết bị có công suất tiêu thụ nhỏ có thể sử dụng trực tiếp điện áp trên bus mà không cần có nguồn nuôi riêng. 4.2. ĐẦU NỐI VÀ CÁP NỐI USB có hai kiểu đầu nối khác nhau được gọi là A,B. Hệ thống ấy được thiết kế sao cho không xảy ra hiện tượng đấu nối nhầm. Bus USB sử dụng cáp nối 4 sợi dây để nối với các thiết bị ghép nối. Trong đó có một cặp đường truyền 2 sợi xoắn được dùng làm đường dẫn dữ liệu vi phân, ký hiệu là D+ và D-. Còn một cặp kia dùng làm đường 5V và đường nối đất chung. Cáp nối luôn được thực hiện liên kết 1:1. Sự sắp xếp các chân ở đầu nối cáp tuân theo những quy định sau: Bảng 4.1. Sắp xếp chân ở cổng USB Chân Tên gọi Màu dây Mô tả 1 vcc Đỏ + 5v DC 2 D- Trắng DL - 3 D+ Xanh lục DL+ 4 CND Đen Nối đất Hai ổ cắm USB phía sau máy tính đời mới nhất đều là kiểu A, qua đó có thể đấu trực tiếp thiết bị USB vào máy tính. Các thiết bị có tốc độ thấp như chuột có thể đấu thẳng vào ổ cắm này bằng một phích cắm cũng kiểu A. 2 1 3 4 1 2 3 4 Kiểu A Kiểu B Hình 4.1. Cấu trúc cổng USB Trong các trường hợp khác thiết bị thường có một ổ cắm kiểu B, muốn nối với máy tính phải sử dụng một cáp kiểu A,B. Trong trường hợp cần nối dài cáp, tức là để tăng khoảng cách giữa máy tính PC tới thiết bị ghép nối, người ta sử dụng cáp A,A. Cho đến nay các cáp USB đều được các nhà sản xuất cung cấp dưới dạng hoàn chỉnh trên đó đầu cắm, độ dài, chất lượng bọc kim chống nhiễu đều không thể thay đổi được.Vì vậy, tuỳ theo mục đích sử dụng ta phải lựa chọn thông số cáp cho chính xác từ chiều dài cho đến đầu nối. Một điều đáng lưu ý là cho đến nay một Trang 44/59
  46. Kỹ thuật ghép nối máy tính số linh kiện liên quan đến USB còn tương đối đắt ví dụ: 1 vi điều khiển nối với USB giá 29 USD, 1 bộ biến đổi AD 12 bit giá 300 USD. Qua ổ cắm USB sau máy tính có thể lấy ra điện áp + 5v với dòng điện tiêu thụ 100 mA.Trong một số trường hợp có thể lấy tới 500 mA. Hai đường đẫn dữ liệu D +, D - cho phép đấu nối với các linh kiện USB đặc biệt chẳng hạn như là một số vi điều khiển tín hiệu ở chân D +,D – là các tín hiệu vi phân với mức điện áp = 0/ 3,3 v. Điện áp nguồn nuôi cho bus có thể tăng đến 5,25 v và khi chịu dòng tải lớn có thể giảm xuống 4,2 v. Một vi mạch ổn áp trong trường hợp này có thể tạo ra một điện áp ổn định +3,3 v. Toàn bộ hệ thống có thể thiết kế sao cho khi chịu dòng tải lớn điện áp nguồn cũng không vượt quá + 4,2v. Khi thiết bị ghép nối cần dòng tiêu thụ >100mA cần xem xét kỹ khả năng cung cấp và chịu tải của các linh kiện phía trong MT để tránh những hậu quả đáng tiếc có thể xảy ra. Khi ghép nối một thiết bị với bus USB ta thường phải phân biệt rõ các thiết bị sử dụng nguồn nuôi riêng chẳng hạn như máy in với các thiết bị nhận điện áp nguồn nuôi qua bus.Trong một số trường hợp cả hai chế độ nguồn nuôi có thể cùng tồn tại để lựa chọ theo cách thiết kế của bus. Dòng tiêu thụ lấy từ bus được tự động hạn chế. Khi dòng tiêu thụ vượt quá giới hạn cho phép thì điện áp cung cấp cũng tự động ngắt. 4.3. TRUYỀN DỮ LIỆU NỐI TIẾP QUA CỔNG USB Một đặc điểm khác nữa của bus USB là chỉ có một máy chủ nghĩa là mọi hoạt động trên bus đều xuất phát từ máy tính PC quản lý. Dữ liệu được gửi lên cũng như nhận từ bus theo những gói nhỏ chứa 8 -> 256 byte. Máy tính PC có thể yêu cầu dữ liệu gửi đến từ một thiết bị nhưng ngược lại không một thiết bị nào có thể tự gửi dữ liệu đi. Toàn bộ lượng dữ liệu đều có một khung đúng bằng 1ms.Trong phạm vi một khung nhiều gói dữ liệu kế tiếp dành cho các thiết bị khác nhau có thể được xử lý, trong đó có những gói dữ liệu cần gửi với tốc độ thấp, có những gói dữ liệu cần gửi với tốc độ cao cùng tồn tại trong một khung. Khi cần ghép nối nhiều thiết bị USB với máy tính, ta cần có một hộp phân phối hay còn gọi là Hub cho phép tránh xảy ra tình trạng tốc độ tín hiệu cao được chuyển giao tới thiết bị có tốc độ thấp. 4.4. HUB USB Bus USB là bus có dạng hình sao với một máy chủ trong đó sử dụng Hub để đấu nối một số thiết bị vào bus. Có thể nói Hub là một hộp phân phối có nhiều cổng mà thông thường là 4 cổng. Thuật ngữ Hub có nguồn gốc tiếng anh là Mayơ. Liên kết với Hub gần giống như mối quan hệ giữa mayơ và các lan hoa trên bánh xe. Một Hub bên ngoài có một cổng hướng về máy chủ gọi là Upstream và 4 cổng hướng ra thiết bị ghép nối gọi là Downtream. Đáng chú ý là ngay trong máy tính có một Hub gọi là Hub trong tạo ra 2 cổng USB kiểu A sau máy tính. Hub này được gọi là Hub gốc và thường được đặt ngay trên mainboard. Cổng ra thiết bị ghép nối của một Hub lại có thể đấu thêm một Hub khác, và cứ như vậy hình thành một cấu trúc phân tầng. Moĩi Hub và mỗi dây cáp đều gây ra sự giàn trễ dữ liệu nhưng thời gian trễ không vượt quá giới hạn Max đã được quy định. Hub USB cho phép 7 Hub nối với nhau và như vậy có đến 127 thiết bị có thể được đấu vào một Bus USB. Trên thực tế, con số này mang tính lý thuyết vì tuy có thể đấu vào 127 thiết bị nhưng càng nhiều thiết bị nối vào thì tốc độ truyền càng chậm do giải thông của toàn bộ bus bị phân chia cho từng thiết bị đấu nối vào. Nhiệm vụ của Hub là nhận biết các thiết bị mới được đấu nối vào và tiếp theo còn phải nhận biết đó là thiêt bị có tốc độ cao hay thiết bị có tốc độ thấp. Ngoài ra Hub có thể xoá đi một thiết bị đẫ đấu vào bus nhưng lại được tháo ra khỏi hệ thống. Để thực hiện các nhiệm vụ này có những trạng thái bus được tạo ra theo những cách đặc biệt. Hub cũng cung cấp điện áp nguồn nuôi cho thiết bị khi khởi động, mỗi thiết bị USB đều tiêu thụ dòng điện 100mA. Nếu cần có một dòng điện lớn hơn yêu cầu này htì những yêu cầu này cần phải được khai báo, sau đó Hub sẽ cho pho phép cấp một dòng điện lớn hơn. Việc hạn chế dòng điện không cho phép vượt quá một giá trị ấn định trước chăng hạn bằng một cầu chì nhiều nấc cần phải đặt ra đối với dòng điện tiêu thụ. Trong Hub có chứa một bộ chuyển mạch công suất thích hợp, chẳng hạn dưới dạng Transzitor MOS-FET công suất. MOS Metal Oxyde Semiconductor FET Field Effect Tranitor. Trang 45/59
  47. Kỹ thuật ghép nối máy tính Công tắc này chuyển mạch song song nhiều cầu chì theo các bậc=100mA. Dòng điện tiêu thụ tổng cộng có thể đạt tới 500mA. Một Hub ngoài có thể cung cấp 100mA cho mỗi cổng ra thiết bị ghép nối bởi vì nó được phép tiếp nhận tổng cộng không quá 500mA và còn yêu cầu riêng do chính bản thân bus. 4.5. PHẦN CỨNG VÀ PHẦN MỀM CỦA MÁY CHỦ Khi nối một thiết bị vào bus thì máy chủ USB sẽ tương tác với thiết bị USB thông qua bộ điều khiển của máy chủ. Khi đó máy chủ chịu trách nhiệm về những công việc sau: Phát hiện việc kết nối hoặc huỷ bỏ của các thiét bị USB Quản lý việc điều khiển dòng dữ liệu giữa máy chủ và các thiết bị USB Thống kê trạng thái và tính hoạt động của hệ thống. Cung cấp dòng điện đã được nạp để hạn chế công suất cho các thiết bị USB được kết nối. Trên máy chủ có phần mềm quản lý hệ thống USB, cụ thể quản lý sự tương tác giữa các thiết bị USB và phần mềm thiết bị dựa trên máy chủ. Có năm vùng tương tác gữa phần mềm hệ thống USB và phần mềm thiết bị cụ thể là: Điểm danh và định cấu hình thiết bị. Truyền dữ liệu trong chế độ đẳng thời. Truyền dữ liệu trong chế độ không đồng bộ. Quản lý năng lượngQuản lý thông tin về thiết bị và về bus. 4.6. PHIÊN BẢN USB 2.0 Phiên bản USB 1.0 ra đời vào năm 1996 đã là một thành công rất lớn và bây giờ đang là cổng tiêu chuẩn trên đa số các máy tính PC đời mới. Hạn chế chính của phiên bản này là tốc độ truyền vẫn còn tương đối chậm. Đặc biệt khi tích hợp nhiều thiết bị ngoại vi thành một hệ thông kết nối riêng rẽ. Vì vậy, phiên bản 2.0 đã được ra đời cho phép đạt tới tốc độ truyền dữ liệu trên 480Mbps trong khi vẫn giữ tính tương thích với phiên bản 1.0. Các đặc tính chính của phiên bản 2.0 là: Tốc độ thấp(1,5Mbps) dùng cho các thiết bị tương tác. thông thường 10->100Kbps. Tốc độ cao(12Mbps) dùng cho các ứng dụng có các tín hiệu diện thoạ và âm thanh. Thông thường 500Kbps->10Mbps. Tốc độ rất cao(470Mbps) dùng cho các ứng dụng video và bộ nhớ. Thông thường 250- >400Mbps. Rõ ràng là phiên bản USB 2.0 sẽ đẩy nhanh quá trình hướng tới một máy tính PC sử dụng trong tương lai tức là chỉ cần dùng một loại cổng USB cho tất cả các thiết bị ghép nối. Trang 46/59