新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于TMS320C6713的USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

基于TMS320C6713的USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

使用CY7C68001作為從設(shè)備。在這種模式下,DSP可以像讀/寫普通FIFO一樣對(duì)CY7C68001內(nèi)部的FIFO進(jìn)行讀/寫。PC主機(jī)發(fā)出命令的同時(shí)也由CY7C68001的e.JPG引腳提供中斷觸發(fā)信號(hào)給DSP的EXT_INT6。其上升沿被檢測(cè)到以后,DSP就進(jìn)入相應(yīng)中斷服務(wù)程序,開始處理的傳輸。DSP通過EA[4:2]連接FIFOA[2:0]對(duì)CY7C68001內(nèi)部FIFO或命令口進(jìn)行選擇。讀/寫通過ED[15:0]與FIFO[15:0]連接進(jìn)行。FIFO和命令口的選擇和地址分配如表1所示。

本文引用地址:http://butianyuan.cn/article/155122.htm

c.JPG


經(jīng)實(shí)驗(yàn)驗(yàn)證,異步傳輸速率可達(dá)3 Mb/s。

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



評(píng)論


相關(guān)推薦

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

關(guān)閉