Tải bản đầy đủ (.doc) (45 trang)

Kiến thức về USB.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (280.09 KB, 45 trang )

Kiến trúc USB
Một hệ thống USB gồm có Một máy tính chủ, Một hoặc hơn thiết bị USB, và
Một kêng truyên vật lý. máy chủ gồm có hai lớp : một lớp phần mềm trên , mà
bao gồm những bộ điều khiển thiết bị USB, và một lớp phần cứng bộ điều
khiển máy chủ, cũng biết nh một lớp bộ tiếp hợp. Trách nhiệm chính của máy
tính chủ tới những sự di chuyển dữ liệu điều khiển tới và từ những thiết bị
USB. Những thiết bị USB là thiết bị ngoại vi mà sử dụng USB điện và những
thuyết minh khổ dữ liệu để giao tiếp với máy tính chủ. đờng truyên vật lý là
tập hợp những cáp USB mà liên kết bộ điều khiển với thiết bị ngoại vi.
Bus - powered Và Tự là những thiết bị powered USB
Windows CE 2.10 và về sau cung cấp cho đầy đủ hỗ trợ cho Bus - powered và
tự những thiết bị powered USB. Khi nào những sự nối ngời dùng Một Tự
powered hoặc thiết bị powered đờng truyền tới một nền tảng Windows CE,
phần mềm hệ thống USB tự động chấp nhận hoặc loại bỏ thiết bị, dựa vào
những yêu cầu về năng năng của thiết bị. Mô hình sức mạnh là cũng nh thế
cho cả hai bus - powered và tự Những thiết bị powered.
Khi một thiết bị USB gắn liền tới một nền tảng nền WindowscCE, mô đun
HCD đặt cấu hình sức mạnh ban đầu. Trong thời gian đính kèm thiết bị xử lý
pha, mô đun HCD đọc những yêu cầu về năng lợng của những cấu hình thiết
bị USB từ những cấu trúc bộ mô tả cấu hình thiết bị. Bên trong cách này, mô
đun HCD có thể chọn một cấu hình sức mạnh thích hợp cho thiết bị.
Vài thiết bị có thể cung cấp vài cấu hình với những yêu cầu về năng lợng
khác nhau. OEMs mà chuyển một mô đun HCD tới phần cứng của họ có thể
thực hiện những chính sách để chọn sức mạnh thích hợp là những cấu hình từ
những cái mà do những thiết bị USB cung cấp.
Chẳng hạn, những nền tảng WindowsCE có một nơi đăng ký đợc đặt mà
chỉ rõ sự vẽ dòng tổng cực đại đợc phép Cho những thiết bị USB nối tới máy
tính chủ. Nếu việc cho phép một thiết bị vợt hơn ngỡng cửa sức mạnh này,
thiết bị cha đợc định hình trừ phi thiết bị có một cấu hình xen kẽ với những
yêu cầu về năng lợng chấp nhận đợc. OEMs có thể tùy biến những phần
chuyên biệt về nền tảng của mô đun HCD để chọn động liệu để định hình


những thiết bị dựa vào mức công suất hệ thống hiện thời. OEMs có thể thực
hiện một mô hình sức mạnh thích hợp cho những nền tảng của nó bởi vì mô
đun HCD gọi mã chuyên biệt về nền tảng trong lớp PDD của nó cho tất cả các
thiết bị USB nối tới đờng truyền. Bởi vậy, một OEM có thể thực hiện những
một mô hình sức mạnh mà có thể có chọn lọc ban hoặc từ chối cho sức mạnh
tới thiết bị USB riêng lẻ theo dù tiêu chuẩn nào OEM chọn.
Bởi vì một mô đun HCD không thể biết rằng cấu hình nào có thể thích
hợp cho khác nhau sử dụng của một thiết bị USB, một bộ điều khiển thiết bị
USB có thể thay đổi cấu hình thiết bị của nó sau khi bộ điều khiển thiết bị đự-
ợc tải, tới phạm vi cấu hình mới đó gặp những yêu cầu về năng lợng hệ thống
toàn bộ. Một bộ điều khiển thiết bị USB sử dụng hàm SetConfiguration để thay
đổi Một cấu hình thiết bị USB. Trong trạng thái unconfigured, những thiết bị
USB có thể không vẽ hơn 100 mA.
Xây dựng vào Ngày thứ t, Tháng mời 04, 2000
Những thành phần USB đợc cung cấp bởi Microsoft
Microsoft cung cấp những thành phần phần mềm USB sau :
- Mô đun bộ điều khiển USB ( USBD), mà tải những bộ điều khiển thiết
bị III,USB và quản lý những tài nguyên trong hệ thống con USB.
- Đầy đủ đặt giao diện USBD mà những hàm liệt kê trong Thuyết minh
đờng truyền Tuần tự Phổ thông, sự Duyệt lại 1.1, mô đun đựợc thực hiện
bởi USBD. Tập hợp API bao gồm những hàm truyền, những hàm ống,
những hàm cấu hình thiết bị, và những hàm hỗn hợp. API này cho phép
những ngời phát triển viết những bộ điều khiển thiết bị USB để hỗ trợ bất
kỳ những thiết bị USB nào.
- Một mô đun HCD mẫu cái đó làm việc với mở giao diện bộ điều khiển
máy chủ ( OHCI) - những bộ điều khiển chủ nhà USB tổng hợp. OEMs
phải chuyển phần PDD của bộ điều khiển này tới phần cứng của nó nếu
nền tảng của nó chứa đựng một bộ điều khiển máy chủ OHCI.
- Một mô đun HCD mẫu mà làm việc với những bộ điều khiển máy chủ
USB tổng hợp bộ điều khiển ( UHCI) bộ điều khiển máy chủ phổ thông.

OEMs phải chuyển phần PDD của bộ điều khiển này tới phần cứng của nó
nếu nền tảng của nó chứa đựng một bộ điều khiển máy chủ UHCI. Chú ý
rằng sự thi hành UHCI mẫu cho nền tảng tham khảo CEPC không hỗ trợ
đình chỉ và lấy lại tính hoạt động. Để thêm sự hỗ trợ này, mẫu PDD mà lớp
có sẽ đợc sửa đổi vào sự sử dụng Đình chỉ và lấy lại sự hỗ trợ giới thiệu
trong lớp MDD.
- Một bộ điều khiển lớp USB mẫu cho những thiết bị giao diện con ngời
( HID).
Mã nguồn cho những thành phần này sẵn sàng bên trong \
Wince\Public\Common\Oak\Drivers\USB định vị trong Ngời xây dựng Nền
tảng WindowsCE. Những hồ sơ Đầu mục Bên trong \ Wince\Public\Oak\Inc
Và \ Wince\Public\Ddk\Inc. Mã mẫu Nền tảng trong
Platform\Cepc\Drivers\Usb.
Bộ điều khiển thiết bị USB Tải chơng trình
Mô đun USBD lấy cho sau đây những bớc khi tải những bộ điều khiển,
dừng ngay khi nó tìm thấy một bộ điều khiển cái đó chấp nhận điều khiển thiết
bị. Sau đây giá trị mô tả giải thuật mà mô đun USBD sử dụng tìm kiếm những
bộ điều khiển thiết bị USB. Trong những sự mô tả, GroupX_ID tham chiếu tới
một chìa khóa với tập hợp nhóm đợc chỉ rõ tới một trong những dạng mô tả
Trong Nơi đăng ký những chìa khóa cho những bộ điều khiển thiết bị USB <
Usb_15.htm > Và Còn lại những nhóm sẵn sàng Vắng mặt. Nếu nhiều bộ
điều khiển đợc đăng ký bên trong cùng nhóm, cái mà chứa đựng dạng đơn
giản nhất đợc tải trớc. Chẳng hạn, một bộ điều khiển chỉ rõ một Group1_ID
với mã lớp thiết bị , Default\DeviceClass\Default, tải trớc một bộ điều khiển
chỉ rõ một Group1_ID với mã lớp và lớp phụ thiết bị, nh
Default\DeviceClass_Subclass\Default. Cái này cho phép Windows CE gìn giữ
những tài nguyên bởi việc tải ít bộ điều khiển có thể. Thủ tục này lấy cho sau
đây những bớc :
1. Mô đun USBD tìm kiếm một chìa khóa với tên Default\Default\Default.
Nếu hiện hữu, mô đun tải bộ điều khiển liệt kê bên trong chìa khóa

