<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320C54xx DSP的USB接口實(shí)現

基于TMS320C54xx DSP的USB接口實(shí)現

作者: 時(shí)間:2012-06-29 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/257400.htm

2 TMS320C54XX 和AN2131Q接口芯片的硬件連接

芯片選用TI公司的TMS320VC5409,Tms320VC5409是定點(diǎn)芯片,它使用改進(jìn)的哈佛結構,8級流水線(xiàn)操作,最高速度可以達到166MIPS。

在A(yíng)N2131Q芯片和 DSP芯片之間采用FIFO(First In First Out SRAM)芯片連接,可以使接口芯片和DSP之間的最大數據交換速度超過(guò)總線(xiàn)的速度,使之不成為數據傳輸的瓶頸,從而使DSP和主機間的數據傳輸速度只受協(xié)議限制。

由于A(yíng)N2131Q芯片內嵌8位8051處理器,所以使用兩片8位FIFO芯片實(shí)現USB接口和DSP之間的雙向通信。FIFO選用具有1K×9bit內存的IDT72V02。從AN2131Q或者DSP傳輸的數據首先保存在FIFO中,然后再由DSP或者AN2131Q讀走,從而使得數據的傳輸不會(huì )出現堵塞情況,其硬件連接框圖如圖2所示。


由于選用的FIFO只有雙端數據總線(xiàn)和狀態(tài)信號,沒(méi)有地址總線(xiàn),所以DSP采用I/O譯碼方式訪(fǎng)問(wèn)FIFO。FIFO狀態(tài)信號有空(EF)、半滿(mǎn)(HF)和滿(mǎn)(FF),它們都是低有效。合理利用這三個(gè)信號可以很有效地提高FIFO的讀寫(xiě)效率。例如利用HF,如果其無(wú)效,表示FIFO中的數據沒(méi)有達到半滿(mǎn),此時(shí)不用查詢(xún)FF就可以向FIFO中寫(xiě)入一塊數據,只要數據塊的大小等于或小于FIFO容量的一半,FIFO肯定不會(huì )滿(mǎn)溢出。這樣就可以大大提高FIFO的寫(xiě)入速度。

3 TMS320C54XX DSP芯片和AN2131Q芯片的軟件連接

AN2131Q芯片和TMS320C54XX DSP芯片之間的軟件連接包括四個(gè)部分:AN2131Q對FIFO1的寫(xiě)、AN2131Q對FIFO2的讀、DSP對FIFO1的讀、DSP對FIFO2的寫(xiě)。為了描述方便,將FIFO1的三個(gè)狀態(tài)信號稱(chēng)之為:EF1、HF1和FF1,將FIFO2的狀態(tài)信號稱(chēng)為EF2、HF2和HF2。

3.1 AN2131Q寫(xiě)FIFO1

當USB總線(xiàn)上有數據要傳送至DSP時(shí),AN2131Q查詢(xún)HF1。若HF1無(wú)效,AN2131Q一次向FIFO1寫(xiě)入一個(gè)數據包。包大小要小于或等于FIFO1容量的一半,寫(xiě)每一個(gè)字節時(shí)不需再查詢(xún)FF1。

3.2 DSP讀FIFO1

DSP每次從FIFO1中讀入一個(gè)數據包。每讀一個(gè)字節前,DSP需要查詢(xún)EF1,只有當EF1無(wú)效(FIFO1不空)時(shí),DSP才可能進(jìn)行讀操作。

3.3 DSP寫(xiě)FIFO2

當DSP有數據要傳送至主機時(shí),DSP把數據打包,每次向FIFO2中寫(xiě)入一包數據。方法同AN2131Q寫(xiě)FIFO1,只不過(guò)DSP查詢(xún)的信號是HF2。寫(xiě)完一包后,DSP向AN2131Q發(fā)一個(gè)中斷信號,DSP在寫(xiě)下一包數據時(shí)要等待AN2131Q的應答。AN2131Q應答的方法是利用DSP的外部中斷INT1中斷DSP。

3.4 AN2131Q讀FIFO2

AN2131Q收到DSP發(fā)出的中斷信號,應答DSP后,從FIFO2中讀入一包數據,不用再查詢(xún)EF2。

