《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > TMS320C54xx DSP的USB接口實現

TMS320C54xx DSP的USB接口實現

2008-10-24
作者:汪安民 王 殊

  摘? 要: 介紹了DSP芯片上USB接口的實現。使用USB接口芯片" title="接口芯片">接口芯片AN2131Q實現DSP和PC機之間的通信,在AN2131Q和TMS320VC54XX DSP之間加有FIFO芯片,可提高數據的傳輸速度" title="傳輸速度">傳輸速度,使最大數據傳輸速度超過USB總線的速度。

  關鍵詞: USB? DSP? 數據傳輸

?

  通用串行總線USB(Universal Serial Bus)應用由三部分組成:具有USB接口的PC系統、能夠支持USB的系統軟件和使用USB接口的設備。USB應用采用通用連接技術,實現外設" title="外設">外設的簡單快速連接,借以達到方便用戶、降低成本、擴展PC機連接外設范圍的目的。USB的特點如下:

  (1)連接靈活、使用方便? 現在計算機系統連接外圍設備的接口并無統一的標準,如鍵盤用PS/2接口,打印機用25針的并行接口等。USB則將這些不同的接口統一起來,由一組微小的矩型插座和軟件構成。用戶插入外設后,計算機系統能夠自動識別接入的外設,而不需要重新啟動系統,用戶可以帶電插拔;為USB設計的驅動程序和應用軟件可以自動啟動,無需用戶干預USB設備,也不涉及IRQ沖突等問題;USB單獨使用自己的保留中斷,不會同其它設備爭用PC機的有限資源。

  (2)為外設提供電源? USB能自動識別外設所需的電源,并通過USB電纜向該設備供電(最高可達500mA)。

  (3)速度快" title="速度快">速度快? USB的最高傳輸率可達12Mbit/s,比串口速度快100倍,比并口速度快近10倍。USB端口的傳輸速率比目前PC機平臺上的任何其它類型端口的傳輸速率都快。預計今后USB的速度將會提高到100Mbit/s以上。

  (4)支持多媒體? USB提供了對電話的兩路數據支持,它可支持異步及等時數據傳輸,使電話可與PC機集成,共享語音郵件及其它功能。由于USB音頻信息生成于計算機外,因而減少了電子噪音干擾聲音質量的機會,從而使音頻系統具有更高的保真度。

1 USB接口芯片AN2131Q

  目前市場上USB接口芯片很多,使用較為廣泛的是Crypress公司的AN2131系列的USB接口芯片AN2131Q。AN2131Q具有以下優點:

  (1)基于RAM的“軟”系統解決方案(SOFT,RAM BASED),不需要ROM或其它的固化存儲器,而只使用片內的程序/數據RAM。通過主機下載的方式來配置USB接口,因而使接口系統的修改和升級變得非常簡單,使外設硬件的更新和升級變得更為方便。

  (2)數據吞吐量完全達到USB協議要求,可以向用戶提供足夠的端口、緩沖區和傳輸速度;提供USB協議要求的全部四種傳輸方式(控制傳輸、中斷傳輸、批量傳輸和同步傳輸),可以滿足用戶對各種類型數據傳輸的需求。

  (3)片上的串行接口處理機(SIE)完成大部分的USB協議操作,使用戶可以擺脫復雜的協議細節,簡化了用戶配置代碼,加快了開發過程。

  (4)內嵌增強型8051處理器,兼容8051指令系統;一個指令周期僅需四個時鐘周期,可提供標準8051三倍以上的處理能力;雙數據指針,方便數據塊搬移;使用片內RAM作為數據/程序存儲器,非復用數據/地址總線,使程序執行速度更快,并且其同外部器件的連接更加簡單。

  (5)休眠模式可以降低系統功耗,延長器件的使用壽命。

  AN2131Q的功能框圖如圖1所示。

  USB收發器和PC機的接口只有四根導線:+5V、GND、D+、D-。數據以12Mb/s的全速信號或者以1.5Mb/s的低速信號在D+和D信號線上差分傳輸。收發器固化在芯片上,不需要外部電路,最多只需要用來選擇全速或者低速的上拉電阻。

串行接口引擎(SIE)通過包排序、信號產生及檢測、CRC產生及校驗、NRZI數據編碼、位填充以及包標識產生及解碼等功能塊處理USB通信協議,并保證傳送到USB電纜上的數據字節以LSB開頭。

