B o-c o-cu i-k -nh m-1-1 - Lecture notes 2 PDF

Title B o-c o-cu i-k -nh m-1-1 - Lecture notes 2
Course Kỹ thuật phần mềm ứng dụng
Institution Trường Đại học Bách khoa Hà Nội
Pages 48
File Size 1.2 MB
File Type PDF
Total Downloads 460
Total Views 915

Summary

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN ĐIỆN TỬ VIỄN THÔNGBÀI TẬP LỚN CUỐI KỲHỆ ĐIỀU HÀNHĐề tài:VIẾT DRIVER CHO USB TRÊN UBUNTU Nhóm 1Sinh viên thực hiện: 20172715 - PHÙNG THỊ KIM NGÂN 20182593 - PHẠM THỊ THANH HUYỀN 20182721 - TRỊNH THANH PHONG Giảng viên hướng dẫn: TSỄN THANH BÌNHHà Nội 1 - 2022LỜI NÓ...


Description

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ VIỄN THÔNG

BÀI TẬP LỚN CUỐI KỲ

HỆ ĐIỀU HÀNH Đề tài:

VIẾT DRIVER CHO USB TRÊN UBUNTU Nhóm 1

Sinh viên thực hiện:

20172715 - PHÙNG THỊ KIM NGÂN 20182593 - PHẠM THỊ THANH HUYỀN 20182721 - TRỊNH THANH PHONG

Giảng viên hướng dẫn:

TS.NGUYỄN THANH BÌNH

Hà Nội 1 - 2022

LỜI NÓI ĐẦU Lập trình hệ thống nhúng, một trong những công việc quan trọng nhất với chúng ta đó chính là lập trình ghép nối, điều khiển các module, các thiết bị ngoại vi ghép nối với hệ trung tâm. Để có thể làm được việc này, ngoài các kỹ năng lập trình chúng ta còn cần phải thành thạo về các giao thức ghép nối phổ biến như RS232, SPI, I2C và đặc biệt hiện nay nhu cầu tất yếu chúng ta phải tìm hiểu về chuẩn USB vì đây có thể nói là một trong các chuẩn phổ biến nhất hiện nay. Tìm hiểu chuẩn USB sẽ giúp cho chúng ta có kiến thức để có thể làm được rất nhiều công việc như: thiết kế, chế tạo thiết bị hoạt động theo chuẩn USB, viết driver cho thiết bị giao tiếp theo chuẩn USB... Tìm hiểu về hệ điều hành và vận dụng các kiến thức đã học trên giảng đường nên nhóm em lựa chọn đề tài: “Viết Driver cho USB trên Ubuntu”. Đề tài nhóm hướng đến driver đơn giản để tìm hiểu quá trình hệ thống Linux làm việc với thiết bị USB. Driver hướng đến các chức năng sau: đăng ký/hủy đăng ký, ngắt kết nối, lấy thông tin, mở tập tin từ thiết bị, đọc/ghi dữ liệu với thiết bị. Nhóm chúng em xin gửi lời cảm ơn chân thành đến TS. Nguyễn Thanh Bình đã hướng dẫn, đưa ra tiến trình tìm hiểu đề tài cụ thể để nhóm chúng em có thể hoàn thành được mục tiêu của bài tập lớn. Trong quá trình thực hiện đề tài, nhóm chúng em đã cố gắng nhưng không thể tránh khỏi những thiếu sót. Chúng em rất mong nhận được chỉ dẫn và góp ý của các thầy để đề tài ngày càng hoàn thiện hơn. Chúng em xin chân thành cảm ơn.

MỤC LỤC

DANH MỤC HÌNH VẼ

i

CHƯƠNG 1. TỔNG QUAN VỀ USB

1

1.1

Giới thiệu về USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1.1

Định nghĩa USB . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1.2

Cấu tạo USB . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2

Chuẩn tín hiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.3

Mô hình mạng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.4

Quá trình hoạt động của chuẩn USB . . . . . . . . . . . . . . . . . . .

6

1.5

Chế độ truyền . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.6

Mô tả thiết bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.6.1

