分析用EZ-USB實(shí)現TMS320C6X與主機的數據傳輸
![]() |
---|
2.2 系統總體結構設計
根據上述硬件通信模式搭建基于PC、USB、DSP的主從式系統,當系統上電完成各模塊固件配置和硬件初始化后,可由PC發(fā)出控制命令,以外部信號觸發(fā)DSP進(jìn)入相應的中斷處理程序,自動(dòng)完成數據流USB下載、DSB處理和USB回傳的多次循環(huán)過(guò)程;PC顯示處理后的結果。系統總體結構框圖如圖3所示。
![]() |
---|
DSP芯片通過(guò)片中的EMIF為SDRAM,Flash等器件提供接口。SDRAM為同步存儲器件,EMIF有專(zhuān)門(mén)的控制線(xiàn)和時(shí)鐘與它進(jìn)行無(wú)縫連接。這里SDRAM用做數據存儲器。
復位電路提供系統上電和工作電壓異常時(shí)的自動(dòng)復位及人工控制復位。時(shí)鐘電路為DSP處理模塊提供時(shí)鐘信號。
USB的接口電路提供PC與DSP的高速數據傳輸通道,接口芯片通過(guò)CPLD與外部處理器DSP相連,置于EMIF的CE2空間(通信模式如前所述)。
3 通信模塊軟件設計
3.1 CY7C68013的固件程序規劃
固件程序框架通過(guò)幾個(gè)不同的功能模塊,實(shí)現了一個(gè)簡(jiǎn)單的互操作任務(wù)執行器,首先,通過(guò)調用用戶(hù)的初始化函數TD_Init(),初始化所有內部狀態(tài)變量,之后,程序框架將USB口初始化為未配置狀態(tài),并且使能中斷,以1s為時(shí)間間隔開(kāi)始重新列舉(renumerate)設備,直到端點(diǎn)0收到設置包為止,一旦檢測端點(diǎn)0受多一個(gè)設置包,固件框架程序就啟動(dòng)執行一個(gè)互操作的任務(wù)分配器,按照給定的順序重復執行下面的任務(wù):調用函數TD_Poll(),判斷是否有標準設備請求等待處理,確定USB核是否報告了USB掛起事件。
主要固件配置如下:
1)配置異步從FIFO(Asynchronous Slave FIFO)模式,接口驅動(dòng)采用內部的48M赫茲的時(shí)鐘源。
2)EndPoint4和EndPoint8作為雙向傳輸的管道,分別對應緩沖FIFO4和FIFO8存放USB需要接收與下傳的數據,它們均采用批量(BULK)傳輸方式。
3)設置FIFO4、FIFO8為自動(dòng)方式,即在數據傳輸過(guò)程中無(wú)需CY7C68013的8051內核參與,以保證持續、高速、有效的數據傳輸。
EZ-USB FX2芯片定義了幾個(gè)特殊寄存器,以輔助固件程序相應設備請求,并向主機傳送數據,當設備收到設置包時(shí),USB核會(huì )自動(dòng)將設置數據放入8字節的SETUPBUF緩沖區中,用戶(hù)只須從中讀取設置數據,進(jìn)行分析來(lái)判斷請求的類(lèi)型即可。
方案中部分設備請求代碼如下:
![]() |
---|
讀取緩沖區中第2字節由PA[0:1]發(fā)送至DSP,作為命令類(lèi)型標志(00為下傳,01為上傳,10為處理);同時(shí)PA3口提供外部中斷觸發(fā)信號的上升沿。
固件就緒后通過(guò)Cypress公司提供的工具Control Panel加載至EEPROM中,當需要修改固件時(shí),就可以在不改動(dòng)硬件的情況下將主機上修改好的固件重新下載一次。
評論