- Trang Chủ
- Điện-Điện tử-Viễn thông
- Thuyết minh đồ án tốt nghiệp: Nghiên cứu, thiết kế hệ thống cảm biến nhiệt độ giao tiếp và ghép nối máy tính qua giao thức USB/lớp HID
Xem mẫu
- ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN
BỘ MÔN: TỰ ĐỘNG HÓA
---------------o0o---------------
THUYẾT MINH ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG CẢM BIẾN NHIỆT ĐỘ
GIAO TIẾP VÀ GHÉP NỐIMÁY TÍNHQUA GIAO THỨC
USB/LỚP HID
GVHD: ThS. Lâm Tăng Đức
SVTH: Nguyễn Hữu Việt
MSSV: 105106061149
Đà Nẵng, tháng 5/2011
- ĐẠI HỌC ĐÀ NẴNG Cộng hoà xã hội chủ nghĩa Việt Nam
Trường đại học Bách Khoa Độc Lập - Tự Do - Hạnh Phúc
Khoa Điện ------ *** ------
NHIỆM VỤ
THIẾT KẾ ĐỒ ÁN TỐT NGHIỆP
Tên: NGUYỄN HỮU VIỆT
Lớp: 06D6
Khoa: Điện
Nghành: Tự Động Hóa
1 - Đề tài: NGHIÊN CỨU, THIẾT KẾ HẾ THỐNG CẢM BIẾN NHIỆT ĐỘ GIAO
TIẾP VÀ GHÉP NỐI MÁY TÍNH QUA GIAO THỨC USB/LỚP HID
2 - Nội dung thiết kế:
Chương I: TỔNG QUAN ĐỀ TÀI
Chương II: TỔNG QUAN VỀ GIAO THỨC USB VÀ LỚP HID
Chương III: TỔNG QUAN VỀ MẠNG 1 DÂY
Chương IV: TỔNG QUAN VỀ PIC 18F2550/4550
Chương V: GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ DS18B20
Chương VI: THIẾT KẾ VÀ LẮP RÁP CÁC MÔ HÌNH
3 - Ngày giao đề tài: Ngày tháng năm 2011
4 - Ngày nộp đề tài: Ngày tháng năm 2011
Ngày tháng năm 2011 Ngày tháng năm 2011
Cán bộ duyệt Cán bộ hướng dẫn
ThS Lâm Tăng Đức
i
- Ngày tháng năm 2011 Ngày tháng năm 2011
Trưởng Bộ Môn Chủ tịch hội đồng
TS Nguyễn Hoàng Mai
Ngày tháng năm 2011
Sinh Viên Thực Hiện
Nguyễn Hữu Việt
i
- LỜI NÓI ĐẦU
Trong lĩnh vực Điện - Điện tử nói chung và ngành Tự động hóa nói riêng,
truyền thông và ghép nối các thiết bị là vấn đề then chốt và rất phổ biến. Phần lớn các
thiết bị, các hệ thống đều được kết nối với máy tính để thu thập thông tin, lưu trữ số
liệu, điều khiển và giám sát các trạng thái của thiết bị. Ở trình độ của sinh viên, hầu hết
các mô hình hay sản phẩm đều được kết nối qua giao thức RS-232. Giao thức này rất
quen thuộc và dễ thực hiện, tuy nhiên bản thân nó cũng quá lỗi thời so với yêu cầu về
tốc độ truyền của công nghệ ngày nay. Vì vậy trong đề tài Tốt Nghiệp này em xin gửi
đến quí thầy cô cùng tất cả các bạn đọc giao thức USB, một phương pháp mới để tăng
tốc độ truyền của dữ liệu, đồng thời thân thiện hơn với người dùng.
Nội dung của đề tài này gồm 6 chương:
Chương I: TỔNG QUAN ĐỀ TÀI
Chương II: TỔNG QUAN VỀ GIAO THỨC USB
Chương III:TỔNG QUAN VỀ MẠNG TRUYỀN THÔNG 1 DÂY
Chương IV: TỔNG QUAN VỀ PIC 18F2550/4550
Chương V: GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ DS18B20
Chương VI:THIẾT KẾ VÀ LẮP RÁP CÁC MÔ HÌNH
Mặc dù bản thân cũng rất nổ lực trong việc tìm kiếm thông tin, tài liệu để hoàn
thành đề tài một cách trọn vẹn nhất nhưng mắc sai sót là điều khó tránh khỏi. Thành
thật mong quý thầy cô cùng bạn đọc góp ý kiến để đề tài ngày càng hoàn thiện
Cuối cùng em xin gửi lời cảm ơn chân thành đến gia đình, thầy cô và bạn bè đã
động viên, giúp đỡtrong suốt thời gian qua. Đặc biệt, gửi lời cảm ơn đến thầy Lâm
Tăng Đức đã trực tiếp hướng dẫn để đề tài được hoàn thành
Đà Nẵng tháng 5 năm 2011
Sinh viên thực hiện
NGUYỄN HỮU VIỆT
ii
- Mục Lục
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI ............................ Error! Bookmark not defined.
1.1:Tầm quan trọng của truyền thông và ghép nối máy tính với ngànhTự động hóa
.................................................................................... Error! Bookmark not defined.
1.2:Thực trạng hiện nay ............................................. Error! Bookmark not defined.
1.3: Nội dung đề tài .................................................... Error! Bookmark not defined.
CHƯƠNG II: TỔNG QUAN VỀ GIAO THỨC USB VÀ LỚP HID Error! Bookmark
not defined.
2.1: Giới thiệu sơ bộ về giao thức USB ..................... Error! Bookmark not defined.
2.2:Quá trình phát triển giao thức USB ..................... Error! Bookmark not defined.
2.3: Phân tích ưu điểm và nhược điểm của giao thức USB ..... Error! Bookmark not
defined.
2.3.1: Ưu điểm: ....................................................... Error! Bookmark not defined.
2.3.2: Nhược điểm .................................................. Error! Bookmark not defined.
2.4: Giới thiệu các lớp của giao thức USB ................ Error! Bookmark not defined.
2.4.1: Lớp thiết bị âm thanh (Audio) ...................... Error! Bookmark not defined.
2.4.2: Lớp thiết bị thẻ thông minh (Chip/Smart Card Interface) . Error! Bookmark
not defined.
2.4.3: Các thiết bị truyền thông (Modems and Networks) ... Error! Bookmark not
defined.
2.4.4: Lớp thiết bị bảo mật thông tin ...................... Error! Bookmark not defined.
2.4.5 Lớp các thiết bị nâng cấp firmware ............... Error! Bookmark not defined.
2.4.6:Lớp các thiết bị tương tác với con người (Human Interface) ................ Error!
Bookmark not defined.
2.4.7:Cầu chuyển đổi hồng ngoại (IrDA) ............... Error! Bookmark not defined.
2.4.8: Lớp các thiết bị lưu trữ thứ cấp (Mass Storage) ......... Error! Bookmark not
defined.
2.4.9:Lớp các thiết bị in ấn (Printers) ..................... Error! Bookmark not defined.
iii
- 2.4.10:Lớp các thiết bị lưu giữ hình ảnh tĩnh (Still Image Capture) .............. Error!
Bookmark not defined.
2.4.11: Các thiết bị đo đạc và kiểm tra ................... Error! Bookmark not defined.
2.4.12: Lớp thiết bị ảnh động (Video) .................... Error! Bookmark not defined.
2.4.13: Thực hiện các chức năng không tiêu chuẩn Error! Bookmark not defined.
2.5:Lớp thiết bị giao diện người sử dụng (HID-Human Interface Device) ....... Error!
Bookmark not defined.
2.5.1: Khái niệm về HID......................................... Error! Bookmark not defined.
2.5.2: Các yêu cầu về phần cứng ............................ Error! Bookmark not defined.
2.5.3: Các yêu cầu về vi chương trình (Firmware) . Error! Bookmark not defined.
2.5.4: Cách thức để chỉ ra một thiết bị thuộc lớp HID ......... Error! Bookmark not
defined.
2.5.5: Bộ mô tả báo cáo (Report Descriptor) .......... Error! Bookmark not defined.
2.5.6: Các yêu cầu mà host có thể gửi tới một thiết bị thuộc lớp HID ........... Error!
Bookmark not defined.
2.6: Sự hỗ trợ của Hệ điều hành với lớp HID ............ Error! Bookmark not defined.
2.7: Chọn chip ............................................................ Error! Bookmark not defined.
CHƯƠNG III: TỔNG QUAN VỀ MẠNG TRUYỀN THÔNG 1 DÂY ............... Error!
Bookmark not defined.
3.1:Định nghĩa mạng truyền thông 1 dây................... Error! Bookmark not defined.
3.2: Tổng quan về Bus 1 dây...................................... Error! Bookmark not defined.
3.3: Các yêu cầu ......................................................... Error! Bookmark not defined.
3.4:Hoạt động của bus 1 dây ...................................... Error! Bookmark not defined.
3.4: Mạng một dây và Vi điều khiển PIC .................. Error! Bookmark not defined.
CHƯƠNG IV: TỔNG QUAN VỀ PIC 18F2550/4550 . Error! Bookmark not defined.
4.1: Giới thiệu PIC 18F2550/4550 ............................. Error! Bookmark not defined.
4.2: Khái quát chức năng USB trong PIC .................. Error! Bookmark not defined.
4.2.1:Trạng thái và điều khiển USB ....................... Error! Bookmark not defined.
4.2.2: Thanh ghi điểu khiển (UCON) ..................... Error! Bookmark not defined.
4.2.3: Thanh ghi cấu hình USB (UCFG) ................ Error! Bookmark not defined.
iii
- 4.2.4: Thanh ghi trạng thái USB ............................. Error! Bookmark not defined.
4.2.5: Thanh ghi điều khiền USB ENDPOINT( UEPn) ....... Error! Bookmark not
defined.
4.2.6: Thanh ghi trạng thái ngắt của giao thức USB ............ Error! Bookmark not
defined.
4.2.7: Thanh ghi kích hoạt trạng thái ngắt của giao thức USB.... Error! Bookmark
not defined.
CHƯƠNG V: GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ DS18B20 Error! Bookmark not
defined.
5.1: Khái quát chung .................................................. Error! Bookmark not defined.
5.2: Cấu trúc phần cứng ............................................. Error! Bookmark not defined.
5.3:Hoạt động đo nhiệt độ .......................................... Error! Bookmark not defined.
5.4: Hoạt động báo hiệu ............................................. Error! Bookmark not defined.
5.5: Thanh ghi cấu hình và độ phân giải .................... Error! Bookmark not defined.
5.6: 8 Bit CRC ............................................................ Error! Bookmark not defined.
5.7: Tập lệnh............................................................... Error! Bookmark not defined.
5.7.1: Lệnh ROM .................................................... Error! Bookmark not defined.
5.7.2: Lệnh chức năng bộ nhớ ................................ Error! Bookmark not defined.
5.8: Chuẩn 1 dây với cảm biến DS18B20 .................. Error! Bookmark not defined.
5.8.1: Thời gian khởi động bus ............................... Error! Bookmark not defined.
5.8.2: Thiết lập các Slots ở chế độ ghi cho Master . Error! Bookmark not defined.
CHƯƠNG VI: THIẾT KẾ VÀ LẮP RÁP MỘT SỐ CÁC ỨNG DỤNG ............. Error!
Bookmark not defined.
6.2: Sơ đồ nguyên lý .................................................. Error! Bookmark not defined.
6.3: Mô-đun thu phát RF 8 phím bấm ........................ Error! Bookmark not defined.
6.3.1: Mô-đun thu RF ............................................. Error! Bookmark not defined.
6.3.2: Mô đun phát RF (Remote 8 phím)................ Error! Bookmark not defined.
6.4: LCD 16x2 ............................................................ Error! Bookmark not defined.
6.5: Công cụ hỗ trợ ..................................................... Error! Bookmark not defined.
6.6: Xây dựng giao diện trên máy tính bằng VB 6.0 . Error! Bookmark not defined.
iii
- 6.7: Sơ đồ khối firmware bên trong chip ................ Error! Bookmark not defined.
6.8: Một số hình ảnh của sản phẩm ........................ Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO ............................................. Error! Bookmark not defined.
PHỤ LỤC ...................................................................... Error! Bookmark not defined.
Phụ Lục 0: Chương trình xây dựng giao diện trên VB ............ Error! Bookmark not
defined.
Phụ Lục 1: Chương trình REMOTE 8 phím .............. Error! Bookmark not defined.
Phụ Lục 2: Chương trình đo nhiệt độ và ghép nối máy tính qua cổng USB ..... Error!
Bookmark not defined.
Phụ Lục 3: Thư viện chuẩn 1-dây .............................. Error! Bookmark not defined.
Phụ Lục 4: Danh sách các chip có hỗ trợ giao thức USB ........ Error! Bookmark not
defined.
iii
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
1.1:Tầm quan trọng của truyền thông và ghép nối máy tính với ngànhTự
động hóa
- Ngày nay trong tất cả các nhà máy, xí nghiệp, các hệ thống, các thiết bị đều có
thể liên lạc và trao đổi thông tin cho nhau thông qua các chuẩn truyền dẫn khác nhau.
Chính điều này đã tạo nên sự hoạt động hài hòa giữa các thiết bị trong hệ thống
- Bên cạnh việc trao đổi thông tin cho nhau, các thiết bị phải được kết nối để đưa
dữ liệu về máy tính chủ. Từ máy chủ người điều khiển có thể nhận biết được trạng thái
hoạt động, thông tin sảm phẩm đồng thời cũng có thể lưu trữ, in ấn được các thông số
này khi cần thiết
1.2:Thực trạng hiện nay
Hiện nay giao thức RS-232 được sử dụng phổ biến nhất để thực hiện việc ghép
nối các thiết bị ngoại vi với máy tính. Tuy nhiên giao thức này đã quá lỗi thời vì tốc độ
truyền hạn chế và khả năng linh hoạt không cao. Chính vì vậy, các máy tính hiện đại
đều đã tháo bỏ, chỉ còn lại các cổng giao thức USB. Vì vậy để có thể ghép nối các thiết
bị ngoại vi với máy tính hiện đại các nhà thiết kế đã sử dụng các giải pháp sau:
Một là sử dụng mô đun chuyển đổi USB-COM (Hình 1.1)
Hai là sử dụng chip chuyển đổi USB-COM (Hình 1.2)
Hình 1.1 Mô đun chuyển đổi USB qua COM
SVTH: NGUYỄN HỮU VIỆT Trang 1
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
Hình 1.2 Chip chuyển đổi USB-COM (PL2303)
Nhìn trên nhiều phương diện, đây là vấn đề lớn cho mỗi nhà tiết kế cần cân nhắc
- Xét về mặt kinh tế: Thêm Mô-đun chuyển đổi hay Chip chuyển đổi đều làm
tăng giá thành của sản phẩm
- Xét về mặt kỹ thuật: Chúng ta biết rằng giao thức USB có tốc độ truyền khá cao
vào khoảng 12Mbit/sec (với chuẩn full-speed) trong khi đó giao thức RS-232 chỉ có
20Kbit/sec. Đây được gọi là nguyên lý truyền thông “cổ chai”. Vấn đề này cần tránh
trong việc thiết kế các ứng dụng
- Xét về mặt lợi ích của người sử dụng: Các thiết bị đã nêu ở trên đều cần có
driver riêng cộng với tính “ảo” của nó đã gây lên một số trở ngại cho người sử dụng
Vậy để giải quyết vấn đề này, đề tài đã đi vào nghiên cứu để đưa ra giải pháp mới
nhằm khắc phục các yếu điểm trên, bằng cách ghép nối các thiết bị ngoại vi với máy
tính trực tiếp qua giao thức USB
1.3: Nội dung đề tài
Thiết kế và lập trình ứng dụng sử dụng giao thức USB/lớp HID bao gồm những
phần sau:
- Tổng quan về giao thức USB
- Giới thiệu chip có hỗ trợ giao thức USB, PIC18F2550/4550
-Thiết kế và lắp rápbàn phím không dây dạng thu nhỏ và mạch đo nhiệt độ
- Tìm hiểu sự hỗ trợ của Hệ điều hành với các lớp trong giao thức USB
- Xây dựng chương trình giao diện trên Windowsbằng VB 6.0 để cập nhật giá trị
nhiệt độ được gửi lên từ Vi điều khiển trực tiếp qua giao thức USB
SVTH: NGUYỄN HỮU VIỆT Trang 2
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
- Tạo firmware cho Vi điều khiển để Hệ điều hành có thể tự động nhận ra thiết bị
và không cần driver giống như các thiết bị hiện có trên thị trường (Bàn phím, chuột…)
- Trong đề tài này cảm biến nhiệt độ DS18B20 được sử dụng để đo nhiệt độ của
môi trường sau đó truyền giá trị về Vi điều khiển. Trên thị trường hiện hay có hai loại
cảm biến nhiệt độ phổ biến là: cảm biến có tín hiệu đầu ra liên tục (analog temperature
sensor) và cảm biến có tín hiệu đầu ra số (digital temperature sensor). Đối với các cảm
biến liên tục tín hiệu đầu ra hầu hết là điện áp còn đối với cảm biến số thì đầu ra là một
chuẩn truyền thông nào đó, có thể là I2C, SPI hay UART.Riêng cảm biến này sử dụng
chuẩn truyền thông “1 dây”. Thông qua cảm biến này đề tài cũng giới thiệu đến thầy
cô và các bạn một giải pháp khá đơn giản trong lĩnh vực truyền thông: “Mạng truyền
thông 1 dây”.
- Sơ đồ khối cho các mô hình:
SVTH: NGUYỄN HỮU VIỆT Trang 3
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
CHƯƠNG II: TỔNG QUAN VỀ GIAO THỨC USB VÀ LỚP HID
2.1: Giới thiệu sơ bộ về giao thức USB
Hình 2.1 Đầu cắm USB (type A)
USB (Universal Serial Bus) là một giao thức cho phép kết nối giữa các thiết bị
ngoại vi và máy tính chủ. Giao thức này được phát minh và phát triển bởi Ajay Bhatt
trong khi ông làm việc tại Intel.USB đã thay thế cho nhiều giao thức đa dạng và phức
tạp cũ như cổng giao tiếp nối tiếp và cổng giao tiếp song song…
USB có thể kết nối với nhiều thiết bị ngoại vi như chuột máy tính, bàn phím, máy
in, camera kỹ thuật số, các ỗ đĩa flash và ổ đĩa di động…Kể từ khi ra đời USB đã trở
thành giao thức kết nối tiêu chuẩn cho các thiết bị này.
Buổi ban đầu mới ra đời USB chỉ được thiết kế giành riêng cho máy tính cá nhân,
nhưng thời gian trôi qua USB cũng trở nên phổ biến với các thiết bị như
Smartphone,PDAs, Video game…
Không giống như các chuẩn truyền thông cũ (RS-232, Parallel port), cổng USB có
cung cấp sẵn nguồn điện vì vậy các thiết bị ngoại vi kết nối qua cổng USB không cần
nguồn riêng, ngoại trừ các thiết bị cần công suất lớn.
SVTH: NGUYỄN HỮU VIỆT Trang 4
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
2.2:Quá trình phát triển giao thức USB
Một nhóm gồm 7 công ty bắt đầu tìm hiểu và phát triển giao thức này từ năm
1994gồm Compaq, NEC, DEC, IBM, Intel, Cortel và Microsoft
Phiên bản USB 1.0 được ra đời vào tháng 1 năm 1996 với tốc độ truyền 1.5MBit/s
(Low speed). Phiên bản 1.1 được công bố vào tháng 9 năm 1998 với hai cấp tốc độ
truyền 1.5 MBit/s (Low speed) và 12 MBit/s (Full speed). USB 1.1 có bổ sung thêm
một kiểu truyền thông mới “interrupt OUT”. Tháng 4 năm 2000 giao thức USB 2.0 ra
đời với 3 cấp tốc độ truyền 1.5 MBit/s (Low speed), 12 MBit/s (Full speed), 480
MBit/s (High speed). Ngày 12 tháng 11 năm 2008 giao thức USB 3.0 ra đời với tốc độ
truyền 5 GBit/s. Sản phẩm sử dụng USB 3.0 đầu tiên được ra đời vào tháng 1 năm
2010.
( Trong đồ án này chỉ tìm hiểu về giao thức USB 2.0 Full speed)
2.3: Phân tích ưu điểm và nhược điểm của giao thức USB
2.3.1: Ưu điểm:
2.3.1.1:Đối với người sử dụng
- USB rất linh hoạt đủ để tương thích với nhiều loại thiết bị ngoại vi, thay vì
làm nhiểu kiểu đầu cắm cho từng loại thiết bị khác nhau ở đây ta chỉ cần 1 mà thôi.
- Tự động thiết lập cấu hình: Khi người dùng kết nối thiết bị ngoại vi USB
vào máy tính, Hệ điều hành sẽ phát hiện và tải xuống một driver tương ứng. Với 1 số
thiết bị trong lần kết nối đầu tiên, Hệ điều hành sẽ yêu cầu người dùng cho vào 1 đĩa
có chứa driver, sau đó quá trình cài đặt sẽ tự động tiến hành. Chúng ta cũng không cần
khởi động lại máy tính trước khi sử dụng thiết bị ngoại vi đó.
- Dễ dàng kết nối: Chúng ta không cần phải tháo rời máy tính để cắm thiết bị
vào, bởi vì tất cả các máy tính đã có cổng USB ở mặt trước và mặt sau của máy.
- Cáp nối đơn giản: Cáp có 4 sợi bên trong, nhỏ gọn, dài khoảng 5 mét, nếu có
Hub thì có thể dài đến 30 mét. Cổng và Cáp USB đã được thiết lập sao cho cắm không
bị sai chiều.
SVTH: NGUYỄN HỮU VIỆT Trang 5
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
Bảng 2.1:Bảng so sánh các giao thức
- Cắm nóng: Chúng ta có thể cắm và tháo thiết bị khỏi máy tính bất cứ lúc nào
chúng ta cần mà không làm hỏng máy tính hay thiết bị. Hệ điều hành tự động nhận ra
thiết bị khi nó được cắm vào và sẵn sàng để dùng.
- Không cần người dùng cài đặt thêm: Người dùng không cần phải chọn địa
chỉ cổng và cũng không có jumper nào để thiết lập các mục đích khác
- Nhiều thiết bị có thể cắm vào một máy tính mà không yêu cầu phần cứng quá
phức tạp
- Đôi khi không cần nguồn cung cấp: Với các thiết bị không yêu cầu công suất
lớn (+5V, 500mA) ta không cần cấp nguồn ngoài cho thiết bị
SVTH: NGUYỄN HỮU VIỆT Trang 6
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
- Tốc độ truyền khá cao: Với USB Low speed 1.5MBit/s,Full speed 12MBit/s,
High speed 12MBit/s. Dưới đây là 2.1 bảng so sánh các giao thức.
-Độ tin cậy cao: Độ tin cậy của USB được thừa kế cả phần cứng và giao thức
cho việc truyền dữ liệu. Đặc điểm của phần cứng giúp cho việc loại trừ nhiễu được dễ
dàng.Đồng thời cơ chế tự kiểm tra lỗi và yêu cầu gửi lại giúp cho giao thức này tăng
độ tin cậy
-Giá thành hạ: Mặc dù USB phức tạp hơn các giao thức trước đây, tuy nhiên
giá thành cho thiết bị lại không quá đắt.
-Tiết kiệm năng lượng: Những mạch điện tiết kiệm năng lượng tự động
“power down” khi thiết bị USB ở chế độ chờ và sẵn sàng khi chúng cần được sử dụng.
Giảm tiêu thụ năng lượng đồng nghĩa với việc tiết kiệm tiền, thân thiện với môi trường
và cũng tặng tuổi thọ của Pin
2.3.1.2:Đối với người thiết kế
- Sự linh hoạt trong thiết kế: USB có 4 phương thức truyền và 3 cấp tốc độ,
điều này giúp cho USB tương thích với nhiều loại thiết bị ngoại vi. Tùy thuộc vào đặc
điểm của từng thiết bị ngoại vi mà ta chọn phương thức và tốc độ truyền cho phù hợp
- Sự hỗ trợ của hệ điều hành: Hầu hết các hệ điều hành đều hỗ trợ giao thức
USB, điển hình là Windows 98 trở về sau này.
- Sự hỗ trợ của thiết bị ngoại vi: Trên thị trường có rất nhiều dòng Vi điều
khiển hỗ trợ giao thức USB. Ví dụ: PIC 18F2550/18F4550/18F14K50 của hãng
Microchip
- Sự hỗ trợ về kiến thức: Ngày nay cùng với sự phát triển của máy tính và
mạng Internet, chúng ta có thể tìm thấy thông tin cần thiết một cách đơn giản. Ví dụ:
www.usb.org
SVTH: NGUYỄN HỮU VIỆT Trang 7
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
2.3.2: Nhược điểm
Như đã trình bày ở trên, USB có rất nhiều ưu điểm tuy nhiên bên cạnh đó cũng
có nhưng hạn chế nhất định
- Hạn chế về tốc độ: Mặc dù tốc độ truyền của USB khá cao tuy nhiên cũng còn
chậm hơn so với IEEE-1394.
- Khoảng cách. USB chỉ hỗ trợ cho các thiết bị có khoảng cách tương đối gần với
máy tính chủ mà thôi. Bình thường khoảng 5 mét, nếu có sự hỗ trợ của Hub thì đạt
được 30 mét. Vì vậy để truyền đi xa hơn ta phải sử dụng thiết bị chuyển đổi qua giao
thức RS485.
- Giao tiếp Chủ-Chủ: Giao thức USB chỉ cho phép kết nối giữa máy tính chủ và
thiết bị ngoại vi mà thôi. Còn việc kết nối 2 máy tính chủ, trao đổi dữ liệu trực tiếp với
nhau qua USB là điều không thể.
- Cập nhật đa thiết bị: USB không cho phép máy chủ gửi cùng lúc nhiều dữ liệu
xuống nhiều thiết bị khác nhau
- Một số yêu cầu cho phần cứng: Đối với các thiết bị không hỗ trợ USB ta phải
sử dụng bộ chuyển đổi USB qua các giao thức khác cho phù hợp. Các máy tính đời cũ,
hệ điều hành không hỗ trợ giao thức USB cũng là một vấn đề cần nhắc tới
SVTH: NGUYỄN HỮU VIỆT Trang 8
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
2.4: Giới thiệu các lớp của giao thức USB
Dưới đây là bảng thống kê các lớp của giao thức USB
Bảng 2.2: Bảng liệt kê các lớp của giao thức USB
2.4.1: Lớp 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 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)
2.4.2: Lớp thiết bị thẻ thông minh (Chip/Smart Card Interface)
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ẻ 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ẻ
SVTH: NGUYỄN HỮU VIỆT Trang 9
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
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.
2.4.3: Các thiết bị truyền thông (Modems and Networks)
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
2.4.4: Lớp thiết bị bảo mật thông tin
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í 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).
2.4.5 Lớp các thiết bị nâng cấp firmware
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 sửa lỗi 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ó. Lớp thiết bị này được
biết đến khi chúng ta sử dụng chức năng bootloader cho vi điều khiển.
2.4.6:Lớp các thiết bị tương tác với con người (Human Interface)
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.
2.4.7:Cầu chuyển đổi hồng ngoại (IrDA)
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
SVTH: NGUYỄN HỮU VIỆT Trang 10
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
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.
2.4.8: Lớp các thiết bị lưu trữ thứ cấp (Mass Storage)
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 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ị đó.
2.4.9:Lớp các thiết bị in ấn (Printers)
Lớp printer được áp dụng cho các thiết bị chuyển đổi dữ liệu nhận được thành
dạng văn bản, hình ảnh trên giấy hoặc một số dạng khác. Các máy in đời đầu chỉ in
được các dòng chữ trong những font đơn cố định. Đối với các máy in fun hay laser thì
có thể in nhiều dòng chữ dưới nhiều định dạng font khác nhau, đồng thời cũng có thể
in các hình ảnh phức tạp
2.4.10:Lớp các thiết bị lưu giữ hình ảnh tĩnh (Still Image Capture)
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.
2.4.11: Các thiết bị đo đạc 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.
SVTH: NGUYỄN HỮU VIỆT Trang 11
- ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC
2.4.12: Lớp thiết bị ảnh động (Video)
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.
2.4.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ị đó.
2.5:Lớp thiết bị giao diện người sử dụng (HID-Human Interface Device)
Lớp thiết bị giao diện người sử dụng 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ủ.
2.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ố
SVTH: NGUYỄN HỮU VIỆT Trang 12
nguon tai.lieu . vn