1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án 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 - luận văn, đồ án, đề tài tốt nghiệp

88 480 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 32,94 MB

Nội dung

Trang 1

ĐẠI HỌC ĐÀ NẴNG

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

BỘ MÔN: TỰ ĐỘNG HÓA

THUYET MINH DO AN TOT NGHIEP

NGHIEN CUU, THIET KE HE THONG CAM BIEN NHIET ĐỘ

GIAO TIẾP VÀ GHÉP NOIMAY TINHQUA GIAO THUC

USB/LOP HID

GVHD: ThS Lam Tang Dire

SVTH: Nguyễn Hữu Việt

MSSV: 105106061149

Da Nang, thang 5/2011

Trang 2

Trường đại học Bách Khoa Độc Lập - Tự Do - Hạnh Phúc

KhoaDién wen wee

NHIEM VU

THIET KE DO AN TOT NGHIEP Tén: NGUYEN HUU VIET Lop: 06D6

Khoa: Dién

Nghanh: Tự Động Hóa

1 - Dé tai: NGHIEN CUU, THIET KE HE THONG CAM BIEN NHIET DO GIAO TIEP VA GHEP NOI MAY TiNH QUA GIAO THUC USB/LOP HID

2 - Nội dung thiết kế:

Chuong I: TONG QUAN DE TAI

Chương II: TÔNG QUAN VE GIAO THUC USB VA LOP HID Chuong II: TONG QUAN VE MANG 1 DAY

Chuong IV: TONG QUAN VE 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ăm2011

Ngày tháng năm 2011 Ngày thang năm 2011

Cán bộ duyệt Cán bộ hướng dẫn

Trang 3

Trưởng Bộ Mơn

TS Nguyễn Hồng Mai

Ngày thang nam 2011

Sinh Viên Thực Hiện

Nguyễn Hữu Việt

Trang 4

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 tinh dé 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à đễ 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 q thầy cơ cùng tat ca 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:

Chuong I: TONG QUAN DE TAI

Chuong II: TONG QUAN VE GIAO THUC USB

Chuong III:TONG QUAN VE MANG TRUYEN THONG | DAY

Chuong IV: TONG QUAN VE PIC 18F2550/4550

Chuong V: GIGI THIEU CAM BIEN NHIET DO DS18B20 Chuong VI:THIET KE VA LAP RAP CAC MO HINH

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 dé đề tài được hoàn thành

Da Nang thang 5 nam 2011

Sinh viên thực hiện

Trang 5

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:Thuc trang hién nay Error! Bookmark not defined

1.3: Nội dung để tài nen crerrerrrrrrrrrrrrres 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: -¿-©c+eccxecrreerrrrserrrs Error! Bookmark not defined 2.3.2: Nhược điểm - + s+cx+zx+xsrxerxrre 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 bi thé thong minh (Chip/Smart Card Interface) Error! Bookmark

not defined

2.4.3: Cac thiét bi truyén thong (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

Trang 6

Bookmark not defined

2.4.11: Cac thiết bị đo đạc và kiểm tra Error! Bookmark not defined 2.4.12: Lớp thiết bị ảnh động (Viđeo), Error! Bookmark not defined 2.4.13: Thực hiện các chức năng không tiêu chuanError! Bookmark not defined

2.5:Lớp thiết bị giao điện người sử dụng (HID-Human Interface Device) Error! Bookmark not defined

2.5.1: Khái niệm về HID Mrror! Bookmark not defned

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 - +5 xsxsvxsxeerereereererre Error! Bookmark not defined CHUONG II: TÔNG QUAN VỀ MẠNG TRUYỀN THÔNG 1 DÂY Error!

Bookmark not defined

3.1:Dinh nghia mang truyén thông 1 dây Error! Bookmark not defined

3.2: Tổng quan về Bus I dây . Error! Bookmark not defined 3.3: Các yêu cẦu . -c¿-cccvxecccrkkerrrrkrrrrrrree Error! Bookmark not defined

3.4:Hoạt động của bus l dây «+5 Error! Bookmark not defined

3.4: Mạng một dây và Vi điều khiển PIC Error! Bookmark not defined

CHUONG IV: TONG QUAN VE 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

Trang 7

4.2.5: Thanh ghi điều khiền USB ENDPOINT( UEPn) Error! Bookmark not

defined

4.2.6: Thanh ghi trang 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 THIEU CAM BIEN NHIET DO DS18B20 Error! Bookmark not

defined

5.1: Khái quát chung 5-5 5s+sssxsx+esrses Error! Bookmark not defined 5.2: CAu trúc phan ctng .sceccsseesssessssescssesssseeesseeeesee Error! Bookmark not defined 5.3:Hoạt động đo nhiệt độ . 555 5«5+ Error! Bookmark not defined

5.4: Hoạt động báo hiệu Error! Bookmark not defined

5.5: Thanh ghi cau hình và độ phân giải Error! Bookmark not defined

5.6: 8 Bit CRC eee eceseseeeeeesesesesesescseerseeneeeeees Error! Bookmark not defined

5.7: Tập lệnh 5s +xsxskkseekeersrerreerrre Error! Bookmark not defined 5.7.1: Lệnh ROƠM + << c+sscceceseeereees Error! Bookmark not defined

5.7.2: Lệnh chức năng bộ nhớ Error! Bookmark not defined

5.8: Chuẩn 1 đâ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 CHUONG VI: THIET KE VA LAP RAP MOT SỐ CÁC ỨNG DỰNG Error! Bookmark not defined

6.2: So dd nguy6n ly o cccecccsssesscssseescsssessesssessesseeseessee Error! Bookmark not defined 6.3: Mơ-đun thu phát RE § phím bắm Error! Bookmark not defined 6.3.1: Mô-đun thu RE . - 55s +s<<xex<+ Error! Bookmark not defined 6.3.2: M6 dun phat RF (Remote 8 phim) Error! Bookmark not defined 6.4: LCTD ỐX2 tre Error! Bookmark not defined 6.5: Cơng cụ hỗ trỢ ¿52 ©2sSseSt2ExeEkrkrrerrsrre Error! Bookmark not defined 6.6: Xây dựng giao diện trên máy tinh bang VB 6.0 Error! Bookmark not defined

Trang 8

6.8: Mét sé hinh anh ctia san pham Error! Bookmark not defined TÀI LIỆU THAM KHẢO ccccccccce+ 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 phim 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

Trang 9

CHUONG I: TONG QUAN DE TAI

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

Trang 10

NH1111110101

Hinh 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

phan sau:

- Téng quan về giao thức USB

- Giới thiệu chip có hỗ trợ giao thirc USB, PIC18F2550/4550

-Thiét ké va lắp rápbàn phím khơng dây dạng thu nhỏ và mạch đo nhiệt độ

- Tim 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

Trang 11

- Tao firmware cho Vi diéu khién dé 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 dé tài này cảm biến nhiệt độ DS1§B20 được sử dụng dé đ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 thay

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:

Máy Tính Mo dun LO PIC18F2550 thu RF =

| Hinh 1.3 M6 dun thu cua ban phim không dây |

Mô-đun phat RF Phim Bam LCD

Bus 1 day May

: 550

PIC 18F 4550 Tinh

Vee Vee

DS1 DS2 Nut Bam

I T Hình 1.5 Sơ đồ cấu tạo mạch đo nhiệt độ

GND GND

Trang 12

CHUONG II: TONG QUAN VE GIAO THUC USB VA LOP 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 cii (RS-232, Parallel port), cong 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 cong 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

Trang 13

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

1994g6m Compaq, NEC, DEC, IBM, Intel, Cortel va 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) va 12 MBit/s (Full speed) USB 1.1 co 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 đủ dé tương thích với nhiều loại thiết bị ngoại vi, thay vi 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 đó q 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