Default\Default\Default\DriverName\DLL. Một bộ điều khiển đợc đăng ký
bên trong cách này đợc tải cho tất cả các thiết bị USB mà đợc nối tới hệ
thống.
2. Mô đun USBD tìm kiếm một bộ điều khiển chuyên biệt về nhà cung
cấp. Những bộ điều khiển chuyên biệt về Nhà cung cấp đợc xác định bởi
việc tìm kiếm chìa khóa Group1_ID chung nhất mà phù hợp với thông tin
bộ mô tả thiết bị. Chìa khóa chung nhất là cái mà có một thích ứng
Group1_ID Chìa khóa chứa đựng dạng đợc phép đơn giản nhất và Mặc
định cho Group2_ID và Group3_ID Những chìa khóa. Nếu một chìa khóa
thích ứng đợc tìm thấy, mô đun tải bộ điều khiển mà đợc liệt kê bên trong
DriverName\DLL của chìa khóa. Để biết chi tiết hơn trên đợc phép hình
thành, nhìn thấy những chìa khóa Nơi đăng ký Cho những bộ điều khiển
thiết bị USB < Usb_15.htm >.
3. Mô đun USBD tìm kiếm một bộ điều khiển chuyên biệt về lớp thiết bị.
Những bộ điều khiển chuyên biệt về Lớp đợc xác định bởi việc tìm kiếm
chìa khóa Group2_ID chung nhất. Nếu một chìa khóa thích ứng đợc tìm
thấy, mô đun tải bộ điều khiển liệt kê bên trong DriverName\DLL (của)
chìa khóa Chìa khóa.
Những sự tìm kiếm trong những bớc từ 1 đến 3 có thể không nhợng bộ Một
bộ điều khiển thiết bị USB thích ứng để điều khiển thiết bị hết thảy; cái đó, mà
thiết bị có thể có nhiều mặt, nhau không trừ khi bộ điều khiển nào xác định
trong những bớc mà từ 1 đến 3 có thể phù hợp với tất cả các giao diện giới
thiệu trên về thiết bị. Nh vậy thì, mô đun USBD lấy cho sau đây những bớc để
tìm kiếm phù hợp những bộ điều khiển cho mỗi giao diện giới thiệu trên về
thiết bị, tìm kiếm chìa khóa Group3_ID chung nhất. Nếu mô đun USBD tìm
thấy một chìa khóa thích ứng, nó tải bộ điều khiển liệt kê bên trong
DriverName\DLL (của) chìa khóa Chìa khóa.
Cuối cùng, nếu không có bộ điều khiển thiết bị USB thích hợp nào đợc định
vị, mô đun USBD nhắc một ngời dùng vào tên một DLL chứa đựng bộ điều
khiển đúng. Mô đun USBD rồi tải bộ điều khiển và gọi USBInstallDriver của

bộ điều khiển là hàm. USBInstallDriver cần phải tạo ra một chìa khóa thích
hợp cho bộ điều khiển bởi sự gọi (hớng tới) .RegisterClientSettings , hàm nh
vậy lần sau mà thiết bị USB gắn liền, mô đun USBD có thể định vị bộ điều
khiển đúng mà không nhắc một ngời dùng.
Trong vài trờng hợp nó có thể cần thiết để chỉ rõ thứ tự mức u tiên tới một mức
lớn hơn của chi tiết; cho ví dụ, kết hợp những lớp nhà cung cấp và thiết bị chỉ
rõ. Trong những trờng hợp này, những giá trị GroupX_ID có thể đợc kết hợp
để phát sinh những sự kết hợp khác. Mức u tiên cho những sự kết hợp nh vậy
nh sau, trong thứ tự xuống :
1. Group1_ID\Default\Default
2. Group1_ID\Group2_ID\Default
3. Default\Group2_ID\Default
4. Group1_ID\Group2_ID\Group3_ID
5. Group1_ID\Default\Group3_ID
6. Default\Group2_ID\Group3_ID
7. Default\Default\Group3_ID
Nếu nhiều bộ điều khiển đợc đăng ký ở tại mức mức u tiên đặc biệt, mô đun
USBD tải cái với dạng chung nhất.
Những thiết bị USB
Những thiết bị ngoại vi USB gồm có một hoặc nhiều thành phần vật lý mà thực
hiện những khả năng của những thiết bị. Những thành phần này đợc gọi là
những giao diện. Mỗi giao diện tiêu biểu cung cấp hữu ích nào đó nhóm lại
của tính hoạt động, nhng chính xác cái gì cấu thành một giao diện là một chi
tiết thi hành. Chẳng hạn, một thiết bị chuột USB có thể giới thiệu giao diện
Cho một thông tin chuyển động thẳng đứng và nằm ngang và một giao diện
riêng biệt Cho thông tin nút đợc rời bỏ và phải đúng. Nh tùy chọn khác, thiết
bị có thể giới thiệu một giao diện đơn chứa đựng tất cả thông tin. Cả hai là
những cách tiếp cận hợp lệ, nhng mỗi cách tiếp cận có những sự liên quan Cho
Bộ điều khiển thiết bị phải tác dụng ra sao.
Giao diện đợc liên quan đến từng cái là một tập hợp của endpoints.

Endpoints là những ngời sản xuất tận cùng hoặc những khách hàng của dữ liệu
mà đợc truyền ngang qua đờng truyền. Tất cả các thiết bị USB có một đặc biệt
endpoint, Nghi thức tình trạng và cấu hình USB đợc biết nh endpoint 0, mà hỗ
trợ chung.
Những bộ điều khiển thiết bị USB thiết lập những kênh thông tin liên lạc
lôgíc, gọi là những cái ống, tới nhiều endpoints trên một USB là thiết bị. Một
cái ống là Một hiệp hội phần mềm giữa Một bộ điều khiển thiết bị USB và
Một endpoint. Những cái ống có thể đợc nghĩ về nh những kênh thông tin liên
lạc mà sử dụng hàm gọi tới phần mềm hệ thống USB để giao tiếp với
endpoints có liên hệ của nó. Những đặc trng của một cái ống , nh phơng hớng
truyền thông và dải thông đợc yêu cầu, đợc xác định bởi những đặc trng
endpoint, mà lần lợt đợc chỉ báo trong cấu trúc bộ mô tả endpoint.
Phần cứng giao diện thanh truyền trên một thiết bị USB có trách nhiệm với
sự truyền và sự tiếp nhận USB - dữ liệu có cấu trúc. Thiết bị USB lôgíc tơng
xứng với một thiết bị USB vật lý gồm có những thực thể trừu tợng hóa USB,
nh thiết bị endpoints và những cái ống tơng ứng của nó.
Trình điều khiển đờng truyền theo thứ tự chung
Trình điều khiển ( USB) là một cấu trúc thanh truyền ngoài cho nối USB -
những thiết bị ngoại vi có năng lực tới một máy tính chủ. USB cha đợc thiết
kế để đợc sử dụng nh đờng truyền bên trong để nối CPUs tới kí ức chính và tới
những thiết bị mà c trú trên một phiến mẹ. Thay vào đó, USB là một nghi thức
truyền thông mà hỗ trợ những sự di chuyển dữ liệu tuần tự giữa một hệ thống
chủ dịch vụ và USB - thiết bị ngoại vi có năng lực. Công nghệ USB là phát
triển nh một giải pháp tới ngời dùng ngày càng tăng yêu cầu trên những máy
tính và nhu cầu cho thiết bị ngoại vi dễ sử dụng và linh hoạt. Công nghệ USB
trực tiếp ảnh hởng một số thiết bị ngoại vi chuẩn, nh những bàn phím, những
cần điều khiển, những thiết bị chuột, những camêra số, sự hợp nhất kỹ thuật
điện thoại máy tính ( CTI), và viđêô - những sản phẩm conferencing.
USB đề nghị sau đây làm lợi cho những ngời thiết kế và những ngời dùng hệ
thống :

- USB cung cấp một kiểu đầu nối đơn, đợc định nghĩa kỹ, tiêu chuẩn cho
tất cả các thiết bị USB. Cái này đơn giản hóa không duy nhất mà thiết kế
của những thiết bị USB, trừ khi cũng một nhiệm vụ của ngời dùng việc xác
định những cái phích cắm nào tơng ứng tới những cảng nào trên máy tính
của họ.
- USB loại trừ nhu cầu cho con chuột riêng biệt, mô đem, bàn phím, và
máy in chuyển, nh vậy giảm bớt sự phức tạp phần cứng.
Những USB hỗ trợ cái phích cắm nóng, mà có nghĩa rằng những thiết bị
USB có thể đợc nối an toàn và rời ra trong khi máy chủ đợc bật. Kết nối
ngoại vi chung khác mà những tiêu chuẩn , nh Giao diện hệ máy tính
Nhỏ ( SCSI), yêu cầu rằng máy chủ đợc tắt khi thiết bị ngoại vi đợc
thêm hoặc chuyển dịch.
USB hỗ trợ cái Phích cắm và Trò chơi. Khi một thiết bị USB đợc cắm vào,
máy tính chủ xác định thiết bị và định hình nó bởi việc tải bộ điều khiển
thích hợp.
USB cung cấp tính linh hoạt bên trong làm sao những thiết bị là powered.
Những thiết bị USB có thể vẽ sức mạnh trực tiếp từ cáp USB ( những
thiết bị powered đờng truyền), cung cấp sức mạnh của chính mình từ
những nguồn pin hoặc từ một đầu ra ở tờng ( Tự là những thiết bị
powered), Hoặc Sử dụng một sự kết hợp của cả hai kiểu sức mạnh.
- USB hỗ trợ sức mạnh - việc cất giữ đình chỉ và lấy lại những kiểu.
- USB đề nghị cho một cao tốc 12 - những megabit - - Kiểu ( Mbps) hai
và một thấp - Tăng tốc độ 1.5 - kiểu Mbps mà hỗ trợ một sự đa dạng của
thiết bị ngoại vi.
- USB bảo đảm cho những số lợng nhất định dải thông cho những thiết bị
mà không thể tha thứ sự truyền mà đi vào những sự nổ, nh luồng những
thiết bị viđêô và âm thanh.
- USB đề nghị bốn kiểu di chuyển dữ liệu khác nhau mà đợc thỏa mãn cho
những nhu cầu của nhiều kiểu ngoại vi.
USB cho phép nhiều thiết bị ngoại vi liên lạc đồng thời với máy chủ .

