Giao Tiep Usb Pic18f4550

Embed Size (px)

DESCRIPTION

giao tiep usb dung pic 18f4550

Citation preview

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    1/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 1

    CHNG 1: GII THIU USB V PIC 18F4550

    I. Gii thiu chung vchun USB:1. Khi nim USB:

    USB(Universal Serial Bus) l mt chun kt ni tun ta dng trongmytnh.USB sdng kt ni ccthit bngoi vi vi my tnh, chng thngc thit kdi dng cc u cm cho cc thit btun theo chuncm-l-chy m vi tnh nngcm nng thit b(ni v ngt cc thit bkhng cnphi khi ng li hthng).

    2. Cc mc tiu hng ti khi sdng USB:- Ddng mrng cc thit bu cui ca my tnh.- Cung cp gii php chi ph thp song vn htrtruyn dn tc cao ln n

    480 Mb/s.- Htrng dng thi gian thc nh: voice, audio, video, - Giao thc linh hot cho cc chhn hp.- Tch hp cng nghthit btin nghi.- c Windows v cc hiu hnh khc htrdo c thkhng cn driver

    mc thp cho cc thit bUSB.- a nng, do nhiu thit bc thghp ni vi PC thng qua chun USB.- tin cy cao.3. M ththng USB:

    Mt hthng USB c m tbi 3 nh ngha:

    - Kt ni USB.- Cc thit bUSB.- USB host.

    Kt ni USB c hiu l kiu kt ni m trong cc thit bUSBc 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 bUSB v Host. Nhng mi quan hInter- Layer: di dng mt tp khnng, cc tc vUSB c

    thc hin ti mi lp trong hthng.

    Cc m hnh lung dliu l: l hnh thc m trong dliu di chuyn trong h

    http://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/hot_swappinghttp://en.wikipedia.org/wiki/hot_swappinghttp://en.wikipedia.org/wiki/hot_swappinghttp://en.wikipedia.org/wiki/hot_swappinghttp://en.wikipedia.org/wiki/Plug_and_playhttp://en.wikipedia.org/wiki/Plug_and_playhttp://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_b%E1%BB%8B_ngo%E1%BA%A1i_vihttp://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnh
  • 5/24/2018 Giao Tiep Usb Pic18f4550

    2/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 2

    thng USB.

    Lp trnh USB: USB cung cp mt skt ni dng chung. Vic truy cp ti kt nic lp trnh theo ththtrtruyn dliu ng thi khxphn xban u.

    4. Kin trc BUS:Bus tun ta nng ni cc thit bUSB vi Host USB. Vmt kt nivt l USB l mt kin trc tng sao. Mt Hub ti trung tm ca mi sao.mi on dy l mt kt ni tim ti im gia Host v mt Hub hoc mtchc nng no , hoc mt Hub ni ti Hub khc hoc chc nng khc. Vi 7

    bit a ch, ngoi my chUSB ra n c thqun l ti a 127 thit bngoi vi.Hnh sau sminh hokin trc ca USB.

    My chUSB:Chc duy nht mt Host trong mt hthng USB bt k. Giao dinUSB ti hthng my chc xem nh biu khin Host. Biu khinHost c thc thc hin trong mt kt hp gm phn cng, vi chng trnh(firmware) hoc phn mm. Mt Hub gc (root hub) c tch hp chtrong h

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    3/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 3

    thng Host cung cp mt hoc nhiu im lp thm. Cc thit bUSB:

    Thit bUSB c thl 1 trong cc thit bsau:- Hub: cung cp im lp thm vo USB.- Cc chc nng: cung cp khnng cho hthng nh mt kt ni ISDN, DigitalJoystick hoc Speaker.- Thit bhiu c giao thc USB.5. Cp USB:

    USB truyn tn hiu qua 1 cp 4 si nh hnh di.C 3 tc truyn dliu:

    - USB tc cao (USB high-speed): 480Mb/s.- USB ton tc (USB full-speed): 12Mb/s.- USB tc thp (USB low-speed): 1.2Mb/s.

    Cp USB bao gm 4 dy, D+ v D- c dng truyn tn hiu, Vbusv GND cp ngun cho thit b( Thng th Vbus=5V cn GND=0V ti

    ngun). USB cho php chiu di cc on cp c ththay i ln ti vi mt.pha my chHost th D+ v D- c ni t qua cc in trRpdcnvpha thit bngoi vi, cc u dy D+, D- c bo vbi in trcui (chnh l cc in trRpu. Thit btc cao hoc ton tc cn c in trni+3.3 V cho u D+, thit btc thp cn c in trni ln 3.3 V cho uD-. Nhng in trny to nn cc mc in thkhc nhau gia D+ v D-gip cho my chpht hin c vic cm vo hay rt ra ca thit bcng nhtc truyn dliu ca thit b.

    II. M hnh lung dliu USB:1. Cc thnh phn trong vic thc hin kt ni USB:

    Vic thc hin kt ni USB gm cc thnh phn:

    - Thit bUSB vt l: mt phn cng u cui ca cp USB thi hnh mt vichc nng hu dng vi ngi sdng.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    4/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 4

    - Client Software: phn mm thi hnh trn my ch, p ng cho thit bUSB.Phn mm ny c thc cung cp bi hiu hnh hoc c cung cp cngvi thit bUSB.

    - USB System Software: l phn mm htrUSB trong mt hiu hnh cth.Phn mm hthng USB thng c cung cp km vi hiu hnh, nkhng phthuc vo mt thit bUSB cthno.

    - USB Host Controller: bao gm phn cng v phn mm cho php cc thit bUSB kt ni ti Host.

    Hnh sau schra stng tc gia mt slp v thc thtrongmt kt ni n gin gia host v thit b.

    - USB Bus interface Layer cung cp kt ni vt l, gi tin, bo hiu giaHost v mt thit b.

    - USB Decive Layer cho thy hiu hnh htrthit bUSB cn cmt phn mm hthng thc hin vic qun l thit bUSB logic.

    - Function Layer cung cp khnng c thm vo cho Host qua phnmm khch (client software). Chnh client software sgip thhin chc nngca thit bUSB trn Host.

    2. Bus Topology:Bus topology c 4 thnh phn chnh:

    - Host v cc thit b: y l cc thnh phn s cp ca mt hthng

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    5/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 5

    USB.- Cu trc vt l: cho thy cc thnh phn USB c ni vi nhau nh

    thno.- Cu trc logic: cho thy vai tr v trch nhim ca cc thnh phn

    USB khc nhau v USB xut hin nh thno thnh phi cnh caHost v mt thit b.- Mi lin quan gia chc nng vphn mm khch (client software).

    2.1USB Host:Kt cu logic ca Host c chra trong hnh 2.2 gm c:

    - Biu khin Host.- Phn mm hthng USB c gp chung- Phn mm khch. (Client Software).

    2.2Cc thit bUSB:Kt cu logic ca mt thit bUSB vt l c chra trong hnh 2.3gm :

    - Giao din bus USB.- Thit bUSB logic.- Chc nng.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    6/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 6

    Cc thit bUSB vt l cung cp cc chc nng bsung cho Host. Ccthit bUSB khc nhau th cung cp cc chc nng khc nhau. Mc d vy thcc thit bUSB logc c ni ghp ti Host c bn ging nhau.

    2.3Kin trc vt l (Physical Bus Topology):Kt ni vt l ca cc thit bUSB thng qua kin trc tng sao (tiered

    star topology) nh hnh 2.4. Cc im ni USB c thng qua bi mt lpthit bUSB c bit c hiu l Hub. Cc im ni bsung c kt nithng qua Hub c gi l cc cng. Host bao gm cmt Hub c ni vin gi l Hub gc (root hub). Cc kt ni c thc hin ti cc cng ca Hubgc. Cc thit bcung cp cc chc nng bsung cho Host c hiu l ccchc nng (function).

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    7/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 7

    2.4Kin trc Bus Logic:Trong khi cc thit bvt l c kt ni ti Host theo kin trc tng saoth qu trnh truyn thng gia Host vi mi thit blogic c xem nh l ktni trc tip ti cng gc (root port). Trong trng hp ny th bn thn cchub cng l cc thit blogic, nhng hnh 2.5 di y khng vra cho hnhvn gin dhiu.

    2.5Mi quan hgia chc nng v phn mm khch:Trong qu trnh hot ng, phn mm khch nn c lp vi cc thit b

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    8/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 8

    khc c thc gn ti USB.

    3. Lung truyn thng USB:USB cung cp mt dch vtruyn thng gia phn mm trn Host v

    chc nng USB ca n. Cc chc nng c thc yu cu lung truyn thngkhc nhau cho cc tng tc client-to-function khc nhau. USB cung cp ssdng bus ton din hn bng cch tch cc lung truyn thng khc nhau timt chc nng USB. Mi lung truyn thng c kt thc ti mt im cuitrn trn mt thit b. im cui ca thit bc sdng xc nh hngca mi lung truyn thng. Hnh 2.6 thuyt minh cch cc lung thng tinc truyn qua cc ng dn (ng truyn) gia cc im cui v cc bnhm pha Host. Phn mm trn Host giao tip vi mt thit blogic qua mt tpcc lung truyn thng. Tp cc lung truyn thng c chn bi cc nh

    thit kphn cng/phn mm p ng mt cch c hiu qucc nhu cu cathit bti c tnh truyn ti c cung cp bi USB.

    4. Cc loi truyn dliu USB:USB truyn dliu qua mt ng dn (ng truyn) gia mt bn l bnhmc lin kt vi mt phn mm khch trn my chvi mt bn lmt im cuitrn thit bUSB. USB cung cp cc dng truyn ti khc nhau c ti u ho

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    9/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 9

    p ng mt cch thch hp nht cc nhu cu ca phn mm khch v chc nng.USB cung cp 4 loi truyn dliu: truyn iukhin (control transfer); truyn ngt(interrupt transfer); truyn ng thi (isochronous transfer) v truyn khi (bulktransfer).

    4.1Truyn iu khin:Truyn iu khin l truyn theo kiu hai chiu. Loi truyn ny thngc sdng ci t thit bngoi vi. Giao thc truyn iu khin c btu bng mt giai on thng bo (token stage), tip theo l giai on dliu(data stage) v kt thc l giai on bt tay (handshake stage). Mi thit bngoi vi USB u phi xl c loi truyn ny.

    4.2Truyn ngt:Truyn ngt l kiu truyn mt chiu. Loi truyn ny c dng chocc thit bngoi vi nh bn phm, chut, joystick . V Host khng thngt nn

    cc ngt tthit bngoi vi c xl trong vng i. Ngi lp trnh hthng c nhim vxl vng i ny. Giao thc truyn ngt khi ng khimy ch(Host) bt u bng mt thng bo IN (IN Token). Thit bngoi vitrli bng mt gi NAK nu khng c ngt. Trong trng hp c ngt ththit bngoi vi trli bng mt gi dliu. Khi nhn ht dliu my chstrli bng mt gi ACK nu dliu khng c li hoc khng trli g nu cli. Nu bnghn im cui ca thit bngoi vi, n sgi n my chgiSTALL v i phn mm hthng trn my chxl.

    4.3Truyn ng thi:Truyn ng thi l phng php truyn mt chiu, hng cuc truyn c thtthit

    bngoi vi vmy chhoc ngc li. V thcuc truyn cn hai im cui thit bngoi vi hoc hai ng ng dn phn mm pha my chnu thit bcn dng kiutruyn ny thng tin 2 chiu. Giao thc truyn ng thi bt u bng gi IN hocOUT tmy chtuthuc vo hng truyn v loi im cui. V dtrong trnghp gi IN, thit btruyn dliu vmy ch. Trong trng hp OUT, my chtiptc bng cch truyn dliu. Truyn ng thikhng dng gi bt tay thng bokt qutruyn nn thng tin c thbtht lc. Loi truyn ny thng c dng chointhoi hay loa.

    4.4Truyn khi:Truyn khi l phng php truyn mt chiu. Hng truyn c thtim cui vmy chhay ngc li. Nh vy mt thit bngoi vi cn chai chiu dliu scnc hai im cui. Giao thc truyn khi gm c 3 giai on: Thng bo, dliu vgi bt tay. Nu thit bbkt skhng c giai on dliu m chc thng bo v

    bt tay. Dliu sc truyn qua ng dn tmt vng m dliu trong bnh

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    10/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 10

    ca chng trnh tng ng ti mt im cui ca thit bngoi vi.

    III. Cc lp thit bc nh ngha:1. Cc thnh phn ca 1 c tlp thit b:

    Mt c tlp thit bnh ngha slng v loi cc im cui bt buc cng nhtuchn m cc thit btrong lp c thc. Mt c tlp cng c thnh nghahoc t tn cc nh dng dliu c truyn trn bus. Mt vi c tlp nh nghacc ng dng ca dliu ang c truyn, iu ny cho php Host bit cch sdngdliu m n nhn c. Mt vi lp thit bsdng USB truyn dliu trongmt nh dng c nh nghabi mt giao din khc (v dcc lnh ca giao dinSCSI c sdng bi cc thit blu trthcp (mass-storage device) . Mt c tlp cng c thnh ngha cc gi trcho cc mc trong cc bm tchun.

    2. Cc lp thit bc nh ngha:2.1Thit bm thanh (Audio):

    Lp thit bm thanh chnh l lp cc thit bgi v nhn dliu m thanh. Dlium thanh c thl ting ni c m ho, nhc hay bt kmt loi m thanh nokhc. Cc thit bthuc lp thit bm thanh c thsdng kiu truyn ng thicho lung m thanh hoc kiu truyn khi cho dliu c m ho bng giao thcMIDI (Musical Instrument Digital Interface).

    2.2Thit bgiao din ththng minh:Ththng minh l cc loi thquen thuc c sdng cho vic gi in thoi, thqu tng, thra vo, trcc cu ng, bo him y t, gii m cho cc bthu truyn

    hnh vtinh v nhiu cc ng dng khc, nhng ng dng ny yu cu mt khilng thng tin nhhoc trung bnh vi struy cp dliu lu trong thmt cch ddng.Mi thl mt module bao gm bnhv thng thm mt CPU. Nhiu thcho

    php cp nht ni dung ca chng thay i mt sthng tin v dnh gi trtintrong thtn dng hay m ca th. truy cp mt ththng minh, bn kt ni n vithit bgiao din ththng minh (CCID-Chip Card Interface Device) thng bngcch nht thvokhe c hoc soi n trc cc bc i vi loi thkhng cn tip xc. USB nh

    ngha lp thit bgiao din ththng minh v c mt sthit bgiao din ththngminh (CCID) sdng giao din USB giao tip vi my tnh.

    2.3Lp cc thit btruyn thng:Lp cc thit btruyn thng bao gm hai loi thit bchnh l: thit bthoi v ccthit bmng tc trung bnh. Thit bthoi bao gm in thoi tng t,modemtng t, Cc bthch nghi u cui ISDN v in thoi s. Cc thit bmng bao

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    11/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 11

    gm modem ADSL, modem in tn, 10BASE-T Ethernet adapter v hub.2.4Lp thit bbo mt:

    Lp thit bbo mt nh ngha cch thc gip ta iu khin struy cp ti cc file,m nhc, hnh nh hoc cc dliu khc c truyn trn bus (v dmun copy mt

    file no ln thit bhoc c ni dung c lu trong thit bth phi cpassword).2.5Lp thit bcho php cp nht Firmware tHost:

    Lp thit bcp nht firmware nh ngha mt giao thc cho php my chgifirmware tng cng hoc v cho mt thit b. Sau khi nhn snng cp firmware ththit bsc thit lp li sdng firmware mi ca n.

    2.6Lp thit bgiao din ngi sdng (HID):Lp thit bgiao din ngi sdng bao gm cc loi bn phm, thit bcon trvcc biu khin dng chi game. i vi nhng thit bny, my chc thng

    bo tthit bv gn nh lp tc thc hin theo cc yu cu ca ngi sdng (ccyu cu ny mang tnh giao tip trc tip gia ngi sdng v my) nh sn

    phm, sdi chuyn ca con chut. My chphi p ng nhanh sao cho ngi sdng khng nhn thy trrt nhgia yu cu ca hv cc p ng ca my.

    2.7Cu lin kt dliu hng ngoi (Infrared Data Association Bridge):Lp thit bcu lin kt dliu hng ngoi nh ngha nhng yu cu vphn cngv cc giao thc cho php vic truyn ti dliu khong cch ngn thng qua nnglng hng ngoi. Thit bcu lin kt dliu hng ngoi sc ni vi my chqua cng USB cho php my chsdng giao din USB gim st, iu khin v

    truyn dliu qua mt giao din hng ngoi.2.8Lp thit blu trthcp:

    Lp thit blu trthcp chnh l cc thit bc thtruyn dliu theo chaihng (tmy chti thit bhoc tthit bvmy ch). in hnh cho lp thit bny c thkn cc a mm, a cng, CD, DVD v nhflash. Cc loicamera cng c thsdng lp lu trthcp cho php vic truy cp cc file hnhnh trong bnhca camera. Trong cc my tnh sdng hiu hnh Windows, ccthit bthuc lp lu trthcp sxut hin nh cc a trong ca sMyComputer v hiu hnh cho php ngi sdng sao chp, di chuyn v xo cc d

    liu trong cc thit b.2.9Lp cc thit bin n:

    Lp cc thit bin n c nh ngha cho cc thit bchuyn dliu nhn c tmy chthnh nh dng chhay hnh nh trn giy hay vt liu no .

    2.10 Lp thit blu ginh tnh:

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    12/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 12

    Lp thit bny bao gm Cc loi my nh v my qut. Cng vic chyu ca lpthit bny l truyn dliu hnh nh tthit bln my tnh ch. Ngoi ra mt vithit bcn c thnhn dliu tmy tnh. Nu tt cnhng g ta cn l truyn ccfile hnh nh tmt my nh ln my tnh chth ta c tha mt my nh vo lp

    thit blu trthcp.2.11 Lp cc thit bo lng v kim tra:Lp cc thit bo lng v kim tra l dnh cho cc thit bo c nh cc bADC, DAC, cm bin v cc bchuyn i (chuyn i n vvt l chng hn). Ccthit bny c thl mt khi ring rhoc l mt cc trong mt my tnh ln.

    2.12 Lp cc thit bnh ng:Lp cc thit bnh ng htrcc thit bghi hnh sxch tay, webcam, v mt sthit bc chc nng gi, nhn hay can chnh nh ng. Lp thit bny cng htrvic truyn cc nh tnh tcc thit bnh ng.

    2.13 Thc hin cc chc nng khng tiu chun:Mt vi thit bkhng c sph hp r rt vi mt lp thit bc nh ngha. Vdnh cc thit biu khin ng c, r le, hay cc c cu chp hnh khc. Mt vdkhc l cc thit bkt ni gia hai my vi tnh (Cu sdng USB). Nu mt thit

    bu cui m khng ph hp gn vo mt lp c nh ngha th ngi thit ksphi vit driver cho thit bcung cp cho my chcc thng tin gip n giaotip c vi thit b.

    IV. Lp thit bgiao din ngi sdng:Lp thit bgiao din ngi sdng (HID-Human Interface Device) l mt trong

    nhng lp u tin c hiu hnh windows htr. Trn nhng chic my tnh cnhn sdng Windows 98 hoc cc phin bn mun hn thnhng ng dng c thgiao tip vi cc thit bgiao din ngi sdng bng cch sdng cc biukhin (driver) c xy dng sn trong hiu hnh. Cng chnh v l do trn mnhiu nh cung cp thit bu cui USB sdng lp thit bgiao din ngi sdng cho sn phm ca h. Chng ny strnh by vlp HID vi mc ch gipngi c nhn nh xem mt thit bno c ph hp gn vo lp HID haykhng. Chra cc yu cu i vi vi chng trnh (firmware) nh ngha mt thit

    bthuc lp HID v cho php n trao i dliu vi my tnh ch. Chng cng s

    gii thiu 6 yu cu iu khin cth.1. Khi nim vHID:

    Tgiao din ngi sdng trong tn gi ca lp HID chra stng tc trctip gia con ngi vi thit bthuc lp ny. V dmt con chut c thpht hinvic chng ta di chuyn hay nhn chut gi thng tin ln my chv my chsdng thng tin ny em li cc p ng m ngi sdng ang mong i trong

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    13/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 13

    mt ng dng cthno . Bn cnh cc thit bphbin ca lp HID nh bnphm, con chut, cn iu khin (joystick) th lp HID cn bao gm mt sthit bkhc nh cc nm iu chnh, cc chuyn mch, nt nhn, thanh trt, iu khin txa, bn phm in thoi, cc thit biu khin dng cho game nh bao tay, bnh li.

    Tuy nhin mt thit bthuc lp HID khng nht thit phi c mt giao din ngi sdng. Mt thit bc thgn vo lp HID khi cc chc nng ca n nm gn trongcc gii hn ca c tlp HID. Di y l cc gii hn v khnng chca ccthit bthuc lp HID:

    - Tt cdliu c trao i di cng mt dng cu trc c gi l bo co (report).My chgi v nhn dliu bng cch gi cc bo co v yu cu cc bo co trongcc phng thc truyn iu khin hoc truyn ngt. nh dng bo co l kh linhhot v n c thp dng cho rt nhiu dng ca dliu song i vi mi mt boco c nh ngha th kch cca n l xc nh.

    - Mt giao din HID phi c mt im cui ngt vo (interrupt IN enpoint) gi dliu ln my ch.

    - Mt giao din HID c thc 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 thtomt thit ba chc nng gm nhiu thit bHID trong n. Mt ng dng phi m

    bo siu khin ring bit ti tng HID trong thit ba chc nng.- im cui ngt vo cho php HID gi thng tin ln my chnhng thi im m

    khng hbit trc. V dkhng thc cch no gip my tnh bit trc khi nongi sdng n mt phm no trn bn phm do biu khin my chs

    dng giao tc ngt thm d c nh knhm thu lm dliu mi.- Tc trao i dliu l hn ch, c bit l khi truyn tc thp hoc ton tc.

    im cui ngt tc thp khng thvt qu 800 bytes/sec [2], vi cc im cuiton tc th tc ti a l 64 KB/s [2] cn im cui ngt tc cao th tc ti avo khong 24 MB/s [2].Lu l giao din HID c thchl mt trong nhiu kiu giao din c htrbimt thit b. V dmt loa USB c thsdng phng thc truyn ng thi cho mthanh ng thi cng c thc mt giao din HID cho vic iu khin to nh, cn

    bng, treble v bass. Mt giao din HID thng srhn cch thc iu khin vt l

    truyn thng trn mt thit b.2. Cc yu cu vphn cng:2.1Cc im cui:

    Tt ccc kiu truyn ca HID sdng hoc im cui iu khin hoc im cuingt. Tt ccc HID phi c mt im cui ngt vo gi dliu ti my ch. Mtim cui ngt ra l tuchn.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    14/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 14

    2.2Cc loi bo co: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 bm treport ca HID. Cc report u ra vreport c bit l tuchn.

    2.3Cc yu cu c thgi tHost ti thit btrong kiu truyn iu khin:c tHID nh ngha 6 yu cu cthm Host c thgi ti thit b. Hai trong s l Set_Report v Get_Report, em li cch Host v thit btrao i report thngqua kiu truyn iu khin. Host sdng 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 cuSet_Idle v Get_Idle dng thit lp v c tc ri, ci cho bit c hay khngvic mt thit bgi li dliu khng hthay i ktln thm d cui. Cc yu cuSet_Protocol v Get_Protocol thit lp v c gi trgiao thc. Gi trgiao thc scho bit mt thit bc thc sdng hay khng ngay ckhi biu khin y

    ca n cha c ti trn Host (v dcon chut v bn phm c ththc hin chcnng ca n ngay trong giai on khi ng - khi m biu khin chnh thc ca ncha c ti trn Host). Cc loi yu cu va nu sc trnh by chi tit hn on sau.

    2.4Kiu truyn ngt:Cc im cui ngt em li slun phin trong vic trao i dliu, c bit khi phathu phi c c dliu mt cch nhanh chng hoc nh k. Truyn iu khin cthbtrnu bus qu bn trong khi bng thng chotruyn ngt li c m bo.Khnng thc hin truyn ngt ra (OUT) c bsung phin bn 1.1 ca chun

    USB. Windows 98 SE l phin bn Windows u tin htrUSB 1.1 v HID 1.1 [2].3. Cc yu cu vvi chng trnh (Firmware):

    Vi chng trnh phi ph hp vi cc yu cu ca lp thit b. Cc bm tca thitbphi bao gm mt bm tgiao din nh ngha thit bthuc lp HID, mt bm tHID v mt bm tim cui ngt vo (IN). Bm tim cui ngt ra(OUT) l tuchn. Vi chng trnh cng phi cha mt bm treport. Mt HID cthhtrmt hay nhiu report. Bm treport chra kch thc v ni dung ca dliu cha trong report cng nh cch m pha thu ssdng dliu nhn c. Ccgi trtrong bm tschra mi report l mt report u vo, u ra hay l mt

    report c bit. My chnhn dliu cha trong report u vo v gi dliu chatrong report u ra. Mt report c bit c thc truyn theo chai hng Mithit bnn htrti thiu mt report u vo my chc ththu nhn dliuthng qua truyn ngt hoc truyn iu khin. Cc report u ra l tuchn. tng thch vi Windows 98 Gold th cc thit bsdng cc report u ra nn htrvic gi report thng qua truyn iu khin. Sdng truyn ngt cho cc thng bo

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    15/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 15

    u ra l tuchn. Cn cc thng bo c bit cng l tuchn v nu c sdngth n lun c truyn thng qua truyn iu khin.

    4. Cch thc chra mt thit bthuc lp HID:Vi bt kthit bUSB no thuc lp HID th cc bm tca n chcho my ch

    ci my chcn bit giao tip vi thit b. My chtm hiu vgiao din HIDtrong sut qu trnh thit lp bng cch gi mt yu cu Get_Descriptor. Cc bm tca mt thit bthuc lp HID bao gm: Bm tthit b(Device Descriptor), bmtcu hnh (Configuration Descriptor), bm tgiao din (Interface Descriptor), bm tHID (HID Descriptor), bm tim cui ngt vo (IN interrupt EnpointDescriptor), bm tim cui ngt ra (OUT Interrupt Endpoint Descriptor) v bm tim cui ngt c bit (Feature Interrupt Endpoint Descriptor). Hai bm tsau cng l tuchn (tc c thc hoc khng). Ngoi cc bm tva lit k trnthit bthuc lp HID cn phi c mt bm tna l bm tReport.

    Mt HID vi giao din khi ng sc ththc hin mt phn chc nng ca mnhkhi m driver ca n cha c my chti n. Hon cnh ny c thxut hin khimy tnh khi ng trc tip tDOS hoc khi sdng chan ton (safe mode) caWindows gli hthng. Mt bn phm hoc con chut vi giao din khi ngc thsdng mt giao thc c n gin ho c htrbi hthng vo rac s(BIOS) ca nhiu my tnh ch. Trng protocol=1 tc l thit bhtrgiao din

    bn phm cn nu bng 2 th thit bhtrgiao din con chut. Bm tHID (HIDDescriptor) l bm tc bsung cho lp HID. Bm tny c thc 7 trng

    hoc nhiu hn tuthuc vo slng cc bm tc thm vo cho thit b:- Trng bLength c kch thc 1 byte cho bit di ca bm tHID tnh theo byte.- Trng bDescriptorType c gi trl 21h chra bm tny l bm tHID.- Trng bcdHID c kch thc 2 byte chra phin bn USB m thit btun theo.- Trng bCountryCode, Nu thit bc sdng chtrong phm vi a l ca mt

    nc no th trng ny smang m ca quc gia (c tHID c danh sch mca cc nc). Nu vic sdng thit bkhng phthuc vo vtr a l th trngny c gi tr00h.

    - Trng bNumDescriptors chra slng cc bm tlp thuc cp di ca bmtny .

    - Trng bDescriptorType chra loi ca bm tthuc cp di ca bm tny.(V dnh trng ny c gi tr22h chra rng bm tcp di ca n l bmtReport) .

    - wDescriptorLength cho bit kch thc tng cng ca cc bm t c m ttrc n v phn kch thc ktu cho n trng ny ca bm tHID .

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    16/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 16

    Nu thit bc thm mt bm tvt l (physical descriptor) th bm tHID scthm hai trng na c lit k ln lt l:

    - bDescriptorType c gi trl 23h chra bm tcp di l bm tvt l.- wDescriptorLength cho bit tng kch thc ca cc bm t c m ttnh tu cho n ht trng ny.5. Bm tbo co (Report Descriptor):

    Mt bm tthng bo nh ngha khun dng v cng dng ca dliu cha trongcc report. V dnu thit bl mt con chut th dliu trong report sthng bocho my chbit sdi chuyn ca con chut v sclick chut, nu thit bl mt biu khin rle th dliu trong bo co scho bit rle no mv rle no ng.Bm treport cn phi linh hot iu khin thit bvi cc mc ch khc nhau.Dliu lu trong report cn c ti u ho vkch thc trnh lng ph khng

    gian lu trv rt ngn thi gian khi truyn trn bus. Sau y l mt v dvbmtreport ca mt keyboard v strnh by mt skin thc lin quan n bm treport thng qua vic gii thch v dny ( hiu y v cn kvbm treport lmt iu khng hngin v vy m v dny chmi nu ra c mt phn kinthc vbm t). to bm tReport cho lp HID ta sdng phn mm HIDDescriptor Tool, y l mt tin ch min ph v c thti vta chsau:http://apps.intel.com/scripts-

    uti l/download.asp?ur l=/intelpress/usb/Examples/ZipFi les/DT.zip& titl e=H ID+Descr

    iptor+Tool& ful lpg=3&site=Developer

    6. Cc yu cu m Host c thgi ti 1 lp thuc lp HID:HID nh ngha 6 yu cu m Host c thgi ti mt thit bthuc lp HID. Tt ccc HID phi htrGet_Report, cn i vi cc thit bhtrgiao thc khi ngth phi png c cc yu cu Get_Protocol v Set_Protocol. Cc yu cu cn ligm Set_Report, Get_Idle v Set_Idle l tuchn, trtrng hp i vi mtkeyboard sdng giao thc khi ng phi htrSet_Idle. Nu mt HID khng cmt im cui ngt ra (OUT) hoc nu HID ang giao tip vi mt my chchhtrUSB 1.0 nh Windows 98 Gold chng hn th HID nu mun nhn report t

    host n phi htrSet_Report. Cc yu cu trn sc Host gi ti thit btronggiai on setup ca truyn iu khin. Giai on setup ca truyn iu khin nh c trnh by trong mc 3.5.2 din ra nh sau: ban u host pht ra gi thng bosetup, theo sau l gi dliu dnh cho giao tc setup c kch thc ca phn dliu l 8 byte, cui cng host chgi bt tay ACK bit rng giao tc setup cthnh cng hay khng. Cc yu cu ca host c cha trong 8 byte dliu ca gi

    http://apps.intel.com/scripts-http://apps.intel.com/scripts-
  • 5/24/2018 Giao Tiep Usb Pic18f4550

    17/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 17

    dliu theo sau gi thng bo setup, n c khun dng nh sau:

    C mt sbit trong gi trn c gi trging nhau i vi c6 yu cu l:- 5 bit Destination type =00000B chra ch n ca yu cu l mt thit b.

    (00001B: ch l mt giao din cth, 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 chra loi yu cu ny l dnh cho mt lp thit bcth. (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)..

    6.1Get_Report:Host gi yu cu ny khi n mun nhn mt Input report hoc Feature report tHIDsdng truyn iu khin.Bit Direction = 1 chra rng c mt giai on dliu sau giai on setup v hngtruyn ca dliu l tthit bvhost.

    bRequest = 01h cho bit yu cu m host gi ti thit bl Get_Report.

    wValue: Byte cao cha thng tin cho bit host mun nhn loi report no tthit b(1=Input, 3=Feature), byte thp cha report ID.wIndex: cha slng giao din m yu cu c hng ti.wlength: cha chiu di ti a cho php ca report trong giai on dliu tnh theo

    byte. Lu : tt ccc HID nn htryu cu Get_Report.6.2Get_Idle:

    Host gi yu cu ny c tc ri tthit b.Bit Direction = 1.

    bRequest = 02h.

    wValue: Byte cao = 00h, byte thp chra report ID ca report m yu cu tc ngti. Nu byte = 00h th c ngha l yu cu stc ng ti tt ccc Input report caHID.wIndex cha slng giao din htryu cu ny.wlength = 1. 1 byte trng dliu ca gi dliu trong giai on d liu scha tcri tnh theo snguyn ln ca 4 ms.Cc HID khng buc phi htryu cu Get_Idle.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    18/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 18

    6.3Get_Protocol:Mc ch ca yu cu ny l host bit c HID c htrgiao thc khi ng haykhng.Bit Direction = 1.

    bRequest = 03h.wValue = 0000h.wIndex cha slng giao din htryu cu ny.wLength = 1. Nu 1 byte trng dliu ca gi dliu = 0 tc c htrgiao thc

    khi ng cn nu0 tc l khng htrgiao thc khi ng.Cc thit bc htrgiao thc khi ng th phi p ng li yu cu ny.

    6.4Set_Report:Host gi yu cu ny thng bo rng n mun gi mt Output hoc Feature reportti thit bbng cch sdng truyn iu khin. Bit Direction = 0 chra rng

    hng ca report trong giai on dliu l thost ti thit b. bRequest = 09h.wValue: Byte cao cha thng tin vloi report sc gi trong giai on dliu (2:Output report, 3: Feature report). Byte thp cha report ID. wIndex cha slnggiao din m yu cu ny c hng ti .wLength: cho bit chnh xc kch thc ca report tnh theo byte sc gi tronggiai on dliu.Cc HID c thhtrhoc khng htryu cu Set_Report. Nu mt HID khng cim cui ngt ra (OUT) hoc HID ang lm vic vi mt my chchhtrphin

    bn USB 1.0 m li mun nhn dliu tHost th vic p ng li yu cu

    Set_Report l cch duy nht c thnhn dliu thost.6.5Set_Idle:

    Host gi yu cu ny l tit kim bng thng bng thng qua vic gii hn tn sgi bo co ca mt im cui ngt vo (IN) khi dliu cha trong bo co khng csthay i so vi bo co gn nht.Bit Direction = 0 chra hng ca dliu trong giai on dliu nu c th slthost ti thit b.

    bRequest = 0Ah.wValue: Byte cao thit lp khong thi gian ti thiu phi tri qua gia hai Input

    report c dliu ging nhau m li c gi ktip nhau, Byte thp cha report IDca report m yu cu ny tc ng ti. Nu byte thp l 00h th c ngha l yu cuny tc ng ti tt ccc Input report ca HID.wIndex cha slng giao din htryu cu ny.wLength 0000h: Cho thy khng c giai on dliu theo sau giai on setup.Ch thch: Khong thi gian gia hai Input report l mt snguyn ln ca 4 ms, nh

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    19/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 19

    vy vi 1 byte cao ca wValue th khong thi gian ny snm trong phm vi t4 ti1020 ms. Nu byte cao ca wValue = 00h th c ngha l HID chc gi Inputreport khi dliu ca report c thay i so vi ln gi ngay trc . Nu dliuca report c thay i so vi ln gi ngay trc th n c thc gi ngay khi c

    mt thng bo IN bt kgi trbyte cao ca wValue l bao nhiu. Trong trng hpdliu ca report khng hc thay i g so vi ln gi ngay trc mt khckhong thi gian c gn trong byte cao ca wValue cha tri qua ktln gireport ngay trc m li c mt thng bo IN thost th HID sgi gi bt tay NAK.Cn nu khong thi gian c gn trong byte cao ca wValue tri qua ktlngi report ngay trc th HID sgi ti host report mc d dliu ca report khnghc thay i so vi ln gi ngay trc. Nu HID trli yu cu Set_Idle ca host

    bng gi bt tay STALL th n c thgi report bt ckhi no c thng bo IN thost kckhi dliu ca report khng hc sthay i.

    Cc HID khng bbt buc phi htryu cu Set_Idle ca host ngoi trkeyboardc sdng giao thc khi ng.

    6.6Set_Protocol:Host gi yu cu ny chnh HID c nn sdng giao thc khi ng hay khng.Bit Direction = 0 chra hng ca dliu trong giai on dliu nu c th slthost ti thit b.bRequest = 0Bh.

    wValue = 0000h: nn sdng giao thc khi ng; wValue0000h: khng nn sdng giao thc khi ng. wIndex cha slng giao din htryu cu ny

    wLength 0000h: Cho thy khng c giai on dliu theo sau giai on setup.Thit bmun thc hin chc nng trong qu trnh khi ng phi htryu cuSet_Protocol.

    V. Gii thiu PIC 18F4550:PIC 18F4550 l mt sn phm ca hvi xl thng dng ca cng ty Microchip.im ring bit ca vi xl PIC 18F4550 l n l 1 trong nhng PIC htrton thcho USB, ngha l n USB gn trong c sn cc chn u ra ni trc tip vi mytnh m khng cn mch ko hay bt cmch gn ngoi no khc.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    20/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 20

    Htrtinh thdao ng k nhiu tn snh u vo v bcn bng nn bxl cthhot ng vi tn s48MHz ca dao ng k c lp khi kt ni. Khi kt thchot ng th chnh dao ng k c kt ni (thng qua cc bit cu hnh). Lm vic

    vi tc 48MHz l v iu kin tin quyt chuyn sang chton tc nhcngUSB. V vy, Driver USB chuyn sang chton tc (1.5Mbyte/s) qua USB vtng thch vi chun USB 2.0. N cng c 35 chn IN/OUTv c sn vbc gmDIP-40 nn rt thun tin cho nh pht trin v nhng ngi nghip d quan tm.

    Vi bnh, c 32Kb Flash lu dliu chng trnh, 2kb bnhSRAM hay hi v256 byte EEPROM (bnhkhng bay hi) lu trdi hn dliu nh cu hnh

    Cc chthdi 1 byte vi sngoi ldi 2 byte (CALL,MOVF,GOTO,LSFR). Sdng c chng ng thc thi m bng vic khin cc thit bchthlin tiphot ng trong 4 xung (di xung) v c 4 ln nhy xung c thm vo.

    Cc c tnh ng ch khc l ng h, ngt (ng hgn trong v ngoi) vi haimc u tin v dng chai mc nh bso snh tng tkm theo vi bpht inthchun c 16 mc (hu ch khi dng trigger mc phn cng).

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    21/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 21

    Cui cng, PIC 18F4550 cng c bchuyn i tng t10 bit nhng dao ng kkhng yu cu vtc cao cn thit. V vy, my pht dao ng c tc 48MHz gia thi gian trdo truyn ti v cc ngt khc (vng lp .. ). Khng thtc tc ln hn 200khz.

    1. S chn:

    Ta c ththy chn D- v D+ cho kt ni USB chn 23 v 24.2. Cng clp trnh:

    C nhiu cng clp trnh v bin dch cho PIC nh: CCS, Keil C, MPLAB X, MikroC,

    Nhng vi ti ny th em thy Mikro C htrkh tt v y , c bit l ngin v dhiu. Nn y em chon vit bng Mikro C.V y ta giao tip vi my tnh nn ta cn c 1 giao din giao tip vi PIC quacng USB nn y em chn thit kgiao din bng C# trong bVisual Studio 2010ca Microsoft.

    CHNG 2: THIT KMCH

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    22/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 22

    Tnh ton in trhng dng cho led:

    Ta c in p trn mi led l 3V v dng qua led l 10mA nn ta tnh ton c intrhng dng cho led l:

    Ta chn in tr220 .

    CHNG 3: VIT CHNG TRNH

    I. Chng trnh cho PIC 18F4550:Ta dng phn mm Mikro C lp trnh cho PIC.

    u tin ta to 1 Project mi: File/New/Project

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    23/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 23

    Step 1: ta chn ng dn lu project, v chn loi vi iu khin sdng, km theo lkhai bo tn sthch anh m mnh sdng, y ta dng PIC 18F4550 v tn sthch anh l 20MHz.

    Step 2: bqua v khng dng n.

    Step 3: chn th vin cn dng, ta chn Include None (Advanced)

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    24/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 24

    Step 4: ta tick vo vung v nhn Finish.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    25/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 25

    Lc ny 1 ca sEdit Project shin ra, ta chn cc thng s nh trong hnh:

    y ta c 2 cch chn tn shot ng cho CPU, hnh vta thy c 2 Optionl u vo xung nhp cho CPU. Vi Option 1 l: HSPLL v Option 2 l: XT, HS.

    - Ta chn sdng HSPLL, tc l Option 1. Thch anh tht l 20MHz, qua bchiaPLLDIV c 4MHz v a qua b96MHz PLL, u ra nhn c tn s96MHz, ci ny sc chia 2 (nh hnh v) 96/2=48 MHz, vy l USB hot ngvi xung nhp l 48MHz.

    - Khi khai bo sdng HSPLL th XT,HS bv hiu, chnh v thchng ta sly xungnhp tbHSPLL cp cho CPU, nh hnh trn xung nhp sc a qua bchiaCPUDIV nhnht l 2, tc l 96/2=48MHz. iu ny c ngha l CPU shot ngvi xung nhp cao nht 48MHz, mc d u vo thch anh chc 20MHz. V lc nyiu quan trng l chng ta phi sa li gi trthch anh t cho Project l 20MHz

    thnh 48MHz mc d thch anh tht bn ngoi l 20MHz.Ngoi ra chng ta cn phi Enable cho pin 18 ly in p 3.3V ti chn ny.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    26/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 26

    Tip theo ta tin hnh vit code.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    27/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 27

    Code:

    sbit LCD_RS at RE0_bit;sbit LCD_EN at RE2_bit;

    sbit LCD_D4 at RD4_bit;

    sbit LCD_D5 at RD5_bit;

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    28/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 28

    sbit LCD_D6 at RD6_bit;

    sbit LCD_D7 at RD7_bit;

    sbit LCD_RS_Direction at TRISE0_bit;

    sbit LCD_EN_Direction at TRISE2_bit;

    sbit LCD_D4_Direction at TRISD4_bit;

    sbit LCD_D5_Direction at TRISD5_bit;

    sbit LCD_D6_Direction at TRISD6_bit;

    sbit LCD_D7_Direction at TRISD7_bit;

    unsigned char readbuff[64] absolute 0x500;

    unsigned char writebuff[64] absolute 0x540;

    char cnt;

    char kk,tam;

    char i,j;

    void interrupt(){

    USB_Interrupt_Proc();

    }

    void main(void){

    ADCON1 |= 0x0F;

    CMCON |= 7;

    TRISB = 0x00;

    Lcd_Init();

    HID_Enable(&readbuff,&writebuff);

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    29/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 29

    Lcd_Cmd(_LCD_CLEAR);

    Lcd_Cmd(_LCD_CURSOR_OFF);

    while(1){

    while(!HID_Read()) ;

    for(cnt=0;cnt

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    30/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 30

    for(i=0;i

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    31/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 31

    - Lu n th mc to v Add vo Project.

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    32/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 32

    Vy l xong phn Code, ta tin hnh Build (Ctrl+F9) vo np vo PIC.

    II. Giao din C# trn my tnh:Do HID c sn Driver trn my v tci t, chng ta skhng cn quan tm nDriver.

    u tin chng ta to 1 project mi v Add th vin lin kt ng HIDLib.dll .

    Trong ca sSolution Explorer, nhn chut phi vo References, chn AddReference

    Sau ta tin hnh thit kgiao din v vit Code:

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    33/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 33

    Code:

    usingSystem;

    using System.Collections.Generic;

    usingSystem.ComponentModel;

    usingSystem.Data;

    usingSystem.Drawing;

    usingSystem.Linq;

    usingSystem.Text;

    usingSystem.Windows.Forms;

    usingHIDLib;

    namespaceUSBHID

    {

    publicpartialclassForm1: Form

    {

    HIDDevicedev = newHIDDevice();

    byte[] data = newbyte[64];

    inti;

    publicForm1()

    {

    InitializeComponent();

    dev.vid = 0x04D8;

    dev.pid = 0x0003;

    dev.in_size = 64;

    dev.out_size = 64;

    dev.Initialize();

    }

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    34/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 34

    protectedoverridevoidWndProc(refMessagem)

    {

    dev.DeviceChange(refm);

    base.WndProc(refm);

    }

    privatevoidbtn_onall_Click_1(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1]=9;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn_offall_Click_1(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 10;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn1_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 1;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn2_Click(objectsender, EventArgse)

    {

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    35/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 35

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 2;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn3_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 3;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn4_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 4;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn_send_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 1;

    stringchuoi;

    chuoi = this.txt.Text;

    if(chuoi.Length > 32) MessageBox.Show("Vui long nhap it hon 32 ky tu

    !");

    elsefor(i = 1; i

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    36/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 36

    }

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn5_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 5;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn6_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 6;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn7_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

    data[1] = 7;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    privatevoidbtn8_Click(objectsender, EventArgse)

    {

    if(dev.AttachedState)

    {

    data[0] = 0;

  • 5/24/2018 Giao Tiep Usb Pic18f4550

    37/37

    SVTH: L TN LC GVHD: NGUYN DUY THO

    MCH GIAO TIP MY TNH QUA CNG USB TRANG 37

    data[1] = 8;

    for(i = 2; i < 64; i++)

    data[i] = 0;

    if(!dev.Transmit(data)) MessageBox.Show("Error");

    }

    elseMessageBox.Show("Disconnected!");

    }

    }

    }

    TI LIU THAM KHO

    1. https://sites.google.com/site/lhpscienceclub/2. http://www.picvietnam.com/forum/forumdisplay.php?f=453. http://www.microchip.com/4. USB in nutshell - Craig Peacock

    https://sites.google.com/site/lhpscienceclub/https://sites.google.com/site/lhpscienceclub/http://www.picvietnam.com/forum/forumdisplay.php?f=45http://www.picvietnam.com/forum/forumdisplay.php?f=45http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.picvietnam.com/forum/forumdisplay.php?f=45https://sites.google.com/site/lhpscienceclub/