You are on page 1of 12

USB v giao thc truyn tin

Trc y, thc hin giao tip gia my tnh v cc thit b ngoi vi chng ta thng tin hnh thng qua cng song song (LPT), hoc cng ni tip (RS232, COM). Tuy nhin do hn ch v tc v rm r trong cch b tr (kch thc cng kh ln), kh nng m rng km (mi my tnh ch c mt cng LPT v nhiu nht l 4 cng COM) nn trong cc my tnh i mi c bit l trong my tnh xch tay, ngi ta c xu hng thay dn cc cng giao tip truyn thng trn bng cng USB. Cc thit b ngoi vi i mi hin nay cng c xu hng lm theo theo chun giao tip mi ny thay th dn cc chun giao tip truyn thng.

Hnh Error! No text of specified style in document.-1:USB Logo


Trong cc thit b o lng tin hc truyn thng c thc hin kt ni vi my tnh ch yu vn thc hin qua giao tip RS232. V thc t trong phin bn trc ca phn mm GMI ny, tin hnh giao tip vi my tnh thng qua cng ni tip 232. Tuy nhin vi nhiu thit b i hi phi c nhiu my tnh hoc mt my tnh nhng phi c cc thit b chuyn i t cc chun giao tip khc sang chun RS232 (nh usb to 232, PCI to 232,) gy tn km. Vi vic ng dng USB vo thit b o lng ln ny em mong mun chun ny s tip tc ng dng cho cc thit b o lng tin hc sau ny, iu ny cng l xu th tt yu ca cc thit b ngoi vi hin i. Universal Serial Bus (USB) l giao tip c tc cao v thun tin cho vic ghp ni cc ngoi vi vi my tnh. chng ny em s gii thiu cc khi nim chung nht v USB v lp giao din ngi dng Human Interface Device l lp thit b m em s dng cho h thng.
Khi nim v USB

USB (Universal Serial Bus) l bus ni tip a nng cho php cc thit b u cui giao tip vi my tnh ch (Host Computer).
Cc mc tiu hng ti khi s dng USB

D dng m rng cc thit b u cui ca PC. Cung cp gii php chi ph thp song vn h tr truyn dn vi tc ln n 480Mb/s. H tr ng dng thi gian thc nh voice, audio, video,... Giao thc linh hot cho cc ch hn hp: isochronous data transfers v asynchronous messaging. Tch hp cng ngh thit b tin nghi.

c Windows v cc h iu hnh khc h tr do c th khng cn driver mc thp cho cc thit b USB. a nng do nhiu thit b c th ghp ni vi PC thng qua chun USB. tin cy cao.
M t h thng USB

Mt h thng USB c m t bi ba nh ngha: Kt ni USB, cc thit b USB v USB host. Kt ni USB c hiu l kiu kt ni m trong cc thit b USB c kt ni v giao tip vi my tnh ch. Kt ni USB bao gm cc vn sau: Kin trc Bus: M hnh kt ni gia cc thit b USB v Host. Nhng mi quan h Inter-layer : Di dng mt tp kh nng, cc tc v USB c thc hin ti mi lp trong h thng. Cc m hnh lung d liu: L hnh thc m trong d liu di chuyn trong h thng qua USB. Lp trnh USB: USB cung cp mt s kt ni dng chung. Vic truy cp ti kt ni c lp trnh theo th t h tr truyn d liu ng thi v kh s phn x ban u.
Kin trc Bus

Bus tun t a nng ni cc thit b USB vi Host USB. V mt kt ni vt l USB l mt kin trc tng sao. Mt Hub ti trung tm ca mi sao, mi on dy l mt kt ni t im ti im gia Host v mt Hub hoc mt chc nng no , hoc mt Hub ni ti Hub khc hoc chc nng khc. Vi 7bit a ch, ngoi my ch USB ra n c th qun l ti a 127 thit b ngoi vi. Hnh 4.1 s minh ho kin trc ca USB.

Hnh Error! No text of specified style in document.-2: M hnh bus USB


My ch USB (USB Host)