Tham khảo những nguồn sau cho thiết bị ngoại vi thông tin về công nghệ USB
mà thì quan trọng vừa cho OEMs mà thêm USB hỗ trợ vào những nền tảng
Windows CE của họ vừa cho những nhà cung cấp phần cứng độc lập ( IHVs)
mà xây dựng USB bổ sung :
Những sự thi hành USB Web-site Diễn đàn
Vị trí này chứa đựng thuyết minh USB đầy đủ, Thuyết minh đờng
truyềnTự động chung, sự Duyệt lại 1.1.
Web-site Công ty Intel
Vị trí này chứa đựng thông tin trên phần cứng USB và những lát mỏng
bộ điều khiển vi mô, such Nh 8 x930Ax Và 8 x931xA Những lát mỏng
đợt.
Ghi nhớ rằng chính thức đờng truyền tự đọng chung Thuyết minh, sự Duyệt lại
1 sử dụng thời hạn vận hành để tham chiếu tới USB - những thiết bị ngoại vi
có năng lực. Tuy nhiên, vì hàm tiêu biểu tham chiếu tới những đơn vị có thể
gọi Của C / Mã C++, tài liệu Windows CE sử dụng thuật ngữ thiết bị USB để
tham chiếu tới thiết bị ngoại vi USB. Trong sự thêm, Thuyết minh đờng truỳen
tự đọng chung chính thức, sự Duyệt lại 1, sử dụng thuật ngữ bộ điều khiển
máy khách USB để tham chiếu tới những bộ điều khiển thiết bị cho những
thiết bị USB, nhng để tránh sự lẫn lộn với thuật ngữ học khách/chủ, tài liệu
này sử dụng thời hạn Bộ điều khiển thiết bị USB.
Windows CE 2.10 và về sau hỗ trợ những đặc tính
USB sau :
- Sự liệt kê đờng truyền
Windows CE hỗ trợ sự liệt kê những thiết bị USB trên đờng truyền .
Quá trình liệt kê đờng truyền là một sự nối tiếp câu hỏi nhiều bớc : mô
đun HCD thu nhận thông tin từ một thiết bị đợc nối, gán cho nó một địa
chỉ USB duy nhất, và những giá trị đợc đặt một cấu hình. Một lần sự liệt
kê đầy đủ, thiết bị đợc định hình và sẵn sàng để chỉ đạo, truyền, và nhận
những giao dịch. ở điều này điểm , mà mô đun USBD cố gắng tải một
hoặc nhiều bộ điều khiển thiết bị USB để điều khiển thiết bị, dựa vào

thông tin đợc chứa đựng trong những bộ mô tả thiết bị và giao diện.
Nếu không có bộ điều khiển thích hợp nào đã đợc đăng ký cho thiết bị,
một ngời dùng đợc nhắc để vào tên một bộ điều khiển để điều khiển
thiết bị.
- Quản lý nguồn điện
Windows CE cung cấp hỗ trợ cho bus - powered và tự Những thiết bị
powered. Cho cả hai kiểu thiết bị, mà mô đun USBD đọc những yêu cầu
về năng lợng của thiết bị từ thông tin bộ mô tả và loại bỏ thiết bị nếu nó
vợt hơn ngỡng cửa nguồn điện cực đại. OEMs có thể đặt giới hạn vẽ
hiện thời, vì vậy IHVs không cần tin cậy bất kỳ số lợng đặc biệt nào sẵn
có hiện thời, sự loại trừ nh chi tiết trong Thuyết minh đờng truyền tự
động chung , sự Duyệt lại 1. Những giới hạn vẽ Hiện thời đợc bắt buộc
bởi những thiết bị USB, không phải bởi máy tính chủ; những thiết bị mà
vẽ hiện thời quá nhiều sẽ là ngừng làm việc thiết bị. Những thiết bị mà
không thể điều khiển mức công suất trên riêng lẻ chuyển có thể đơn
giản đóng tất cả các cảng của nó, hoặc có thể là ngừng làm việc bởi một
thiết bị ngợc dòng, Khi nào một hiện thời qua - Tình trạng vẽ xuất hiện.
Cái này có thể gây ra nhiều thiết bị USB để ngắt ra khỏi đờngtruyền nếu
một thiết bị đơn vẽ hiện thời quá nhiều.
- Windows CE không hỗ trợ nguồn điện phức tạp tiết kiệm những kiểu
hoặc những kiểu nguồn điện bộ phận cho những thiết bị USB khi thiết
bị CE Windows bị đình chỉ. Thay vào đó, toàn bộ đờng truyền là ngừng
làm việc. Vậy thì, Windows CE không hỗ trợ cộng lại từ sự đình hoãn
trong sự đáp lại đến những nhu cầu của một thiết bị USB. Đồng thời ,
Windows CE không hỗ trợ đặc tính wakeup từ xa nh Thuyết minh đờng
truyền Tuần tự đợc mô tả chung , sự Duyệt lại 1.
- Những kiểu Di chuyển Windows CE hỗ trợ tất cả bốn kiểu sự di
chuyển dữ liệu định nghĩa trong Thuyết minh đờng truyền tự dộng chung,
sự Duyệt lại 1. Những bộ điều khiển thiết bị USB có thể sử dụng bất kỳ
kiểu di chuyển nào mà thích hợp cho thiết bị ngoại vi của họ.

- Những bộ điều khiển Lớp
Kiến trúc USB thực hiện trong Windows CE hỗ trợ tải những bộ điều khiển
lớp. Những ví dụ của những lớp thiết bị USB bao gồm lớp thiết bị vào ( HID)
con ngời và lớp bộ nhớ khối, ngoài ra. OEMs hoặc IHVs có thể viết những bộ
điều khiển lớp của chính mình và tải chúng phù hợp, sử dụng cơ chế nơi đăng
ký.
- Windows CE 2.12 và về sau hỗ trợ sau đây có đặc tính :
Sự Hỗ trợ cho những thiết bị ngoài và tích hợp. Windows CE 3.0 và về sau hỗ
trợ nối những thiết bị lên trên tới năm mức sâu, cực đại cho phép bởi Thuyết
minhđờng truyền tự dộng chung, sự Duyệt lại 1.
- Windows CE đề nghị cho có hạn hỗ trợ cho sau đây những đặc tính :
Thiết bị ngoại vi USB Không biết. Thiết bị ngoại vi USB Không biết nói chung
không gây ra những vấn đề trong những hệ thống CE Windows, nhng dới vài
hoàn cảnh việc nối một USB Không biết ngoại vi tới một hệ thống CE
Windows mà sử dụng những di sản- cảng tự do một cách đầy đủ và có một bộ
điều khiểnẩmý chủ nền tảng OHCI có thể gây ra hệ thống con USB để dừng
việc trả lời. Đây thì hiếm có, nhng việc có thể xảy ra khi USB ngoại vi không
có một hệ thống đợc thiết đặt trên hệ thống Windows CE, khi một USB không
biết ngoại vi đợc nối tới một Windows CE đợc chạy bộ điều khiển, rồi hệ
thống lạnh - Hoặc ấm - Đợc khởi động, hoặc khi một USB không biết ngoại vi
đợc nối tới một Windows CE hệ thống mà là powered ra khỏi và hệ thống sau
này là rebooted. Trong những trờng hợp này, thiết bị ngoại vi USB khác mà đã
đợc đếm sẽ tiếp tục tới hàm, nhng sự liệt kê thiết bị những hoạt động sẽ không
hoàn thành. Bạn có thể nối và ngắt một USB không biết ngoại vi tới một hệ
thống Windows CE đợc chạy dài nh vậy Bạn làm không phải là khởi động lại,
mồi lại hệ thống, nhng nếu những vấn đề xuất hiện Bạn phải ngắt USB không
biết ngoại vi và khởi động lại, mồi lại Hệ thống Windows CE.
Bộ điều khiển USB máy chủ
Bộ điều khiển máy chủ , hoặc bộ tiếp hợp, là một lớp phần cứng mà đợc
chứa đựng bên trong máy tính chủ. Những chuyển đổi bộ điều khiấymý chủ

mà dữ liệu giữa khuôn dạng mà đợc sử dụng bởi máy tính chủ và USB định
dạng. Chỉ OEMs mà thực hiện những sản phẩm Windows CE nền tảng mà sử
dụng USB cần viết cho những bộ điều khiển cho máy chủ USB những bộ điều
khiển. Để biết chi tiết hơn, hãy thấy (xem) Developing Native Device Drivers USB và
WDM mà Mô đem Cập nhật
Thiết bị USB làm việc là Nhóm hoàn thành Làm việc trên Thuyết minh Lớp (
CDC) những thiết bị truyền tin, Phiên bản 1.0. Nó bao trùm những mô đem và
những điện thoại tơng tự. IHVs nào đó đã thực hiện thuyết minh này.
Microsoft đã xây dựng một bộ điều khiển lớp cho những mô đem USB, gọi
Usbser.sys. Nó đợc bao gồm trong phiên bản bêta (của) Windows 98 SP1. Nó
đợc bao gồm trong Bêta Windows 2000 3.
Usbser.sys là một bộ điều khiển WDM. Nó đợc hỗ trợ bởi đờng của lớp ánh xạ
CCPORT trên Windows 2000, mà cũng đợc bao gồm trong Windows 98 SP1.
WHQL hiện thời đang phát triển một chơng trình thử cho những mô đem
USB. Chúng sẽ bắt đầu sự thử trớc thời gian mô đem USB hỗ trợ là hàng hải
với một hệ điều hành, nh Windows 98 SP1.
Kết luận
Nhẹ nhàng những mô đem thích hợp khi đợc bó lại trong vài hệ thống, nhng
chúng yêu cầu thiết kế cẩn thận trên về ngời thiết kế bộ phận của mô đem và
ngời thiết kế hệ thống.
Gọi tới hoạt động cho nhẹ nhàng những mô đem :
-Tất cả các bình luận tổng quan trên về những nguyên tắc chỉ đạo mô
đem mềm đợc chào đón. Xin gửi những bình luận Tới
với Nhẹ nhàng Mô đem trong hàng Phụ thuộc. Xin
bao gồm tên của bạn, tiêu đề, tên công ty, và những số điện thoại và Fax.
-Sự Từ bỏ để làm việc là những tài liệu
Thông tin đợc chứa đựng trong quà lại tài liệu này cảnh quan hiện thời của
Công ty Microsoft của những vấn đề bàn luận về Nh Của ngày tháng sự công
bố. Vì Microsoft phải trả lời tới tình huống thị trờng đang thay đổi, nó không
cần đợc giải thích để là một tống đạt trên về bộ phận của Microsoft, và

