Giáo trình Kỹ thuật ghép nối máy tính (Trình độ: Trung cấp)

Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo 45 giờ gồm có các chương sau:

Chương 1: Đại cương về kỹ thuật ghép nối máy tính.

Chương 2: Giao tiếp với tín hiệu tương tự.

Chương 3: Thủ tục trao đổi dữ liệu của máy tính.

Chương 4: Ghép nối qua rãnh cắm mở rộng.

Chương 5: Ghép nối trao đổi tin song song.

Chương 6: Ghép nối trao đổi tin nối tiếp.

Chương 7: Giao tiếp với các thiết bị ngoại vi cơ bản.

 

doc142 trang | Chia sẻ: phuongt97 | Lượt xem: 459 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Kỹ thuật ghép nối máy tính (Trình độ: Trung cấp), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ách nào đó mà nó sinh ra parity bit thì việc parity bị lỗi là không thể phát hiện được. Bit 2 thiết lập độ dài của những bit stop. Việc thiết lập những bit này về ‘0’ sẽ đem lại một stop bit, tuy nhiên nếu thiết lập nó lên ‘1’ sẽ đem lại 1.5 hoặc 2 stop bit phụ thuộc vào độ dài dữ liệu. Chú ý rằng bộ nhận chỉ kiểm tra bit stop đầu tiên. Bits 0 and 1 thiết lập độ dài số bit dữ liệu. Thông thường thì độ dài là 8 bit. Modem Control Register (MCR) Bit Notes Bit 7 Reserved Bit 6 Reserved Bit 5 Autoflow Control Enabled (16750 only) Bit 4 LoopBack Mode Bit 3 Aux Output 2 Bit 2 Aux Output 1 Bit 1 Force Request to Send Bit 0 Force Data Terminal Ready Thanh ghi Modem Control Thanh ghi Modem Control là một thanh ghi Read/Write. Bit 5,6 và 7 là bit dự trữ. Bit 4 kích hoạt chế độ loopback. Trong chế độ Loopback việc truyền thông nối tiếp ra ngoài được đặt vào trong trạng thái Mark. Đầu vào nối tiếp được ngưng kết nối. Line Status Register (LSR) Bit Notes Bit 7 Error in Received FIFO Bit 6 Empty Data Holding Registers Bit 5 Empty Transmitter Holding Register Bit 4 Break Interrupt Bit 3 Framing Error Bit 2 Parity Error Bit 1 Overrun Error Bit 0 Data Ready Line Status Register Thanh ghi trạng thái đường truyền (line status register) là thanh ghi chỉ đọc. Bit 7 là bit error in received FIFO bit. Bit này là bit cao khi có ít nhất một lỗi break, parity hoặc framing xảy ra trên một byte mà được chứa trong FIFO. Khi bit 6 được thiết lập, thì cả hai thanh ghi transmitter holding register và thanh ghi shift register trống. Thanh ghi UART's holding giữ byte tiếp theo của dữ liệu sẽ được gửi đến parallel fashion. Thanh ghi dịch chuyển (shift register) được sử dụng để chuyển đổi byte nối tiếp, vì thế mà nó cot thể truyền trên một đường. Khi bit 5 được thiết lập, thì chỉ thanh ghi transmitter holding register trống. Vì thế sự khác nhau giữa hai bit đó là gì? Khi bit 6 được thiết lập, thì thanh ghi transmitter holding và thanh ghi shift registers trống, không có quá trình chuyển đổi nối tiếp nào xảy ra vì thế phải không có quá trình hoạt động nào trên đường truyền dữ liệu. Khi bit 5 được thiết lập, thì thanh ghi transmitter holding register trống, vì thế những byte khác có thể dược gửi đến cổng dữ liệu, những việc chuyển đổi nối tiếp đang sử dụng thanh ghi dịch chuyển (shift register) có thể chiếm chỗ. Break interrupt (Bit 4) xảy ra khi đường dữ liệu đã nhận được giữ trong trạng thái lôgic '0' (Space) cho khoảng thời gian hơn thời gian nó dùng đến khi gửi một word đầy đủ. Thời gian đó bao gồm cả thời gian cho start bit, data bits, parity bits and stop bits. A framing error (Bit 3) xảy ra khi bit cuối cùng không phải là stop bit. Điều này xảy ra vì một lỗi tính toán thời gian. Thông thường chúng ta sẽ gặp phải một lỗi framing error khi sử dụng một null modem liên kết hai máy tính hoặc protocol analyzer when speed at which data is being sent is different to that of what chúng ta phải thiết lập UART để nhận nó. A overrun error thông thường xảy ra khi chương trình của chúng ta không thể đọc từ cổng “đủ nhanh”. Nếu chúng ta không có một byte đầu vào ở ngoài của thanh ghi ”đủ nhanh” (register fast enough), và byte khác để nhận, thì byte cuối cùng sẽ bị mất và một lỗi tràn sẽ xảy ra. Bit 0 cho thấy data ready, có nghĩa là một byte được nhận bởi UART và bộ đệm sẵn sàng để đọc. Modem Status Register (MSR) Bit Notes Bit 7 Carrier Detect Bit 6 Ring Indicator Bit 5 Data Set Ready Bit 4 Clear To Send Bit 3 Delta Data Carrier Detect Bit 2 Trailing Edge Ring Indicator Bit 1 Delta Data Set Ready Bit 0 Delta Clear to Send Modem Status Register Bit 0 của modem status register cho thấy delta clear to send, delta có nghĩa là một sự thay đổi bên trong, vì vậy delta clear to send nghĩa là có một sự thay đổi bên trong đường clear to send, từ lần đọc cuối cùng của thanh ghi này. Điều này cũng đúng với các bits 1 và 3. Bit 1 cho thấy sự thay đổi bên trong đường Data Set Ready trong khi Bit 3 cho thấy một sự thay đổi bên trong đường Data Carrier Detect. Bit 2 là Trailing Edge Ring Indicator chỉ báo rằng có một sự biến đổi từ trạng thái thấp đến trạng thái cao trên đường Ring Indicator. Bits 4 đến bit 7 cho thấy trạng thái hiện thời của các đường dữ liệu khi đọc. Bit 7 cho thấy Carrier Detect, Bit 6 cho thấy Ring Indicator, Bit 5 cho thấy Data Set Ready & Bit 4 cho thấycác trạng thái của đường Clear To Send. Scratch Register Scratch register không sử dụng cho truyền thông nhưng được sử dụng như một nơi để lưu một byte của dữ liệu. Việc sử dụng thực tế của nó là xác định UART là 8250/8250B hoặc a 8250A/16450 và thậm chí cái đó không phải là chính thức như 8250/8250B không bao giờ được thiết kế cho AT và không thể hack bus speed. 6.4. Giao tiếp USB của máy PC: Mục tiêu: Mô tả về hệ thống, kiểu truyền, giao thức của USB. Nội dung 6.4.1 Giới thiệu chung. USB là một giao tiếp cho phép dữ liệu truyền giữa máy tính chủ (host) và một nhiều loại thiết bị ngoại vi đồng thời. Thiết bị ngoại vi được cắm vào được chia sẻ băng thông của USB thông qua giao thức dựa trên cơ chế lập lịch và dùng thẻ bài (token). Hệ thống bus này cho phép các thiết bị có thể cắm vào, thiết lập chế độ, sử dụng và rút ra trong khi host và các TBNV khác vẫn đang hoạt động 6.4.2 Mô tả hệ thống USB Một hệ thống USB được mô tả bao gồm ba thành phần chính sau: Kết nối USB (USB interconnect) Các thiết bị USB (USB devices) Chủ USB (USB host) Kết nối USB cho biết phương thức mà các thiết bị kết nối và truyền thông với máy chủ (host). Bao gồm như sau: Cấu trúc liên kết bus (Bus Topology): Mô hình liên kết giữa các thiết bị USB và host Các quan hệ lớp trong (Inter-layer Relationships): Các tác vụ của USB được thực hiện theo từng lớp trong hệ thống Mô hình luồng dữ liệu (Data Flow Models): LÀ cách mà dữ liệu di chuyển trong hệ thống giữa các đối tác truyền thông Lập lịch USB (USB Schedule): USB cung cấp một kết nối chia sẻ. Việc truy nhập vào kết nối được lập lịch để có thể hỗ trợ truyền thông đẳng thời và tránh xung đột Cấu trúc liên kết bus Về mặt vật lý USB là một kiến trúc tầng sao (tiered star) . Một HUB ở tại trung tâm của mỗi sao, với 7 bit địa chỉ USB cho phép quản lý tối đa 127 thiết bị ngoại vi đây là con số mang tính lý thuyết bởi khi có càng nhiều thiết bị đấu nối thì tốc độ truyền càng chậm do dải thông của toàn bộ bus bị phân chia đến từng thiết bị. Hình 6. 6 Cấu trúc tầng sao của usb Chủ USB ( host USB) Chủ USB chính là máy tính cá nhân với hệ điều hành có khả năng quản lý USB Một mạng USB chỉ được phép có một chủ USB, máy tính sử dụng phần cứng phần mềm USB để làm việc như một chủ bus . Máy tính nhận biết việc cắm thêm hay dỡ bỏ một thiết bị ngoại vi để khởi động quá trình đánh số và các quá trình truyền dữ liệu khác trong bus. Máy tính cũng có trách nhiệm kiểm tra trạng thái,thống kê hoạt động và kiểm tra ghép nối điện giữa bộ điều khiển chủ và các thiết bị USB ngoại vi. Thiết bị USB Các thiết bị USB có chức năng tớ trong mạng bus . Ta chia ra làm hai loại thiết bị USB : HUB Một hub ngoài có một cổng hướng về máy chủ (upstream) và 4 cổng ra thiết bị ghép nối (downstream) trong máy PC cũng có một hub cắm ngay trên bản mạch chính hub này được gọi là hub gốc (roothub). Hub thường gồm có một bộ điều khiển hub và một bộ lặp (repeater) một hub có chức năng : chuyển một ổ cắm USB thành nhiều ổ cắm, nhận biết các thiết bị mới được đấu vào, xoá đi một thiết bị đã đấu nối vào bus nhưng sau đấy được tháo ra để thực hiện được việc này có những trạng thái bus được tạo ra theo cách đặc biệt (dựa vào mức điện áp, ta không đề cập đến kỹ thuật này ở đây) Có thể nói trái tim của hub chính là vi điều khiển USB 8x930 là loại vi điều khiển 8 bit với bộ nhớ và cổng ngoại vi được cấy ở bên trong vi điều khiển này có thể xử lí được cả 4 loại truyền dữ liệu : điều khiển, ngắt đồng bộ cách biệt và khối. Truyền dữ liệu giữa thiết bị và máy chủ được thực hiện thông qua một cặp điểm cuối trong vi điều khiển này mỗi điểm cuối được trang bị một bộ đệm FIFO phát và FIFO thu. Tuỳ vào các ứng dụng mà ta cần các FIFO có dung lượng khác nhau Hoạt động của bộ điều khiển USB được lập trình thông qua các thanh ghi chức năng đặc biệt ., giao thức USB được cấy bên trong ROM của 8x930 vì vậy người lập trình không cần quan tâm đến vấn đề này Thiết bị chức năng Là các thiết bị ngoại vi như : chuột, bàn phím. Màn hình, máy quét, ADC, vi điều khiển mọi thiết bị chức năng của bus đều phải theo các qui định của USB để máy chủ có thể nhận biết được chúng. Mọi thiết bị USB đều được thiết kế gồm 3 phần chính: Phần giao diện tuần tự SIE là vi mạch chịu trách nhiệm nhận và gửi dữ liệu theo chuẩn USB Một tổ hợp giũa phần cứng và firmware nhận nhiệm vụ truyền dữ liệu giữa khối SIE và điểm cuối của thiết bị qua các đường ống (pipe) thích hợp của chúng Thành phần thứ 3 là phần chức năng của thiết bị ngoại vi 6.4.3 Giao diện vật lý Giao diện vật lý của USB mô tả về mặt điện tử và cơ khí của kết nối USB Chuẩn về cơ khí (Mechanical): Chuẩn USB sử dụng cáp 4 sợi để truyền tín hiệu và nguồn nuôi. Tín hiệu được truyền qua 2 dây cho mỗi đoạn liên kết điểm – điểm. Có ba loại cáp chính. Cáp USB tốc độ cao (high-speed) là 480 Mb/s. Cáp USB tốc độ đủ (full-speed) là 12 Mb/s. Cáp USB dành cho truyền thông tốc độ thấp ở 1.5 Mb/s. Cáp USB high/full-speed Hình 6. 7 Cáp dùng cho USB USB quy định hai loại đầu cắm được gọi là dạng “A” và “B”. Hai loại này chỉ khác nhau về kiểu dáng Hình 6.8: Đầu cắm USB dạng A và B Chuẩn về điện tử (Electrical) Tín hiệu đồng hồ được truyền và giải mã cùng với dữ liệu. Phương pháp mã hoá bit là NRZI cùng với việc nhồi bit để đảm bảo chính xác trong truyền thông. Chân Tên gọi Màu dây Mô tả 1 VBUS Đỏ +5Vdc 2 D- Trắng Dữliệu - 3 D+ Xanh lục Dữliệu + 4 GND Đen Nối đất Qua ổ cắm USB ở phía sau máy tính có thể lấy ra điện áp +5v với dòng tiêu thụ khoảng 100mA, trong một số trường hợp có thể lấy ra dòng tiêu thụ đến 500mA Hai đường dẫn dữ liệu D+ và D- là các tín hiệu vi sai với mức điện áp bằng 0/3,3V. Điện áp nguồn nuôi ở bus USB có thể đến +5.25 V Và khi chịu dòng tải lớn có thể giảm xuống +4.2V, nếu bổ sung một vi mạch ổn áp có thể tạo ra một điện áp ổn định +3.3V Toàn bộ hệ thống được 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 lớn hơn 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 trong máy tính. Đấy cũng chính là một trong các ưu điểm của USB là các thiết bị chức năng có thể lấy nguồn nuôi luôn từ host Mức tín hiệu Chuẩn USB quy định mức của tín hiệu cho từng kiểu truyền low-speed, full-speed và high-speed Low-/Full-speed Trạng thái bus Mức tín hiệu Tại phía phát (vào thời điểm kết thúc thời gian bit) Tại phía nhận Yêu cầu Chấp nhận được “1” D+ > VOH (min) and D- < VOL (max) (D+) - (D-) >200 mV và D+ >VIH (min) (D+) - (D-) >200 mV “0” D- > VOH (min) and D+ < VOL (max) (D-) - (D+) > 200 mV và D->VIH (min) (D-) - (D+) > 200 mV Trạng thái rỗi: Low- speed Full-speed Không quan tâm D- > VIHZ (min) và D+ < VIL (max) D+ > VIHZ (min) và D- < VIL (max) D- > VIHZ (min) và D+ < VIH (min) D+ > VIHZ (min) và D- < VIH (min) Reset D+ and D-<VOL (max) for ≥10ms D+ and D-<VIL (max) for ≥10 ms D+ and D-<VIL (max) for ≥2.5 µs Với kiểu truyền Low-/Full-speed, bên nguồn phải đảm bảo đưa ra được mức tín hiệu chỉ ra ở cột 2 và bên nhận phải nhận ra trạng thái đúng của đường truyền ứng với mức ở cột 3 Full-/High-speed Trạng thái đường truyền Mức tín hiệu bên phía phát Mức tín hiệu bên phía thu Tín hiệu sai phân High- speed “1” Mức tín hiệu một chiều DC: VHSOH (min) ≤D+ ≤VHSOH (max) VHSOL (min) ≤D- ≤VHSOL (max) Mức tín hiệu sai phân AC: A transmitter must conform to eye pattern templates called out in Section 7.1.2. See Note 2. Mức tín hiệu sai phân AC signal at target connector must be recoverable, as defined by eye pattern templates called out in Section 7.1.2. See Note 2. Tín hiệu sai phân High- speed “0” DC Levels: VHSOH (min) ≤D- ≤VHSOH (max) VHSOL (min) ≤D+ ≤VHSOL (max) See Note 1. AC Differential Levels: A transmitter must conform to eye pattern templates called out in Section 7.1.2. See Note 2. AC Differential Levels: signal at target connector must be recoverable, as defined by eye pattern templates called out in Section 7.1.2. See Note 2. Trạng thái rỗi High- speed NA DC Levels: VHSOImin ≤ (D+, D-) ≤VHSOImax See Note 1. AC Differential Levels: Magnitude of differential voltage is ≤100 mV See Note 3. Mã hóa và giải mã tín hiệu: USB thực hiện mã hóa theo phương pháp NRZI (Non Return to Zero – Inverted) khi truyền một gói tin. Với phương pháp NRZI, bit 1 thể hiện bằng sự không thay đổi về mức tín hiệu trên đường truyền còn bit 0 thể hiện bằng sự thay đổi mức tín hiệu. Nhồi bít (Bit Stuffing) Để đảm bảo sự chính xác khi truyền tín hiệu, chuẩn USB thực hiện nhồi bit khi truyền các gói tin. Một bit 0 sẽ được thêm vào (nhồi) sau mỗi 6 bit liên tục trong luồng dữ liệu trước khi mã hóa NRZI được thực hiện. Điều đó đảm bảo cho bên nhận có thể đồng bộ hóa tín hiệu xung đồng bộ sau mỗi 7 bit. Việc nhồi bit được cho phép bắt đầu sau mẫu SYNC. Bit 1 ở cuối của mẫu đồng bộ SYNC được đếm là bit đầu tiên trong chuỗi dữ liệu. Bên nhận phải giải mã dữ liệu NRZI, phát hiện ra bít nhồi và bỏ qua chúng. Điểm cuối và đường ống Điểm cuối là đầu nguồn hay đầu phát của một thiết bị ngoại vi, một thiết bị ngoại vi có thể có nhiều điểm cuối nó chỉ ra dữ liệu cần thiết được dẫn tới đâu hoặc cần phải đón nhận từ đâu, nó làm cho thiết bị được định địa chỉ một cách linh hoạt ví dụ như chuột USB chẳng hạn có một điểm cuối 0, một điểm cuối 1. Điểm cuối 0 được sử dụng khi khởi tạo các dữ liệu hữu ích được bộ vi điều khiển ghi trên một khoảng cách định trước tính theo điểm cuối 1 và từ đó máy PC đọc vào. Mỗi điểm cuối thiết bị thường tương ứng với một FIFO đóng vai trò trung gian giữa các cuộc truyền, nhận dữ liệu giữa khối SIE và phần còn lại của thiết bị Một đường ống là một kênh logic dẫn tới một điểm cuối trong một thiết bị, ta có thể hình dung đường ống như một kênh dữ liệu được hình thành từ một dây dẫn riêng lẻ . Nhưng trên thực tế dữ liệu được truyền trên đường ống dưới dạng các gói dữ liệu trong một khung truyền chiếm hàng mili giây và được phần cứng phân phát thông qua địa chỉ điểm cuối . Một thiết bị có thể sử dụng nhiều đường ống đồng thời vì thế tốc độ truyền dữ liệu tổng cộng được nâng lên . Nói cách khác Đường ống là phần mềm quản lý điểm cuối của thiết bị USB, ta có thể hiểu chúng là những kênh phần mềm được gọi lên trong phần mềm điều hành USB và có nhiệm vụ truyền tin đến những điểm cuối của thiết bị ngoại vi, mọi thiết bị trong bus USB sẽ cùng chia giải tần qua một giao thức khung truy nhập máy chủ. Kết nối các thiết bị USB Khi có một kết nối đến HUB nó sẽ thông báo đến máy chủ, máy chủ hỏi HUB để xác định nguyên nhân của thông báo, HUB trả lời bằng việc nhận dạng cổng đã kết nối với thiết bị USB . Máy chủ cho phép cổng và định địa chỉ thiết bị USB với một đường ống điều khiển bằng cách sử dụng địa chỉ mặc định USB, tất cả các thiết bị khi đấu nối vào lần đầu đều được nhận một địa chỉ mặc định USB, Host xác định xem thiết bị vừa được đấu nối là HUB hay thiết bị chức năng và gắn cho thiết bị USB một địa chỉ duy nhất Máy chủ thiết lập một đường ống điều khiển đối với thiết bị USB bằng cách sử dụng địa chỉ USB đã được gán và số 0 điểm cuối. Nếu thiết bị USB là một hub thì khi có một thiết bị USB kết nối vào nó quá trình trên diễn ra liên tục Nếu thiết bị USB là một thiết bị chức năng thì các thông báo về việc kết nối sẽ được phần mềm USB gửi tới phần mềm máy chủ Loại bỏ các thiết bị USB Khi một thiết bị USB được gỡ bỏ từ một trong số các cổng của hub thì hub tự động vô hiệu hoá cổng và cung cấp một thông tin cho host báo về việc loại bỏ thiết bị ra khỏi bus. Sau đấy host sẽ loại bỏ các số liệu đã viết về thiết bị vừa dỡ bỏ Nếu thiết bị USB dỡ bỏ là một hub thì quá trình dỡ bỏ phải được thực hiện với tất cả thiết bị USB mà trước đó đã được đấu nối vào hub 6.4.4 Sự điểm danh Như ta đã biết ở phần trước một ưu điểm đặc biệt của bus USB là khả năng “ cắm là chạy “ ( Plug and Play) đối với thiết bị mới được đấu nối vào bus . Muốn thế hệ thống phải hoạt động trong trạng thái thường xuyên kiểm tra thông tin từ một thiết bị, từ thông tin này thiết bị sẽ được nạp phần mềm điều khiển thích hợp Khi một thiết bị mới được điểm danh (enumeration) sẽ nhận được một địa chỉ bus và được hỗ trợ qua một phần mềm cụ thể Việc điểm danh được thực hiện hoàn toàn độc lập bởi hệ điều hành, khi một thiết bị mới được đấu nối vào có thể xảy ra hiện tượng là hệ điều hành yêu cầu cần một đĩa điều khiển thích hợp Nhưng cũng có nhiều phần mềm điều khiển đã được tích hợp trong hệ thống Quá trình điểm danh là quá trình hệ điều hành tiến hành kiểm tra các phần cứng mới được đấu nối vào qua thông tin nó thu được từ thiết bị được đấu nối . Thông tin này thường gọi là bản tóm lược Khi có một thiết bị mới được đấu nối vào bus sau đấy diễn ra các bước sau: Hub nhận biết được và nó thông báo với máy chủ là có một thiết bị mới được đấu nối vào Máy chủ hỏi lại hub xem thiết bị đã được nối vào cổng nào Máy chủ khi này biết thiết bị đã được nối vào cổng nào, nó sẽ đưa ra một lệnh nối đến cổng đó và thực hiện một thao tác reset lại bus Hub tạo ra một tín hiệu reset với độ dài 10 ms và cấp một dòng điện với cường độ 100mA cho thiết bị . Bây giờ thiết bị đã sẵn sàng hoạt động và trả lời bằng một địa chỉ mặc định 0 Trước khi nhận được một địa chỉ riêng thì thiết bị vẫn được trao đổi với host thông qua địa chỉ mặc định . máy chủ đọc byte đầu tiên của bản tóm lược, để xem độ lớn bản tóm lược là bao nhiêu Máy chủ gán cho thiết bị một địa chỉ bus riêng Qua địa chỉ mới máy chủ đọc tất cả các thông tin cấu hình có từ thiết bị Qua đó máy chủ sẽ gán cho thiết bị một phần điều khiển phù hợp nếu có thể. Bây giờ thiết bị sẽ được phép lấy ra dòng điện tiêu thụ như trong bản tóm lược đã nêu. Như vậy là thiết bị và máy chủ đều đã sẵn sàng trao đổi Mỗi thiết bị có các thông số như : mã giao thức, nhà sản xuất, loại thiết bị,độ lớn FIFO, dòng tiêu thụ Tất cả các thông tin này được lưu trong ROM của thiết bị khi thiết bị được đấu nối vào vi điều khiển của hub sẽ đọc các thông tin này và truyền cho máy chủ . Để máy chủ có những điều khiển phù hợp 6.4.5 Các kiểu truyền USB Truyền dữ liệu USB là giai đoạn nằm giữa phần mềm máy chủ và điểm cuối của thiết bị ngoại vi . Thông tin có thể đi theo một chiều hoặc 2 chiều . Máy chủ xử lý việc trao đổi dữ liệu với từng thiết bị ngoại vi một cách độc lập . USB quản lý 4 kiểu truyền dữ liệu. Truyền điều khiển ( control transfer ): là truyền theo kiểu 2 chiều, kiểu truyền này được sử dụng để cài đặt thiết bị ngoại vi giao thức truyền điều khiển được bắt đầu bằng một gói khung, tiếp theo là gói dữ liệu và kết thúc là gói bắt tay . Mọi thiết bị ngoại vi USB đều phải xử lý được kiểu truyền này Truyền ngắt : Là truyền một chiều . Các thiết bị cung cấp một lượng dữ liệu nhỏ tuần hoàn như : chuột, bàn phím, joystick . Vì máy tính không thể ngắt nên các ngắt từ thiết bị ngoại vi được xử lý trong vòng đợi, tức theo chu kỳ hệ thống sẽ hỏi ( 10ms chẳng hạn ) xem có dữ liệu mới được gửi đến không. Giao thức này khởi động bằng một khung IN (IN token) . Thiết bị ngoại vi trả lời bằng một gói NAK nếu không có ngắt nếu có ngắt ngoại vi trả lời bằng một gói dữ liệu, khi việc nhận dữ liệu đã hoàn thành máy chủ trả lời bằng một ACK, nếu có lỗi không trả lời . Nếu bị nghẽn ở điểm cuối của thiết bị ngoại vi nó sẽ gửi đến máy chủ gói STALL và đợi hệ thống xử lý Truyền đẳng thời: là phương pháp truyền một chiều .Vì thế cuộc truyền cần hai điểm cuối ở thiết bị ngoại vi hoặc hai pipe ở phần mềm máy chủ . Khi có một lượng lớn dữ liệu với tốc độ dữ liệu đã được qui định như card âm thanh, loa, điện thoại sử dụng kiểu truyền này . theo kiểu truyền này việc khắc phục lỗi không được thực hiện bởi những lỗi truyền lẻ tẻ cũng không ảnh hưởng đáng kể đến chất lượng cuộc truyền Truyền theo khối : Truyền 2 chiều, khi có lượng lớn dữ liệu cần truyền và cần kiểm soát lỗi, nhưng không có yêu cầu thúc ép về thời gian truyền thì sử dụng kiểu truyền này. Ví dụ : máy in, máy quét Đối với các ứng dụng trong đo lường điều khiển kiểu truyền điều khiển thường được sử dụng vì vừa có độ an toàn dữ liệu vừa có tốc độ lớn 6.4.6 Giao thức USB Phần này ta sẽ mô tả về các lớp giao thức của USB Máy chủ USB sẽ giữ bus hoạt động liên tục bằng cách truyền đi một gói khởi đầu khung SOF ( start of Frame) trong chu kỳ 1ms . Nói chung mỗi lần truyền tin Máy chủ USB cần 3 gói Gói mã thông báo (Token packet) Gói dữ liệu (Data packet) Gói bắt tay (Handshake packet) Trước khi đi vào chi tiết các gói ta định nghĩa một số trường. Tuỳ thuộc vào từng gói mà được tạo thành bởi các trường khác nhau Các trường Trường Sync: Tất cả các gói đều bắt đầu bằng trường này, trường này gồm 8 bit . Nó được sử dụng để đồng bộ xung clock của việc thu với việc phát, 2 bit sau cùng được sử dụng để chỉ ở đâu trường PID bắt đầu và điểm kết thúc của trường Sync Trường định danh gói : Trường định danh gói (PID) được cho theo sau trường Sync của các gói USB Bốn bit đầu của trường này cho ta biết kiểu gói,khuôn dạng của gói và kiểu phát hiện lỗi được áp dụng cho gói đó. Bốn bit sau là bốn bit bù của 4 bit trước nó là các bit kiểm tra nó được sử dụng để đảm bảo quá trình giải mã là tin cậy. Nếu có một lỗi PID xảy ra thì 4 bit này không phải là 4 bit bù của 4 bit trước. Host và các thiết bị chức năng phải giải mã được tất cả các trường PID nhận được .Nếu một PID nào có lỗi xuất hiện lỗi này có thể là do: không giải mã được giá trị, hoặc mang đến một giá trị không được định nghĩa .Thì thông tin này bị cho là sai lệch và phía nhận sẽ bỏ qua. Sau đây là bảng các kiểu và giá trị PID với các gói khác nhau Kiểu PID Tên PID Giá trị PID Mô tả Token OUT IN SOF SETUP 0001 1001 0101 1101 Cho biết địa chỉ và điểm cuối trong giao tác từ Host tới chức năng Cho biết địa chỉ và điểm cuối trong giao tác từ chức năng tới Host Gói khởi đầu khung và số khung Cho biết địa chỉ và điểm cuối trong giao tác SETUP từ host tới chức năng Data DATA0 DATA1 0011 1011 Gói dữ liệu chẵn Gói dữ liệu lẻ Handshake ACK NAK 0010 1010 Bên nhận đã tiếp nhận được gói dữ liệu không có lỗi Thiết bị nhận không tiếp nhận dữ liệu hoặc thiết bị phát không thể gửi giữ liệu đi được STALL NYET 1110 0110 Điểm cuối bị dừng hoặc ống điều khiển không được hỗ trợ Không đáp ứng việc nhận Special PRE ERR SPLIT PING 1100 1100 1000 0100 Host đã ra tín hiệu cho phép cổng downstream thực hiện truyền ở tốc độ thấp Trường địa chỉ. Trường này có 7 bit địa chỉ do đó nó trỏ tới được 127 địa chỉ, địa chỉ 0 là không hợp lệ. Nó chỉ có ý nghĩa khi thiết bị vừa đấu nối vào và đây là địa chỉ mặc định . Trường này chỉ ra nguồn hoặc nơi đến của gói dữ liệu Trường điểm cuối Trường điểm cuối (ENDP) có kích thước 4 bit trỏ được 16 điểm cuối. Trường này cho phép xác định các điểm cuối một cách linh hoạt trong các thiết bị có nhiều hơn một điểm cuối Trường dữ liệu Trường dữ liệu của giao thức USB cho phép có kích thước từ 0 đến 1024 byte và phải là một số nguyên của byte Trường số khung Có độ lớn 11 bit do host tăng thêm trên mỗi khung cơ sở, trường số khung lên tới con số cực đại là 7FFH và chỉ được gửi trong các mã thông báo SOF tại thời điểm khởi đầu của mỗi khung Trường kiểm tra dự phòng tuấn hoàn (CRC) Được sử dụng để bảo vệ tất cả các trường NON-PID trong gói mã thông báo (token) và gói dữ liệu (data). Trường này được phát sinh thông qua các trường tương ứng của nó ở bộ phận phát trước khi thực hiện vệc nhồi bit. Tương tự vậy CRC được giải mã ở bộ phận nhận sau khi loại bỏ việc nhồi các bit. Nếu một CRC bị lỗi thì các trường tương ứng sẽ bị bỏ qua bên nhận Trường kết thuc gọi thúc gói : Trường kết thúc gói EOP nó đánh dấu sự kết thúc của một gói 6.4.7 Khuôn dạng các gói tin Trong phần này ta sẽ ta sẽ mô tả về các loại gói tin: gói tin bắt đầu khung SOF, gói mã thông báo (token),gói dữ liệu (data packet),gói bắt tay (handshake) đây là 3 gói được sử dụng trong truyền tin USB. Host sẽ giữ bus hoạt động liên tục bằng cách truyền liên tục gói SOF trong chu kỳ 1.00ms±0.0005ms. Cuộc truyền bắt đầu khi bộ điều khiển chủ gửi một gói mã thông báo gồm địa chỉ thiết bị, số hiệu điểm cuối ENDP, hướng của cuộc truyền và dạng ống. Thiết bị có địa chỉ tương ứng sẽ tự chọn bằng cách giải mã địa chỉ của nó từ gói mã thông báo đó . Trường ghi hướng của cuộc truyền trong gói mã thông báo sẽ yêu cầu thiết bị ngoại vi phát dữ liệu. Thiết bị ngoại vi sẽ trả lời bằng gói dữ liệu. Nếu không máy chủ sẽ tiếp tục bằng việc truyền dữ liệu. Tóm lại sau khi nhận được dữ liệu, nơi nhận ( host or ngoại vi) sẽ gửi lại một gói bắt tay. Gói này có thể là : ACK ( chấp nhận dữ liệu), NAK (không chấp nhận dữ liệu), STALL ( tắc nghẽn) Khuôn dạng gói bắt đầu khung Gói bắt đầu khung SOF được đưa ra bởi host với

Các file đính kèm theo tài liệu này:

  • docgiao_trinh_ky_thuat_ghep_noi_may_tinh_trinh_do_trung_cap.doc