基于TMS320C6713的USB數據傳輸系統設計
TMS320C6713使用CY7C68001作為從設備。在這種模式下,DSP可以像讀/寫普通FIFO一樣對CY7C68001內部的FIFO進行讀/寫。PC主機發出命令的同時也由CY7C68001的

經實驗驗證,USB異步傳輸速率可達3 Mb/s。
3 USB程序配置
USB程序在實現了在DSP端對USB初始化和USB數據傳輸。USB定義了4種傳輸類型:同步傳輸、中斷傳輸、控制傳輸和塊傳輸。同步傳輸適用于傳輸大量的、速度恒定的、且對服務周期有要求的數據;中斷傳輸適用于傳輸少量或中量的、且對服務周期有要求的數據;控制傳輸適用于傳輸少量的、且對傳輸時間和傳輸速率均無要求,但必須保證傳輸的數據;塊傳輸適用于傳輸大量的、且對傳輸時間和傳輸速率均無要求的數據。該系統設計CY7C68001采用并行異步存儲器接口與TMS320C6713相連接,數據傳輸量較大,要求數據傳輸的準確性,因此選擇塊傳輸作為USB的傳輸方式。
首先,通過調用用戶的初始化函數,使能外部中斷并初始化USB寄存器。之后,程序通過數據傳輸函數,完成了DSP與PC機的數據傳輸。
USB初始化程序配置為:使能外部中斷6(EXT_INT6);加載USB描述表,并進行自舉檢測,如自舉不成功,則重新自舉,直到端點0收到設置包為止;配置USB為異步從FIFO(Asynchronous Slave FIFO)模式,采用內部的48 MHz時鐘源;讀取FNADDR寄存器,判斷USB工作狀態;依據USB工作狀態,配置EP2,EP4,EP6,EP8,并設置一次傳送的字節長度。設置EP2,EP4為BULK OUT,EP6,EP8為BULK IN。其緩沖大小分別為2×512B。
在數據傳輸過程中,PC端通過EP2向DSP發送讀數據命令,DSP通過外部中斷收到讀命令后,使用EP6發送已采集好的數據。在聲音數據采集系統中,每路麥克風以每秒96 kHz進行24位采樣,按照ping-pong方式進行存儲。因此在USB_TRANSFER()還需進行判斷,當采集數據存儲在ping緩存時,發送pong緩存中的數據;當采集數據存儲在pong緩存時,發送ping緩存的數據。
數據傳輸程序配置如下:判斷EP2是否有讀命令;傳輸存放在ping,pong緩存中已采集到的數據。
程序中部分代碼如下:
評論