Microsoft không thể bảo đảm sự chính xác của bất kỳ thông tin nào giới thiệu
sau khi ngày tháng của sự công bố.
Tài liệu này chỉ cho những mục đích thông tin. Microsoft không làm những
sự đảm bảo, Tốc hành Hoặc Bao hàm, Trong Tài liệu này.
Quản lý nguồn điện USB
Windows CE cung cấp cho đầy đủ hỗ trợ cho quản lý nguồn điện của những
thiết bị USB, nh đợc mô tả trong Thuyết minh đờng truyền tự động chung, sự
Duyệt lại 1. Rất quan trọng cho Windows CE là sự hỗ trợ Cho Đình chỉ Và
Cộng, Nền tảng lại vì Windows CE những nền tảng có một chu trình bật
nguồn và khởi động mà khác với cái trên những máy tính để bàn. Sự Hỗ trợ
cho bus - powered và tự Những thiết bị powered USB thì quan trọng cũng bởi
vì nhiều nền tảng nền tảng Windows CE có những tài nguyên sức mạnh có
hạn. Để biết chi tiết hơn về quản lý sức mạnh, hãy thấy (xem) Developing Native
Device Drivers.Windows CE hỗ trợ nguồn điện
những thiết bị USB trong hiệp hội với những trạng thái nguồn điện Windows
CE chuẩn. Khi Windows CE phát hành một thông báo POWER_DOWN, mô
đun HCD lập lại và dừng những nguồn điện phần cứng và loại bỏ bộ điều
khiển máy chủ USB từ đờng chuyền, nhng không đình chỉ bất kỳ những thiết
bị đợc nối cho USB nào. Khi nguòn điện trở lại tới nền tảng, Windows CE gửi
một thông báo POWER_UP cho mô đun HCD. Khi nào phần cứng bộ điều
khiển máy chủ có Re - Đợc khởi tạo, mô đun USBD dỡ hàng những bộ điều
khiển thiết bị USB tải trớc thông báo POWER_DOWN, xác định tất cả các
thiết bị USB mà hiện thời đợc nối tới đơng truyền - một quá trình gọi sự liệt kê
truyền - và tải những bộ điều khiển thiết bị USB cho những thiết bị đó. Chu
trình nguòn điện này xử lý rất tơng tự nh Giám đốc Thiết bị đợc thực hiện bởi
Windows CE đó cho những Thiết bị Thẻ PC.
Cái này ngụ ý USB mà những bộ điều khiển thiết bị có thể cần để lấy hoạt
động đặc biệt để làm một thiết bị nguồn điện trong suốt cho những ứng dụng
mức trên. Chẳng hạn, nếu một thiết bị USB cung cấp một hệ tập tin, bộ điều
khiển thiết bị cần phải giữ gìn hồ sơ mở điều khiển ngang qua một chu trình

nguồn điện. Có vài đờng để hoàn thành điều này. Giải pháp Một cho chính bộ
điều khiển thiết bị USB để đăng ký với Thiết bị nh Một bộ điều khiển giao
diện dòng bởi việc gọi ActivateDevice là hàm. Những sự tăng dần này sự tham
khảo tin tởng vào th viện liên kết động của bộ điều khiển thiết bị USB ( DLL)
để khi mô đun USBD dỡ hàng bộ điều khiển, mã của bộ điều khiển làm dịu
còn lại trong bộ nhớ. Bộ điều khiển thiết bị USB có thể giữ cho bất kỳ những
cán hồ sơ ứng dụng nào mở và đợi sự gọi tới hàm USBDeviceAttach, mà xuất
hiện sau khi lại những tổng hệ thống và thiết bị USB là sẵn sàng sẽ đợc sử
dụng. Sự bất lợi của cách tiếp cận này là mạng điện lực lại bộ điều khiển trong
bộ nhớ thậm chí sau khi thiết bị USB biệt lập từ hệ thống. Giải pháp thứ hai sẽ
phân ra giao diện USB từ giao diện hệ tập tin mức trên; giữ mã bộ điều khiển
hệ tập tin mà quản lý hồ sơ điều khiển riêng biệt tránh khỏi mã bộ điều khiển
thiết bị USB mà thật sự quản lý phần cứng kho.
Windows CE cung cấp cho đầy đủ hỗ trợ cho bus - powered và tự những
thiết bị powered USB. Khi một ngời dùng nối bất kỳ cái nào tự powered hoặc
thiết bị powered bus tới một nền tảng Windows CE, phần mềm hệ thống USB
tự động chấp nhận hoặc loại bỏ thiết bị, dựa vào những yêu cầu về năng lợng
của thiết bị và nguồn điện toàn bộ của hệ thống tải. Mô hình nguồn điện là
đồng nhất cho cả hai tự Powered và những thiết bị powered bus.
Khi một thiết bị USB gắn liền tới một nền tảng, mô đun HCD đặt cấu hình
nguồn điện ban đầu. Trong thời gian đính kèm thiết bị xử lý pha, mô đun
HCD đọc những yêu cầu về năng lợng của những cấu hình thiết bị USB từ
những cấu trúc bộ mô tả cấu hình thiết bị. Nó rồi gọi bên trong tới phần
chuyên biệt về nền tảng của mô đun HCD để xác định phải chăng nền tảng
máy chủ có thể hỗ trợ những yêu cầu về năng lợng của thiết bị USB. Một
OEM có thể thực hiện mã trong phần chuyên biệt về nền tảng của mô đun
HCD để kiểm tra tình trạng nguồn điện hệ thống, such nh liệu có phải hệ
thống đang chạy trên những nguồn pin hoặc đợc nút vào trong một nguồn điện
rút ra, để tham gia làm sự xác định này. Những bộ điều khiển thiết bị USB có
thể chọn một cấu hình thích hợp cho những thiết bị của họ nếu tính hoạt động

đó đợc hỗ trợ trong mô đun HCD của OEM.
Windows CE không hỗ trợ đặt một USB ngoại vi vào trong đình chỉ kiểu
theo chơng trình.
Những bộ điều khiển thiết bị USB mà đợc quản lý bởi mô đun USBDI
không nhận những Windows CE POWER_UP và thông báo POWER_DOWN
bình thờng - những bộ điều khiển nh vậy là duy nhất ý thức đợc tải mô đun
USBDI và việc tháo gỡ chúng ở tại nhiều thời gian. Nếu một bộ điều khiển
nh vậy cần theo dõi tình trạng nguồn điện của hệ thống, nó có thể làm gần nh
vậy thực hiện một giao diện và gọi dòng ActivateDevice or RegisterDevice để
giao diện dòng của bộ điều khiển nhận POWER_UP và những thông báo
POWER_DOWN.
Đình chỉ và lấy lại
Windows CE hỗ trợ đình chỉ và lấy lại những thiết bị USB trong hiệp hội
với những trạng thái nguồn điện Windows CE chuẩn. Khi Windows CE phát
hành một thông báo POWER_DOWN, mô đun HCD đình chỉ phần cứng bộ
điều khiển máy chủ USB và tất cả thiết bị. Để để đạt đợc đây, lớp MDD của
mô đun HCD gọi một hàm trong lớp PDD cho phép mô đun HCD hoàn thành
bất kỳ chuyên biệt về nền tảng nào việc xử lý cần đình chỉ phần cứng bộ điều
khiển chủ nhà đúng mức. Việc đình chỉ sức mạnh tới phần cứng bộ điều khiển
máy chủ tiêu biểu gây ra những thiết bị USB nối tới một nền tảng Windows
CE để vào trạng thái bị đình chỉ. Tuy nhiên, cái này cha đợc giới thiệu cho tất
cả các thiết bị; Những thiết bị USB mà có thể tập hợp và cất giữ dữ liệu trong
khi máy tính chủ bên ngoài Không cần bị đình chỉ.
Khi nền tảng nền tảng CE Windows đợc bật lần nữa, Windows CE gửi một
thông báo POWER_UP cho mô đun HCD. Tiếp theo, lớp MDD của mô đun
HCD gọi một hàm trong lớp PDD. Vì lớp PDD đợc sử dụng, OEMs có thể tùy
biến mô đun HCD để thực hiện bất kỳ cần thiết nào chuyên biệt về nền tảng
xử lý. Đi theo sự gọi tới lớp PDD, mô đun HCD khởi tạo lại Phần cứng bộ điều
khiển máy chủ.
Khi phần cứng bộ điều khiển máy chủ đã đợc khởi tạo, lại mô đun bộ điều