3.5 數據包格式

每個(gè)數據包由包頭和數據兩部分構成如圖3所示。包頭長(cháng)度為一個(gè)字節,指明以字節為單位包中數據(不含包頭)的長(cháng)度。包中的數據要少于或等于64字節,即最大的包總長(cháng)度為65字節。


3.6 DSP中斷AN2131Q的方法

通過(guò)操作控制字向AN2131Q發(fā)一個(gè)負脈沖,下降沿有效,時(shí)序要求如圖4所示。


3.7 DSP讀FIFO狀態(tài)

方法一是DSP通過(guò)讀I/O地址0xxx xxxx xxxx x010b可獲得狀態(tài)信號EF1和HF2。方法二是DSP通過(guò)置TMS320VC5409狀態(tài)寄存器ST1中的XF位,從BIO引腳上獲取狀態(tài)信號。當XF置1時(shí),BIO引腳反映HF2的電平,當XF置0時(shí)反映EF1的電平。

4 AN2131Q芯片驅動(dòng)程序的實(shí)現

AN2131Q芯片的一個(gè)特點(diǎn)就是能夠按照個(gè)人需要通過(guò)下載和重列舉動(dòng)態(tài)地改變設備性能。AN2131Q芯片內部有不可改變的存儲單元存放特有的代理號(VID)和產(chǎn)品號(PID),VID/PID將綁定主機中的某個(gè)設備驅動(dòng)程序,而該驅動(dòng)程序的唯一任務(wù)就是向AN2131Q下載程序代碼。
用戶(hù)需要編寫(xiě)三個(gè)程序來(lái)實(shí)現USB設備的使用。一個(gè)是負責USB接口調用程序,用于PC機識別USB設備;另一個(gè)是安裝USB的信息文件,用于對USB設備的一些說(shuō)明;第三個(gè)是AN2131Q使用的程序,用于對數據的傳輸。下面對這三個(gè)程序分別做一些簡(jiǎn)單的說(shuō)明。

4.1 負責USB接口調用程序

Cypress提供了制作該程序的模板。首先,將KEIL51編譯生成的16進(jìn)制文件轉換為可寫(xiě)入USB RAM中的二進(jìn)制文件。然后將該二進(jìn)制文件拷入模板中,調用DDK(Device Driver Kit),在DDK環(huán)境下對模板進(jìn)行編譯,生成驅動(dòng)程序的系統文件。USB通過(guò)GPD(General Purpose Driver)實(shí)現上層軟件與USB的通信。GPD提供一種用戶(hù)模式的界面,完成USB設備的請求和數據傳輸。Cypress的開(kāi)發(fā)工具包中提供了其開(kāi)發(fā)面板的源程序,而其開(kāi)發(fā)面板的設計就是基于GPD的。這使得開(kāi)發(fā)者在例子程序的指引下,能快速地編寫(xiě)出用于通信的應用軟件。GPD的設計思想是服務(wù)于一般用戶(hù)的,其接口函數具有通用性。通過(guò)GPD提供的接口函數的原型,可以實(shí)現各種USB操作。包括實(shí)現負責USB設備的請求(即打開(kāi)USB設備);負責USB的I/O口控制;通過(guò)改變IOCTL(I/O Control Code)實(shí)現各種操作。

4.2 安裝USB的信息文件

安裝文件的任務(wù)就是將驅動(dòng)程序文件綁定到特定的VID/PID。主要說(shuō)明哪一個(gè)文件是負責USB接口調用程序,哪一個(gè)文件是AN2131Q需要下載的文件。Crypress公司提供了一個(gè)標準的USB安裝信息文件。然而用戶(hù)還需要將自己對USB設備的描述(包括說(shuō)明、版本號、日期、生產(chǎn)商等信息)加到安裝信息文件中。

4.3 AN2131Q使用的程序

AN2131Q使用的程序是在PC機找到USB設備后下載到AN2131Q芯片內的程序,此程序實(shí)現AN2131Q對FIFO和USB接口的監控和讀寫(xiě)數據。這個(gè)文件因為涉及到下層硬件的連接,不可能提供通用的模板,需要用戶(hù)自己編寫(xiě)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: TMS320C54xx DSP USB

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>