新聞中心

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

        兩自由度振動偏移量實時采集設備的設計與實現(xiàn)

        作者: 時間:2014-02-26 來源:網(wǎng)絡 收藏

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

          (5)LoaderDriver放開并重起FX28051。

          (6)被下載的固件開始運行。

          (7)FX28051控制斷開

          (8)上位機發(fā)現(xiàn)設備斷開,于是釋放LoaderDriver。

          (9)8051重新連接

          (10)上位機發(fā)現(xiàn)設備插入,并開始詢問IDs.。

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

          (12)上位機得到IDs,并根據(jù)其信息加載對應的驅動程序。

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

          至此,應用程序即可調用設備驅動程序來發(fā)送和接收數(shù)據(jù)。

          3 系統(tǒng)軟件設計

          3.1 控制面板簡介

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

          3.2 燒寫E2PROM

          記事本編輯好相應的Hex文件后,使用EZUSB控制臺自帶的工具hex2bix把Hex文件轉化為iic文件,然后用EZ-USB控制臺下載。

          

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

          3.3 CY7C68013的固件設計

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

          固件開發(fā)框架流程圖見下圖2所示。

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

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



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 长治县| 睢宁县| 彝良县| 英德市| 宁阳县| 盐池县| 通州市| 金阳县| 宁都县| 博白县| 天全县| 夏河县| 乌审旗| 荣成市| 洛阳市| 永川市| 宣化县| 广安市| 石狮市| 蒲城县| 夏津县| 湾仔区| 将乐县| 金沙县| 辛集市| 荣成市| 若尔盖县| 耒阳市| 鸡东县| 郓城县| 巫溪县| 牟定县| 镇巴县| 噶尔县| 长顺县| 栖霞市| 化德县| 民丰县| 开远市| 胶州市| 武安市|