khiển USB dỡ hàng mà những bộ điều khiển thiết bị USB tải trớc thông báo
POWER_DOWN, xác định tất cả các thiết bị USB hiện thời nối tới đờng
truyền- mà một quá trình gọi sự liệt kê bus - và tải những bộ điều khiển thiết
bị USB cho những thiết bị đó. Đây đình chỉ và lấy lại xử lý thì rất tơng tự nh
Thiết bị đợc thực hiện bởi Windows CE đó cho những Thiết bị trên nền Thẻ
PC.
Phần mềm hệ thống USB
USB mà phần mềm hệ thống gồm có hai sắp thành từng lớp : một lớp phủ của
những bộ điều khiển thiết bị USB và một lớp thấp hơn của những hàm USB mà
đợc thực hiện bởi Windows CE. Những bộ điều khiển thiết bị USB sử dụng
những hàm USB để thiết lập những kết nối tới những thiết bị mà chúng điều
khiển và để định hình và truyền thông với những thiết bị. Lớp thấp hơn của
những hàm USB thực hiện vài nhiệm vụ đợc liên hệ qua lại :
- Quản lý tất cả truyền thông giữa những bộ điều khiển thiết bị USB và
thiết bị gốc USB gắn sẵn của máy tính chủ
- Tải và tháo gỡ những bộ điều khiển thiết bị USB ở thời báo thích hợp
- Dịch dữ liệu tới và từ khung và gói của nghi thức USB định dạng
- Thực hiện những cấu hình và nhiệm vụ có liên quan tình trạng chung bởi
việc thiết lập truyền thông với endpoint chung trên tất cả các thiết bị USB
Lớp thấp hơn chính nó đợc bao gồm hai chia ra - mô đun đờng truyền
( USBD) tự đọng chung trên và mô đun bộ điều khiển ( HCD) bộ điều khiển
máy chủ thấp hơn. Mô đun USBD thực hiện những hàm giao diện USBD cấp
cao dới dạng tính hoạt động do mô đun HCD cung cấp. Những bộ điều khiển
thiết bị USB sử dụng những hàm giao diện USBD để giao tiếp với thiết bị
ngoại vi của họ.
IHVs và những nhà sản xuất của những thiết bị USB cần phải làm sử dụng
của những hàm mà do USBD cung cấp để thực hiện những bộ điều khiển thiết
bị USB của họ. OEMs chịu trách nhiệm để cung cấp một mô đun HCD tới
những nền tảng Windows CE của nó để phần cứng của nó đúng mức Những
giao diện với mô đun USBD.

Sự minh họa sau cho thấy hai lớp của phần mềm trong ngữ cảnh của phần
cứng USB của máy chủ và một thiết bị ngoại vi.
Trong thời gian một sự di chuyển dữ liệu, luồng của thao tác tiêu biểu theo
đuổi trong sự nối tiếp sau :
1. Một bộ điều khiển thiết bị USB bắt đầu những sự di chuyển bởi việc sử
dụng những hàm giao diện USBD để phát hành những yêu cầu tới mô đun
USBD.
2. Mô đun USBD đi qua những yêu cầu cho mô đun HCD.
3. Mô đun HCD chia cắt những yêu cầu vào trong những giao dịch riêng
lẻ, dựa vào kiến thức của nó của đờng truyền và trên những đặc trng của
những thiết bị USB mà đợc nối tới đờng truyền, và hoạch định những giao
dịch này qua đờng truyền .
4. Phần cứng bộ điều khiển máy chủ thực hiện hoặc hoàn thành những
giao dịch.
Ghi chú : mô đun USBD đang sắp thành từng lớp để giúp đỡ OEMs bên
trong chuyển mô đun USBD tới những sự thi hành Phần cứng Bộ điều khiển
máy chủ USB của họ. Internally, Mô đun USBD chứa đựng một tập hợp của
những hàm USBDI, trong cùng cách mà sắp thành từng lớp những bộ điều
khiển chứa đựng những hàm DDSI. Những bộ điều khiển thiết bị USB trực tiếp
thì cha đợc cho phép để kéo theo những hàm USBDI; chúng cần phải giới hạn
tự mình tới những hàm giao diện USBD. Những hàm USBDI (thì) đợc mô tả
trong Windows CE sự Phát triển Bộ điều khiển Trang bị mục tham khảo cho
lợi ích của OEMs mà cần sử dụng chúng trong những sự thi hành mô đun
USBD của nó.
Tất cả các giao dịch trên về đờng truyền bắt nguồn từ cạnh máy chủ; thiết bị
ngoại vi thì phụ thuộc tổng thể.
Sau những mục trên về phần mềm hệ thống USB mô tả mà nhiều thành
phần của USB hỗ trợ trong Windows CE. Sơ cấp mà mục đích của USB hỗ trợ
do Microsoft cung cấp , ngoài việc cho phép IHVs viết cho những bộ điều
khiển thiết bị cho USB những thiết bị, sẽ giúp đỡ OEMs mở rộng USB hiện

hữu hỗ trợ trên về những nền tảng của nó. Windows CE cũng có thiết bị - sự
hỗ trợ cạnh, mà cho phép những nền tảng nền tảng CE Windows phục vụ nh
thiết bị ngoại vi USB tới những máy chủ USB khác. Ngời xây dựng Nền tảng
Windows CE chứa đựng mã mẫu thực hiện thiết bị - cạnh hỗ trợ.
Những bộ điều khiển thiết bị USB Thử
Không có bộ thử USB rộng lớn Windows CE ở tại thời điểm này. Bộ điều
khiển USB HID mẫu và USB 8 x930Ax Tấm bảng đồ dùng và ớc lợng ngoại vi
từ Công ty Intel có thể sử dụng để tham gia những kịch bản USB thử. Những
điều đó là những phơng pháp sử dụng ở Microsoft để kiểm tra phần mềm hệ
thống USB cho Windows CE. Xúc tiến chi tiết về kiểm tra một hệ thống USB
và những bộ điều khiển thiết bị trên một nền tảng OEM sẵn sàng trong Ngời
xây dựng Nền tảng Windows CE.
Địa thế học USB
USB là một cái cây - đờng truyền có cấu trúc, mà trong từ vựng (của) đờng
truyền tụe dộng chung Thuyết minh, sự Duyệt lại 1 là một ngôi sao - địa thế
học tầng lớp. Máy tính chủ chứa đựng một nút gốc đơn, hoặc htiết bị, của cái
cây USB. Thiết bị này làm trung gian giữa máy tính chủ của nó và bất kỳ
những thiết bị ngoại vi nào. Những thiết bị có chính xác kết nối một - đợc gọi
một dòng ngợc chuyển - tới cao hơn những mức trong USB bắt phải nấp trên
cây. Những thiét bị có thể có lên trên tới 64 xuôi dòng chuyển cho những thiết
bị ngoại vi nối và những thiết bị khác. Bởi việc nối những thiết bị cùng nhau,
lên trên tới 127 toàn bộ thiết bị , kể cả những thiết bị, có thể đợc gắn tới máy
tính chủ. Những thiết bị ngoại vi luôn luôn là những nút lá cây bên trong một
buýt USB. Tuy nhiên, nh một vấn đề (của) sự thi hành thực hành, nhiều thiết bị
ngoại vi USB có những thiết bị tích hợp vào trong chúng, vì vậy những ngời
dùng tiêu biểu không cần mua những thiết bị USB riêng biệt.
Sự minh họa sau cho thấy một đờng truyền USB với vài thiết bị ngoại vi
chung đợc nối. Sự minh họa này đợc mô hình sau sơ đồ của một cấu hình đờng
truyền USB tiêu biểu trong Thuyết minh đờng truyền tự động chung, sự Duyệt
lại 1, nhng với những thiết bị và những thiết bị ngoại vi đại diện rõ ràng hơn.

Hiệp hội của con chuột với những thiết bị bên trong của bàn phím và ngời
nói với thiết bị bên trong của màn hình thì chuyên quyền. Cho ví dụ, một ngời
dùng có thể thay vào đó nối cho con chuột tới thiết bị bên trong của màn hình,
mô đem tới bên thiết bị trong của bàn phím, và những ngời nói tới thiết bị một
mình chân trong Tầng lớp 1 mà không ảnh hởng hệ thống có tính hoạt động và
mà không có định hình lại bất kỳ phần mềm nào trên máy tính chủ. Những
thiết bị USB và những bộ điều khiển thiết bị USB tơng ứng của họ cần phải xử
sự bất chấp giống hệt của địa thế học đờng truyền đặc biệt.
Những kiểu Di chuyển USB
Windows CE 2.10 và về sau hỗ trợ tất cả bốn kiểu sự di chuyển dữ liệu
định nghĩa trong Thuyết minh đờng truyền tự động chung, sự Duyệt lại 1.
Những bộ điều khiển thiết bị cho những Thiết bị USB có thể sử dụng bất kỳ
sau đây (mà) sự di chuyển đánh máy, nh thích hợp :
- Những sự di chuyển Điều khiển
Những sự di chuyển Điều khiển là những sự di chuyển hai chiều mà đợc sử
dụng bởi phần mềm hệ thống USB chủ yếu để hỏi, định hình, và những lệnh
chung nhất định vấn đề tới những thiết bị USB. Những sự di chuyển Điều
khiển tiêu biểu xảy ra giữa máy tính chủ và endpoint 0 của thiết bị USB, nhng
những sự di chuyển Điều khiển chuyên biệt về nhà cung cấp có thể sử dụng
endpoints khác.
Những sự di chuyển Đẳng thời
- Đẳng thời (mà) những sự di chuyển cung cấp bảo đảm những số lợng của
dải thông và sự tiềm ẩn. Chúng đợc sử dụng dữ liệu luồng mà là thời gian - lỗi
và phê bình - khoan dung hoặc cho thời gian thực những ứng dụng mà yêu cầu
một sự di chuyển dữ liệu không thay đổi đánh giá. Chẳng hạn, một ứng dụng
kỹ thuật điện thoại Internet mà mang một cuộc nói chuyện trong thời gian thực
là một ứng cử viên tốt Cho kiểu dịch chuyển đẳng thời. Dữ liệu Đẳng thời yêu
cầu những số lợng đợc bảo đảm của dải thông và những thời gian truyền dẫn
cực đại đợc bảo đảm. Cho những sự di chuyển đẳng thời, sự giao hàng dữ liệu
đúng lúc là nhiều nhiều quan trọng hơn hoàn hảo chính xác hoặc sự di chuyển