Trang 14

Interface Format Number of Distance Speed Typical Use

Devices (maximum, |(maximum,

(maximum) _|feet) bits/sec.)

USB asynchronous |127 16 (up to 96 |1-5M, 12M, |Mouse

serial ft, with Š 480M keyboard, drive,

hubs) audio, printer, other standard and custom peripherals Ethernet serial 1024 1600 10G General network

communications

TEEE-1394b serial 64 300 3.2G Video, mass

(FireWire 800) storage IEEE-488 parallel 1S 60 8M Instrumentation (GPIB)

IrDA asynchronous |2 6 16M Printers, hand- serial infrared held computers

rc synchronous |40 18 3.4M Microcontroller

serial communications

Microwire synchronous |8 10 2M Microcontroller

serial communications

MIDI serial current |2 (more with |Š0 31.5k Music, show loop flow-through control

mode}

Parallel Printer |paraHel 2 (8 with 10-30 3M Printers, Port daisy-chain scanners, disk

support) drives

RS-232 asynchronous |2 50-100 20k (115k Modem, mouse,

({EIA/TIA-232) |serial with some instrumentation

hardware)

RS-485 asynchronous |32 unit loads |4000 10M Data acquisition {TIA/EIA-485) |serial (up to 256 and control

devices with systems

some

hardware)

SPI synchronous |8 10 2.1M Microcontroller serial communications

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 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

Trang 15

- Tốc độ truyén kha cao: Véi USB Low speed 1.5MBit/s,Full speed 12MBit/s,

High speed 12MBi/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 đữ 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 tudi 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 1§F2550/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

Trang 16

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 đữ 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ũ,

Trang 17

2.4: Giới thiệu các lớp của giao thức USB

Dưới đây là bang thống kê các lớp của giao thức USB

Class Descriptor Where Class Is Declared

Audio Interface

Chip/Smart Card Interface Interface

Communication Device or Interface

Content Security Interface

Device Firmware Upgrade Interface (subclass of Application Specific Interface)

Human Interface (HID) Interface

IrDA Bridge Interface (subclass of Application Specific Interface)

Mass Storage Interface

Printer Interface

Still Image Capture Interface

Test and Measurement Interface (subclass of Application Specific Interface)

Video Interface

Bang 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 mỉnh (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ệ tỉnh 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 vi dụ như giá trị tiền trong thẻ tin

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ẻ

Trang 18

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 điệ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, I0BASE-T Ethernet adapter va 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 nang 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ự đi 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

Trang 19

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 đữ 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 6 dia mém, 6 dia ctmg, 6 CD, 6 DVD va ổ 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 đữ 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 đữ 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 thi

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é

1n các hình ảnh phức tạp

2.4.10:Lớp các thiết bị lưu giữ hinh anh tinh (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ủ Ngồ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, cam bién và các bộ chuyên đổi (chuyên đổi đơn vị vật lý chang han)

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

Trang 20

2.4.12: Lép thiết bi ả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 co 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 điệ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 điệ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ê phat hiện việc chúng ta đi 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 nay dé đem lại các đáp ứng mà người sử dụng đang mong đợi

Trang 21

thiết bị khác như các núm điều 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ể gan 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 đướ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 đữ 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 vao (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 ngat 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 qua 800 bytes/sec, với các điểm cuối

tồn tốc thì tốc độ tối đa là 64 KB/s còn điểm cuối ngắt tốc độ cao thì tốc độ tối đa vào

khoang 24 MB/s

Với bản Windows 98 Gold thì nó chỉ hỗ trợ USB 1.0 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 điệ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

Trang 22

âm thanh đồng thời cũng có thể có một giao điện HID cho việc điều khiển độ to nhỏ, cân bằng, treble va bass — có nghĩa là với cùng một giao tiếp USB trên một thiết bị

nhưng ta có thể sử dụng hai lớp giao tiếp khác nhau 2.5.2: Các yêu cầu về phần cứng

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

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

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 va Get_Report, dem lai cach dé Host và thiết bị trao đổi report thông qua kiểu truyền điều khiển Host sử dụng Set_Report để gửi report và

Get_Report để nhận thông báo Bốn yêu cầu còn lại liên quan tới việc cấu hình thiết

bị Các yêu cầu Set_Idle và Get_Idle dùng dé thiết lập và đọc tốc độ rỗi, cái cho biết

có hay khơng việc một thiết bị gửi lại đữ liệu không hề thay đổi kể từ lần thăm dò

cuối

Các yêu cầu Set_Protocol và Get_Protocol thiết lập và đọc giá trị giao thức Giá trị giao thức sẽ cho biết một thiết bị có thể được sử dụng hay không ngay cả khi bộ điều khiển đầy đủ của nó chưa được tải trên Host (ví dụ con chuột và bàn phím có thể thực hiện chức năng của nó ngay trong giai đoạn khởi động - khi mà bộ điều khiển chính thức của nó chưa được tải ở trên Host) Các loại yêu cầu vừa nêu sẽ

Trang 23

Kiéu truyén ngat

Các điểm cuối ngắt đem lại sự luân phiên trong việc trao đổi đữ liệu, đặc biệt

khi phía thu phải có được dữ liệu một cách nhanh chóng hoặc định kỳ Truyền điều

khiển có thể bị trễ nếu bus quá bận trong khi băng thông cho truyền ngắt lại được

đảm bảo

Khả năng thực hiện truyền ngắt ra (OUT) được bổ sung ở phiên bản 1.1 của chuẩn

USB Windows 98 SE là phiên bản Windowsđầu tiên hỗ trợ USB 1.1 và HID 1.1 2.5.3: Các yêu cầu về vi chương trình (Firmware)

Vi chương trình phải phù hợp với các yêu cầu của lớp thiết bị Các bộ mô tả của thiết bị phải bao gồm một bộ mô tả giao diện đề định nghĩa thiết bị thuộc lớp HID, một bộ mô tả HID và một bộ mô tả điểm cuối ngắt vào (IN) Bộ mô tả điểm cuối

ngắt ra (OUT) là tuỳ chọn Vi chương trình cũng phải chứa một bộ mô ta report

Một HID có thể hỗ trợ một hay nhiều report Bộ mô tả report chỉ ra kích thước và nội dung của dữ liệu chứa trong report cũng như cách mà phía thu sẽ sử dụng dữ liệu nhận được Các giá trị trong bộ mô tả sẽ chỉ ra mỗi report là một report đầu vào, đầu ra hay là một report đặc biệt Máy chủ nhận dữ liệu chứa trong report đầu vào và gửi đữ liệu chứa trong report đầu ra Một report đặc biệt có thé được truyền

theo cá hai hướng Mọi thiết bị phải hỗ trợ tối thiểu một report đầu vào để máy chủ

có thể thu nhận dữ liệu thông qua truyền ngắt hoặc truyền điều khiển Các report đầu ra là tuỳ chọn Đề tương thích với Windows 98 Gold thì các thiết bị sử dụng các report đầu ra nên hỗ trợ việc gửi report thông qua truyền điều khiển Sử dụng truyền

ngắt cho các thông báo đầu ra là tuỳ chọn Cịn các thơng báo đặc biệt cũng là tuỳ

chọn và nếu được sử dụng thì nó ln được truyền thông qua truyền điều khiển

2.5.4: Cách thức dé chỉ ra một thiết bị thuộc lớp HID

Với bất kỳ thiết bị USB nào thuộc lớp HID thì các bộ mơ tả của nó chỉ cho máy chủ thông tin máy chủ cần biết đề giao tiếp với thiết bị Máy chủ tìm hiểu về giao

diện HID trong suốt quá trình thiết lập bằng cách gửi một yêu cầu Get_Descriptor

Các bộ mô tả của một thiết bị thuộc lớp HID bao gồm: Bộ mô tả thiết bị (Device

Descriptor), bộ mơ tả cấu hình (Configuration Descriptor), bộ mô tả giao diện

Trang 24

(Interface Descriptor), b6 m6 ta HID (HID Descriptor), b6 mé tả điểm cuối ngắt vào

(IN interrupt Enpoint Descriptor), bộ mô tả điểm cuéi ngdt ra (OUT Interrupt Endpoint Descriptor) va b6 mô tả điểm cuối ngắt đặc biệt (Feature Interrupt

Endpoint Descriptor) Hai bộ mô tả sau cùng là tuỳ chọn (tức có thể có hoặc khơng) Ngồi các bộ mơ tả vừa liệt kê ở trên thiết bị thuộc lớp HID cịn phải có

một bộ mơ tả nữa đó là bộ mô tả Report (bộ mô tả Report sẽ được nói cụ thể sau)

2.5.5: Bộ mô tả báo cáo (Report Descriptor)

Một bộ mô tả thông báo định nghĩa khuôn dạng và công dụng của dữ liệu chứa

trong các report Ví dụ nếu thiết bị là một con chuột thì dữ liệu trong report sẽ thông

báo cho máy chủ biết sự di chuyển của con chuột và các sự kiện click chuột, nếu

thiết bị là một bộ điều khiển rơle thì đữ liệu trong báo cáo sẽ cho biết rơle nào mở

và rơle nào đóng

Bộ mơ tả report cần phải đủ linh hoạt để điều khiển thiết bị với các mục đích

khác nhau Dữ liệu lưu trong report cần được tối ưu hố về kích thước đề tránh lãng

phí khơng gian lưu trữ và rút ngắn thời gian khi truyền trên bus

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

Như đã trình bày ở trên, đặc tả HID định nghĩa 6 yêu cầu mà Host có thể gửi

tới một thiết bị thuộc lớp HID Tắt cả các HID phải hỗ trợ Get_Report, còn đối với

các thiết bị hỗ trợ giao thức khởi động thì phải đáp ứng được các yêu cầu Get_Protocol và Set _Protocol Các yêu cầu còn lại gồm Set_Report, Get_Idle va Set_Idle là tuỳ chọn, trừ trường hợp đối với một keyboard sử dụng giao thức khởi

động phải hỗ trợ Set Idle Nếu một HID không có một điểm cuối ngắt ra (OUT)

hoặc nếu HID đang giao tiếp với một máy chủ chỉ hỗ trợ USB 1.0 như Windows 98 Gold chẳng hạn thì HID đó nếu muốn nhận report từ host nó phải hỗ trợ Set _Report Các yêu cầu ở trên sẽ được Host gửi tới thiết bị trong giai đoạn setup của truyền điều khiển Giai đoạn setup của truyền điều khiển diễn ra như sau: ban đầu host phát ra gói théng bao setup, theo sau đó là gói đữ liệu dành cho giao tác

setup có kích thước của phần dữ liệu là 8 byte, cuối cùng host chờ gói bắt tay ACK

Trang 25

chứa trong 8 byte dữ liệu của gói dữ liệu theo sau gói thơng báo setup, nó có khuôn

dạng như sau:

(sb) I eS eed 7 (mth)

Syne pattern] PID DATAO| Destination fyỊe| Regttet Tppe|Diecfion|bReqest|wValir| vintes| rLanetl

11Ùyk - I byte I byte Lbyte | 2byte| 2 byte | byte

Hinh 2.2: Khuén dang dit liéu ctia giai đoạn setup trong kiểu truyén Control

Có một số Bit trong gói trên có giá trị giống nhau đối với cả 6 yêu cầu đó là:

5 Bit Destination type =00000B để chỉ ra đích đến của yêu cầu là một thiết bị

(00001B: đích là một giao diện cụ thể, 00010B: đích là một điểm cuối trên thiết bị,

00011B: đích là một trong các thành phần khác trong thiết bị)

2 Bit Request Type =01 để chỉ ra loại yêu cầu này là để đành cho một lớp thiết bị

cụ thể (00: tức request là một trong các request chuẩn (có 11 loại request chuẩn), 10: request được định nghĩa bởi nhà cung cấp thiết bị)

Get_Report

Host gửi yêu cầu này khi nó muốn nhận một Input report hoặc Feature report từ

HID sử dụng truyền điều khiển

e Bit Direction = 1 để chỉ ra rằng có một giai đoạn dữ liệu sau giai đoạn setup và

hướng truyền của đữ liệu là từ thiết bị về host

e bRequest = 01h cho biết yêu cầu mà host gửi tới thiết bị là Get_Report

e wValue: Byte cao chứa thông tin cho biết host muốn nhận loại report nào từ thiết bj (1=Input, 3=Feature), byte thap chứa report ID

e wIndex: chứa số lượng giao diện mà yêu cầu được hướng tới

e wlength: chứa chiều dài tối đa cho phép của report trong giai đoạn dữ liệu tính theo byte

Lưu ý: tất cả các HID nên hỗ trợ yêu cầu Get_Report

Get_Idle

Trang 26

Host gửi yêu cau nay dé doc tốc độ rỗi từ thiết bị

e Bit Direction = 1 e bRequest = 02h

e wValue: Byte cao = 00h, byte thấp chỉ ra report ID của report mà yêu cầu tác

động tới Nếu byte = 00h thì có nghĩa là yêu cầu sẽ tác động tới tất cả các Input

report cua HID

e wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

e wlength = 1 I byte trường dữ liệu của gói dữ liệu trong giai đoạn dữ liệu sẽ chứa

tốc độ rỗi tính theo số nguyên lần của 4 ms

Các HID không buộc phải hỗ trợ yêu cầu Get_Idle

Get_Protocol

Mục đích của yêu cầu này là dé host biét được HID có hỗ trợ giao thức khởi động

hay không

e Bit Direction = 1

e bRequest = 03h

¢ wValue = 0000h

e wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

e wLength = 1 Nếu 1 byte trường dữ liệu của gói dữ liệu = 0 tức có hỗ trợ giao thức khởi động còn nếu # 0 tức là không hỗ trợ giao thức khởi động Các thiết bị có hỗ trợ giao thức khởi động thì phải đáp ứng yêu cầu này

Set_Report

Host gửi yêu cầu này để thông báo rằng nó muốn gửi một Output hoặc Feature

report tới thiết bị bằng cách sử dụng truyền điều khiển

e Bit Direction = 0 dé chỉ ra rằng hướng của report trong giai đoạn dữ liệu là từ host tới thiết bị

e bRequest = 09h

Trang 27

e wIndex chứa số lượng giao diện mà yêu cầu này được hướng tới

e wLength: cho biết chính xác kích thước của report tính theo byte sẽ được gửi trong giai đoạn dữ liệu

Các HID có thể hỗ trợ hoặc không hỗ trợ yêu cầu Set _Report Nếu một HID

khơng có điểm cuối ngắt ra (OUT) hoặc HID đang làm việc với một máy chủ chỉ hỗ

trợ phiên bản USB 1.0 mà lại muốn nhận đữ liệu từ Host thì việc đáp ứng lại yêu

cầu Set_Report là cách duy nhất dé có thê nhận đữ liệu từ host

Set_Idle

Host gửi yêu cầu này là để tiết kiệm băng thông thông qua việc giới hạn tần số

gửi báo cáo của một điểm cuối ngắt vào (IN) khi đữ liệu chứa trong báo cáo khơng

có sự thay đổi so với báo cáo gần nhất

e Bit Direction = 0 để chỉ ra hướng của đữ liệu trong giai đoạn dữ liệu nếu có thì sẽ là từ host tới thiết bị

e bRequest = 0Ah

e wValue: Byte cao thiết lập khoảng thời gian tối thiểu phải trôi qua giữa hai Input

report có dữ liệu giống nhau mà lại được gửi kế tiếp nhau, byte thấp chứa report ID

của report mà yêu cầu này tác động tới Nếu byte thấp là 00h thì có nghĩa là yêu

cầu này tác động tới tất cả các Input report của HID

e wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

e wLength 0000h: Cho thấy khơng có giai đoạn dữ liệu theo sau giai đoạn setup Chú thích: Khoảng thời gian giữa hai Input report là một số nguyên lần của 4 ms, như vậy với 1 byte cao của wValue thì khoảng thời gian này sẽ nằm trong phạm vi từ 4 tới 1020 ms Nếu byte cao của wValue = 00h thì có nghĩa là HID chỉ được gửi Input report khi dữ liệu của report đã có thay đổi so với lần gửi ngay trước đó Nếu

dữ liệu của report có thay đổi so với lần gửi ngay trước đó thì nó có thể được gửi ngay khi có một thông báo IN bất kể giá trị byte cao của wValue là bao nhiêu

Trong trường hợp dữ liệu của report khơng hề có thay đổi gì so với lần gửi ngay

trước đó mặt khác khoảng thời gian được gán trong byte cao của wValue chưa trôi

qua kế từ lần gửi report ngay trước mà lại có một thông báo IN từ host thì HID sẽ

gửi gói bắt tay NAK Còn nếu khoảng thời gian được gán trong byte cao của

Trang 28

wValue đã trôi qua kể từ lần gửi report ngay trước thi HID sẽ gửi tới host report

mặc dù dữ liệu của report không hề có thay đổi so với lần gửi ngay trước Nếu HID

trả lời yêu cầu Set_Idle của host bằng gói bắt tay STALL thì nó có thể gửi report bất

cứ khi nào có thơng bao IN tir host ké cả khi đữ liệu của report khơng hề có sự thay

đổi Các HID không bị bắt buộc phải hỗ trợ yêu cầu Set_Idle của host ngoại trừ

keyboard có sử dụng giao thức khởi động

Set_Protocol

Host gửi yêu cầu này để chỉ định HID có nên sử dụng giao thức khởi động hay

không

e Bit Direction = 0 để chỉ ra hướng của đữ liệu trong giai đoạn dữ liệu nếu có thì sẽ là từ Host tới thiết bị

e bRequest = 0Bh

e wValue = 0000h: nên sử dụng giao thức khởi động; wValue # 0000h: không nên sử dụng giao thức khởi động

e wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

e wLength 0000h: Cho thấy khơng có giai đoạn dữ liệu theo sau giai đoạn setup Thiết bị muốn thực hiện chức năng trong quá trình khởi động phải hỗ trợ yêu cầu Set_Protocol

2.6: Sự hỗ trợ của Hệ điều hành với lớp HID

Các hệ điều hành của Microsoft từ Windows 2000 trở đi đều hỗ trợ sẵn các driver Vì vậy người thiết kế không cần phải xây dựng driver riêng, chỉ cần theo đúng các chuẩn của nhà cung cấp hệ điều hành đã tạp ra trước đó

Trang 29

2.7: Chọn chip

Dưới đây là danh sách các chip có hỗ trợ giao thức USB, đồng thời cũng rất quen

thuộc với sinh viên:

AT43USB35x, AT67C713 của hãng Atmel

PIC 18F2550/4550 cua hang Microchip

EZ-USB cua hang Cypress Semiconductor

TUSB3210/3410 cua hang Texas Instrument

Ngồi ra cịn có một số chip khác, mời xem thêm phụ lục 4

Trang 30

CHUONG III: TONG QUAN VE MANG TRUYEN THONG 1 DAY

3.1:Định nghĩa mạng truyền thông 1 dây

Mạng 1 dây là mạng sử dụng 1 dây để làm đường Bus truyền và nhận dữ liệu

Vcc Vcc

Vcc

° D8241!

1-Wire® Slave Device

GND PIC® Microcontroller Hình 2.1: Sơ đề mạng 1 dây

3.2: Tổng quan về Bus 1 dây

Giao thức 1 dây sử dụng công logic CMOS/TTL và hoạt động ở điện áp từ 2.8V đến 6V

Chủ và tớ đều có thé là thiết bị nhận hoặc là thiết bị truyền, tuy nhiên việc truyền đữ liệu tại 1 thoi điểm chỉ được theo I hướng Chủ thiết lập và điều khiển mọi hoạt động

của giao thức I dây

Việc đọc và viết đữ liệu được thực hiện theo từng Bit 1, Bit có trọng số nhỏ nhất

(LSB) được truyền trước, và việc đọc viết dữ liệu được thực hiện theo từng khoảng thời gian

Trang 31

3.3: Cac yéu cau

Những yêu cầu cho bat kì bus 1 day: Hệ thống phải có khả năng tạo ra một khoảng

thời gian delay chính xác và liên tục trong lus dé đạt được tốc độ chuẩn hay là 0.25us

cho tốc độ tối đa

Cổng giao tiếp phải là song cổng (có thể nhập và xuất dữ liệu) Cổng xuất của nó

phải là cực máng hở Không được ngắt việc giao tiếp trong khi đang quá trình trao đổi

dữ liệu đang diễn ra (Chú ý: Hầu hết các dòng vi điều khiển PIC cho phép người dùng điều chính bất kì chân IL/O nào thành cực máng hở như yêu cầu.Để biết thêm các

khuyến cáo về giá trị điện trở kéo lên Xem trong datasheet kèm theo từng loại thiết bị

tớ.)

3.4:Hoạt động của bus 1 dây

Bồn thao tác cơ bản của Bus 1 dây là RESET, việt Bit 0, việt Bit 1 và đọc Bit

Sử dụng các thao tác Bit này, 1 thiết bị phải biết được 1 byte hoặc 1 khung các

bytes

Hình 3.2: Cau tric Timing trén Bus

Trang 32

Bus chủ thiết lập và điều khiến tất cả việc giao tiếp 1 dây Hình 2.2 mô tả biểu đồ

thời gian của giao tiếp 1 dây Nó giống với Điều xung bởi vì dữ liệu được truyền đi

bằng 1 xung rộng(logic = 0) và xung hẹp(logic 1) trong suốt khoảng thời gian truyền

Bit dữ liệu hay là I ngăn thời gian

Một chuỗi giao tiếp bắt đầu khi bus chủ xuất ra I1 xung “Reset” đã được định sẵn độ

dài, cái mà đồng bộ cả bus Mỗi tớ trả lời xung “Resef” bằng 1 xung “Presence” có

mức logic thấp

Để viết đữ liệu, chủ trước tiên thiết lập 1 ngăn thời gian bằng cách kéo đường 1 dây

xuống mức thấp, sau đó, hoặc là giữ nguyên đường line ở mức thấp (xung rộng) để truyền mức logic 0, hoặc là “thả” đường line (xung hẹp) dé cho bus về lại mức logic 1

Để đọc dữ liệu, chủ lại thiệt lập I ngăn thời gian bằng việc kép đương line xuống

thấp với 1 xung hẹp Tớ có thể hoặc là trả về logic 0 bằng cách mở đường xuất của nó

với cực máng hở và giữ cho đường line ở mức thấp để mở rộng xung, hoặc trả về mức logic 1 bằng việc đóng đường xuất của nó với cực máng hở để cho đường line về lại mức cao

Hầu hết các thiết bị 1 dây hỗ trợ 2 mức tốc độ dữ liệu:

Tốc độc chuẩn khoảng 15kbps và tốc độ tối đa và khoảng 111kbps

3.4: Mạng một dây và Vi điều khiển PIC

Vi điêu khiên PIC có nhiêu chân ra vào với mục đích chung (GPIO), và có thê dê

dàng hiệu chỉnh để thực hiện giao thức I dây của Maxim/Dallas

Semiconductor(M/DS)

Giao thức 1 day (1-Wire) cho phép giao tiếp với nhiều thiết bị khác của M/DS, bao gồm pin, các thiết bị quản lí nhiệt, bộ nhớ, iButtons, và vân vân

Các thiết bị 1 dây cung cấp các giải pháp vềbộ nhớ, timer, đo lường và điều khiển

Giao tiếp đữ liệu của mạng 1 dây được giảm thiểu đến mức tối đa (1 đường đữ liệu

cùng với 1 đường nối mass ) Vì vậy hầu hết các thiết bị 1-dây cung cấp tương đối nhỏ

khối lượng dữ liệu, tỉ lệ dữ liệu thông thường đạt 16kbps du cho các công việc mong

Trang 33

1 bus chủ thường rất thuận tiện các thiết bị 1 day giao tiép bang cach sir dung 1

đường dữ liệu đơn và đã xác định rõ ràng Chú ý:

Trạng thái nghỉ cho bus I dây là ở mức cao Nếu việc truyền đữ liệu cần được kết

thúc, dù bất kì 1 lí do gì, bus phải được đưa về trạng thái nghỉ Nếu không được đưa về trạng thái nghỉ, và bus được đưa về mức thấp lâu hơn 120us, 1 hoặc nhiều thiếc bị trên

bus sẽ bị reset

Trang 34

CHUONG IV: TONG QUAN VE PIC 18F2550/4550

4.1: Giới thiệu PIC 18E2550/4550

PIC 18§F2550/4550 là dòng PIC 8 Bit của Microchip có hỗ trợ chức năng USB với

hai cấp tốc độ: full-speed và high-speed với các chuẩn truyền khác nhau gồm kiểu điều khiển, ngất, không đồng bộ và bulk Hỗ trợ hơn 32 endpoints Giành riêng IKbyte RAM cho chức năng USB Có bộ truyền nhận và bộ nắn điện áp trên chip Hỗ trợ giao thức USB cho bộ truyền nhận ngoài

Bên cạnh chức năng quan trọng trên, dòng Vi điều khiển này còn hỗ trợ rất nhiều

các chức năng khác như: 3 ngắt ngoài, 4 timers, 2 bộ CCP/PWM, 1 bộ UART, I2C và

SPI, 13 kênh ADC 10 Bit Tần số hoạt động lên tới 4§MHz

Nguồn cung cấp từ 2.0V tới 5.5V cùng với các chế độ tiết kiệm năng lượng

Program Memory | Data Memory mssP E g

txời viee_ | Fiash |#SingleWord| SRAM |EEPROM | /O |a/p (ch) (pWM) | ŠPP | sp |Master| Š 10-bit |CCPIECCP < | & | timers Š | #16-bit

(bytes) | Instructions | (bytes) | (bytes) Pom | ấ ẫ

PIC18F2485| 24K 12288 2048 | 258 | 24 | 10 2/0 No Y Y 1 |2 /3 PIC18F2550| 32K 16384 2048 | 256 | 24 | 10 2/0 No Y Y 1 |2| 1⁄3 PIC18F4455| 24K 12288 2048 | 258 | 35 | 13 1/1 Yes | Y Y 1 |2| 1⁄3 PIC18F4550| 32K 16384 2048 | 256 | 35 | 13 1⁄4 Yes | Y ¥ 1 ]|2| 1⁄3

Bảng 4.1: Bảng tóm tắt chức năng của PIC 182550/4550

UO

WGLRVPARES —e [1 RAIAN) +—+[|2 40Ƒ] ~—+ R?KBBIP6D 29 f] + RBGKBIPGC

RAVANS «—>(]3 98 [] —> RBSIKBII/PGM

RAQIANQVREMCVREF «—+[|4 a7 [1 RRAIANT I KBIOICSSPP

RAIANSIVREF* <—e(] § 34 L<+ RBSIANGICCP2"ivPO

RA4T0CKIC10UTRCV ôô[]Đ %è1< R8ôIANBINT2VNO 2 RASIANGSSHLVDINCZOUT <—+C]7 234 [<> RBTIANIOINTHSCKISCL : oar ng

REQIANSICKISPP ôâ+[|é w 33[<~> RW/ANI2/NTUFLTOSDIS0A " alee ieataeal

REIANðOK2$PP ©+lo ĐĨ ứ1<Wo aes ares teats RE2AN7I0EĐPP ô+[|l0 Fe 3:]<—wWs RH2JANôNBrlClg ES re 0

Voo—eit BB xlÙ<~~WwPipn pasanavneres*(] § 88 alls Resiangcce2tiveo

Vs —+qi2 00 [++ rosspreric RA4T0©KIC!0U] wer] 6 Se alte JRINANIIMI,

0€1CUU—+[|3 gà 4l++R39P6Pl6 RAB/AMSSHLVDNC20UT®*[|?7 ik 2|Í*“* RBLAMONTIS04S0

€2LKORA9 «——[| 14 271) + RO4SPPS vs—>Q] 8 5b 21[]*> RBOIANT2INTOFLTOSDISOA

RC0T1080T130KI « «(| 15 2 {]-<—» RCTRXDTISOO cscricu—e[] 9 fe 2 w

R€1/Tt08ICCP2/lE «—«[] 16 ]~—+ R08TXCK oscaciKorss —L10 40 Je— Vss

RC2ICCPIPIA «—+[ | 17 24H~—> R05D+VP RE0T!0801304+â>L|!! 1I|]** RCTRXDTS00

'Vus ô>[|1ấ 2al]l2>Re10.4w R01ITI08I0092100E<> L]12 srs ROBTXICK

RDOSPPO <—+[] 19 z2h~—R03$PP3 R02/00Pte+Llt3 16LÏ** RCSD+VP

R01§PP+ —+[]|20 2t]]<—> R02§PP2 Wex>[lu 16|]Ì** R©ID.AM

Hình 4.1: Sơ đồ chân của PIC 18F2550/4550

Trang 35

4.2: Khái quát chức năng USB trong PIC PIC18FX455/X550 Family =—=—=—=—=—=—=—=—=—=—=—=—=—=—=—=—nq

3.3V Regulator Ị †— vuss ' 'Edemal 3,3V Ì Supply) I VREGEN——EN I | oR EM „ 3!

Optional

F5 >—+œ I External,

FSEN I Pullups D|_ |_ _ „

UPUEN Internal Pull-ups| l ¡ (Full = = (Low | 1

UTRDIS I | Speed) Speed)!

Transceiver eet eee eee a8

USB Clock from the HFS gy Ị =

I I Oscillator Module me oe > 4 External > oe Transceiver

tCB Ceneol — 178 TH ee i USB Bus

Configuration leg Rov) [1 72 au +>) _ — —>

USB I—> vwo0ì|!

SIE Lị->BI vpot)