Standard USB descriptors (Mô tả chuẩn USB) . . . . . . . . . .

8

1.6.2

Human Interface Devices (HID) . . . . . . . . . . . . . . . . .

10

CHƯƠNG 2. VIẾT DRIVER CHO UBUNTU

11

2.1

Quá trình nhận dạng USB trên Linux . . . . . . . . . . . . . . . . . . .

11

2.2

Xây dựng driver cho USB chuột . . . . . . . . . . . . . . . . . . . . .

12

2.2.1

Khung của một USB driver bất kỳ . . . . . . . . . . . . . . . .

12

2.2.2

Lấy thông tin thiết bị USB giao tiếp (USB device) . . . . . . .

14

2.2.3

Khai báo thư viện . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.2.4

Khởi tạo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2.5

Interupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2.6

Thăm dò thiết bị Probe . . . . . . . . . . . . . . . . . . . . . .

17

2.2.7

Open syscall . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.2.8

Close syscall . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.2.9

Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

CHƯƠNG 3. KẾT QUẢ

25

3.1

Gỡ bỏ driver cũ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.2

Viết driver và biên dịch . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3

Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

PHỤ LỤC

31

DANH MỤC HÌNH VẼ Hình 1.1

Thiết bị USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Hình 1.2

Cấu tạo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Hình 1.3

Chuẩn tín hiệu USB . . . . . . . . . . . . . . . . . . . . . . . . .

4

Hình 1.4

Mô hình mạng các thiết bị theo chuẩn USB . . . . . . . . . . . . .

4

Hình 1.5

Mô tả thiết bị USB . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Hình 1.6

Bộ mô tả USB được ánh xạ tới device layout . . . . . . . . . . . . .

8

Hình 1.7

Ví dụ về Configuration Descriptor cho thiết bị USB webcam . . . .

9

Hình 1.8

Ví dụ về Interface Descriptor cho cài đặt thay thế 0 của Interface 0

cho thiết bị webcam . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

Hình 1.9

Ví dụ về Endpoint Descriptor cho thiết bị webcam . . . . . . . . .

10

Hình 2.1

Quá trình nhận dạng thiết bị USB trên Linux . . . . . . . . . . . .

12

Hình 2.2

Các thông tin về thiết bị USB . . . . . . . . . . . . . . . . . . . .

14

Hình 3.1

File Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

Hình 3.2

Biên dịch module . . . . . . . . . . . . . . . . . . . . . . . . . .

26

Hình 3.3

Gỡ bỏ Driver usbhid có sẵn . . . . . . . . . . . . . . . . . . . . .

27

Hình 3.4

Kết quả chạy driver . . . . . . . . . . . . . . . . . . . . . . . . .

27

Hình 3.5

Thiết bị USB sau khi kết nối đã được đăng ký Driver . . . . . . . .

Hình 3.6

USB mouse đăng ký thành công . . . . . . . . . . . . . . . . . . .

28

Hình 3.7

Giảm độ sáng màn hình bằng chuột trái . . . . . . . . . . . . . . .

28

Hình 3.8

Driver ngắt kết nối . . . . . . . . . . . . . . . . . . . . . . . . . .

28

i

27

PHÂN CÔNG CÔNG VIỆC

STT Tên

1

2

3

Công việc Tổng quan về USB Quá trình nhận dạng USB trên Linux Phạm Thị Thanh Huyền Khai báo thư viện, Khởi tạo Biên dịch chương trình Kiểm tra hoạt động thiết bị khi dùng driver mới Tổng quan về USB Lấy thông tin thiết bị USB Phùng Thị Kim Ngân Interupt Thăm dò thiết bị Probe Xóa driver cũ Tổng quan về USB Khung của một USB driver bất kỳ Trịnh Thanh Phong Open syscall, Close syscall Disconnect Biên dịch chương trình

CHƯƠNG 1. TỔNG QUAN VỀ USB 1.1

Giới thiệu về USB

