基于CY7C68013A的USB控制系統(tǒng)設(shè)計(jì)研究_第1頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于cy7c68013a的usb控制系統(tǒng)設(shè)計(jì)研究通用串行(universal serial bus,)作為計(jì)算機(jī)上的新型接口技術(shù),越來越受到人們的青睞。與以前的rs 232,rs 485,isa,pci和并行接口等接口相比,usb避開了接口體積大、接口規(guī)范不統(tǒng)一、不支持熱插拔等缺陷,具有使計(jì)算機(jī)與外部設(shè)備銜接非常便利的優(yōu)點(diǎn)。目前,無數(shù)設(shè)備都開頭用法usb接口來實(shí)現(xiàn),如鼠標(biāo)、鍵盤、打印機(jī)等。在實(shí)際設(shè)計(jì)工作當(dāng)中,也越來越多地采納了usb技術(shù),如數(shù)據(jù)采集等。usb的設(shè)計(jì)和應(yīng)用已經(jīng)成為現(xiàn)代設(shè)計(jì)中一個(gè)十分重要的部分。1 usb 20特點(diǎn)usb是一種高效、迅速、價(jià)格低廉、體積小的新型串行通信接口,其最大的

2、特點(diǎn)是支持熱插拔,可以在不重新啟動(dòng)計(jì)算機(jī)的狀況下挺直將usb外部設(shè)備銜接到計(jì)算機(jī)并開頭通信。usb具有以下主要特點(diǎn):(1)節(jié)約系統(tǒng)資源。在計(jì)算機(jī)中,系統(tǒng)為usb主控制器分配一根中斷控制線和一些輸入輸出地址,usb再為外部設(shè)備分配惟一的地址。(2)可以提供電源。計(jì)算機(jī)上的usb接口可以向外部設(shè)備提供一定的電力支持,其輸出最小值為100 ma,最大值為500 ma,輸出為5 v。(3)良好的兼容性。usb規(guī)范已經(jīng)有usb 1o,usb 11,usb 2o,無線usb等多個(gè)版本的協(xié)議,這些協(xié)議都有很好的向下兼容性。(4)分享式接口。usb采納“菊花鏈”式的銜接方式,同時(shí)支持多個(gè)設(shè)備的銜接,一個(gè)usb

3、主控制器最多可以銜接126個(gè)外部設(shè)備。2 cy7c68013a的主要特點(diǎn)cy7c68013a是公司的ez-usb fx2lp系列低功耗版本,具有和8051兼容的cpu和命令系統(tǒng),同時(shí)包括usb接口和完整的usb 20協(xié)議引擎,并且提供了完美的固件及主機(jī)程序開發(fā)包。該單片機(jī)的cpu采納的是增加型805l內(nèi)核,比標(biāo)準(zhǔn)的8051的速度快,硬件資源更為豐盛,功能更強(qiáng)大。主要具有以下特點(diǎn):(1)具有其次個(gè)數(shù)據(jù)指針;(2)具有其次個(gè)usatrt;(3)i2c總線接口;(4)8個(gè)額外的中斷(int2int6,wakeup,t2,usartl);(5)cpu時(shí)鐘可以運(yùn)行在12 mhz,24 mhz,48 mh

4、z。3 控制系統(tǒng)設(shè)計(jì)基于usb的控制系統(tǒng)設(shè)計(jì)主要包含兩個(gè)方面的內(nèi)容,分離為固件程序的開發(fā)和上位機(jī)(主機(jī))控制界面的設(shè)計(jì)。cy7c68013a芯片采納的是一種軟配置模式,即程序和數(shù)據(jù)都存放在內(nèi)部ram中,并從ram中開頭執(zhí)行。31 啟動(dòng)模式的挑選ez-usb在沒有固件的狀況下列舉為一個(gè)缺省的usb設(shè)備,并且將其固件和描述符等下載到ez-usb后,開頭執(zhí)行固件程序,此時(shí)模擬一個(gè)物理上的斷開重新銜接過程。在列舉為一個(gè)usb設(shè)備時(shí),按照芯片有沒有銜接e2prom,以及e2prom中第一個(gè)字節(jié)值的不同,其處理方式有無數(shù)。主要有:不銜接e2prom的缺省設(shè)備列舉、co加載、c2加載等啟動(dòng)方式。在此系統(tǒng)的設(shè)