Ch c duy nht mt Host trong mt h thng USB bt k. Giao din USB ti h thng my ch c xem nh b iu khin Host. B iu khin Host c th c thc hin trong mt kt hp gm phn cng, chng trnh cho vi iu khin (firmware) hoc phn mm. Mt Hub gc (root hub) c tch hp ch trong h thng Host cung cp mt hoc nhiu im lp thm.
Cc thit b USB

Thit b USB c th l mt trong cc thit b sau: Hub: cung cp im lp thm vo USB. Cc chc nng: Cung cp cc kh nng cho h thng nh mt kt ni ISDN, digital joystick, hoc speakers. Thit b hiu c giao thc USB
Cp USB

USB truyn tn hiu v ngun qua mt cp 4 si hnh 4.2: o Vbus: in p cung cp cho thit b. o Tn hiu D+. o Tn hiu D-.

o Dy t GND. C 3 tc truyn d liu: o USB tc cao (USB high-speed): 480Mb/s. o USB ton tc (USB full-speed): 12Mb/s. o USB tc thp (USB low-speed): 1.2Mb/s.

Hnh Error! No text of specified style in document.-3: Cable USB


Cp USB bao gm 4 dy, D+ v D- c dng truyn tn hiu, Vbus v GND cp ngun cho thit b (Thng th Vbus =5V cn GND=0V ti ngun). USB cho php chiu di cc on cp c th thay i ln ti vi mt. pha my ch Host th D+ v D- c ni t qua cc in tr Rpd cn v pha thit b ngoi vi, cc u dy D+, D- c bo v bi in tr cui ( chnh l cc in tr Rpu. Thit b tc cao hoc ton tc cn c in tr ni +3.3 V cho u D+, thit b tc thp cn c in tr ni ln 3.3 V cho u D-. Nhng in tr ny to nn cc mc in th khc nhau gia D+ v D- gip cho my ch pht hin c vic cm vo hay rt ra ca thit b cng nh tc truyn d liu ca thit b.
Cc lp thit b USB Cc thnh phn ca mt c t lp thit b

Mt c t lp thit b nh ngha s lng v loi cc im cui bt buc cng nh tu chn m cc thit b trong lp c th c. Mt c t lp cng c th nh ngha hoc t tn cc nh dng d liu c truyn trn bus. Mt vi c t lp nh ngha cc ng dng ca d liu ang c truyn, iu ny cho php Host bit cch s dng d liu m n nhn c. Mt vi lp thit b s dng USB truyn d liu trong mt nh dng c nh ngha bi mt giao din khc (v d cc lnh ca giao din SCSI c s dng bi cc thit b lu tr th cp -mass-storage device). Mt c t lp cng c th nh ngha cc gi tr cho cc mc trong cc b m t chun.
Cc lp thit b c nh ngha

Cc lp thit b c nh ngha cho giao tip USB: Thit b m thanh (Audio): Lp thit b m thanh chnh l lp cc thit b gi v nhn d liu m thanh. D liu m thanh c th l ting ni c m ho, nhc hay bt k mt loi m thanh no khc. Cc thit b thuc lp thit b m thanh c th s dng kiu truyn ng thi cho lung m thanh hoc kiu truyn khi cho d liu c m ho bng giao thc MIDI (Musical Instrument Digital Interface)

Thit b giao din th thng minh: Th thng minh l cc loi th quen thuc c s dng cho vic gi in thoi, th ra vo, tr cc cu ng, bo him y t, gii m cho cc b thu truyn hnh v tinh v nhiu cc ng dng khc, nhng ng dng ny yu cu mt khi lng thng tin nh hoc trung bnh vi s truy cp d liu lu trong th mt cch d dng. Mi th l mt module bao gm b nh v thng thm mt CPU. Nhiu th cho php cp nht ni dung ca chng thay i mt s thng tin v d nh gi tr tin trong th tn dng hay m ca th. truy cp mt th thng minh, bn kt ni n vi thit b giao din th thng minh (CCID-Chip Card Interface Device) thng bng cch nht th vo khe c hoc soi n trc cc b c i vi loi th khng cn tip xc. USB nh ngha lp thit b giao din th thng minh v c mt s thit b giao din th thng minh (CCID) s dng giao din USB giao tip vi my tnh. Lp cc thit b truyn thng: Lp cc thit b truyn thng bao gm hai loi thit b chnh l: thit b thoi v cc thit b mng tc trung bnh. Thit b thoi bao gm in thoi tng t, modem tng t, Cc b thch nghi u cui ISDN v in thoi s. Cc thit b mng bao gm modem ADSL, modem in tn, 10BASE-T Ethernet adapter v hub Lp thit b bo mt: Lp thit b bo mt nh ngha cch thc gip ta iu khin s truy cp ti cc file, m nhc, hnh nh hoc cc d liu khc c truyn trn bus (v d mun copy mt file no ln thit b hoc c ni dung c lu trong thit b th phi c password). Lp thit b cho php cp nht firmware t Host: Lp thit b cp nht firmware nh ngha mt giao thc cho php my ch gi firmware tng cng hoc sa li cho mt thit b. Sau khi nhn s nng cp firmware th thit b s c thit lp li s dng firmware mi ca n. Lp thit b ny c bit n khi chng ta s dng chc nng bootloader cho vi iu khin. Lp thit b giao din ngi s dng bao gm cc loi bn phm, thit b con tr v cc b iu khin dng chi game. i vi nhng thit b ny, my ch c thng bo t thit b v gn nh lp tc thc hin theo cc yu cu ca ngi s dng (cc yu cu ny mang tnh giao tip trc tip gia ngi s dng v my) nh s n phm, s di chuyn ca con chut. My ch phi p ng nhanh sao cho ngi s dng khng nhn thy tr rt nh gia yu cu ca h v cc p ng ca my. Cu lin kt d liu hng ngoi (Infrared Data Association Bridge): Lp thit b cu lin kt d liu hng ngoi nh ngha nhng yu cu v phn cng v cc giao thc cho php vic truyn ti d liu khong cch ngn thng qua nng lng hng ngoi. Thit b cu lin kt d liu hng ngoi s c ni vi my ch qua cng USB cho php my ch s dng giao din USB gim st, iu khin v truyn d liu qua mt giao din hng ngoi. Lp thit b lu tr th cp: Lp thit b lu tr th cp chnh l cc thit b c th truyn d liu theo c hai hng (t my ch ti thit b hoc t thit b v my ch). in hnh cho lp thit b ny c th k n cc a mm, a cng, CD, DVD v nh flash. Cc loi camera cng c th s dng lp lu tr th cp cho php vic truy cp cc file hnh nh trong b nh ca camera. Trong cc my tnh s dng h iu hnh Windows, cc thit b thuc lp lu tr th cp s xut hin nh cc a trong ca s My Computer v h iu hnh cho php ngi s dng sao chp, di chuyn v xo cc d liu trong cc thit b . Lp cc thit b in n: Lp cc thit b in n c nh ngha cho cc thit b chuyn d liu nhn c t my ch thnh nh dng ch hay hnh nh trn giy hay vt liu no .

Lp thit b lu gi nh tnh: Lp thit b ny bao gm cc loi my nh v my qut. Cng vic ch yu ca lp thit b ny l truyn d liu hnh nh t thit b ln my tnh ch. Ngoi ra mt vi thit b cn c th nhn d liu t my tnh. Nu tt c nhng g ta cn l truyn cc file hnh nh t mt my nh ln my tnh ch th ta c th a mt my nh vo lp thit b lu tr th cp. Lp cc thit b o lng v kim tra: Lp cc thit b o lng v kim tra l dnh cho cc thit b o c nh cc b ADC, DAC, cm bin v cc b chuyn i (chuyn i n v vt l chng hn). Cc thit b ny c th l mt khi ring r hoc l mt cc trong mt my tnh ln. Lp cc thit b nh ng: Lp cc thit b nh ng h tr cc thit b ghi hnh s xch tay, webcam, v mt s thit b c chc nng gi, nhn hay can chnh nh ng. Lp thit b ny cng h tr vic truyn cc nh tnh t cc thit b nh ng. Thc hin cc chc nng khng tiu chun: Mt vi thit b khng c s ph hp r rt vi mt lp thit b c nh ngha. V d nh cc thit b iu khin ng c, r le, hay cc c cu chp hnh khc. Mt v d khc l cc thit b kt ni gia hai my vi tnh (Cu s dng USB). Nu mt thit b u cui m khng ph hp gn vo mt lp c nh ngha th ngi thit k s phi vit driver cho thit b cung cp cho my ch cc thng tin gip n giao tip c vi thit b .
Lp thit b giao din ngi s dng (HID-Human Interface Device)

Lp thit b giao din ngi s dng l mt trong nhng lp u tin c h iu hnh windows h tr. Trn nhng chic my tnh c nhn s dng Windows 98 hoc cc phin bn mun hn th nhng ng dng c th giao tip vi cc thit b giao din ngi s dng bng cch s dng cc b iu khin (driver) c xy dng sn trong h iu hnh. Cng chnh v l do trn m nhiu nh cung cp thit b u cui USB s dng lp thit b giao din ngi s dng cho sn phm ca h. Chng ny s trnh by v lp HID vi mc ch gip ngi c nhn nh xem mt thit b no c ph hp gn vo lp HID hay khng. Ch ra cc yu cu i vi vi chng trnh (firmware) nh ngha mt thit b thuc lp HID v cho php n trao i d liu vi my tnh ch.
Khi nim v HID

T giao din ngi s dng trong tn gi ca lp HID ch ra s tng tc trc tip gia con ngi vi thit b thuc lp ny. V d mt con chut c th pht hin vic chng ta di chuyn hay nhn chut gi thng tin ln my ch v my ch s dng thng tin ny em li cc p ng m ngi s dng ang mong i trong mt ng dng c th no . Bn cnh cc thit b ph bin ca lp HID nh bn phm, con chut, cn iu khin (joystick) th lp HID cn bao gm mt s thit b khc nh cc nm iu chnh, cc chuyn mch, nt nhn, thanh trt, iu khin t xa, bn phm in thoi, cc thit b iu khin dng cho game nh bao tay, bnh li. Tuy nhin mt thit b thuc lp HID khng nht thit phi c mt giao din ngi s dng. Mt thit b c th gn vo lp HID khi cc chc nng ca n nm gn trong cc gii hn ca c t lp HID. Di y l cc gii hn v kh nng ch ca cc thit b thuc lp HID: Tt c d liu c trao i di cng mt dng cu trc c gi l bo co (report). My ch gi v nhn d liu bng cch gi cc bo co v yu cu cc

bo co trong cc phng thc truyn iu khin hoc truyn ngt. nh dng bo co l kh linh hot v n c th p dng cho rt nhiu dng ca d liu song i vi mi mt bo co c nh ngha th kch c ca n l xc nh. Mt giao din HID phi c mt im cui ngt vo (interrupt IN enpoint) gi d liu ln my ch. Mt giao din HID c th c ti a mt im cui ngt vo v mt im cui ngt ra (interrupt OUT enpoint). Nu ta cn nhiu im cui ngt hn na th ta c th to mt thit b a chc nng gm nhiu thit b HID trong n. Mt ng dng phi m bo s iu khin ring bit ti tng HID trong thit b a chc nng. im cui ngt vo cho php HID gi thng tin ln my ch nhng thi im m khng h bit trc. V d khng th c cch no gip my tnh bit trc khi no ngi s dng n mt phm no trn bn phm do b iu khin my ch s dng giao tc ngt thm d c nh k nhm thu lm d liu mi. Tc trao i d liu l hn ch, c bit l khi truyn tc thp hoc ton tc. im cui ngt tc thp khng th vt qu 800 bytes/sec, vi cc im cui ton tc th tc ti a l 64 KB/s cn im cui ngt tc cao th tc ti a vo khong 24 MB/s . Vi bn Windows 98 Gold th n ch h tr USB 1.0 tc l khng h tr im cui ngt ra do tt c d liu truyn t my ch xung thit b phi s dng truyn iu khin. Lu l giao din HID c th ch l mt trong nhiu kiu giao din c h tr bi mt thit b. V d mt loa USB c th s dng phng thc truyn ng thi cho m thanh ng thi cng c th c mt giao din HID cho vic iu khin to nh, cn bng, treble v bass c ngha l vi cng mt giao tip USB trn mt thit b nhng ta c th s dng hai lp giao tip khc nhau.
Cc yu cu v phn cng

Cc im cui
Tt c cc kiu truyn ca HID s dng hoc im cui iu khin hoc im cui ngt. Tt c cc HID phi c mt im cui ngt vo gi d liu ti my ch. Mt im cui ngt ra l tu chn.

Cc loi bo co (Report)
Yu cu i vi mt im cui ngt vo cho thy mi HID phi c ti thiu l mt report u vo c nh ngha trong b m t report ca HID. Cc report u ra v report c bit l tu chn.

Cc yu cu c th gi t Host ti thit b trong kiu truyn iu khin


c t HID nh ngha 6 yu cu c th m Host c th gi ti thit b. Hai trong s l Set_Report v Get_Report, em li cch Host v thit b trao i report thng qua kiu truyn iu khin. Host s dng Set_Report gi report v Get_Report nhn thng bo. Bn yu cu cn li lin quan ti vic cu hnh thit b. Cc yu cu Set_Idle v Get_Idle dng thit lp v c tc ri, ci cho bit c hay khng vic mt thit b gi li d liu khng h thay i k t ln thm d cui. Cc yu cu Set_Protocol v Get_Protocol thit lp v c gi tr giao thc. Gi tr giao thc s cho bit mt thit b c th c s dng hay khng ngay c khi b iu khin y ca n cha c ti trn Host (v d con chut v bn phm c

th thc hin chc nng ca n ngay trong giai on khi ng - khi m b iu khin chnh thc ca n cha c ti trn Host). Cc loi yu cu va nu s c trnh by chi tit hn on sau.

Kiu truyn ngt


Cc im cui ngt em li s lun phin trong vic trao i d liu, c bit khi pha thu phi c c d liu mt cch nhanh chng hoc nh k. Truyn iu khin c th b tr nu bus qu bn trong khi bng thng cho truyn ngt li c m bo. Kh nng thc hin truyn ngt ra (OUT) c b sung phin bn 1.1 ca chun USB. Windows 98 SE l phin bn Windows u tin h tr USB 1.1 v HID 1.1.
Cc yu cu v vi chng trnh (Firmware)

Vi chng trnh phi ph hp vi cc yu cu ca lp thit b. Cc b m t ca thit b phi bao gm mt b m t giao din nh ngha thit b thuc lp HID, mt b m t HID v mt b m t im cui ngt vo (IN). B m t im cui ngt ra (OUT) l tu chn. Vi chng trnh cng phi cha mt b m t report. Mt HID c th h tr mt hay nhiu report. B m t report ch ra kch thc v ni dung ca d liu cha trong report cng nh cch m pha thu s s dng d liu nhn c. Cc gi tr trong b m t s ch ra mi report l mt report u vo, u ra hay l mt report c bit. My ch nhn d liu cha trong report u vo v gi d liu cha trong report u ra. Mt report c bit c th c truyn theo c hai hng. Mi thit b phi h tr ti thiu mt report u vo my ch c th thu nhn d liu thng qua truyn ngt hoc truyn iu khin. Cc report u ra l tu chn. tng thch vi Windows 98 Gold th cc thit b s dng cc report u ra nn h tr vic gi report thng qua truyn iu khin. S dng truyn ngt cho cc thng bo u ra l tu chn. Cn cc thng bo c bit cng l tu chn v nu c s dng th n lun c truyn thng qua truyn iu khin.
Cch thc ch ra mt thit b thuc lp HID

Vi bt k thit b USB no thuc lp HID th cc b m t ca n ch cho my ch thng tin my ch cn bit giao tip vi thit b. My ch tm hiu v giao din HID trong sut qu trnh thit lp bng cch gi mt yu cu Get_Descriptor. Cc b m t ca mt thit b thuc lp HID bao gm: B m t thit b (Device Descriptor), b m t cu hnh (Configuration Descriptor), b m t giao din (Interface Descriptor), b m t HID (HID Descriptor), b m t im cui ngt vo (IN interrupt Enpoint Descriptor), b m t im cui ngt ra (OUT Interrupt Endpoint Descriptor) v b m t im cui ngt c bit (Feature Interrupt Endpoint Descriptor). Hai b m t sau cng l tu chn (tc c th c hoc khng). Ngoi cc b m t va lit k trn thit b thuc lp HID cn phi c mt b m t na l b m t Report (b m t Report s c ni c th sau).
B m t bo co (Report Descriptor)

Mt b m t thng bo nh ngha khun dng v cng dng ca d liu cha trong cc report. V d nu thit b l mt con chut th d liu trong report s thng bo cho my ch bit s di chuyn ca con chut v cc s kin click chut, nu thit b l mt b iu khin rle th d liu trong bo co s cho bit rle no m v rle no ng.

B m t report cn phi linh hot iu khin thit b vi cc mc ch khc nhau. D liu lu trong report cn c ti u ho v kch thc trnh lng ph khng gian lu tr v rt ngn thi gian khi truyn trn bus.
Cc yu cu m host c th gi ti mt thit b thuc lp HID

Nh trnh by trn, c t HID nh ngha 6 yu cu m Host c th gi ti mt thit b thuc lp HID. Tt c cc HID phi h tr Get_Report, cn i vi cc thit b h tr giao thc khi ng th phi p ng c cc yu cu Get_Protocol v Set_Protocol. Cc yu cu cn li gm Set_Report, Get_Idle v Set_Idle l tu chn, tr trng hp i vi mt keyboard s dng giao thc khi ng phi h tr Set_Idle. Nu mt HID khng c mt im cui ngt ra (OUT) hoc nu HID ang giao tip vi mt my ch ch h tr USB 1.0 nh Windows 98 Gold chng hn th HID nu mun nhn report t host n phi h tr Set_Report. Cc yu cu trn s c Host gi ti thit b trong giai on setup ca truyn iu khin. Giai on setup ca truyn iu khin din ra nh sau: ban u host pht ra gi thng bo setup, theo sau l gi d liu dnh cho giao tc setup c kch thc ca phn d liu l 8 byte, cui cng host ch gi bt tay ACK bit rng giao tc setup c thnh cng hay khng. Cc yu cu ca host c cha trong 8 byte d liu ca gi d liu theo sau gi thng bo setup, n c khun dng nh sau:

Hnh Error! No text of specified style in document.-4: Khun dng d liu ca giai on setup trong kiu truyn Control
C mt s bit trong gi trn c gi tr ging nhau i vi c 6 yu cu l: 5 bit Destination type =00000B ch ra ch n ca yu cu l mt thit b. (00001B: ch l mt giao din c th, 00010B: ch l mt im cui trn thit b, 00011B: ch l mt trong cc thnh phn khc trong thit b). 2 bit Request Type =01 ch ra loi yu cu ny l dnh cho mt lp thit b c th. (00: tc request l mt trong cc request chun (c 11 loi request chun), 10: request c nh ngha bi nh cung cp thit b).

Get_Report
Host gi yu cu ny khi n mun nhn mt Input report hoc Feature report t HID s dng truyn iu khin. Bit Direction = 1 ch ra rng c mt giai on d liu sau giai on setup v hng truyn ca d liu l t thit b v host. bRequest = 01h cho bit yu cu m host gi ti thit b l Get_Report. wValue: Byte cao cha thng tin cho bit host mun nhn loi report no t thit b (1=Input, 3=Feature), byte thp cha report ID. wIndex: cha s lng giao din m yu cu c hng ti. wlength: cha chiu di ti a cho php ca report trong giai on d liu tnh theo byte.

Lu : tt c cc HID nn h tr yu cu Get_Report.

Get_Idle
Host gi yu cu ny c tc ri t thit b. Bit Direction = 1. bRequest = 02h. wValue: Byte cao = 00h, byte thp ch ra report ID ca report m yu cu tc ng ti. Nu byte = 00h th c ngha l yu cu s tc ng ti tt c cc Input report ca HID. wIndex cha s lng giao din h tr yu cu ny. wlength = 1. 1 byte trng d liu ca gi d liu trong giai on d liu s cha tc ri tnh theo s nguyn ln ca 4 ms. Cc HID khng buc phi h tr yu cu Get_Idle.

Get_Protocol
Mc ch ca yu cu ny l host bit c HID c h tr giao thc khi ng hay khng. Bit Direction = 1. bRequest = 03h. wValue = 0000h. wIndex cha s lng giao din h tr yu cu ny. wLength = 1. Nu 1 byte trng d liu ca gi d liu = 0 tc c h tr giao thc khi ng cn nu 0 tc l khng h tr giao thc khi ng. Cc thit b c h tr giao thc khi ng th phi p ng yu cu ny.

Set_Report
Host gi yu cu ny thng bo rng n mun gi mt Output hoc Feature report ti thit b bng cch s dng truyn iu khin. Bit Direction = 0 ch ra rng hng ca report trong giai on d liu l t host ti thit b. bRequest = 09h. wValue: Byte cao cha thng tin v loi report s c gi trong giai on d liu (2: Output report, 3: Feature report). Byte thp cha report ID. wIndex cha s lng giao din m yu cu ny c hng ti. wLength: cho bit chnh xc kch thc ca report tnh theo byte s c gi trong giai on d liu. Cc HID c th h tr hoc khng h tr yu cu Set_Report. Nu mt HID khng c im cui ngt ra (OUT) hoc HID ang lm vic vi mt my ch ch h tr phin bn USB 1.0 m li mun nhn d liu t Host th vic p ng li yu cu Set_Report l cch duy nht c th nhn d liu t host.

Set_Idle
Host gi yu cu ny l tit kim bng thng thng qua vic gii hn tn s gi bo co ca mt im cui ngt vo (IN) khi d liu cha trong bo co khng c s thay i so vi bo co gn nht.

Bit Direction = 0 ch ra hng ca d liu trong giai on d liu nu c th s l t host ti thit b. bRequest = 0Ah. wValue: Byte cao thit lp khong thi gian ti thiu phi tri qua gia hai Input report c d liu ging nhau m li c gi k tip nhau, byte thp cha report ID ca report m yu cu ny tc ng ti. Nu byte thp l 00h th c ngha l yu cu ny tc ng ti tt c cc Input report ca HID. wIndex cha s lng giao din h tr yu cu ny. wLength 0000h: Cho thy khng c giai on d liu theo sau giai on setup. Ch thch: Khong thi gian gia hai Input report l mt s nguyn ln ca 4 ms, nh vy vi 1 byte cao ca wValue th khong thi gian ny s nm trong phm vi t 4 ti 1020 ms. Nu byte cao ca wValue = 00h th c ngha l HID ch c gi Input report khi d liu ca report c thay i so vi ln gi ngay trc . Nu d liu ca report c thay i so vi ln gi ngay trc th n c th c gi ngay khi c mt thng bo IN bt k gi tr byte cao ca wValue l bao nhiu. Trong trng hp d liu ca report khng h c thay i g so vi ln gi ngay trc mt khc khong thi gian c gn trong byte cao ca wValue cha tri qua k t ln gi report ngay trc m li c mt thng bo IN t host th HID s gi gi bt tay NAK. Cn nu khong thi gian c gn trong byte cao ca wValue tri qua k t ln gi report ngay trc th HID s gi ti host report mc d d liu ca report khng h c thay i so vi ln gi ngay trc. Nu HID tr li yu cu Set_Idle ca host bng gi bt tay STALL th n c th gi report bt c khi no c thng bo IN t host k c khi d liu ca report khng h c s thay i. Cc HID khng b bt buc phi h tr yu cu Set_Idle ca host ngoi tr keyboard c s dng giao thc khi ng.

Set_Protocol
Host gi yu cu ny ch nh HID c nn s dng giao thc khi ng hay khng. Bit Direction = 0 ch ra hng ca d liu trong giai on d liu nu c th s l t Host ti thit b. bRequest = 0Bh. wValue = 0000h: nn s dng giao thc khi ng; wValue 0000h: khng nn s dng giao thc khi ng. wIndex cha s lng giao din h tr yu cu ny. wLength 0000h: Cho thy khng c giai on d liu theo sau giai on setup. Thit b mun thc hin chc nng trong qu trnh khi ng phi h tr yu cu Set_Protocol.

You might also like