1.1.1 Định nghĩa USB USB là thiết bị lưu trữ di động và cũng là công cụ để kết nối giữa nhiều thiết bị ngoại vi với máy tính. USB được phát triển để đơn giản hóa và cải thiện giao diện giữa máy tính cá nhân và thiết bị ngoại vi. USB (Universal Serial Bus) là một chuẩn kết nối có dây trong máy tính, sử dụng nhằm kết nối giữa các điểm kỹ thuật của máy tính với các thiết bị ngoại vi. Vào cuối năm 1994 đã được đề xuất bởi Intel, Compaq, IBM, Microsoft và các công ty khác. Bây giờ, USB trở thành một giao diện mở rộng máy tính tiêu chuẩn của thế kỷ XXI và phiên bản 3.1 đã được tung ra thị trường. USB có thể kết nối với 127 thiết bị bên ngoài mà không làm giảm băng thông. USB đòi hỏi sự hỗ trợ của phần cứng máy chủ, hệ điều hành và thiết bị ngoại vi để làm việc đúng cách. Giao diện USB cũng có thể đạt được kết nối hai máy tính thông qua cáp chuyên dụng và tạo ra giao diện bổ sung nhiều hơn thông qua Hub. Ưu điểm: • Giao diện USB có thể tự cấu hình, giúp người dùng không cần phải điều chỉnh cài đặt của thiết bị về tốc độ hoặc định dạng dữ liệu, hoặc định cấu hình ngắt, địa chỉ đầu vào/ra hoặc kênh truy cập bộ nhớ trực tiếp. • Đầu nối USB được tiêu chuẩn hóa tại máy chủ, vì vậy bất kỳ thiết bị ngoại vi nào cũng có thể sử dụng hầu hết các ổ cắm có sẵn. • USB tận dụng tối đa sức mạnh xử lý bổ sung có thể được đưa vào các thiết bị ngoại vi để chúng có thể tự quản lý. Do đó, các thiết bị USB thường không có cài đặt giao diện người dùng điều chỉnh. • Giao diện USB xác định các giao thức để khôi phục từ các lỗi phổ biến, cải thiện độ tin cậy so với các giao diện trước đó. • Tiêu chuẩn USB cũng cung cấp nhiều lợi ích cho các nhà sản xuất phần cứng và nhà phát triển phần mềm, đặc biệt là ở sự dễ thực hiện tương đối. • Tiêu chuẩn USB loại bỏ yêu cầu phát triển các giao diện độc quyền cho các thiết bị ngoại vi mới.

1

• Giao diện USB có thể được thiết kế để cung cấp độ trễ khả dụng tốt nhất cho các chức năng quan trọng về thời gian hoặc có thể được thiết lập để thực hiện chuyển dữ liệu hàng loạt trong nền mà ít ảnh hưởng đến tài nguyên hệ thống. Tiêu chuẩn USB cũng cung cấp nhiều lợi ích cho các nhà sản xuất phần cứng và nhà phát triển phần mềm, đặc biệt là ở sự dễ dàng thực hiện: • Tiêu chuẩn USB loại bỏ yêu cầu phát triển các giao diện độc quyền cho các thiết bị ngoại vi mới. • Giao diện USB có thể được thiết kế để cung cấp độ trễ tốt nhất cho các chức năng quan trọng về thời gian hoặc có thể được thiết lập để thực hiện chuyển dữ liệu hàng loạt trong nền mà ít ảnh hưởng đến tài nguyên hệ thống. Hạn chế Như với tất cả các tiêu chuẩn, USB có nhiều hạn chế đối với thiết kế của nó: • Cáp USB có chiều dài hạn chế, vì tiêu chuẩn này dành cho các thiết bị ngoại vi trên cùng một mặt bàn, không phải giữa các phòng hoặc tòa nhà. Tuy nhiên, một cổng USB có thể được kết nối với một cổng truy cập các thiết bị ở xa. • USB có cấu trúc liên kết mạng cây nghiêm ngặt và giao thức chủ / tớ để định địa chỉ các thiết bị ngoại vi; các thiết bị đó không thể tương tác với nhau ngoại trừ thông qua máy chủ lưu trữ và hai máy chủ không thể giao tiếp trực tiếp qua cổng USB của chúng. • Máy chủ lưu trữ không thể phát tín hiệu đến tất cả các thiết bị ngoại vi cùng một lúc mỗi thiết bị phải được định địa chỉ riêng. Một số thiết bị ngoại vi tốc độ rất cao yêu cầu tốc độ ổn định không có trong tiêu chuẩn USB.