5、計(jì)過程中,采納第一種方式,即芯片沒有銜接任何片外存儲(chǔ)器,usb的描述符以及vid,pid和did等均由芯片內(nèi)置的規(guī)律提供,然后按照驅(qū)動(dòng)程序中提供的vid,pid和did把主機(jī)上對(duì)應(yīng)的固件程序下載到片內(nèi)的ram中,并執(zhí)行固件代碼。該方式具有硬件銜接容易,節(jié)約器件等特點(diǎn)。32 硬件系統(tǒng)框圖囫圇系統(tǒng)的硬件框圖1所示。可以看出usb控制系統(tǒng)在囫圇系統(tǒng)中起到橋梁作用,用于銜接上位機(jī)和外部設(shè)備。上位機(jī)發(fā)送控制命令給usb設(shè)備,信息處于下行狀態(tài),解碼后用來控制外圍設(shè)備執(zhí)行相應(yīng)功能。上位機(jī)需要從外設(shè)獲得信息(如數(shù)據(jù)采集),信息處于上行狀態(tài),由usb設(shè)備負(fù)責(zé)控制外設(shè)并將數(shù)據(jù)傳送到上位機(jī),由上位機(jī)分析、顯示。33

6、 固件程序設(shè)計(jì)在固件中,主要實(shí)現(xiàn)芯片外圍設(shè)備的控制,以及對(duì)usb設(shè)備的功能描述等任務(wù),同時(shí)負(fù)責(zé)與上位機(jī)通信,響應(yīng)上位機(jī)的標(biāo)準(zhǔn)哀求和自定義哀求。描述符主要是讓上位機(jī)了解usb功能設(shè)備的基本配置信息和能力,如端點(diǎn)、接口等。在此主要用法標(biāo)準(zhǔn)描述符來解釋usb設(shè)備,如設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、設(shè)備限定描述符等。在該設(shè)備中,這些描述符的層次結(jié)構(gòu)2所示。系統(tǒng)中用法了2個(gè)配置描述符,分離為高速配置和全速配置,每個(gè)配置用法1個(gè)接口,并對(duì)應(yīng)1個(gè)接口描述符,每個(gè)接口應(yīng)用了4個(gè)端點(diǎn),對(duì)應(yīng)4個(gè)端點(diǎn)描述符。同時(shí)端點(diǎn)配置為塊傳輸模式,2、4端點(diǎn)為out,6、8端點(diǎn)為in,最大數(shù)據(jù)包長度為512 b,

7、上位機(jī)通過o端點(diǎn)來操作、控制usb設(shè)備。設(shè)備描述符中vid=ox04b4,pid=0x1304,用于指示設(shè)備供給商和產(chǎn)品信息,并用于上電時(shí)協(xié)助主機(jī)加載合適的驅(qū)動(dòng)程序,進(jìn)而下載相應(yīng)的固件程序。固件中對(duì)標(biāo)準(zhǔn)哀求的響應(yīng)部分,主要是讓上位機(jī)能夠?qū)γ枋龇e行讀取和寫操作。自定義哀求響應(yīng)主要實(shí)現(xiàn)上位機(jī)發(fā)送控制指令,來使能usb功能設(shè)備、以及執(zhí)行相應(yīng)的功能的目的,如dr_senddata,dr_readdata。固件設(shè)計(jì)流程圖3所示。用戶初始化設(shè)備部分放在td_init()子程序中,負(fù)責(zé)囫圇usb設(shè)備的初始化過程。在定向描述符之后,需要把所用中斷打開,并開啟8051全局中斷ea=1。因?yàn)閑z-usb設(shè)備啟動(dòng)