dữ liệu đầy đủ.
Ngắt những sự di chuyển
- Những sự di chuyển Ngắt đợc sử dụng để chủ yếu cắt ngọn những thiết bị để
kiểm tra phải chăng chúng có bất kỳ dữ liệu Ngắt nào để truyền. Cấu trúc bộ
mô tả endpoint của thiết bị xác định nhịp độ của kiểm tra tuần tự, mà có thể
hạn chế từ từ 1 đến 255 mili-giây. Kiểu sự di chuyển này thì tiêu biểu đợc sử
dụng những thiết bị mà cung cấp những số lợng nhỏ của dữ liệu ở tại những
thời gian không thích hợp , không thể đoán trớc. Những bàn phím, những cần
điều khiển, và những thiết bị chuột rơi vào trong phạm trù này.
Những sự di chuyển Khối lớn
- Những sự di chuyển Khối lớn cho những thiết bị mà có những số lợng lớn
của dữ liệu để truyền hoặc nhận và mà đòi hỏi bảo đảm sự giao hàng, nhng
không có bất kỳ dải thông hoặc những yêu cầu tiềm ẩn đặc biệt nào. Những
máy in và những scanner rơi vào trong phạm trù này. Những sự di chuyển rất
chậm hoặc rất trì hoãn có thể chấp nhận đợc cho những kiểu thiết bị này, miễn
là tất cả dữ liệu phân phát dần dần. Tuy nhiên, trong sự thiếu của mọi cái khác
yêu cầu cho dải thôngđờng truyền , Windows CE xử lý những sự di chuyển
khối lớn càng nhanh chóng càng tốt.
Ghi chú : Windows CE 2.10 và về sau có những giới hạn trên về những số l-
ợng của dữ liệu Sự di chuyển. Tất cả các sự di chuyển dữ liệu sử dụng những
hàm truyền USBDI có hạn tới 8 K của dữ liệu Sự di chuyển, vì một sự giới
hạn bên trong trong sự thi hành USB của Microsoft. Nếu bạn đang chuyển
những bộ điều khiển máy khách USB từ Windows NT Microsoft, Windows 95
hoặc Windows 98, bạn có thể cần làm cho những sự thay đổi trong mã của bạn
để bắt buộc là một giới hạn của 8 K Sự di chuyển.
Viết những bộ điều khiển thiết bị USB
Mục này mô tả làm sao để viết những bộ điều khiển thiết bị cho những
thiết bị USB chạy trên Windows CE. Những bộ điều khiển thiết bị USB tồn tại
làm những dịch vụ những thiết bị ngoại vi sẵn có cho những ứng dụng. Mặc
dầu không có những cơ chế chuẩn mà những thiết bị USB phải sử dụng để

hoàn thành điều này, có nhiều chiến lợc mà những bộ điều khiển thiết bị USB
có thể chấp nhận, phụ thuộc vào thiên nhiên của thiết bị ngoại vi mà chúng
điều khiển :
-Sử dụng những hàm giao diện dòng
Một bộ điều khiển thiết bị USB có thể phơi bày những hàm giao diện dòng.
Những ứng dụng có thể rồi coi thiết bị ngoại vi nh một hồ sơ chuẩn hồ sơ và sử
dụng I/ O Những hàm để tơng tác với thiết bị. Tuy nhiên, vì Thiết bị thì cha đ-
ợc kéo theo trong việc bốc dỡ của bộ điều khiển thiết bị USB S, Mà bất kỳ bộ
điều khiển nào mà phơi bày giao diện dòng mà những hàm phải đăng ký và tên
tập tin Thiết bị đặc biệt những CNTT deregister bằng tay, sử dụng
ActivateDevice và DeactivateDevice vận hành. Những hàm này cần phải đợc
gọi khi bộ điều khiển thiết bị USB là đã nạp và không bị gánh, tơng ứng.
-Sử dụng những giao diện lập trình ứng dụng Windows CE hiện hữu
( APIs)
Những bộ điều khiển thiết bị USB có thể gián tiếp phơi bày những kiểu thiết bị
ngoại vi tới ứng dụng nhất định nếu Windows CE có một API hiện hữu mà
thích hợp tới ngoại vi. Chẳng hạn, những bộ điều khiển thiết bị USB Cho
những thiết bị trữ tin lớn , nh những ổ cứng và những ổ đĩa CD-ROM, có thể
phơi bày những thiết bị nh vậy xuyên qua giao diện hệ tập tin có thể thiết đặt
chuẩn. Tơng tự, một thiết bị chuột USB có thể sử dụng chiến lợc này. Bộ điều
khiển không phơi bày thiết bị chuột trực tiếp tới những ứng dụng; khá, nó tơng
tác với hiện hữu Windows CE APIs để chịu phụ thuộc đúng nhập vào những
sự kiện tới hệ thống. Nh vậy, thiên nhiên USB của thiết bị chuột thì trong suốt
tới những ứng dụng.
- Tạo ra một phong tục API đặc biệt tới một bộ điều khiển thiết bị USB đặc
biệt
Chiến lợc này không đặt bất kỳ những sự hạn chế nào đang vận chuyển mà
một bộ điều khiển thiết bị USB phơi bày một thiết bị. Nó cho phép bạn tạo ra
một API cho thiết bị Những bản đồ tốt nhất đó tới những đờng mà những ứng
dụng sẽ có vẻ sử dụng Nó. Tuy nhiên, bạn phải cung cấp điều dụng (dành tài

liệu vào) những nhà văn ứng dụng để những ứng dụng của họ có thể sử dụng
bộ điều khiển.
Những vấn đề Bộ điều khiển Chung
Sau đây là những sự mô tả những vấn đề và những vấn đề bộ điều khiển
chung :
- Gán và tách những hàm Cần phải không bao giờ đi vào trong vòng vô
hạn - Hoặc, Treo. Nếu một hàm treo, không có nhiều bộ điều khiển thiết bị
USB hơn nào có thể đợc tải và nó có vẻ là USB không thể đếm những thiết
bị.
- Gán và tách những hàm cần phải cầm nh thời gian nhỏ bé nh có thể. Nếu
nó cầm dài quá, ứng dụng UI có thể trở thành đợc nhầm lẫn và nghĩ rằng
thiết bị đợc tháo nút ra Trong thời gian ' Sự đốt cháy ra khỏi ' Và cái phích
cắm lùi lại bên trong sau ' Sự đốt cháy Trên (về) '.
- Bộ điều khiển thiết bị cần phải thực hiện lối vào ren ngoài / ra khỏi sự
đếm. Từ bộ điều khiển thiết bị DLL máy khách USB có thể không bị gánh
vào bất kỳ thời gian nào - ' Sự đốt cháy ra khỏi ' Có thể xuất hiện vào bất kỳ
thời gian nào - Bất kỳ ren ngoài nào mà đang thực hiện ở trong DLL vào
thời gian có thể đợc hoàn thành và gây ra cho một ngoại lệ trong sự gọi
những ứng dụng. Tránh điều này, sự đếm luồng phải đợc thực hiện trong đa
số các hàm -e đặc biệt Những cái _Read, _Write và IoControl - Cái đó có
thể đợc gọi bởi những luồng khác. Và, Tách hàm phải đợi cho đến khi sự
đếm luồng đi tới zêrô trớc trả lại.
- Khi gọi USB::IssuexxxTransfer vận hành với một hàm callback hoàn
thành, hàm callback đơn giản gọi SetEvent và trở lại.
- Trong Tách hàm, bộ điều khiển máy khách cần phải gọi
UnregisterNotificationRoutine. Thông báo đợc xác định bởi cả hai địa chỉ
callback và tham số. Nh vậy, Bạn Phải Unregister với những cùng tham số
mà bạn sử dụng để đăng ký thông báo.
- Trong Windows CE 2.12 hoặc sớm hơn, có một sự kiện oa trữ bằng tay đ-
ợc liên quan đến rệp thực hiện. Không sử dụng một bằng tay - oa trữ sự

