<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è) > 嵌入式系統 > 設計應用 > ADSP-TS101的USB 2.0接口擴展

ADSP-TS101的USB 2.0接口擴展

——
作者: 時(shí)間:2007-12-17 來(lái)源: 收藏

  1 引 言

  現代系統通常涉及到上位機與機之間的數據通訊,如何建立機與上位機的通訊接口成為系統設計中必須解決的一個(gè)問(wèn)題。通常情況下,對于數據傳輸速度要求不太高的應用,可以使用普通串行口作為通訊鏈路。在本系統中,由于采用多片高性能浮點(diǎn)數字信號作為,產(chǎn)生了大量的處理結果,并且要求實(shí)時(shí)傳輸處理結果,傳輸速度必須達到1 MB/s,因此普通的串行通訊口已經(jīng)不能滿(mǎn)足要求。若采用PCI接口,雖然在速度上可以滿(mǎn)足要求,但需要單獨在上位機占用一個(gè)PCI插槽,另外由于系統還有其他模塊需要與信號處理機進(jìn)行高速數據傳輸,因此在供電設計、系統中模塊間的連接布線(xiàn)、開(kāi)發(fā)調試中都存在一定的困難,在使用中也會(huì )因為其不具備熱插拔功能而相對繁瑣??紤]到這些因素,選擇USB 2.0接口作為通訊鏈路,因為其具有傳輸速度高、使用簡(jiǎn)單、成本低廉的優(yōu)點(diǎn)。

  USB(Universal Serial Bus)是一種通用串行總線(xiàn),由COMPAQ,InteI,Microsoft和NEC等公司共同開(kāi)發(fā),并成為標準,現今已廣泛運用于各種數字系統中。USB總線(xiàn)具有用戶(hù)使用方便、成本低廉、易于與PC接口、支持熱插拔、傳輸速度高、易于升級等優(yōu)點(diǎn)。USB 2.0的最高傳輸速率可達480 Mb/s,比一般的串口快1 000倍以上。

  USB總線(xiàn)主要包括主機和設備、物理構成、邏輯構成以及客戶(hù)軟件與設備功能接口的關(guān)系4個(gè)部分,圖1展示了USB總線(xiàn)組成關(guān)系。

  

  2 系統設計

  2.1 系統結構

  圖2為本文所論及的信號處理系統的結構框圖。在本系統中,上位機將設置好的參數發(fā)送給信號處理機,由信號處理機將參數轉發(fā)給系統其他模塊,并根據此參數進(jìn)行相應的信號處理,最后再將處理結果傳回上位機。

  

  2.2 ISP1581簡(jiǎn)介

  ISP1581是Philips公司的一款高性?xún)r(jià)比的USB 2.0接口芯片。他完全遵循USB 2.0規范,支持7個(gè)IN端點(diǎn),7個(gè)OUT端點(diǎn)和一個(gè)固定控制IN/OUT端點(diǎn)。ISP1581支持USB 2.0的自檢工作模式和USB 1.1的返回工作模式,可以在高速或全速條件下正常運行。內部集成有串行接口引擎(SIE),PIE,8 kB的FIFO存儲器,數據收發(fā)器,PLL的12 MHz晶體振蕩器和3.3 V的電壓調整器。同時(shí),可通過(guò)軟件控制與USB總線(xiàn)的連接。

  2.3 硬件電路設計

  由和ISP1581構成的USB 2.0接口電路如圖3所示。其中在系統中同時(shí)完成信號處理和充當微控制器完成對ISP1581的控制。ADSP-TS101和ISP1581以通用總線(xiàn)的方式連接,即數據總線(xiàn)和地址總線(xiàn)分離的方式。ISP1581的片選信號連接到ADSP-TS101的MS0,映射到ADSP-TS101的地址空間為0X8000000~0X80000FF,TS101通過(guò)對這些地址上的寄存器進(jìn)行讀寫(xiě)來(lái)控制ISP1581,完成與上位機的USB傳輸。ISP1581的中斷輸出引腳連接到ADSP-TS101的中斷請求輸入引腳IRQ2,通過(guò)中斷方式與DSP通訊。ISP1581的復位可通過(guò)硬件和軟件觸發(fā),硬件復位引腳連接到系統復位信號,系統上電復位或熱復位時(shí)同時(shí)復位ISP1581。

  

  3 固件程序設計

  由于ISP158l本身沒(méi)有集成的微控器,固件程序將在TS101中運行。固件程序在結構上采用中斷驅動(dòng)方式,TS101通常情況下在自身的運算任務(wù)下運行,當上位機有通訊請求時(shí),通過(guò)中斷方式通知TSl01。在TSl01的中斷服務(wù)程序中,通過(guò)讀ISPl581的內部寄存器判斷具體的請求類(lèi)型,然后設置相應的標志。從程序的實(shí)現方式來(lái)說(shuō),固件程序主要就是一系列請求函數的集合,主要包括實(shí)現設備枚舉的標準請求和與具體應用相關(guān)的廠(chǎng)商請求,不同的請求根據建立包中的數據來(lái)區分,固件程序的主要流程圖如圖4所示。

  

  3.1 ISPl581的初始化

  為兼容USB 1.1接口,器件初始配置為全速模式,若上位機支持USB 2.0接口,可在設備枚舉的過(guò)程中更改為高速模式。器件支持7個(gè)IN和7個(gè)OUT端點(diǎn),分別可以配置成為中斷方式、同步方式和批量方式,其中批量方式適合高速的數據傳輸要求,中斷方式可以用于命令數據的傳輸。在此雷達系統中,為滿(mǎn)足應用要求,共配置2個(gè)批量輸出端點(diǎn)用于處理結果傳輸、1個(gè)中斷輸出端點(diǎn)用于命令響應和1個(gè)中斷輸入端點(diǎn)用于接收命令,其他的端點(diǎn)保留不用。

  3.2 設備枚舉

  USB設備的枚舉至關(guān)重要,直接影響到設計的成功與否,這需要嚴格依據USB 2.0協(xié)議規范來(lái)設計。這部分程序主要由一系列標準請求函數構成,在USB任務(wù)處理中被調用,主要包括獲取設備描述符、設置設備地址、配置設備、配置端點(diǎn)等。USB設備的枚舉一般按照如下步驟進(jìn)行:

  (1)設備連接,總線(xiàn)復位,ISP1581將發(fā)送高速(HS)模式檢測信號,若接收到一個(gè)高速(HS)握手信號,則將轉換到高速(HS)狀態(tài),否則仍工作在全速(FS)狀態(tài);

  (2)通過(guò)默認地址0獲取設備描述符;

  (3)給設備分配惟一的地址;

  (4)通過(guò)分配的地址重新獲取設備描述符;

  (5)獲取配置描述符;

  (6)獲取設備描述符集合,包括配置描述符、接口描述符、端點(diǎn)描述符;

  (7)若為第一次連接則提示找到新硬件,要求安裝驅動(dòng)程序,否則根據設備描述符加載設備驅動(dòng)程序;

  (8)配置設備,至此設備枚舉完成。

  3.3 廠(chǎng)商請求

  本應用中的廠(chǎng)商請求主要包括發(fā)送控制命令和讀取處理結果。由于控制命令的數據量很小,故采用中斷方式進(jìn)行傳輸,而處理結果數據量較大,為提高傳輸速度,采用批量傳輸方式傳輸。為防止數據異常更新,數據緩沖區采用乒乓緩沖方式,USB發(fā)送完成某個(gè)緩沖區的數據前,信號處理的結果只能存放在另一緩沖區中。圖5為控制命令-設置模式字的廠(chǎng)商請求處理流程圖。

  

  4 驅動(dòng)程序

  驅動(dòng)程序用于處理底層通信細節,實(shí)現具體的通信協(xié)議,為應用程序提供透明的傳輸接口。USB設備驅動(dòng)程序的設計是基于WDM(Windows Driver Model,Windows驅動(dòng)模型)的。WDM采用分層驅動(dòng)程序模型,對于USB設備來(lái)說(shuō),可以分為USB總線(xiàn)驅動(dòng)程序和USB功能驅動(dòng)程序。USB總線(xiàn)驅動(dòng)程序是由操作系統提供,USB功能驅動(dòng)程序是由設備開(kāi)發(fā)者編寫(xiě)的,他位于USB總線(xiàn)驅動(dòng)程序的上面,通過(guò)向USB總線(xiàn)驅動(dòng)程序發(fā)送IRP(I/O Re-quest Packet,I/O請求包),來(lái)實(shí)現對USB設備信息的發(fā)送與接收。

  USB設備驅動(dòng)程序的開(kāi)發(fā)工具有Windows DDK,KRFTech公司的WinDriver,Compuware公司的DriverWorks等。其中WinDriver使用簡(jiǎn)單,開(kāi)發(fā)者幾乎不需要編寫(xiě)任何代碼即可為開(kāi)發(fā)的設備生成可用的驅動(dòng)程序。為縮短開(kāi)發(fā)周期,設備驅動(dòng)程序用WinDriver開(kāi)發(fā),并用InstallShield為驅動(dòng)程序制作了單一的安裝包,以方便用戶(hù)安裝使用。

  5 設備調試中遇到的問(wèn)題及解決辦法

  在USB設備的開(kāi)發(fā)過(guò)程中,設備的調試工作一個(gè)重點(diǎn)和難點(diǎn),下面針對ISP1581,對在調試過(guò)程中可能遇到的問(wèn)題做出簡(jiǎn)要的說(shuō)明。

  (1)不能正常讀寫(xiě)ISP1581內部的寄存器。

  出現此問(wèn)題的可能原因主要有兩個(gè):第一,ISP1581的時(shí)鐘信號不穩定,ISP1581需要穩定的12 MHz時(shí)鐘頻率;第二,ISPl581上電復位不正常,可以在程序起始位置,重新復位ISPl581,延時(shí)20 ms后再對ISP1581進(jìn)行操作。

  (2)連接設備后,上位機提示“不可識別的USB設備”。

  出現此提示,說(shuō)明ISP1581已經(jīng)設置好軟連接,真正與上位機連接,但是由于沒(méi)有正確響應上位機的請求,導致枚舉失敗,上位機不能正確識別USB設備。要解決此問(wèn)題,最好使用調試工具來(lái)輔助,例如bushound等。運行該軟件,分析USB總線(xiàn)上傳輸的數據流,觀(guān)察USB設備與上位機的請求與響應狀態(tài)以及響應的具體內容,與標準的USB枚舉過(guò)程進(jìn)行比對,從而查出問(wèn)題所在。

  (3)設備枚舉成功,且正常加載驅動(dòng),但是無(wú)法對USB設備進(jìn)行讀寫(xiě)操作。

  導致此問(wèn)題可能是固件程序、驅動(dòng)程序以及應用程序的問(wèn)題。應先排除應用程序和驅動(dòng)程序的問(wèn)題,使用WinDriver重新生成設備的驅動(dòng)程序,并根據WinDriver提供的例程和API函數手冊,仔細檢查應用程序。固件程序故障的排除相對復雜,可利用WinDriver提供的端點(diǎn)測試工具,結合合理的固件程序斷點(diǎn)設置,按照USB數據傳輸的流程,逐級檢查。

  USB設備的調試是一個(gè)復雜的過(guò)程,需要清楚地了解USB設備的枚舉過(guò)程和USB數據傳輸過(guò)程,通過(guò)細心的檢查找出問(wèn)題所在,才能將問(wèn)題根本解決。

  6 結 語(yǔ)

  本設計通過(guò)為ADSP-TSl01擴展USB接口,實(shí)現了信號處理機與上位機的USB 2.0接口,并在實(shí)際使用中取得了良好的效果,實(shí)際傳輸速度大于1.2 MB/s。設計中,ISP1581通過(guò)通用總線(xiàn)方式與TS101連接,如果希望取得更高的傳輸速度,可以考慮采用ISP1581的DMA模式。USB 2.0接口性能優(yōu)越,使用簡(jiǎn)單,成本低廉,在計算機與外設的互聯(lián)中得到了廣泛的應用,并逐漸成為計算機與外設的標準結構,因此USB接口的設計在實(shí)際應用中具有重要的地位和意義。



評論


相關(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>