Loại bus này đang được sử dụng để kết nối tất cả các thiết bị ngoại vi với máy tính PC như chuột, bàn phím, máy in, thiết bị âm thanh,…Ban đầu bus này được thiết kế cho các ứng dụng với
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ QUYÊN
ĐO LƯỜNG VÀ ĐIỀU KHIỂN QUA CỔNG USB
LUẬN VĂN THẠC SĨ
Hà Nội - 2009
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ QUYÊN
ĐO LƯỜNG VÀ ĐIỀU KHIỂN QUA CỔNG USB
Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật điện tử
Mã số: 60.52.70 LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Ngô Diên Tập
Hà Nội - 2009
Trang 3Mục lục 1
Danh mục các bảng 4
Danh mục các hình vẽ 5
Mở đầu 8
Chương 1 Tổng quan về USB 10
1.1 Những nét chung về Bus USB 10
Chương 2 Host USB: Phần cứng và phần mềm Error! Bookmark not defined.
not defined.
2.2.2 Bộ chuyển đổi song song-nối tiếp/bộ chuyển đổi nối tiếp-song song
Error! Bookmark not defined.
2.5.1 Tổng quan Error! Bookmark not defined.
2.5.1.1 Khởi tạo Error! Bookmark not defined.
Trang 42.5.2.3 Xác minh các thiết lập xen kẽ Error! Bookmark not defined.
Bookmark not defined.
defined.
defined.
Bookmark not defined.
Chương 3 Thiết bị USB Error! Bookmark not defined.
defined.
Bookmark not defined.
3.1.1.4 Địa chỉ Error! Bookmark not defined.
3.2.3 Cấu hình Error! Bookmark not defined.
defined.
3.2.7 Lỗi yêu cầu Error! Bookmark not defined.
Trang 53.3.1 Loại bmRequest Error! Bookmark not defined.
3.3.2 bRequest Error! Bookmark not defined.
3.3.3 wValue Error! Bookmark not defined.
3.3.4 wIndex Error! Bookmark not defined.
3.3.5 wLength Error! Bookmark not defined.
3.5 Các bộ mô tả Error! Bookmark not defined.
3.6.1 Thiết bị Error! Bookmark not defined.
3.6.3 Cấu hình Error! Bookmark not defined.
3.6.5 Giao diện Error! Bookmark not defined.
3.6.6 Điểm cuối Error! Bookmark not defined.
3.6.7 Chuỗi Error! Bookmark not defined.
3.7.1 Bộ mô tả Error! Bookmark not defined.
Chương 4 Thiết kế thiết bị USB (Universal serial Bus) Error! Bookmark not defined.
4.1 Thiết kế Error! Bookmark not defined.
4.1.1 Yêu cầu Error! Bookmark not defined.
defined.
defined.
defined.
Trang 64.3 Mạch điều khiển máy tính dùng PIC 18F4550 Error! Bookmark not defined.
Kết luận Error! Bookmark not defined.
Tài liệu tham khảo Error! Bookmark not defined.
Phụ lục Error! Bookmark not defined.
* Sơ đồ thứ tự và chức năng các chân của PIC 18F4550 mô tả như hình A.1 Error! Bookmark not defined.
Bookmark not defined.
Các ngắt USB Error! Bookmark not defined.
Xung đồng hồ: Error! Bookmark not defined.
DANH MỤC CÁC BẢNG
Bảng 1.1: Bảng so sánh tương đối giữa một số chuẩn truyền thống nối tiếp. 9
Bảng 3.1: Khung dữ liệu Setup 43
Bảng 3.2: Các yêu cầu thiết bị chuẩn. 45
Bảng 3.3: Các mã yêu cầu chuẩn 45
Bảng 3.4: Các loại bộ mô tả 46
Bảng 3.5: Bảng lựa chọn chức năng. 46
Bảng 3.6: Các bộ chọn chế độ kiểm tra. 53
Bảng 3.7: Bộ mô tả thiết bị chuẩn. 57
Bảng 3.8: Bộ mô tả Device_Qualifier. 58
Bảng 3.9: Bộ mô tả cấu hình chuẩn. 60
Bảng 3.10: Bộ mô tả cấu hình tốc độ khác. 60
Trang 7Bảng 3.11: Bộ mô tả giao diện chuẩn. 62
Bảng 3.12: Bộ mô tả điểm cuối chuẩn. 64
Bảng 3.13: Các giá trị wMaxPacketSize cho số lượng công việc khác nhau trên một siêu khung 65
Bảng 3.14: Bộ mô tả chuỗi 0, Các ngôn ngữ đặc biệt được thiết bị hỗ trợ. 66
Bảng 3.15: Bộ mô tả chuỗi UNICODE. 66
DANH MỤC CÁC HÌNH VẼ Hình vẽ Trang Hình 1.1: Ví dụ minh họa phân chia dải thông cho các thiết bị USB 8
Hình 1.2: Các đầu nối USB 10
Hình 1.3: Cáp USB và ký hiệu màu dây. 11
Hình 2.1: Phương thức truyền thông của lớp lõi 12
Hình 2.2: Các quá trình truyền thông. 13
Hình 2.3: Quá trình tạo khung 18 18
Hình 2.4: Sự tương tác của cấu hình 22 22
Hình 2.5 Cấu trúc Driver của Bus nối tiếp đa năng 26
Hình 3.1: khung wIndex khi chỉ ra một điểm cuối 44
Hình 3.2: Khung của wIndex khi đã biết một giao diện 44
Hình 3.3: Ví dụ về số điểm cuối phản hồi 65
Trang 8Hình 3.4: Ví dụ về mối quan hệ giữa các điểm cuối phản hồi 65
Hình 4.1: Quá trình truyền thông trong hệ thống USB 68
Hình 4.2: Mạch điều khiển máy tính dùng PIC18F4550 có sơ đồ nguyên lý 75
Hình 4.3: Hình ảnh thiết bị điều khiển máy tính. 76
Hình 4.4: Kết quả thu được sau khi kết nối mạch với máy tính 79
Hình 4.5: module thu thập dữ liệu, được xây dựng cho PIC, USB hoặc bất cứ chuẩn bus nào khác, có một phần truyền thông và một phần đó lường 81
Hình 4.6: Đất vòng có thể cuất hiện khi các bộ phận tách biệt của thiết bị dùng chung đất 82
Hình 4.7: Những điện áp cùng kiểu di chuyển cả hai phía của đường truyền tín hiệu cân bằng đối xứng với đất 83
Hình 4.8: Các phương thức cách ly hệ thống đo lường 84
Hình 4.9: Kiến trúc mô đun đo lường USB cách ly 85
Hình 4.10: Sử dụng mô đun USB cách ly để đo nguồn pin lối ra 86
Hình A.1: Sơ đồ chân của PIC 18F4550 88
Hình A.2: Mô tả chân thực hiện thao tác Reset 89
Hình A.3: Cấu trúc của PIC 18F4550 90
Hình A.3: Cấu trúc của PIC 18F4550 91
HìnhA.5: Mô tả USB RAM. 91
Hình A.6: Bộ mô tả bộ nhớ đệm 92
MỞ ĐẦU
Bus nối tiếp đa năng USB (Universal Serial Bus) là một loại Bus xuất hiện trên các máy tính PC gần đây Loại bus này đang được sử dụng để kết nối tất cả các thiết bị ngoại vi với máy tính PC như chuột, bàn phím, máy in, thiết bị âm thanh,…Ban đầu bus này được thiết kế cho các ứng dụng với tốc độ thấp và trung bình, nhưng có thể ghép nối được nhiều loại thiết bị khác nhau, của nhiều hãng vào một bus chung
USB được đưa vào sử dụng lần đầu tiên vào năm 1996, nhưng phải đến giữa năm 1998 USB mới thực sự được phát triển Các thông số 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, IBM, Intel, NEC và Northern Telecom,… Sự hỗ trợ USB thể hiện qua Win32 Driver Model (WMD) và nhờ vậy cho phép lập trình các phần mềm điều khiển
Trang 9thống nhất dùng cho Win 9x, NT, XP Trong các hệ điều hành ra đời từ năm 1998 đã
có sự hỗ trợ đầy đủ cho USB (ví dụ: Win98, NT5.0) Trên thực tế, trong các phiên bản nâng cấp của Win95 (từ phiên bản OEM-2.1) đã bắt đầu có tính năng hỗ trợ Từ phiên bản OSR-2.0 của Win95, sự hỗ trợ cho USB đã thể hiện từ chương trình cài đặt
Trong PC, USB là một bus nối tiếp, được đưa ra sử dụng năm 1996, nhưng phải đến giữa năm 1998 mới được phát triển rộng rãi Hai phiên bản phổ biến của USB được sử dụng là 1.0 và 2.0 Do loại 1.0 có tốc độ truyền thấp (max=12Mbps), nên được thay thế bằng loại nó 2.0 (max=480Mbps) Bus USB liên quan chặt chẽ đến đặc tính cắm là chạy ở các máy tính PC đời mới Trong khi máy tính đang hoạt động, các thiết bị USB có thể được đấu nối trực tiếp luôn với máy tính mà không cần phải RESTART Hệ thống tự nhận biết có thiết bị kết nối với máy tính và tự động tải DRIVER thích hợp Cổng USB có thể lấy điện áp một chiều 5V với dòng cực đại là 100mA
Luận văn gồm 4 chương:
Chương 1: Giới thiệu tổng quan về bus nối tiếp đa năng USB
Chương 2: Host USB: Phần cứng và phần mềm Giới thiệu về đường dẫn cơ bản và các mối quan hệ nội tại của phương thức truyền thông của USB
Chương 3 Thiết bị USB Chương này mô tả các tính năng và hoạt động phổ biết ở lớp giữa của thiết bị USB Các thuộc tính và hoạt động này được dùng bởi quá trình phân chia chức năng đặc biệt cho thiết bị để giao tiếp thông qua giao diện bus và cuối cùng là giao tiếp với máy chủ
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ USB 1.1 Những nét chung về Bus USB
USB là một bus nối tiếp, dữ liệu trên bus được truyền tương tự như cổng nối tiếp, cụ thể là từng bit kế tiếp nhau Một điều đáng chú ý là, dữ liệu được truyền trên cùng một đường dẫn theo hai hướng, trong khi theo tiêu chuẩn RS-232 dữ liệu được truyền trên hai đường dẫn khác nhau, mỗi đường chỉ theo một hướng USB cho phép đấu nối đến 127 thiết bị, cũng chính vì vậy mà được gọi là một bus Mỗi thiết bị đấu nối vào bus nhận được một địa chỉ và cũng chính qua địa chỉ này thiết bị có thể trao đổi dữ liệu với PC cũng như các thiết bị khác
Về mặt tốc độ, USB nhanh hơn RS-232 nhiều, dữ liệu có thể được truyền với tôc độ đến 12Mbps trên các đường dẫn tín hiệu Tất nhiên dải thông được phân chia cho tất cả các thiết bị đấu nối với bus Với USB-1.0, tốc độ lên trên 12Mbps/một kênh con ( subchanel), 1,5Mbps cho các thiết bị có tốc độ thấp (chuột), còn USB-2.0 trên 480Mbps nhưng vẫn giữ tính tương thích với phiên bản 1.0
USB có mối liên quan chặt chẽ với đặc tính "Cắm Là Chạy; Plug and Play" ở các 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 cắt điện nguồn nuôi cho máy tính Đặc tính này gọi là đấu/ngắt nóng Hệ thống nhận biết một USB mới được đấu vào và lập tức nạp phần mềm điều khiển (tệp đệm) thích hợp
Các đặc tính cơ bản của USB :
• Các cuộc truyền là đẳng thời (isochonous), có thể hiểu là truyền "liên tục", hỗ trợ các tín hiệu video và sound Với các cuộc truyền đẳng thời, các cuộc truyền và nhận dữ liệu theo kiểu được đảm bảo và có thể đoán trước (predictable)
• USB cũng hỗ trợ các thiết bị không đẳng thời hay thiết bi có quyền ưu tiên cao nhất, các thiết bị đẳng thời lẫn không đẳ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ũng có thông số là Plug and Play, các cáp nối 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 xếp thành nhiều tầng (Multiple-tiered) với khả năng mở rộng gần đến mức rất lớn (có thể đến 127 thiết bị vật lý), và các thao tác xảy ra đồng thời
• Tốc độ truyền USB2.0: 1,5/12/480 Mbps (low/full/high), với các kích thước gói khác nhau
• Hỗ trợ nhiều ưu cầu dải thông thiết bị từ một vài Kbps đến 480 Mbps
• Hỗ trợ tốc độ truyền dữ liệu của thiết bị trên một pham vi rộng các giá trị thông qua việc điều tiết kích thước bộ đệm các 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 các thiết bị ngoại vi có thể được đấu nối mà không cần phải cắt nguồn nuôi cho PC, có thể đấu/ngắt và thay đổi lại cấu hình thiết bi ngoại vi một cách linh hoạt
Trang 11• Khả năng quản lý năng lượng được tăng cường với các chế độ "ngủ" và
"nằm_lì" trên pham vi hệ thống
• Tự nhận dạng thiết bị ngoại vi, 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ị ngoại vi khác nhau, với nhiều chức năng khác nhau Điều khiển luồng dữ liệu thông qua bộ đệm, thông qua giao thức được đặt sẵn bên trong
• Có cơ chế xử lý lỗi/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à cấu trúc bus cần bằng Trong quá trình hoạt động, máy chủ USB đ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 bi USB được cấp điện lần đầu tiên hoặc được reset Các hub và các thiết bị chức năng được gán một địa chỉ thiết bị giả định duy nhất bởi phần mềm USB
Một đặc điểm cơ bản khác của USB là đ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 thu nhỏ có thể sử dụng trực tiếp nguồn trên bus (ví dụ: USB flash disk, iPod,…) Đối với những thiết bị công suất lớn hơn (như máy
Scan…) giao tiếp với PC qua USB thì nên có nguồn nuôi riêng, nếu là loại có nguồn nuôi lấy trực tiếp từ cổng USB thì phải cân nhắc kỹ trước khi sử dụng, liệu công suất
bộ nguồn PC có đủ cung cấp, và dòng ra cho phép của cổng USB trên mainboard
Khung 1ms
Hình 1.1: Ví dụ minh họa phân chia dải thông cho các thiết bị USB
Trang 12TÀI LIỆU THAM KHẢO
Tiếng Việt
1 Nguyễn Mạnh Giang (2006), Kỹ thuật ghép nối máy vi tính, tr 90-96, NXB
Giáo dục, Hà Nội
2 Ngô Diên Tập (2003), Kỹ thuật vi điều khiển với AVR, tr 382-388, NXB Khoa học và Kỹ thuật, Hà Nội
Tiếng Anh
3 Compaq Hewlett-Packard Intel Lucent Microsoft NEC Philips (2007),
Universal Serial Bus Specification, pp 239-296
4 Janet L Axelson (2005), USB complate: Everything You Need to Develop
USB Peripherals, Third Edition, , Lakeview Research LLC, Madison, WI 53704
5 Microchip Technology Inc (2007), PIC18F2455/2550/4455/4550 Data Sheet,
http://www.create.ucsb.edu/~dano/CUI/PIC18F4550datasheet.pdf
6 OLIMEX Ltd (2007), "PIC-USB-4550 DEVELOPMENT PROTOTYPE BOARD FOR PIC18F4550",
http:// www.optimal-microsystems.com/store/pdf/PIC/PIC-USB-4550.pdf ,
Tháng 1 năm 2007