Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

USB_14.doc
Nội dung xem thử
Mô tả chi tiết
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