Hình 1.1 Thiết bị USB

2

1.1.2 Cấu tạo USB Thông thường gồm các bộ phận sau: • Bản mạch in nhỏ: chứa các linh kiện điện tử cùng một (hoặc nhiều) chip nhớ flash hàn trực tiếp lên mạch in. • Đầu cắm kết nối với các cổng USB: các kết nối thường sử dụng chuẩn A cho phép chúng kết nối trực tiếp với các khe cắm USB trên máy tính. • Vỏ bảo vệ: Toàn bộ bản mạch in, chip nhớ flash nằm trong một vỏ bảo vệ kim loại hoặc nhựa giúp nó đủ chắc chắn. • Lẫy gạt chống ghi: Một số ổ USB flash có thiết kế lẫy gạt để chống ghi dữ liệu, không cho phép hệ điều hành ghi hoặc sửa đổi dữ liệu vào ổ. • Đèn báo hoạt động: Người sử dụng nên tự quan sát USB của mình vài lần để biết được quy luật hoạt động của đèn báo và tránh tháo thiết bị khi chúng đang làm việc.

Hình 1.2 Cấu tạo

1.2

Chuẩn tín hiệu

Chuẩn USB sử dụng 4 đường tín hiệu trong đó có 2 đường cấp nguồn DC (VBUS5V và GND). 2 đường còn lại là một cặp tín hiệu vi sai (D+ và D-) cho phép truyền dữ liệu. Cặp dây tín hiệu này được nối xoắn ở bên trong nên có khả năng chống nhiễu tốt. Lưu ý: cổng USB trên máy tính cho phép cấp nguồn nuôi ra bên ngoài với dòng lên tới 500mA. Như vậy, các thiết bị sử dụng ít điện năng như chuột, thẻ nhớ USB... đều có thể lấy trực tiếp nguồn từ cổng USB của máy tính mà không cần dùng thêm nguồn ngoài. 3

Hình 1.3 Chuẩn tín hiệu USB

1.3

Mô hình mạng

Hình 1.4 Mô hình mạng các thiết bị theo chuẩn USB

Các thiết bị hoạt động theo chuẩn USB được kết nối với nhau theo đồ hình mạng hình sao phân cấp. Trung tâm của mỗi hình sao này là các Hub. Trong đồ hình trên, các thiết bị USB được chia làm 3 loại chính: • USB Host: thiết bị đóng vai trò điều khiển toàn bộ mạng USB (có thể lên tới tối đa 126 thiết bị). Ví dụ như trên máy tính, USB Host được gắn trên mainboard. Để giao tiếp và điều khiển các USB device, USB Host controller cần được thiết kế tích hợp với USB RootHub (Hub mức cao nhất). Vai trò của thiết bị USB Host như sau: – Trao đổi dữ liệu với các USB Device. – Điều khiển USB Bus. – Quản lý các thiết bị cắm vào hay rút ra khỏi Bus USB qua quá trình điểm danh (Enumeration). 4