SPP7:SPP0 1 Kbyte _ I->B ckK1sPP USB RAM 2 CK2SPP —>E] CSSPP Ì->El oEsPP I

Hình 4.2: Cấu trúc của chức năng USB bên trong chip

4.2.1:Trạng thái và điều khiến USB

Hoạt động của mô-đun USB được định dạng và quản lí thơng qua 3 thanh ghi

điều khiển Ngoài ra cịn có tổng cộng 19 thanh ghi được dùng vào việc quản lí việc

giao dịch của USB

4.2.2: Thanh ghi điều khiển (UCON)

Thanh ghi này bao gồm những Bit cần thiết cho việc điều khiển hoạt động của mô-đun trong suốt quá trình trao đổi dữ liệu Thanh ghi này bao gồm các Bit thiết cấu hình để điều khiển các vấn đề sau:

+ Kích hoạt chức năng chính của thiết bị ngoại vi USB

+ Reset con trỏ bộ đệm ping-pong

+ Điều khiển chế độ tiết kiệm năng lượng

+ Vơ hiệu hóa q trình truyền

Trang 36

UCON: USB CONTROL REGISTER

U-0 Rw-0 R-x RIC-0 RiW-0 R/W-0 R/W-0 U-0

_ PPBRST SE0 PKTDIS | USBEN | RESUME | SUSPND _