8、需要重列舉,因而需要通過設(shè)置和推斷usbcs寄存器的renum和discon位來模擬設(shè)備物理上的斷開和銜接過程。用戶外圍設(shè)備控制功能的實(shí)現(xiàn)放在td_poll()子程序中,同時(shí)主循環(huán)中的setupcommand()子程序用于接收、分析上位機(jī)的控制信號(hào),響應(yīng)上位機(jī)哀求(標(biāo)準(zhǔn)哀求和用戶自定義哀求)。34 上位機(jī)界面設(shè)計(jì)為了能夠很好地控制usb設(shè)備,需要編寫上位機(jī)控制界面。界面程序在vc+6o環(huán)境下開發(fā),該環(huán)境具有編程容易、快捷等的特點(diǎn),便于開發(fā)可視化程序。cypress公司為ez_usb系列芯片提供了開發(fā)庫cyapilib,用法其中的控制函數(shù)類,可以在vc+60環(huán)境下開發(fā)界面程序。建立mfc(exe

9、)工程后,在工程中加入cyapilib,并且在主文件頭部添加ez-usb開發(fā)環(huán)境中提供的cyapih,cyioctlh頭文件。利用庫中的控制函數(shù),如vendorid,productid等,可以獵取usb設(shè)備的描述信息,同時(shí)也可以編寫相關(guān)的控制功能程序。35 系統(tǒng)設(shè)計(jì)中關(guān)鍵問題(1)一個(gè)設(shè)備只能有一個(gè)設(shè)備描述符,可以有多個(gè)配置描述符,多個(gè)接口描述符,以及多個(gè)端點(diǎn)描述符。(2)設(shè)備描述符中vid,pid要與驅(qū)動(dòng)中的相全都,否則不能自動(dòng)加載相應(yīng)的固件程序。(3)固件程序必需轉(zhuǎn)換為spt格式,用于固件加載的驅(qū)動(dòng)程序和固件程序應(yīng)放在一個(gè)文件夾。(4)端點(diǎn)0為缺省控制端點(diǎn),其可設(shè)置最大數(shù)據(jù)包長度為64 b

10、,在設(shè)備描述符中wmaxpacketsize字段描述。(5)傳輸模式有中斷傳輸、塊傳輸、同步傳輸、控制傳輸四類,需按照自己設(shè)計(jì)需求挑選,同時(shí)注重最大數(shù)據(jù)包長度的設(shè)置。4 驅(qū)動(dòng)程序?qū)τ趗sb設(shè)備,windows操作系統(tǒng)要想對(duì)其實(shí)現(xiàn)操作,必需借助于驅(qū)動(dòng)程序來實(shí)現(xiàn)。主機(jī)和驅(qū)動(dòng)程序挺直通信,交換數(shù)據(jù),而驅(qū)動(dòng)程序則和硬件資源舉行通信,從而很好地控制usb設(shè)備。cypress提供的開發(fā)環(huán)境中自帶了相關(guān)的驅(qū)動(dòng)程序cyloadsys和cyusbsys,可以挺直用法,縮短了系統(tǒng)的開發(fā)周期。其中cyloadsys用于主機(jī)向usb設(shè)備下載固件程序,cyusbsys實(shí)現(xiàn)主機(jī)和固件程序通信。為了在cyloadsys的協(xié)

11、助下實(shí)現(xiàn)固件的自動(dòng)下載,固件程序cyloadhex必需轉(zhuǎn)換為適合自動(dòng)下載的cyloadspt文件,并且與cyloadsys一起放在cyload文件夾下,拷貝到系統(tǒng)system32名目下。在安裝文件cyusbinf中設(shè)置的pid,vid必需和描述符中的全都,使得能夠自動(dòng)加載對(duì)應(yīng)固件。5 試驗(yàn)試驗(yàn)系統(tǒng),采納cy7c68013a-56pin作為usb設(shè)備芯片,實(shí)現(xiàn)控制和讀取io數(shù)據(jù)功能。因?yàn)樾酒杉{33 v電壓供電,因此可以從主機(jī)usb口取電,經(jīng)lm317電壓調(diào)節(jié)芯片轉(zhuǎn)換為33 v,也可外接33 v電壓供電。在pd口接led,顯示td_poll(void)實(shí)現(xiàn)的功能(燈亮滅間隔300 ms),而pa口led用于顯示推斷主機(jī)發(fā)送數(shù)據(jù)。pb口接高低電平,用于主機(jī)讀取該口數(shù)據(jù),可以驗(yàn)證主機(jī)接收數(shù)據(jù)的正確性。初始化子程序:主機(jī)控制界面運(yùn)行4所示。界面中的usb information分類框中為usb描述相關(guān)信息,由主機(jī)通過標(biāo)準(zhǔn)哀求獲得。operation分類框中為主機(jī)向usb設(shè)備pa口發(fā)送數(shù)據(jù),以及從usb設(shè)備的pb讀取數(shù)據(jù)的狀況。6 結(jié)語采納cy7c68013a實(shí)現(xiàn)usb控制系統(tǒng),無論在固件程序編寫、主機(jī)控制界面開發(fā),以及設(shè)備驅(qū)動(dòng)程序的用法等方面,都具有容易、便利的優(yōu)點(diǎn)。系統(tǒng)采納設(shè)備固件存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論