kiện đúng lúc - phê bình luồn.
- Gán / Tách hàm không cần gọi hàm IssuexxxTransfer.
Những thành phần của USB
Nền tảng cho một cách tiếp cận thử yêu cầu một cơ bản hiểu của những
phần phụ thuộc và mối quan hệ chức năng. Tuy nhiên, thứ tự trong đó để đi về
việc bắt đầu thực tế tiếp cận có thể khác với thứ tự của phần phụ thuộc lôgíc.
Một mẹo nhỏ trong việc bắt đầu sẽ tiếp cận thử USB từ Một điểm ngời dùng
của cảnh quan, giữ trong tâm trí phạm vi của sự hợp nhất và ngã t lôgíc và vật
lý - những phần phụ thuộc, để khẳng định tính chất bổ sung trong phạm vi.
Thông tin trong sau đây mà những đoạn thanh viên mà sự tạo thành của một
đơn giản kiểm tra tiếp cận.
Sơ đồ sau cho thấy kiến trúc USB cho một thiết bị tính toán ô tô mát :
Những kiểu Di chuyển
USB hỗ trợ 4 kiểu di chuyển cơ bản liệt kê ở bên dới. Để biết chi tiết hơn,
hãy nhìn thấy Reference_apctest_Further_Reference Hơn nữa.
Ngắt ( Bàn phím, Gia tài)
Khối lớn ( CUEđ, Vetronixđ Đánh bốc)
Đẳng thời ( Máy biến đổi (bộ phận thay thế) CD)
Điều khiển ( Mọi thứ)
Làm sao WCEfA USB (thì) khác với những PC Desktop
Nhân tố phân biệt sơ cấp giữa WCEfA USB và PC USB Desktop là đầu nối
kiểu vật lý. Những thiết bị tính toán Ô tô mát sử dụng đầu nối kiểu Hiroshi.
Ngoài dữ liệu và 5 nguồn diện vôl, đầu nối này cung cấp 12 vôl tiêu biểu đợc
tìm thấy Trong môi trờng ô tô.
Trong môi trờng ô tô, dây chuyền USB trải qua những chu trình sức mạnh cao
tần từ nút gốc. Để gán một hàm , sử dụng hàm USBDeviceAttach trong bộ
điều khiển máy khách USB. Để tách một hàm , sử dụng ngời điều khiển
USB_CLOSE_DEVICE của hàm USBDeviceNotifications trong bộ điều khiển
máy kháchUSB.
Sau đây liệt kê mô tả những hoạt động phần cứng và sự đáp lại đợc chờ đợi

cho mỗi :
Mồi nóng - Gán hàm Đợc gọi.
Nóng tháo nút ra - Tách hàm Đợc gọi.
Cái phích cắm Nóng - bên trong - Gán hàm Đợc gọi phải chăng bộ điều
khiển thiết bị đợc đăng ký đã.
Sự Đốt cháy Ra khỏi / Màn hình tách - Không gì đợc gọi.
Tháo nút ra và Ráng sức trong thời gian sự Đốt cháy Ra khỏi - Không gì đ-
ợc gọi.
Sự Đốt cháy Trên (về) / Màn hình gán - Bộ điều khiển máy chủ USB đếm
tất cả các thiết bị USB đợc nối. Một luồng - với quyền ửu tiên cao nhất - sẽ
gọi Tách hàm của mỗi bộ điều khiển thiết bị đợc tải, Một bởi Một. Cùng
luồng sẽ gọi Gắn hàm cho tất cả các bộ điều khiển thiết bị đợc nối hiện
thời, một bởi một, nếu bộ điều khiển thiết bị đợc đăng ký.
Những cấu hình USB
Một mạng USB đợc biên soạn của Một máy tính chủ chủ mà đợc nối tới
những thiết bị USB nô lệ. Những thiết bị này có thể có một hàm đơn , nh một
điện thoại ô, hoặc có thể chứa đựng một kết nối trục thiết bị mà cho phép
những thiết bị USB khác sẽ đợc buộc cho chúng. Cái này tạo ra một tiered -
kiến trúc ngôi sao mà có thể đợc mở rộng tới nhiều mức. Những ví dụ bao
gồm sau đây :
Một mạng USB có thể hỗ trợ lên trên tới 127 thiết bị. Giới hạn này vì trờng
địa chỉ thiết bị thì có hạn tới 7 bít.
PC Ô tô là thiết bị đợc giới hạn tới bốn tầng lớp và cái duy nhất ở dới trục thiết
bị náy chủ Cái này xem PC Ô tô nh tầng lớp đầu tiên với ba lớp ở dới nó.
Kết nối USB
USB đề nghị một có trách nhiệm, lại cao tốc thay thế cho một chuẩn
tuần tự chuyển để nối một nền tảng Windows CE tới một máy tính để bàn.
Windows CE 2.10 (và) 2.12 , tuy nhiên, không thể hỗ trợ kết nối USB tới
những hệ thống desktop, trừ phi một OEM thực hiện tính hoạt động đó.
Windows CE 3.0 và về sau , tuy nhiên, đề nghị kết nối xuyên qua USB.

Windows CE 3.0 và về sau cung cấp một bộ điều khiển bộ điều khiển Hàm
USB cho những nền tảng Windows CE mà bao gồm phần cứng bộ điều khiển
Hàm USB thích hợp. Bằng phơng pháp bộ điều khiển này, phần cứng bộ điều
khiển Hàm USB xuất hiện tới Windows CE nh một thực tế tuần tự chuyển. T-
ơng tự, máy tính để bàn phải có một máy chủ Tơng tự - bộ điều khiển tuần tự
USB cạnh. Với nền tảng Windows CE và máy tính để bàn nh vậy đợc định
hình, chuẩn cảng tuần tự đặt cơ sở những cơ chế cho kết nối có thể đợc sử
dụng qua một kết nối USB. OEMs có thể tìm thấy những những hồ sơ cần thiết
để thực hiện kết nối USB trong th mục platform\cepc\drivers\serial_sl11\ (của)
sự cài đặt ngời xây dựng Nền tảng Microsoft Windows CE của họ. Những hồ
sơ này hỗ trợ bộ điều khiển Hàm SL11 USB (của) Công ty Scanlogic Đặt. Cho
thông tin đầy đủ trên (về) việc thực hiện một thực tế tuần tự chuyển qua USB
trên về một nền tảng Windows CE, nhìn thấy Sample USB Function Controller
Driver.ở đó, tuy nhiên, còn không Sự hỗ trợ để làm một nền tảng Windows CE
chính nền tảng xuất hiện nh một USB ngoại vi cho những máy tính chủ khác.
Cái này bởi vì Windows CE chỉ thực hiện cạnh máy chủ của máy khách\ USB /
kiến trúc máy chủ. Cái đó, Mà HCD và những mô đun USBD cung cấp trong
Windows CE không cung cấp những phơng tiện để nối một nền tảng Windows
CE tới một máy tính để bàn mà đợc chạy nh một máy chủ USB. Một OEM có
thể thực hiện tính hoạt động này nếu mong muốn, Mặc dù, Nh Với ở trên
những kịch bản kết nối, nền tảng Windows CE vẫn còn yêu cầu phần cứng bộ
điều khiển Hàm USB.
Đầu nối USB
Những đầu nối trên những nền tảng tham khảo là kiểu USB 4 chốt chuẩn dự
định cho môi trờng desktop và chỉ đợc sử dụng trong thời gian sự phát triển và
sự thử.
Tài liệu phần cứng tham khảo PC tham chiếu tới một tám đầu nối chân cắm đ-
ợc thiết kế bởi Hirose ( phần số GT17 - 8 DP - DS) và có nghĩa nh một cao của
sự rung động và rộng - nhiệt độ - hạn chế môi trờng. Pinout nh sau :
Số chân Hàm Chốt

1 +5 V
2 Dữ liệu -
3 Dữ liệu +
4 GND
5 GND
6 Wakeup2
7 nguồn điện Từ xa
8 +12 V Nguồn pin Chính
Hai dây đợc sử dụng cho thanh dẫn dữ liệu tuần tự chuẩn USB. Thanh dẫn dữ
liệu này (thì) dùng chung bởi PC và những thiết bị nô lệ USB của nó. Tốc độ
dữ liệu tiêu biểu là 12 megabit Giây ( Mbps), nhng ở đó là một 1.5 để chọn
kiểu Mbps. Trong thỏa thuận tới tiêu chuẩn USB, dữ liệu vi phân đợc điều
khiển để cải thiện sự chống nhiễu.
Đầu nối USB có thể cũng cung cấp nguồn điện tới những thiết bị và
những thiết bị trên về mạng USB. Trong khi vài thiết bị tự là powered từ những
sự cung cấp công suất của chính mình, những nguồn điện kéo khác từ đầu nối
USB. Đầu nối USB PC cung cấp hai nguồn năng lợng của +5 V Và +12 V.
+5 V Sự cung cấp đợc chỉ rõ bởi tiêu chuẩn USB và đợc yêu cầu cung
cấp một cực đại của 600 mA liên tục.
+12 V Hàng đợc thêm bởi thiết kế PC và liên tục cung cấp một cực đại
của 3 Một.
Đầu nối USB PC cũng thêm hai hàng tín hiệu cho sự sử dụng trong
những kiểu wakeup ( Wakeup2 và Nguồn pin Từ xa có nhãn). Ngời thiết kế hệ
thống OEM có thể sử dụng những hàng tín hiệu này để cho phép thiết bị ngoại
vi USB báo hiệu Hệ thống Quản lý nguồn điện thúc đẩy một sự kiện nguồn
điện. Cái này cho phép PC cho sự chuyển tiếp từ một powered - mà xuống
phát biểu tới một bộ phận - mà nguồn điện phát biểu đến thông tin quá trình từ
USB ngoại vi; cho ví dụ, cất giữ một thông báo trang. Nhìn thấy thuyết minh
Quản lý nguồn điện để biết chi tiết hơn.
Những yêu cầu cho Mô hình ngới lái xe buýt Chung