bit 7 bit 0

Bit 7 va Bit 0: Không dùng, đọc giá trị 0

Bit 6: PPBRST - Bit reset cho b6 dém ping-pong

1 =reset tất cả các con trỏ của bộ đệm ping-pong

0 = các giá trị của bộ đệm ping-pong không bị reset Bit 5: SEO — Bit cờ cho biết sự có mặt của thiết bị trên bus

1 = Cho biết giao thức USB được hình thành

0 = Giao thức USB chưa được hình thành

Bit 4: PKTDIS — Bit vơ hiệu hóa quá trình truyền packet

1= Quá trình truyền packet bị vơ hiệu hóa 0 = Quá trình truyền packet được thiết lập

Bit3: USBEN - Bit kích hoạt mô-đun USB 1 =Mô-đun USB được kích hoạt

0 =Mơ-đun USB bị vơ hiệu hóa

Bit 2: RESUME - Bit kích hoạt phục hồi tín hiệu 1 = Quá trình phục hồi tín hiệu được kích hoạt 0 = Quá trình phục hoi bị vô hiệu hoa

Bit 1: SUSPND -— Bit trì hỗn quá trình

Trang 37

4.2.3: Thanh ghi cấu hình USB (UCFG)

Thanh ghi UCFG bao gồm hầu hết các Bit điều khiến mức độ hoạt động của hệ