????AN2131Q采用通用的8051微控制器及片上RAM,其編程語言為51系列單片機的通用語言,使用方便。

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

  TMS320C54xx DSP芯片選用TI公司的TMS320VC5409,TMS320VC5409是定點DSP芯片,它使用改進的哈佛結構,8級流水線操作,最高速度可以達到166MIPS。

  在AN2131Q芯片和TMS320C54xx DSP芯片之間采用FIFO(First In First Out SRAM)芯片連接,可以使USB接口芯片和DSP之間的最大數據交換速度超過USB總線的速度,使之不成為數據傳輸的瓶頸,從而使DSP和主機間的數據傳輸速度只受USB協議限制。

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

?

?

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

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

  AN2131Q芯片和TMS320C54XX DSP芯片之間的軟件連接包括四個部分:AN2131Q對FIFO1的寫、AN2131Q對FIFO2的讀、DSP對FIFO1的讀、DSP對FIFO2的寫。為了描述方便,將FIFO1的三個狀態信號稱之為:,將FIFO2的狀態信號稱為

3.1 AN2131Q寫FIFO1

  當USB總線上有數據要傳送至DSP時,AN2131Q查詢。若HF1無效,AN2131Q一次向FIFO1寫入一個數據包。包大小要小于或等于FIFO1容量的一半,寫每一個字節時不需再查詢

3.2 DSP讀FIFO1

  DSP每次從FIFO1中讀入一個數據包。每讀一個字節前,DSP需要查詢,只有當無效(FIFO1不空)時,DSP才可能進行讀操作。

3.3 DSP寫FIFO2

  當DSP有數據要傳送至主機時,DSP把數據打包,每次向FIFO2中寫入一包數據。方法同AN2131Q寫FIFO1,只不過DSP查詢的信號是。寫完一包后,DSP向AN2131Q發一個中斷信號,DSP在寫下一包數據時要等待AN2131Q的應答。AN2131Q應答的方法是利用DSP的外部中斷INT1中斷DSP。

3.4 AN2131Q讀FIFO2

  AN2131Q收到DSP發出的中斷信號,應答DSP后,從FIFO2中讀入一包數據,不用再查詢

3.5 數據包格式

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

?

?

3.6 DSP中斷AN2131Q的方法

  通過操作控制字向AN2131Q發一個負脈沖,下降沿有效,時序要求如圖4所示。

?

?

3.7 DSP讀FIFO狀態

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

4 AN2131Q芯片驅動程序的實現

  AN2131Q芯片的一個特點就是能夠按照個人需要通過“下載”和“重列舉”動態地改變設備性能。AN2131Q芯片內部有不可改變的存儲單元存放特有的代理號(VID)和產品號(PID),VID/PID將綁定主機中的某個設備驅動程序,而該驅動程序的唯一任務就是向AN2131Q下載程序代碼。

  用戶需要編寫三個程序來實現USB設備的使用。一個是負責USB接口調用程序,用于PC機識別USB設備;另一個是安裝USB的信息文件,用于對USB設備的一些說明;第三個是AN2131Q使用的程序,用于對數據的傳輸。下面對這三個程序分別做一些簡單的說明。

4.1 負責USB接口調用程序

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

4.2 安裝USB的信息文件

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

4.3 AN2131Q使用的程序

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

?

參考文獻

1 Universal Serial Bus Specification[S].Compaq、Intel、Microsoft、NEC Revision, September 23,1998

2 Tms320VC5409 DSP Datasheet.TI, 1999
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 图片区自拍偷拍 | 99久久精品免费看国产一区二区 | 善良的嫂子3在线播放 | 免费观看黄色在线视频 | 日韩成人综合网 | 久久作爱视频 | 99久久精品免费看国产一区二区 | 国产精品高清视亚洲一区二区 | 国产视频久久久久 | 成人在线视频网址 | 四虎影音在线观看 | 欧美一级www | 免费萌白酱国产一区二区三区 | 欧美日韩午夜 | 欧美插入视频 | 国产高清视频免费观看 | 99久久精品无码一区二区毛片 | 精品一区二区三区高清免费观看 | 国产综合成人久久大片91 | 精品国产免费人成网站 | 激情五月婷婷丁香 | 欧美精品二区 | www羞羞动漫网在线观看 | 国产婷婷综合在线视频 | 99视频热 | 国产精品久久久久毛片 | 午夜激情福利视频 | 99久久国产免费中文无字幕 | 奇米影视777在线播放第四 | 老熟人老女人国产老太 | 一级毛片免费观看视频 | 精品国产中文一级毛片在线看 | 国产精品视频99 | 久久久久久久国产精品电影 | 奇米第八色 | 国产大乳喷奶水在线看 | 欧美啪啪精品 | 国外精品视频在线观看免费 | 97影院九七影院理论片 | 成人夜色视频网站在线观看 | 国产欧美日韩综合精品一区二区三区 |