Công ty Microsoft
Tháng mời hai 1998
Mục này đợc dự định cho những ngời thiết kế thiết bị phần cứng cho tất
cả các hệ điều hành, không phải là chỉ là Microsoftđ Windowsđ 98 và những
hệ điều hành Windows 2000. Nó mô tả một mô hình chung cho sự liệt kê thiết
bị mà có thể đợc thực hiện bởi bất kỳ hệ điều hành nào để khám phá và cho
phép những thiết bị phần cứng mà Nó tìm thấy trên một nền tảng. Mô hình
chung này đánh thuế những yêu cầu thiết kế cho những thiết bị phần cứng mà
chạy trên nền tảng : những thiết bị phải là có thể khám phá, tự mô tả, và có thể
đa công.
Tự động chung những thiết bị đờng truyền ( USB) đợc khảo sát trong mục này
để xác định làm sao tốt chúng tơng ứng tới mô hình chung này và gặp những
yêu cầu thiết kế thiết bị này. Tuy nhiên, những ý tởng này không phải là đặc
biệt tới USB; chúng có thể đợc ứng dụng vào đờng truyền.
Nói chung, tất cả các ngời thiết kế hệ điều hành phấn đấu để gặp những
mục đích này :
- Cung cấp một ngời dùng đợc tăng cờng trải qua. Một hệ điều hành thành
công từ điểm của những ngời dùng cảnh quan nếu hệ thống là dễ để sử
dụng và dễ để nâng cấp.
- Cho phép nhiều thiết bị từ nhiều nhà cung cấp Phần cứng Độc lập ( IHVs)
đến sự chạy rõ ràng. Một hệ điều hành thành công từ sự chỉ của cảnh quan
nếu những sự đối xử hệ điều hành bằng nhau mà tất cả các thiết bị chạy của
những nhà cung cấp phần cứng trên về nền tảng. Hệ điều hành phải cho
phép một thiết bị chạy trên một nền tảng bất chấp của lớp thiết bị, nhà sản
xuất thiết bị, và sự có mặt hoặc sự thiếu của mọi thiết bị đặc biệt khác trên
nền tảng.
- Làm dễ dàng sự phát triển của phần mềm IHVs. Lý tởng, IHVs không
phải viết một bộ điều khiển thiết bị cho thiết bị của họ để chạy trên nền
tảng. Nếu là một bộ điều khiển required, Nó cần phải gồm có một ít mã với
lôgic đơn giản nhất có thể.

Mục này mô tả hai kiểu hệ điều hành, tùy ý gọi là " Đánh máy 1 " và " Đánh
máy 2, " và những sự so sánh làm sao tốt chúng gặp ba mục đích đối với cấu
hình phần cứng.
- Kiểu làm sao 1 hệ điều hành tìm kiếm những thiết bị Phần cứng
Một Kiểu mà 1 hệ điều hành tải Những bộ điều khiển trên sự suy đoán Và Chờ
đợi mã bộ điều khiển để tìm kiếm phần cứng của chính mình. Bộ điều khiển đ-
ợc tải tìm kiếm phần cứng nó sử dụng một phơng pháp chuyên biệt về thiết bị
mà tiêu biểu chạm tất cả các thiết bị rồi thiết đặt trên nền tảng. Những vấn đề
với phơng pháp này :
- Sự Dò tìm những phơng pháp sử dụng bởi những bộ điều khiển có thể
mâu thuẫn với phần cứng rồi thiết đặt trên nền tảng. Chẳng hạn, nếu một
nền tảng có một khoan máy đợc thiết đặt, phơng pháp dò tìm sử dụng bởi
một bộ điều khiển mới đợc thiết đặt có thể tình cờ bắt đầu khoan máy, gây
ra thiệt hại vật chất.
- Những phơng pháp Dò tìm có thể tình cờ phát hiện ra một thiết bị mà kẻ
khác hơn một bộ điều khiển đợc tải điều khiển.
- Phơng pháp này yêu cầu hệ điều hành để tải tất cả các bộ điều khiển có
thể.
- Khi đã nạp, bộ điều khiển phải giả thiết những CNTT phần cứng có mặt;
tuy nhiên, những bộ điều khiển đợc tải phần cứng của ai không có mặt.
- Sự gắn nút Nóng và việc tháo nút ra của những thiết bị không phải là
nhanh hoặc dễ.
Danh sách này chỉ ra rằng một Kiểu mà 1 hệ điều hành làm không đẩy
mạnh hai mục đích thiết kế hệ điều hành quyền u tiên cao hơn : từng trải và
vận hành với nhau đợc ngời dùng đợc tăng cờng của những thiết bị.
Một Kiểu mà 1 hệ điều hành có thể đẩy mạnh Mục đích quyền u tiên thấp nhất
: nó có thể là dễ hơn cho IHVs để viết những bộ điều khiển cho những thiết bị
của họ bởi vì lôgic bộ điều khiển giả thiết rằng thiết bị của IHV có mặt bất cứ
khi nào mà bộ điều khiển đợc kéo theo, và bộ điều khiển đơn giản bắt đầu sử
dụng Một thiết bị. Tuy nhiên, cái này đơn giản hóa sự giả thiết có thể dẫn tới

vài vấn đề liệt kê mà không đẩy mạnh những mục đích quyền u tiên cao hơn
của một sự từng trải ngời dùng và tính vận hành với nhau đợc tốt của những
thiết bị.
- Kiểu làm sao 2 hệ điều hành tìm kiếm những thiết bị Phần cứng
Một Kiểu 2 ( Cái Phích cắm và Trò chơi) tác dụng hệ thống sử dụng
những thành phần gọi là " đờng truyền " mà mỗi lần hệ thống khởi động khám
phá và cho phép những thiết bị phần cứng hiện thời thiết đặt trên về nền tảng.
Nếu đờng truyền hỗ trợ nó, những ngới sử dụng đờng truyền có thể cũng điều
khiển sự gắn nút nóng và đun nóng tháo nút ra của những thiết bị giữa những
sự kiện giày ống.
Một Kiểu mà 2 hệ điều hành đẩy mạnh hệ điều hành quyền u tiên cao
hơn thiết kế Những mục đích.
- Ngời dùng trải qua đợc tăng cờng bởi vì hệ điều hành tự động điều chỉnh
tới cấu hình phần cứng thay đổi và có thể dễ dàng điều khiển nóng trao đổi
của những thiết bị.
- Tính Vận hành với nhau đợc của những thiết bị trên về đờng truyền đợc
đẩy mạnh bởi vì những hàm trên về đờng truyền có thể đến từ nhiều IHVs
và những mở rộng chung có thể vào bất kỳ thời gian nào.
Mô hình đờng truyền Chung
Mỗi ngới ử dụng đờng truyền nhìn thấy đờng truyền t của nó trong một đơn
giản, chung cách : số lợng " hàm " nào đó hiện thời đợc gắn tới đờng
truyền, ngớiử dụng đờng truyền nào sở hữu. Tất cả các hàm nhìn giống
nhau tới một đờng truyền. Nhìn thấy Hình 1
Hình 1. Mô hình đờng truyền Chung
Trong mô hình này, đờng truyền khám phá những hàm phần cứng trớc hết, rồi
tải những bộ điều khiển duy nhất nh chúng đợc cần. đờng truyền có thể thậm
chí nhắc ngời dùng khi nó khám phá một thiết bị và không tìm thấy bộ điều
khiển Đợc thiết đặt cho thiết bị đó. Giữ cho nó đơn giản, đờng truyền vẽ bản
đồ mỗi hàm Tới bộ điều khiển một ( ở đó là một ánh xạ một-một của một hàm
phần cứng Tới một bộ điều khiển thiết bị đợc tải). Lựa chọn bộ điều khiển để

tải, đờng truyền không yêu cầu thông tin chuyên biệt về thiết bị và không có
thông tin về hàm khác nào nào hiện thời đợc gắn Tới đờng truyền.
đờng truyền Chung những bộ điều khiển mà cho phép một Kiểu 2 tác
dụng hệ thống có những đặc trng sau :
- Một đờng truyền nhìn thấy buýt của nó trong Một đơn giản, chung cách.
Cho một đờng truyền, không có những phần phụ thuộc lớp thiết bị. Sự tham
gia của một hàm gắn liền trong lớp thiết bị một hoặc kẻ khác ( cho ví dụ,
kho, âm thanh, đợc nhập vào, vân vân) thì trong suốt tới đờng truyền
- Một đờng truyền khám phá tất cả các hàm sử dụng cùng phơng pháp. Đặc
biệt, Và Quan trọng, Mà đờng truyền yêu cầu không Kiến thức của những
hàm nào đã trên đờng truyền, hoặc trạng thái của họ, để khám phá hàm
khác. Một ví dụ đơn giản của điều này là Hình 2, đợc đa vào ở đâu những
hàm " X " Và " Y " Đợc cho thấy đợc bao trong côngtenơ thiết bị phần
cứng Một; tuy nhiên, đờng truyền không cần biết bất cứ cái gì quanh " X "
khám phá " Y " và thay cho versa.
- Một đờng truyền tạo ra Một sự trừu tợng hóa ( trong mẫu của Một cấu
trúc dữ liệu) cho mỗi hàm mà nó khám phá. Bộ điều khiển mà đờng truyền

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×