Một vài thiết bị không có sự phù hợp rõ rệt với một lớp thiết bị được
định nghĩa. Ví dụ như các thiết bị điều khiển động cơ, rơ le, hay các cơ cấu
chấp hành khác. Một ví dụ khác là các thiết bị kết nối giữa hai máy vi tính (Cầu
sử dụng USB). Nếu một thiết bị đầu cuối mà không phù hợp để gán vào một
lớp được định nghĩa thì người thiết kế sẽ phải viết driver cho thiết bị để cung
cấp cho máy chủ các thông tin giúp nó giao tiếp được với thiết bị đó.
71 trang |
Chia sẻ: lethao | Lượt xem: 1453 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Việc áp dụng hình phạt theo luật hình sự Việt Nam năm 1999, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iệu khối lớn thì nó phát ra một thông báo
IN. Điểm cuối chức năng đáp ứng lại bằng một gói dữ liệu hoặc sẽ đáp ứng lại
bằng gói bắt tay NAK hay STALL nếu chức năng chưa có khả năng đáp ứng lại
bằng dữ liệu. Gói NAK chỉ ra rằng chức năng tạm thời chưa có khả năng trả về
dữ liệu (ví dụ: chưa có dữ liệu để truyền tới host), trong khi STALL chỉ ra rằng
điểm cuối thường xuyên bị dừng và yêu cầu có sự can thiệp của phần mềm hệ
thống USB. Nếu host nhận được một gói dữ liệu hợp lệ nó sẽ đáp ứng với một
gói bắt tay ACK. Nếu host phát hiện thấy lỗi khi nhận dữ liệu thì nó không đưa
ra đáp ứng tới chức năng.
Khi host sẵn sàng để phát một khối dữ liệu thì ban đầu nó phát ra một
gói thông báo OUT và theo ngay sau là một gói dữ liệu ( ngoài ra ban đâu nó
còn có thể phát một gói thông báo đặc biệt PING). Nếu chức năng nhận dữ liệu
mà không có lỗi thì nó sẽ trả lời bằng một trong ba (hoặc là 4 bao gồm NYET
đối với thiết bị làm việc ở tốc độ cao) gói bắt tay:
· ACK để cho biết gói dữ liệu nhận được không có lỗi và host có thể gửi
gói tiếp theo.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
31
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
· NAK để chỉ ra rằng gói dữ liệu đã nhận không có lỗi nhưng host nên
gửi lại dữ liệu vì chức năng đang tạm thời ở trong tình trạng không cho phép
nhận dữ liệu (ví dụ như tràn bộ đệm).
· Nếu điểm cuối bị dừng thì STALL được trả về để báo cho host rằng
không nên cố thử lại giao tác bởi vì có tình trạng lỗi tại chức năng.
Nếu gói dữ liệu đã nhận có lỗi CRC hoặc lỗi nhồi bít thì sẽ không có đáp
ứng nào từ phía chức năng.
Hình 3.11 cho thấy chuỗi đọc và ghi dữ liệu truyền khối. Host luôn bắt
đầu giao tác đầu tiên bằng một DATA0 PID. giao tác tiếp theo sẽ là một
DATA1 PID nếu bên phát dữ liệu nhận được gói ACK. Còn về phía thu thì khi
nhận một gói dữ liệu thành công nó sẽ hiểu là gói dữ liệu tiếp theo sẽ có DATA
PID trái với DATA PID của gói nó vừa nhận.
Hình 3.11: Đọc và ghi truyền khối [1]
3.5.2 Các giao tác truyền điều khiển
Các giao tác truyền điều khiển có tối thiểu hai giai đoạn giao tác là
Setup và Status. Truyền điều khiển có thể tuỳ chọn có hay không một giai đoạn
dữ liệu ở giữa giai đoạn Setup và giai đoạn Status. Trong suốt giai đoạn Setup,
một giao tác Setup được sử dụng để truyền thông tin tới điểm cuối điều khiển
của một chức năng. Hình 3.12 cho thấy khuôn dạng giao tác Setup. Một giao
tác Setup luôn sử dụng một DATA0 PID cho trường dữ liệu của giao tác Setup.
Một chức năng có nhiệm vụ nhận một giao tác Setup phải chấp nhận dữ liệu
của gói Setup và đáp ứng lại một gói ACK. Nếu dữ liệu bị hỏng thì huỷ bỏ dữ
liệu và không trả lại đáp ứng bắt tay.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
32
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Hình 3.12: Giao tác SETUP điều khiển [1]
Trong giai đoạn dữ liệu, nếu nó được diễn ra thì đối với truyền điều
khiển sẽ gồm một hay nhiều giao tác IN hoặc OUT và có luật giao thức tương
tự như truyền khối. Tất cả các giao tác trong giai đoạn dữ liệu phải có cùng
hướng (hoặc tất cả dữ liệu là IN hoặc tất cả dữ liệu là OUT). Số lượng dữ liệu
được gửi trong giai đoạn dữ liệu và hướng của nó đã được chỉ rõ trong giai
đoạn Setup. Nếu lượng dữ liệu vượt quá kích thước cho phép của một gói dữ
liệu thì dữ liệu sẽ được gửi trong nhiều giao tác IN hoặc OUT.
Giai đoạn Status của truyền điều khiển là giao tác cuối cùng của chuỗi
các giao tác. Giai đoạn Status cho các thiết bị làm việc ở tốc độ cao còn bao
gồm giao thức PING. Giai đoạn Status được chỉ ra bởi một sự thay đổi về
hướng của luồng dữ liệu so với giai đoạn trước đó và luôn sử dụng một
DATA1 PID. Ví dụ nếu giai đoạn dữ liệu bao gồm các giao tác OUT thì giai
đoạn Status sẽ là một giao tác IN. Nếu chuỗi điều khiển không có giai đoạn dữ
liệu thì nó bao gồm một giai đoạn Setup được theo sau bởi một giai đoạn Status
gồm một giao tác IN.
Hình 3.13 cho thấy thứ tự các giao tác, giá trị chuỗi bit dữ liệu và loại
PID dữ liệu cho chuỗi đọc và ghi điều khiển.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
33
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Hình 3.13: Chuỗi điều khiển đọc và ghi [1]
Khi một gói bắt tay STALL được gửi bởi một điểm cuối điều khiển
trong giai đoạn dữ liệu cũng như giai đoạn Status của một truyền điều khiển thì
gói bắt tay STALL phải được trả lại trên tất cả các truy cập thành công tới điểm
cuối cho đến khi một SETUP PID được nhận. Điểm cuối không bị yêu cầu trả
lại một gói bắt tay STALL sau khi nó nhận một SETUP PID. Một mặc định đối
với điểm cuối đó là nếu một gói bắt tay ACK được trả lời cho giao tác SETUP
thì host chờ đợi điểm cuối tự động khôi phục để thoát khỏi trạng thái gây ra
STALL và điểm cuối phải làm việc một cách bình thường.
3.5.3 Các giao tác ngắt
Các giao tác ngắt có thể gồm giao tác IN hoặc OUT. Dựa trên việc nhận
một thông báo IN, thì một chức năng có thể trả lời bằng một gói dữ liệu, một
NAK hay một STALL. Nếu điểm cuối không có thông tin ngắt mới để trả lời
thì chức năng trả lời bằng một gói bắt tay NAK trong pha dữ liệu. Nếu trạng
thái dừng được thiết lập cho điểm cuối ngắt thì chức năng sẽ trả lại một gói bắt
tay STALL. Nếu một ngắt chưa quyết định thì chức năng sẽ trả lại thông tin
ngắt như một gói dữ liệu. Host trong đáp ứng nhận gói dữ liệu sẽ trả lời bằng
một gói ACK nếu dữ liệu được nhận không có lỗi và trả lời một gói bắt tay nào
nếu dữ liệu nhận được có lỗi.. Hình 3.14 cho thấy khuôn dạng giao tác ngắt.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
34
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Hình 3.14: Khuôn dạng giao tác ngắt [1]
3.5.4 Các giao tác đẳng thời
Các giao tác đẳng thời có một pha thông báo và một pha dữ liệu, không
có pha bắt tay như được thấy trong hình 3.15. Host phát ra một thông báo IN
hoặc OUT và theo sau là pha dữ liệu. trong pha dữ liệu thì điểm cuối (đối với
giao tác IN) hoặc host (đối với giao tác OUT) sẽ phát dữ liệu. Các giao tác
đẳng thời không hỗ trợ pha bắt tay cũng như khả năng thử lại
Hình 3.15: Khuông dạng giao tác đẳng thời [1]
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
35
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
3.6 Đồng bộ lật dữ liệu và thử lại
USB cung cấp một cơ chế để đồng bộ chuỗi dữ liệu giữa bên phát và
bên thu qua nhiều giao tác. Cơ chế này đem lại sự bảo đảm cho pha bắt tay của
một giao tác được dịch một cách chính xác ở cả bên phát và bên thu. Sự đồng
bộ đạt được thông qua việc sử dụng các PID DATA0, DATA1 và các bít tuần
tự lật dữ liệu riêng cho bên phát và bên thu. Các bít tuần tự lật dữ liệu bên thu
chỉ lật khi bên thu có khả năng nhận dữ liệu và nhận được một gói dữ liệu
không có lỗi cộng với PID dữ liệu đúng đắn. Các bit tuần tự lật dữ liệu bên phát
chỉ lật khi bên phát nhận được một gói ACK hợp lệ. Cả bên phát và bên thu đều
phải có các bít tuần tự lật dữ liệu được đồng bộ tại thời điểm bắt đầu của một
giao tác. Cơ chế đồng bộ được sử dụng thay đổi theo dạng của giao tác. Cơ chế
đồng bộ lật dữ liệu không hỗ trợ cho truyền đẳng thời.
Các điểm cuối tốc độ cao, các điểm cuối ngắt và đẳng thời độ rộng băng
tần lớn hỗ trợ kỹ thuật đồng bộ dữ liệu tương tự song khác so với đồng bộ lật
dữ liệu gọi là kỹ thuật xử lý tuần tự PID dữ liệu.
3.6.1 Khởi tạo thông qua thông báo SETUP
Hình 3.16: Khởi tạo SETUP [1]
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
36
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Truyền điều khiển sử dụng thông báo SETUP để khởi tạo host và các bít
tuần tự của chức năng. Hình 3.16 cho thấy host phát ra một thông báo SETUP
và theo sau đó là một giao tác OUT. Các số trong vòng tròn thể hiện các bit
tuần tự của bên phát và thu. Chức năng phải chấp nhận dữ liệu và trả lời bằng
một gói ACK. Khi chức năng chấp nhận giao tác nó phải thiết lập bit tuần tự
của nó là 1. Như vậy các bit tuần tự của cả bên phát và thu đều bằng 1 khi giao
tác SETUP vừa kết thúc.
3.6.2 Các giao tác dữ liệu thành công
Hình 3.17 cho thấy 2 giao tác thành công. Đối với bên phát dữ liệu thì
nó lật bit tuần tự của nó nhờ việc nhận được ACK. Bên thu lật bít tuần tự của
nó khi và chỉ khi nó nhận một gói dữ liệu hợp lệ và PID dữ liệu của gói đó phù
hợp với giá trị hiện tại của bít tuần tự. Bên phát chỉ lật bít tuần tự của nó khi
sau khi nó nhận ACK cho gói dữ liệu đã phát.
Trong mỗi giao tác, bên thu so sánh bit tuần tự bên phát (đã được mã
hóa trong PID của gói dữ liệu là DATA0 hay DATA1) với bít tuần tự bên thu.
Nếu dữ liệu chưa được chấp nhận, bên thu phải phát ra một gói NAK và các bit
tuần tự của cả bên phát và bên thu đều không thay đổi. Nếu dữ liệu có thể được
chấp nhận và bit tuần tự bên thu phù hợp với PID của gói dữ liệu thì dữ liệu
được chấp nhận và bit tuần tự được lật.
Hình 3.17: Các giao tác liền nhau [1]
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
37
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
3.6.3 Dữ liệu hỏng hoặc không được chấp nhận
Nếu dữ liệu không thể được chấp nhận hoặc gói dữ nhận được có lỗi thì
bên nhận sẽ phát ra một NAK hoặc một STALL hay chờ một khoảng thời gian
(timeout) tuỳ từng tình huống cụ thể và bên nhận sẽ không lật bit trình tự của
nó.
Hình 3.18 cho thấy trường hợp một giao tác bị từ chối nhận dữ liệu và
sau đó là một giao tác thử lại. Nếu bên phát nhận được một gói bắt tay mà
không phải là ACK hoặc nhận được timeout thì bên phát sẽ phát lại dữ liệu
đồng thời nó cũng không lật bit tuần tự của mình.
Hình 3.18: Giao tác có gói bắt tay NAK và sự thử lại [1]
3.6.4 Gói bắt tay ACK bị hỏng
Tín hiệu bắt tay ACK bị hỏng hoặc bị mất có thể khiến cho tạm thời mất
đi sự đồng bộ giữa bên thu và bên phát như trong hình 3.19. Ở đây, bên phát
đưa ra gói dữ liệu đúng, bên nhận nhận thành công song tín hiệu bắt tay ACK
lại bị hỏng.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
38
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Hình 3.19: Bắt tay ACK bị hỏng và sự thử lại [1]
Khi gói bắt tay ACK bị hỏng thì một sự mất đồng bộ tạm thời xuất hiện.
Bên phát do không nhận được ACK đã phát lại gói dữ liệu có PID dữ liệu là
DATA0, bên thu nhận gói dữ liệu và thấy PID dữ liệu không phù hợp với bit
tuần tự của nó do đó nó biết rằng đây chính là gói dữ liệu mà nó đã nhận thành
công ở giao tác trước đó. Bên thu sẽ huỷ bỏ gói dữ liệu này và không lật bit
tuần tự sau đó phát ra một gói bắt tay ACK để bên phát phát gói dữ liệu tiếp
theo. Nếu gói ACK này không bị hỏng thì bên phát và bên thu lại đạt được sự
đồng bộ về dữ liệu.
3.7 Phát hiện lỗi và khôi phục lại
USB cho phép thông tin từ điểm cuối tới điểm cuối đáng tin cậy ngay cả
khi có sự hiện diện của lỗi trên lớp báo hiệu vật lý. Điều này bao gồm khả năng
dò đáng tin cậy rất nhiều lỗi có thể xảy ra và khôi phục lại các lỗi trên một cơ
sở giao tác. Ví dụ các giao tác truyền điều khiển yêu cầu mức độ cao đối với độ
tin cậy dữ liệu, chúng hỗ trợ tính toàn vẹn dữ liệu từ đầu cuối tới đầu cuối bằng
cách dò lỗi và thử lại. Còn các giao tác đẳng thời do các yêu cầu về độ rộng
băng tần và độ trễ của chúng mà không cho phép thử lại và phải chịu các lỗi
không được sửa.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
39
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
3.7.1 Các loại lỗi gói
USB có 3 cơ chế dò lỗi: Sự vi phạm nhồi bit; các bit kiểm tra PID và các
CRC.
Luật nhồi bit là cứ 6 bit liên tiếp của dữ liệu sẽ chèn thêm một bit 0. Việc nhồi
bit được tính từ bit cuối cùng của mẫu đồng bộ. Hình 3.20 sẽ cho thấy một cách
vắn tắt luật nhồi bit.
Hình 3.20: Nhồi bit [1]
Cách kiểm tra lỗi PID đã được trình bày trong mục 3.3.1 (trường nhận
dạng gói); cách kiểm tra dùng CRC được trình bày trong mục 3.3.5 (các trường
kiểm tra độ dư vòng).
Ngoại trừ thông báo SOF, bất kỳ gói nào được nhận mà có lỗi thì bên
nhận sẽ huỷ bỏ dữ liệu của gói đó. Bảng 3.5 liệt kê các cơ chế dò lỗi, các loại
gói tương ứng và các đáp ứng của bên nhận.
Bảng 3.5: Các loại lỗi gói [1]
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
40
Trường
Lỗi
Hành động
PID
Kiểm tra PID, nhồi bit
Bỏ qua (lờ đi)
Địa chỉ
Nhồi bit, Kiểm độ dư
vòng
Bỏ qua (lờ đi)
Số khung
Nhồi bit, Kiểm độ dư
vòng
Bỏ qua (lờ đi)
Dữ liệu
Nhồi bit, Kiểm độ dư
vòng
Huỷ dữ liệu
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
3.7.2 Định thời thay đổi bus
Cả thiết bị và host đều không có loại gói bắt tay cho biết là gói có lỗi.
Chính sự không xuất hiện của gói ACK sẽ được hiểu là gói có lỗi. Như vậy
host và chức năng USB cần theo dõi xem bao nhiêu thời gian đã trôi qua kể từ
khi bên phát hoàn thành việc gửi một gói cho đến khi nó bắt đầu nhận một gói
đáp ứng. khoảng thời gian này được gọi là thời gian thay đổi bus. Host và các
thiết bị cần có bộ định thời để đo khoảng thời gian này. Nếu sau một khoảng
thời gian quy định (timeout) mà bên đang chờ để nhận một gói nào đó không
nhận được gói thì nó coi như giao tác vừa thực hiện đã bị thất bại. Hình 3.21
cho thấy thiết bị sử dụng bộ định thời thay đổi bus của nó giữa pha thông báo
với pha dữ liệu hoặc giữa pha dữ liệu và pha bắt tay. Cũng như vậy, host sử
dụng bộ định thời thay đổi bus của nó giữa pha dữ liệu và pha bắt tay hoặc giữa
pha thông báo và pha dữ liệu.
Hình 3.21: Công dụng bộ định thời thay đổi bus [1]
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
41
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Chương 4: Các lớp thiết bị được định
nghĩa
Chương này giới thiệu các lớp thiết bị được định nghĩa, giúp những
người thiết kế thiết bị đầu cuối USB nhận định xem sản phẩm của mình có
thuộc lớp thiết bị được định nghĩa hay không (nếu thuộc lớp thiết bị được định
nghĩa thì có thể bỏ qua khâu viết driver cho sản phẩm)
4.1 Các thành phần của một đặc tả lớp thiết bị
Một đặc tả lớp thiết bị định nghĩa số lượng và loại các điểm cuối bắt
buộc cũng như tuỳ chọn mà các thiết bị trong lớp đó có thể có. Một đặc tả lớp
cũng có thể định nghĩa hoặc đặt tên các định dạng dữ liệu được truyền trên bus.
Một vài đặc tả lớp định nghĩa các ứng dụng của dữ liệu đang được truyền, điều
này cho phép Host biết cách sử dụng dữ liệu mà nó nhận được. Một vài lớp
thiết bị sử dụng USB để truyền dữ liệu trong một định dạng được định nghĩa
bởi một giao diện khác (ví dụ các lệnh của giao diện SCSI được sử dụng bởi
các thiết bị lưu trữ thứ cấp (mass-storage device) . Một đặc tả lớp cũng có thể
định nghĩa các giá trị cho các mục trong các bộ mô tả chuẩn.
4.2 Các lớp thiết bị được định nghĩa
4.2.1 Thiết bị âm thanh (Audio)
Lớp thiết bị âm thanh chính là lớp các thiết bị gửi và nhận dữ liệu âm
thanh. Dữ liệu âm thanh có thể là tiếng nói được mã hoá, nhạc hay bất kỳ một
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
42
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
loại âm thanh nào khác. Các thiết bị thuộc lớp thiết bị âm thanh có thể sử dụng
kiểu truyền đẳng thời cho luồng âm thanh hoặc kiểu truyền khối cho dữ liệu đã
được mã hoá bằng giao thức MIDI (Musical Instrument Digital Interface)
4.2.2 Thiết bị giao diện thẻ thông minh
Thẻ thông minh là các loại thẻ quen thuộc được sử dụng cho việc gọi
điện thoại, thẻ quà tặng, thẻ ra vào, trả cước cầu đường, bảo hiểm y tế, giải mã
cho các bộ thu truyền hình vệ tinh và nhiều các ứng dụng khác, những ứng
dụng này yêu cầu một khối lượng thông tin nhỏ hoặc trung bình với sự truy cập
dữ liệu lưu trong thẻ một cách dễ dàng.
Mỗi thẻ là một module bao gồm bộ nhớ và thường thêm một CPU.
Nhiều thẻ cho phép cập nhật nội dung của chúng để thay đổi một số thông tin
ví dụ như giá trị tiền trong thẻ tín dụng hay mã của thẻ.
Để truy cập một thẻ thông minh, bạn kết nối nó với thiết bị giao diện thẻ
thông minh (CCID-Chip Card Interface Device) thường bằng cách nhét thẻ vào
khe đọc hoặc soi nó trước các bộ đọc đối với loại thẻ không cần tiếp xúc. USB
định nghĩa lớp thiết bị giao diện thẻ thông minh vì có một số thiết bị giao diện
thẻ thông minh (CCID) sử dụng giao diện USB để giao tiếp với máy tính.
4.2.3 Lớp các thiết bị truyền thông
Lớp các thiết bị truyền thông bao gồm hai loại thiết bị chính là: thiết bị
thoại và các thiết bị mạng tốc độ trung bình. Thiết bị thoại bao gồm điện thoại
tương tự ,modem tương tự, Các bộ thích nghi đầu cuối ISDN và điện thoại số.
Các thiết bị mạng bao gồm modem ADSL, modem điện tín, 10BASE-T
Ethernet adapter và hub
4.2.4 Lớp thiết bị bảo mật
Lớp thiết bị bảo mật định nghĩa cách thức giúp ta điều khiển sự truy cập
tới các file, âm nhạc, hình ảnh hoặc các dữ liệu khác được truyền trên bus (ví
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
43
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
dụ muốn copy một file nào đó lên thiết bị hoặc đọc nội dung được lưu trong
thiết bị thì phải có password).
4.2.5 Lớp thiết bị cho phép cập nhật firmware từ Host
Lớp thiết bị cập nhật firmware định nghĩa một giao thức cho phép máy
chủ gửi firmware tăng cường hoặc vá cho một thiết bị. Sau khi nhận sự nâng
cấp firmware thì thiết bị sẽ được thiết lập lại để sử dụng firmware mới của nó.
4.2.6 Lớp thiết bị giao diện người sử dụng
Lớp thiết bị giao diện người sử dụng bao gồm các loại bàn phím, thiết bị
con trỏ và các bộ điều khiển dùng để chơi game. Đối với những thiết bị này,
máy chủ đọc thông báo từ thiết bị và gần như lập tức thực hiện theo các yêu
cầu của người sử dụng (các yêu cầu này mang tính giao tiếp trực tiếp giữa
người sử dụng và máy) như sự ấn phím, sự di chuyển của con chuột. Máy chủ
phải đáp ứng đủ nhanh sao cho người sử dụng không nhận thấy độ trễ rất nhỏ
giữa yêu cầu của họ và các đáp ứng của máy.
4.2.7 Cầu liên kết dữ liệu hồng ngoại (Infrared Data Association
Bridge)
Lớp thiết bị cầu liên kết dữ liệu hồng ngoại định nghĩa những yêu cầu về
phần cứng và các giao thức cho phép việc truyền tải dữ liệu ở khoảng cách
ngắn thông qua năng lượng hồng ngoại. Thiết bị cầu liên kết dữ liệu hồng ngoại
sẽ được nối với máy chủ qua cổng USB cho phép máy chủ sử dụng giao diện
USB để giám sát, điều khiển và truyền dữ liệu qua một giao diện hồng ngoại.
4.2.8 Lớp thiết bị lưu trữ thứ cấp
Lớp thiết bị lưu trữ thứ cấp chính là các thiết bị có thể truyền dữ liệu
theo cả hai hướng (từ máy chủ tới thiết bị hoặc từ thiết bị về máy chủ). Điển
hình cho lớp thiết bị này có thể kể đến các ổ đĩa mềm, ổ đĩa cứng, ổ CD, ổ
DVD và ổ nhớ flash. Các loại camera cũng có thể sử dụng lớp lưu trữ thứ cấp
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
44
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
để cho phép việc truy cập các file hình ảnh trong bộ nhớ của camera. Trong các
máy tính sử dụng hệ điều hành Windows, các thiết bị thuộc lớp lưu trữ thứ cấp
sẽ xuất hiện như các ổ đĩa trong cửa sổ My Computer và hệ điều hành cho phép
người sử dụng sao chép, di chuyển và xoá các dữ liệu trong các thiết bị đó.
4.2.9 Lớp các thiết bị in ấn
Lớp các thiết bị in ấn được định nghĩa cho các thiết bị chuyển dữ liệu
nhận được từ máy chủ thành định dạng chữ hay hình ảnh trên giấy hay vật liệu
nào đó
4.2.10 Lớp thiết bị lưu giữ ảnh tĩnh
Lớp thiết bị này bao gồm Các loại máy ảnh và máy quét. Công việc chủ
yếu của lớp thiết bị này là truyền dữ liệu hình ảnh từ thiết bị lên máy tính chủ.
Ngoài ra một vài thiết bị còn có thể nhận dữ liệu từ máy tính. Nếu tất cả những
gì ta cần là truyền các file hình ảnh từ một máy ảnh lên máy tính chủ thì ta có
thể đưa một máy ảnh vào lớp thiết bị lưu trữ thứ cấp.
4.2.11 Lớp các thiết bị đo lường và kiểm tra
Lớp các thiết bị đo lường và kiểm tra là để dành cho các thiết bị đo đạc
như các bộ ADC, DAC, cảm biến và các bộ chuyển đổi (chuyển đổi đơn vị vật
lý chẳng hạn). Các thiết bị này có thể là một khối riêng rẽ hoặc là một cạc trong
một máy tính lớn.
4.2.12 Lớp các thiết bị ảnh động
Lớp các thiết bị ảnh động hỗ trợ các thiết bị ghi hình số xách tay,
webcam, và một số thiết bị có chức năng gửi, nhận hay can chỉnh ảnh động.
Lớp thiết bị này cũng hỗ trợ việc truyền các ảnh tĩnh từ các thiết bị ảnh động.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
45
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
4.2.13 Thực hiện các chức năng không tiêu chuẩn
Một vài thiết bị không có sự phù hợp rõ rệt với một lớp thiết bị được
định nghĩa. Ví dụ như các thiết bị điều khiển động cơ, rơ le, hay các cơ cấu
chấp hành khác. Một ví dụ khác là các thiết bị kết nối giữa hai máy vi tính (Cầu
sử dụng USB). Nếu một thiết bị đầu cuối mà không phù hợp để gán vào một
lớp được định nghĩa thì người thiết kế sẽ phải viết driver cho thiết bị để cung
cấp cho máy chủ các thông tin giúp nó giao tiếp được với thiết bị đó.
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
46
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
Chương 5: Lớp thiết bị giao diện người
sử dụng
Lớp thiết bị giao diện người sử dụng (HID-Human Interface Device) là
một trong những lớp đầu tiên được hệ điều hành windows hỗ trợ. Trên những
chiếc máy tính cá nhân sử dụng Windows 98 hoặc các phiên bản muộn hơn thì
những ứng dụng có thể giao tiếp với các thiết bị giao diện người sử dụng bằng
cách sử dụng các bộ điều khiển (driver) được xây dựng sẵn trong hệ điều hành.
Cũng chính vì lý do trên mà nhiều nhà cung cấp thiết bị đầu cuối USB sử dụng
lớp thiết bị giao diện người sử dụng cho sản phẩm của họ. Chương này sẽ trình
bày về lớp HID với mục đích giúp người đọc nhận định xem một thiết bị nào
đó có phù hợp để gán vào lớp HID hay không. Chỉ ra các yêu cầu đối với vi
chương trình (firmware) để định nghĩa một thiết bị thuộc lớp HID và cho phép
nó trao đổi dữ liệu với máy tính chủ. Chương cũng sẽ giới thiệu 6 yêu cầu điều
khiển cụ thể.
5.1 Khái niệm về HID
Từ “giao diện người sử dụng” trong tên gọi của lớp HID để chỉ ra sự
tương tác trực tiếp giữa con người với thiết bị thuộc lớp này. Ví dụ một con
chuột có thể phát hiện việc chúng ta di chuyển hay nhấn chuột để gửi thông tin
lên máy chủ và máy chủ sử dụng thông tin này để đem lại các đáp ứng mà
người sử dụng đang mong đợi trong một ứng dụng cụ thể nào đó. Bên cạnh các
thiết bị phổ biến của lớp HID như bàn phím, con chuột, cần điều khiển
(joystick) thì lớp HID còn bao gồm một số thiết bị khác như các núm điều
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
47
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
chỉnh, các chuyển mạch, nút nhấn, thanh trượt, điều khiển từ xa, bàn phím điện
thoại, các thiết bị điều khiển dùng cho game như bao tay, bánh lái.
Tuy nhiên một thiết bị thuộc lớp HID không nhất thiết phải có một giao
diện người sử dụng. Một thiết bị có thể gán vào lớp HID khi các chức năng của
nó nằm gọn trong các giới hạn của đặc tả lớp HID. Dưới đây là các giới hạn và
khả năng chủ của các thiết bị thuộc lớp HID:
-
-
-
-
-
Tất cả dữ liệu được trao đổi dưới cùng một dạng cấu trúc được gọi là
báo cáo (report). Máy chủ gửi và nhận dữ liệu bằng cách gửi các báo
cáo và yêu cầu các báo cáo trong các phương thức truyền điều khiển
hoặc truyền ngắt. Định dạng báo cáo là khá linh hoạt và nó có thể áp
dụng cho rất nhiều dạng của dữ liệu song đối với mỗi một báo cáo đã
được định nghĩa thì kích cỡ của nó là xác định.
Một giao diện HID phải có một điểm cuối ngắt vào (interrupt IN
enpoint) để gửi dữ liệu lên máy chủ.
Một giao diện HID có thể có tối đa một điểm cuối ngắt vào và một
điểm cuối ngắt ra (interrupt OUT enpoint). Nếu ta cần nhiều điểm
cuối ngắt hơn nữa thì ta có thể tạo một thiết bị đa chức năng gồm
nhiều thiết bị HID ở trong nó. Một ứng dụng phải đảm bảo sự điều
khiển riêng biệt tới từng HID trong thiết bị đa chức năng.
Điểm cuối ngắt vào cho phép HID gửi thông tin lên máy chủ ở
những thời điểm mà không hề biết trước. Ví dụ không thể có cách
nào giúp máy tính biết trước khi nào người sử dụng ấn một phím nào
đó trên bàn phím do đó bộ điều khiển máy chủ sử dụng giao tác ngắt
để thăm dò có định kỳ nhằm thu lượm dữ liệu mới.
Tốc độ trao đổi dữ liệu là hạn chế, đặc biệt là khi truyền ở tốc độ
thấp hoặc toàn tốc. Điểm cuối ngắt tốc độ thấp không thể vượt quá
800 bytes/sec [2], với các điểm cuối toàn tốc thì tốc độ tối đa là 64
KB/s [2] còn điểm cuối ngắt tốc độ cao thì tốc độ tối đa vào khoảng
24 MB/s [2].
Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN
48
Đồ án tốt nghiệp
Sơ lược về chuẩn USB 2.0
-
Với bản Windows 98 Gold thì nó chỉ hỗ trợ USB 1.0 [2] tức là
không hỗ trợ điểm cuối ngắt ra do đó tất cả dữ liệu truyền từ máy
chủ xuống thiết bị phải sử dụng truyền điều khiển
Lưu ý là giao diện HID có thể chỉ là một trong nhiều kiểu giao diện
được hỗ trợ bởi một thiết bị. Ví dụ một loa USB có thể sử dụng phương thức
truyền đẳng thời cho âm thanh đồng thời cũng có thể có một giao diện HID cho
việc điều khiển độ to nhỏ, cân bằng, treble và bass. Một giao diện HID thường
sẽ rẻ hơn cách thức điều khiển vật lý truyền thống trên một thiết bị.
5.2 Các yêu cầu về phần cứng
5.2.1 Các điểm cuối
Tất cả các kiểu truyền của HID sử dụng hoặc điểm cuối điều khiển hoặc
điểm cuối ngắt. Tất cả các HID phải có một điểm cuối ngắt vào để gửi dữ liệu
tới máy chủ. Một điểm cuối ngắt ra là tuỳ chọn.
5.2.2 Các loại báo cáo (Report)
Yêu cầu đối với một điểm cuối ngắt vào cho thấy mọi HID phải có tối
thiểu là một report đầu vào được định nghĩa trong bộ mô tả report của HID. các
report đầu ra và report đặc biệt là tuỳ chọn.
5.2.3 Các yêu cầu có thể gửi từ Host tới thiết bị trong kiểu truyền
điều khiển
Đặc tả HID định nghĩa 6 yêu cầu cụ thể mà Host có thể gửi tới thiết bị.
Hai trong số đó là Set_Report và Get_
Các file đính kèm theo tài liệu này:
- Do an tim hieu chuan usb 2.0.docx
- Do an tim hieu chuan usb 2.0.pdf