基于USB協(xié)議的DSP高速上位機接口設計
3 USB傳輸設計
3.1 傳輸方式的確定
CY7C68013A芯片具有GPIF模式和從屬FIFO(Slave FIFO)模式兩種接口工作模式。在本設計中,USB數據傳輸存儲模塊負責完成存儲算法產(chǎn)生的大量數據的高速傳輸,由于不涉及到對外部電路的控制,所以不選用GPIF模式,而選擇Slave FIFO模式進(jìn)行連接。在數據傳輸時(shí),用Slave FIFO接口模式,批量傳輸,自動(dòng)輸入(AUTOIN)方式,使用EP6端口作為上行輸入緩沖區。CY7C68013A的,Slave FIFO接口模式如圖6所示。本文引用地址:http://dyxdggzs.com/article/150316.htm
3.2 EZ-USB FX2時(shí)序設計
在本設計的FPGA中,設計了如圖6的外部主控制器的功能邏輯。由于DSP端Linkport口數據傳輸速率很高,而在USB端的速率可能無(wú)法跟Linkport口的數據率相匹配,故在FPGA中開(kāi)辟一個(gè)2KB的FIFO,經(jīng)由Linkport上傳的數據首先傳送到FIFO中,之后再經(jīng)由USB口上傳至主機。為了保證數據傳輸的完整性,設計USB的數據傳輸速率為DSP Link口的1/8。在此,對FPGA邏輯應用Modelsim軟件進(jìn)行了仿真,仿真結果如圖7所示。
圖7中,在LxCLKIN時(shí)鐘的上升沿和下降沿將DSP_Data中的數據寫(xiě)入到FPGA的FIFO中,然后再把FIFO中的數據從數據線(xiàn)USB_Data中輸出給EZ-USB FX2的FD數據線(xiàn),最后經(jīng)由USB傳送給主機。圖中USB_Data的數據率明顯只有DSP_Data數據率的1/8,是符合設計要求的。
在上傳傳輸時(shí),采用異步自動(dòng)輸入方式。EZ-USB FX2芯片FIFO異步寫(xiě)時(shí)序如圖8所示。根據此時(shí)序,在本設計中,FPGA輸出的USB_Data信號提供給USB的FD數據線(xiàn),FPGA輸出的USB_SLWR提供給USB的SLWR,USB端便能在SLWR的下降沿把數據線(xiàn)FD中的數據寫(xiě)入到FX2芯片FIFO中,并由USB傳送給主機。
4 結語(yǔ)
本文重點(diǎn)對DSP擴展USB接口的數據上行通道的硬件設計進(jìn)行了詳細論述。本系統經(jīng)測試驗證,通過(guò)該擴展USB接口,配合定制的上位機軟件,DSP數據上傳PC機的速率平均達到8 MB/s以上,連接可靠穩定,滿(mǎn)足對DSP變量實(shí)時(shí)監測的數據率需求,同時(shí)可通過(guò)此接口完成程序的加載與燒寫(xiě)功能。僅需一臺帶USB接口的PC機,就能完成彈載DSP系統的實(shí)時(shí)測試與在線(xiàn)程序加載,簡(jiǎn)捷、通用、方便,具有顯著(zhù)的工程實(shí)用價(jià)值。
評論