thống trong mô-đun USB

+ Tốc độ trên bus

+ Kích hoạt điện trở kéo bên trong chip + Kích hoạt bộ truyền nhận bên trong chip + Sử dụng bộ đệm ping-pong

Trên thanh ghi này cũng bao gồm 2 Bit giúp đỡ cho việc kiểm tra mô-đun,

debug

UCFG: USB CONFIGURATION REGISTER

R/W-0 R/W-0 U-0 R/W-0 RW-0 RIW-0 RW-0 RW-0

[ uTEYE [UOEMON|] = — — [uPUEN®)| UTRDIS®@)| FSEN@) | PPB1 | PPBO

bit 7 bit 0

Bit 7: UTEYE - Bit kích hoạt chức năng “Eye Pattern Test” (EPT) 1 = Kích hoạt chức năng EPT

0 = Vơ hiệu hóa chức năng EPT

Biít 6: UOEMON- Bit kích hoạt giám sát USB OE (Output Enable)

1 = Bật tín hiệu OE, Bit nay cho biết khoảng thời gian dữ liệu chạy trên bus 0 = Tắt tín hiệu OE

Bit 5: Khong dùng

Bit 4: UPUEN - Bit kích hoạt điện trở kéo trong chip 1 = Điện trở kéo được kích hoạt

