色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 兩自由度振動(dòng)偏移量實(shí)時(shí)采集設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)

          兩自由度振動(dòng)偏移量實(shí)時(shí)采集設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2014-02-26 來(lái)源:網(wǎng)絡(luò) 收藏

           ?。?)上位機(jī)獲得此IDs,就開(kāi)始加載LoaderDriver,加載后LoaderDriver執(zhí)行固件的下載。LoaderDriver是用于下載FX2固件的驅(qū)動(dòng),此驅(qū)動(dòng)在控制面板安裝目錄Driver下可以找到,修改時(shí)需安裝DDK,然后在VC6.0中重新編譯源文件。

           ?。?)LoaderDriver放開(kāi)并重起FX28051。

           ?。?)被下載的固件開(kāi)始運(yùn)行。

           ?。?)FX28051控制斷開(kāi)。

           ?。?)上位機(jī)發(fā)現(xiàn)設(shè)備斷開(kāi),于是釋放LoaderDriver。

           ?。?)8051重新連接。

            (10)上位機(jī)發(fā)現(xiàn)設(shè)備插入,并開(kāi)始詢(xún)問(wèn)IDs.。

           ?。?1)8051固件根據(jù)其自身IDs回復(fù)VIDPID等。此時(shí)的VIDPID為固件的描述符文件里的VIDPID。

           ?。?2)上位機(jī)得到IDs,并根據(jù)其信息加載對(duì)應(yīng)的驅(qū)動(dòng)程序。

           ?。?3)上位機(jī)驅(qū)動(dòng)程序和EZ-USB固件已經(jīng)正確加載,并可以與應(yīng)用程序執(zhí)行數(shù)據(jù)傳輸和控制了。

            至此,應(yīng)用程序即可調(diào)用設(shè)備驅(qū)動(dòng)程序來(lái)發(fā)送和接收數(shù)據(jù)。

            3 系統(tǒng)軟件設(shè)計(jì)

            3.1 控制面板簡(jiǎn)介

            控制面板主要用于FX2設(shè)備的開(kāi)發(fā)調(diào)試(包括硬件設(shè)備測(cè)試和軟件功能測(cè)試),具體有廠(chǎng)商請(qǐng)求測(cè)試(設(shè)備請(qǐng)求、配置請(qǐng)求、管道設(shè)置請(qǐng)求等)、各種方式數(shù)據(jù)傳輸測(cè)試、固件下載、E2PROM燒寫(xiě)、接口設(shè)置、端點(diǎn)設(shè)置等。

            3.2 燒寫(xiě)E2PROM

            記事本編輯好相應(yīng)的Hex文件后,使用EZUSB控制臺(tái)自帶的工具h(yuǎn)ex2bix把Hex文件轉(zhuǎn)化為iic文件,然后用EZ-USB控制臺(tái)下載。

            

            圖2 固件開(kāi)發(fā)流程圖

            3.3 CY7C68013的固件設(shè)計(jì)

            該固件的主要功能是完成該單片機(jī)及外圍設(shè)備的初始化、設(shè)備的重枚舉(ReNumeration)、接受主機(jī)的設(shè)備請(qǐng)求及完成相應(yīng)的控制數(shù)據(jù)傳輸?shù)取?P>  Cypress公司提供的固件開(kāi)發(fā)框架和固件函數(shù)庫(kù)簡(jiǎn)化并加速了設(shè)備固件的開(kāi)發(fā),大大提高了用戶(hù)開(kāi)發(fā)的效率,本設(shè)備固件的設(shè)計(jì)也是采用此方法。

            固件開(kāi)發(fā)框架流程圖見(jiàn)下圖2所示。

            固件開(kāi)發(fā)完成了USB設(shè)備的基本功能需求,設(shè)計(jì)固件時(shí)只需設(shè)計(jì)用戶(hù)初始化函數(shù)TD_Init()、用戶(hù)函數(shù)TD_Poll(),修改描述符表。TD_Init()完成需要用戶(hù)自定義的初始化工作,設(shè)計(jì)時(shí)在TD_Init()中添加初始化CPU時(shí)鐘頻率、I/O端口模式、USB接口數(shù)據(jù)傳輸模式、清除所有等待的USB中斷請(qǐng)求等(待確認(rèn))的代碼。

            用戶(hù)函數(shù)TD_Poll()在固件運(yùn)行期間被循環(huán)調(diào)用,本設(shè)備主要完成對(duì)ADNS-3080的△x和△y值的連續(xù)讀取。因?yàn)镃Y7C68013沒(méi)有帶主SPI接口,實(shí)現(xiàn)時(shí)用單片機(jī)固件程序模擬主SPI跟ADNS-3080通信。流程如圖3所示。圖4和圖5是SPI通信的讀寫(xiě)時(shí)序圖。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