– Phân xử, quản lý luồng dữ liệu trên Bus, đảm bảo các thiết bị đều có cơ hội trao đổi dữ liệu tùy thuộc vào cấu hình của mỗi thiết bị. Ngày nay bộ điều khiển máy chủ USB được tích hợp trên hầu hết các chipset bo mạch chủ. Các bo mạch cũ không được trang bị bộ điều khiển như vậy có thể được nâng cấp bằng PCI cards với các bộ điều khiển máy chủ đó. Tất cả các bộ điều khiển này tương thích với tiêu chuẩn Open Host Controller Interface (OHCI của Compaq, Microsoft và National Semiconductor) hoặc Universal Host Controller Interface (UHCI by Intel). Cả hai loại đều có khả năng tương đương nhau và thiết bị USB không phải quan tâm đến bộ điều khiển máy chủ. Về cơ bản phần cứng của UHCI đơn giản hơn và do đó nó cần driver phức tạp hơn, có thể khiến CPU quá tải. • USB Device: là các thiết bị đóng vai trò như các slave giao tiếp với USB Host. Các thiết bị này hoàn toàn đóng vai trò bị động, không bao giờ được tự ý gửi gói tin lên USB Host hay gửi gói tin giữa các USB Device với nhau, tất cả đều phải thông qua quá trình điều phối của USB Host. Chức năng của thiết bị USB Device như sau: – Trao đổi dữ liệu với USB Host – Phát hiện gói tin hay yêu cầu từ USB Host theo giao thức USB – Có nhiều loại thiết bị USB khác nhau vì chúng có thể được sử dụng cho những mục đích khác nhau. Đầu tiên, một thiết bị có thể tự cấp nguồn, chạy bằng nguồn bus hoặc cả hai. USB có thể tự cấp nguồn điện lên tới 500mA cho các thiết bị của nó. Nếu chỉ có các thiết bị chạy bằng nguồn bus, sự tiêu hao năng lượng tối đa có thể bị vượt quá và do đó cần phải có các thiết bị cấp nguồn. Chúng cần phải có nguồn cung cấp năng lượng riêng. Các thiết bị hỗ trợ cả hai loại nguồn có thể chuyển sang chế độ tự cấp nguồn khi gắn nguồn điện bên ngoài. Ngay cả tốc độ giao tiếp tối đa cũng có thể khác nhau đối với từng thiết bị USB cụ thể. Thông số kĩ thuật USB quyết định giữa các thiết bị tốc độ thấp và tốc độ cao. Các thiết bị tốc độ thấp (như chuột, bàn phím, cần điều khiển, . . . ) giao tiếp với tốc độ 1,5Mbit/s với khả năng hạn chế. Các thiết bị tốc độ cao (như hệ thống âm thanh và video) có thể sử dụng tới 90% tốc độ 12Mbit/s, tức là khoảng 10Mbit/s bao gồm cả chi phí giao thức. • USB Hub: đóng vai trò như các Hub trong mạng Ethernet của chúng ta. Cấp nguồn cho các thiết bị USB. Về mặt vật lí tồn tại một số cổng USB ở bảng điều khiển phía sau của máy tính. Các cổng này có thể được sử dụng để gắn các thiết bị thông thường hoặc một hub. Hub là một thiết bị USB giúp mở rộng số lượng cổng để kết nối các thiết bị USB khác. Số lượng thiết bị có thể gắn tối đa được giảm theo số 5

lượng hub trên từng bus. Hub là thiết bị tự cấp nguồn/chạy bằng nguồn bus tốc độ cao. Thông thường, các cổng vật lí của bộ điều khiển máy chủ được xử lý bởi một virtual root hub. Hub này được mô phỏng bởi driver của trình điều khiển thiết bị giúp thống nhất cấu trúc liên kết bus. Vì vậy, mọi cổng có thể được xử lý theo cùng một cách bởi driver của hệ thống con USB.

1.4

Quá trình hoạt động của chuẩn USB Quá trình hoạt động của chuẩn USB có thể được chia làm hai giai đoạn chính:

• Quá trình điểm danh: là quá trình USB Host phát hiện các thiết bị cắm vào và rút ra khỏi đường USB Bus. Mỗi khi một thiết bị tham gia vào Bus USB, USB Host sẽ tiến hành đọc các thông tin mô tả (Description) của USB Device, từ đó thiết lập địa chỉ (NodeID) và chế độ hoạt động tương ứng cho thiết bị USB Device. Các địa chỉ sẽ được đánh từ 1->126 nên về lý thuyết, chuẩn USB cho phép kết nối 126 thiết bị vào đường Bus. Khi thiết bị rút ra khỏi đường Bus, địa chỉ này sẽ được thu hồi. • Quá trình truyền dữ liệu: để hiểu quá trình truyền dữ liệu này, chúng ta phải hiểu được hai khái niệm quan trọng nhất trong chuẩn USB, đó là khái niệm Interface và Endpoint (chỉ thiết bị USB device mới có Endpoint, USB Host không có Endpoint). Một thiết bị USB sẽ có thể có nhiều Interface, một Interface có thể sử dụng nhiều Endpoint. VD: Thẻ nhớ USB chỉ sử dụng 1 Interface theo chuẩn USB Mass storage, interface này sử dụng 3 Endpoint. Bộ USB 3G sử dụng các Interface khác nhau như: CD Room, Mass storage và Communication, mỗi interface lại sử dụng nhiều Endpoint khác nhau. Như vậy, đứng ở góc độ mức hệ thống, các Interface chính là các dịch vụ khác nhau mà thiết bị đó cung cấp còn các Endpoint chính là các cổng cần thiết cho mỗi dịch vụ. Tương ứng với khái niệm trong kiến trúc TCP/IP, ví dụ giao thức FTP là giao thức sử dụng để truyền file sẽ sử dụng hai cổng 20,21. Trong khi đó giao thức HTTP lại sử dụng port 80, giao thức Telnet sử dụng port 23. Thực tế các Endpoint cũng như các Port trong chuẩn TCP/IP đóng vai trò như các bộ đệm truyền/nhận dữ liệu. Nhờ việc sử dụng nhiều bộ đệm mà các quá trình truyền thông được tiến hành song song và cho tốc độ cao hơn, bên cạnh đó giúp cho việc phân tách các dịch vụ khác nhau. Với chuẩn USB, các thiết bị được thiết kế với tối đa là 16 Enppoint. Các Endpoint được phân loại theo hướng truyền dữ liệu nhìn từ phía USB Host. Cụ thể: • Các Endpoint truyền dữ liệu từ USB Device tới USB Host là Endpoint IN • Các Endpoint truyền dữ liệu từ USB Host tới USB Device là Endpoint OUT 6

Để truyền được dữ liệu theo chuẩn USB, các thiết bị USB Device phải được kết nối với USB Host thông qua các Pipe (đường ống). Mỗi Pipe sẽ nối một Endpoint của USB Device với USB Host.

1.5

Chế độ truyền

Chuẩn USB cung cấp tổng cộng 4 chế độ truyền. Tùy vào cơ chế truyền cũng như tốc độ mong muốn mà người thiết kế lựa chọn chế độ truyền cho những mục đích khác nhau. • Truyền điều khiển (Control transfer):là chế độ truyền được tất cả các thiết bị USB hỗ trợ để truyền các thông tin điều khiển với tốc độ tương đối chậm. • Truyền ngắt (Interrupt transfer): sử dụng cho các thiết bị cần truyền một lượng dữ liệu nhỏ, tuần hoàn theo thời gian ví dụ như chuột, bàn phím. Khi đó, ví dụ cứ 10s một lần USB Host sẽ gửi request xuống và USB Device sẽ trả dữ liệu về cho USB Host (với trường hợp Interrupt in Endpoint). • Truyền theo khối (Bulk transfer): sử dụng cho các thiết bị cần truyền một lượng dữ liệu lớn, yêu cầu độ chính xác tuyệt đối, không có ràng buộc quá chặt chẽ về thời gian thực ví dụ như thẻ nhớ USB, máy in. Cái này tương tự như giao thức TCP trong mạng Ethernet. • Truyền đẳng thời (Isochronos transfer): sử dụng cho các thiết bị cần truyền một lượng dữ liệu lớn với tốc độ rất nhanh, đảm bảo ràng buộc về thời gian thực tuy nhiên chấp nhận hy sinh độ chính xác ở một mức nhất định như các thiết bị nghe nhạc, xem phim kết nối theo chuẩn USB. Chuẩn này tương tự giao thức UDP trong mạng Ethernet. Chế độ truyền điều khiển và chế độ truyền theo khối được sử dụng để truyền dữ liệu không đồng bộ, bất cứ khi nào driver quyết định sử dụng chúng. Chế độ truyền ngắt và chế độ truyền đẳng thời là tuần hoàn, có nghĩa là chế độ này được thiết lập để truyền dữ liệu vào những thời điểm cố định liên ...


Similar Free PDFs