Kiến thức về USB
Trang 1Kiế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 :
Trang 2- 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
Trang 3đă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 :
Trang 4Nế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
Trang 5xá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
Trang 6Ghi 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ínhUSB 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
Trang 7- 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.
Trang 8Usbser.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, nh-ng chúnh-ng yêu cầu thiết kế cẩn thận trên về nh-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 pc99@microsoft.com 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ó
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
Trang 9dụ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,
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ộ
Trang 10đ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.
Trang 11Trong 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
Trang 12khả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
Trang 13Hiệ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, nh-ng nhữnh-ng sự di chuyển Điều khiển chuyên biệt về nhà cunh-ng 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ữ
Trang 14liệ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 miligiâ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
Trang 15-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ỉ
Trang 16callback 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ứ)
Trang 17Là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
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ó.
Trang 18Kế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ủ TT-ơ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
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 :
Trang 19Hai 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 ChungCô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 :
Trang 20- 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.
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
Trang 21Mộ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á
Trang 22hà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 điều khiển hàm đợc khám phá sử dụng sự trừu tợng hóa này để
Mã đờng truyền làm sau đây :
- Khám phá (" Những đếm") Tất cả các hàm trên về đờng truyền
- Xác định những khả năng của mỗi hàm Cho ví dụ, những nguồn nào, lại nh I/ O Những cảng, những phạm vi bộ nhớ, những phạm vi IRQ, sức mạnh, và / hoặc dải thông, Có thể Hàm sử dụng? Driver(s nào) Có thể điều khiển thiết bị?
- Tải một bộ điều khiển cho mỗi hàm mà nó khám phá.
- Đa cho cho mỗi hàm một cấu trúc duy nhất hoặc cán ( cung cấp một sự trừu tợng hóa mà cho phép bộ điều khiển đợc tải truy nhập hàm của nó) - Cho một thiết bị, hoặc hàm, can dự vào mô hình đờng truyền chung, nó Phải :
- Có thể khám phá - Khi hàm gắn liền tới đờng truyền, nó có thể đợc tìm thấy bởi đờng truyền
- Tự mô tả - Hàm phải mô tả chính nó tới đờng truyền sao cho đờng truyền có thể tìm một bộ điều khiển cho tải.
- Có thể đa công - Mỗi hàm phải có thể kiểm soát cá nhân không với ngãt nào - những phần phụ thuộc giữa những hàm ( kiến thức truy nhập tới hàm một không yêu cầu trạng thái hoặc sự truy nhập tới hàm khác của hàm khác)
áp dụng những yêu cầu tới những thiết bị và những giao diện USB Vài thiết kế thiết bị USB thích hợp đờng truyền chung mô hình bởi việc gặp những yêu cầu tính có thể khám phá, tự sự mô tả, và tính Có thể đa công Những thiết kế thiết bị USB khác không phù hợp với mô hình, với những hệ quả mô tả trong sau đây mục.
Ghi nhớ rằng những hàm phần cứng USB cũng đợc mô tả ở mức thiết bị ( trong bộ mô tả thiết bị) hoặc ở mặt phân cách ( trong một bộ mô tả giao diện).
Những thiết bị USB Đơn giản gặp tất cả ba yêu cầu để can dự vào mô hình đờng truyền chung :
- Có thể khám phá - Mỗi thiết bị nút vào trong một USB chuyển.