0 = Điện trở kéo không được kích hoạt

Trang 38

Bit 3: UTRDIS — Bit kich hoạt mô-đun truyền nhận trên chip

1 = M6-dun truyén nhan trén chip bi tat, giao thức truyền nhận mô-đun số được kích hoạt

0 =Mơ-đun truyền nhận trên chip được kích hoạt Biít 2: FSEN -Bít kích hoạt Full-Speed

1 = Full Speed 0 = Low Speed

Bit 1-0: PPB1:PPBO — Cac Bit thiết lập cấu hình của b6 dém ping-pong

11 = Dự trữ

10 = Bộ đệm được đùng cho tất cả các endpoint

01 = Bộ đệm được dùng cho OUT endpoint 0 00 = Bộ đệm bị tắt

4.2.4: Thanh ghi trang thai USB

Thanh ghi trạng thái này cho chúng ta biết trạng thái của sự gia dịch trong suốt

quá trình truyền nhận

BDnSTAT: BUFFER DESCRIPTOR n STATUS REGISTER (BD0STAT THROUGH

BD63STAT), CPU MODE (DATA IS WRITTEN TO THE SIDE)

RIW-x RIW-x RIW-x R/W-x R/W-x RW-x R/W-x R/N-x

[yown™ | pts@ | KEN | INCDIS | DTSEN | BSTALL | BC9 | BC8 |

bit 7 bit 0

Bit 7 : Chưa tích hợp

Bit 6-3: ENDP3:ENPO - Số mã hóa của hoạt động endpoint cuối cùng 1111 = Endpoint 15

1110 = Endpoint 14 0001 = Endpoint 1

Trang 39

Bit 2: DIR - Bit chỉ thị hướng của BD cuối cùng 1 = Hoạt động truyền dữ liệu cuối cling 14 1 IN token

0 = Hoạt động truyền đữ liệu cuối cùng là 1 OUT hoặc SETUP token

Bit 1: PPBI - Bit con tro chỉ thi Ping-Pong BD

1 = Hoạt động truyền dữ liệu cuối cùng 1a bank BD 1é 0 = Hoạt động truyền đữ liệu cuối cùng là bank BD chắn

Bít 0: Chưa tích hợp

4.2.5: Thanh ghi diéu khién USB ENDPOINT( UEPn)

Mỗi enpoint trong tổng số 16 endpoint c6 thanh ghi điều khién riéng, chữ n là số thứ tự của endpoint Tất cả các thanh ghi đều giống nhau về mặt bố trí và chức năng

của Bit điều khiển

UEPn: USB ENDPOINT n CONTROL REGISTER (UEP0 THROUGH UEP15)

U-0 U-0 U0 R0 R/W-0 RAM0 R0 RAO [ — | = | — |EPnsH+k |EPCONDIS |EPOUTEN | EPINEN [EPSTALL™]

bịt 7 bit 0

Bit 7-5: Chua thich hop

Bit 4: EPHSHK - Bit khoi déng bat tay Endpoint (Endpoint handshake)

1 = Kich hoat Endpoint handshake

0 = Khơng kích hoạt Endpoint handshake

Bit 3: EPCONDIS - Bit điều khiển Endpoint

(néu EPOUTEN = 1 va EPINEN = 1)

1 = Tat Endpoint n control transfers; chỉ có IN và OUT transfers được cho phép 0 = Bật Endpoint n confrol transfers; INÑ và OUT transfers cũng được cho phép Bit 2: EPOUTEN - Bit kích hoạt Endpoint Output

1 = Bật Endpoint n output 0 = Tắt Endpoint n output

Trang 40

Bit 1: EPINEN: Bit kich hoat Endpoint Input 1 = Bat Endpoint n input

0 = Tat Endpoint n input

Bit 0: EPSTALL: Bit kich hoat Endpoint Stall 1= Endpoint n dugc stall

0 = Endpoint n khong dugc stall

4.2.6: Thanh ghi trang thai ngắt của giao thức USB

Thanh ghi này gồm có nhiều cờ báo hiệu mỗi trang thái ngắt từ nhiều nguồn khác

nhau

UIR: USB INTERRUPT STATUS REGISTER

U-0 RW-0 R0 RW0 RWO RWO RO RIW-0 [ = | sorie | STAULIF | IDLEIF™ | TRNIF® | ACTVIFO| UERRIF@| URSTIF

bit 7 bit 0

Bit 7: Chua được tích hợp

Bit 6: SOFIF - Bit ngat START-OF-FRAME Token 1 = SIE nhan được một START-OF-FRAME token

0 = SIE khong nhận được bat ki START-OF-FRAME token

Bit 5: STALLIF - Bit ngat STALL Handshake

1 = SIE vira truyén m6t STALL Handshake 0 = STALL Handshake chua duge truyền Bit 4: IDLEIF - Bit ngắt phát hiện trạng thái chờ

1 = Phát hiện chờ (trạng thái chờ khoảng 3ms hoặc hơn) 0 = Không rãnh

Bit 3: TRNIF - Bit ngắt hoàn thành quá trình truyền

1 = Quá trình truyền hồn tắt, đọc thanh ghi USTAT về thông tin endpoint

Ngày đăng: 25/12/2014, 18:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w