新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 分析用EZ-USB實現(xiàn)TMS320C6X與主機的數(shù)據(jù)傳輸

分析用EZ-USB實現(xiàn)TMS320C6X與主機的數(shù)據(jù)傳輸

作者: 時間:2013-09-06 來源:網(wǎng)絡(luò) 收藏

  2.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計

  根據(jù)上述硬件通信模式搭建基于PC、USB、DSP的主從式系統(tǒng),當(dāng)系統(tǒng)上電完成各模塊固件配置和硬件初始化后,可由PC發(fā)出控制命令,以外部信號觸發(fā)DSP進入相應(yīng)的中斷處理程序,自動完成數(shù)據(jù)流USB下載、DSB處理和USB回傳的多次循環(huán)過程;PC顯示處理后的結(jié)果。系統(tǒng)總體結(jié)構(gòu)框圖如圖3所示。

  DSP芯片通過片中的EMIF為SDRAM,F(xiàn)lash等器件提供接口。SDRAM為同步存儲器件,EMIF有專門的控制線和時鐘與它進行無縫連接。這里SDRAM用做數(shù)據(jù)存儲器。

  復(fù)位電路提供系統(tǒng)上電和工作電壓異常時的自動復(fù)位及人工控制復(fù)位。時鐘電路為DSP處理模塊提供時鐘信號。

  USB的接口電路提供PC與DSP的高速通道,接口芯片通過CPLD與外部處理器DSP相連,置于EMIF的CE2空間(通信模式如前所述)。

  3 通信模塊軟件設(shè)計

  3.1 CY7C68013的固件程序規(guī)劃

  固件程序框架通過幾個不同的功能模塊,實現(xiàn)了一個簡單的互操作任務(wù)執(zhí)行器,首先,通過調(diào)用用戶的初始化函數(shù)TD_Init(),初始化所有內(nèi)部狀態(tài)變量,之后,程序框架將USB口初始化為未配置狀態(tài),并且使能中斷,以1s為時間間隔開始重新列舉(renumerate)設(shè)備,直到端點0收到設(shè)置包為止,一旦檢測端點0受多一個設(shè)置包,固件框架程序就啟動執(zhí)行一個互操作的任務(wù)分配器,按照給定的順序重復(fù)執(zhí)行下面的任務(wù):調(diào)用函數(shù)TD_Poll(),判斷是否有標(biāo)準(zhǔn)設(shè)備請求等待處理,確定USB核是否報告了USB掛起事件。

  主要固件配置如下:

  1)配置異步從FIFO(Asynchronous Slave FIFO)模式,接口驅(qū)動采用內(nèi)部的48M赫茲的時鐘源。

  2)EndPoint4和EndPoint8作為雙向傳輸?shù)墓艿?,分別對應(yīng)緩沖FIFO4和FIFO8存放USB需要接收與下傳的數(shù)據(jù),它們均采用批量(BULK)傳輸方式。

  3)設(shè)置FIFO4、FIFO8為自動方式,即在過程中無需CY7C68013的8051內(nèi)核參與,以保證持續(xù)、高速、有效的

   FX2芯片定義了幾個特殊寄存器,以輔助固件程序相應(yīng)設(shè)備請求,并向主機傳送數(shù)據(jù),當(dāng)設(shè)備收到設(shè)置包時,USB核會自動將設(shè)置數(shù)據(jù)放入8字節(jié)的SETUPBUF緩沖區(qū)中,用戶只須從中讀取設(shè)置數(shù)據(jù),進行分析來判斷請求的類型即可。

  方案中部分設(shè)備請求代碼如下:

  讀取緩沖區(qū)中第2字節(jié)由PA[0:1]發(fā)送至DSP,作為命令類型標(biāo)志(00為下傳,01為上傳,10為處理);同時PA3口提供外部中斷觸發(fā)信號的上升沿。

  固件就緒后通過Cypress公司提供的工具Control Panel加載至EEPROM中,當(dāng)需要修改固件時,就可以在不改動硬件的情況下將主機上修改好的固件重新下載一次。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