国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于DSP和專用接口芯片的USB實現(xiàn)方案

發(fā)布時間:2010-11-25 22:45    發(fā)布者:designer
關鍵詞: dsp , USB , 接口芯片
各種測量儀器檢測到的數(shù)據(jù)常常需要傳送到PC機進行數(shù)據(jù)處理與存檔,以充分利用PC機豐富的硬件和軟件資源,獲得更為完善和強大的數(shù)據(jù)處理、分析和存儲能力。傳統(tǒng)PC平臺的數(shù)據(jù)采集卡受PC機插槽數(shù)目、地址、中斷等硬件和軟件資源的限制,可擴展性較差,安裝拆卸困難,成本高。

自1994年11月提出通用串行總線USB)以來,USB以其傳輸速率高、支持熱插拔、易于擴展的突出優(yōu)勢,發(fā)展速度驚人,迅速席卷電子產(chǎn)品世界。在市場需求的強力驅(qū)動下,從1998年開始,USB接口進入測量儀器領域,并逐步被許多著名儀器公司接納。在測量儀器中擴展USB接口已經(jīng)成為一種發(fā)展趨勢。針對不同的測量儀器,尋求一種普遍適用的USB接口解決方案,對于測量儀器的開發(fā)設計有十分重要的意義。

方案選擇

開發(fā)USB設備一般有三種方式:一種是使用帶USB接口的專用微控制器(MCU),這類MCU有自己的系統(tǒng)結構和指令,從底層專用于USB控制,比如Cypress公司的CY7C63xxx和CY7C64013,這類MCU的開發(fā)需要用專用工具,且性能有限;第二種方式是使用帶USB接口的通用MCU,這類MCU只是基于一般芯片內(nèi)核增加了USB接口,比如Intel公司的8x931、8x930以及Cypress公司的EZUSB等,這類MCU的開發(fā)語言和開發(fā)工具都和一般MCU相似,因而較易入手,但其缺點是成本較高;第三種方式是使用純粹的USB接口芯片,通過外加MCU對其控制。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。這類USB接口芯片價格較低、接口方便、靈活性高,針對不同的硬件環(huán)境可以配合多種MCU使用,如單片機、DSPFPGA都可以。綜合各方面因素考慮,本設計選用第三種方式,即采用專用USB接口芯片為測量儀器擴展USB接口。

硬件設計

USB控制器

USB控制器通過控制USB接口芯片實現(xiàn)協(xié)議處理和數(shù)據(jù)交換。在本設計中選用DSP芯片TMS320VC33作為微控制器,這主要是基于兩方面的考慮:一是其運算速度較快,指令周期僅為13nS,可以最大限度地發(fā)揮USB接口芯片的潛力;二是該DSP芯片性價比高,且具有浮點運算功能,擴展浮點精度可達40位。

USB接口芯片

USB接口芯片用以完成USB通信底層的數(shù)據(jù)鏈路級交換,并對本地微控制器提供一個并行接口。

本文選用PHILIPS公司的PDIUSBD12作為USB接口芯片。該芯片可與任何微控制器實現(xiàn)高速并行接口(2Mb/s),允許使用現(xiàn)存的體系結構并使固件投資減到最小。這種靈活性減少了開發(fā)時間、風險和成本,是開發(fā)高效低成本的USB外圍設備的一種快捷途徑。

PDIUSBD12一共有三組端點:端點0完成控制傳輸;端點1可以配置成中斷傳輸;端點2有128B的緩沖區(qū),是主要的數(shù)據(jù)傳輸端點。

接口電路

DSP與PDIUSBD12的連接如圖1所示。采用單獨地址/數(shù)據(jù)總線配置,即用DSP的某地址線控制PDIUSBD12的A0引腳,實現(xiàn)命令數(shù)據(jù)的選擇。A0=1表示傳送命令,A0=0表示傳送數(shù)據(jù)。片選(CS )及掛起(SUSPEND)信號分別由DSP的I/O口控制。讀寫選通信號WR 、RD 可以用DSP的R/W引腳及其取反后控制。但這樣需要在電路中增加反相器,為了節(jié)約器件從而縮小電路體積,可以另外選擇一個I/O口控制PDIUSBD12的讀選通RD。本設計中選用PAGE1,通過對不同地址的訪問來區(qū)分對PDIUSBD12的讀寫操作。這樣PDIUSBD12只占用微控制器的三個地址資源,其一用來向PDIUSBD12寫命令,其二用來向PDIUSBD12寫數(shù)據(jù),另外一個用來從PDIUSBD12讀數(shù)據(jù)。對DSP而言,PDIUSBD12就相當于一個有8位數(shù)據(jù)總線和3個地址的存儲器件。





設備采用自供電方式,需要將EOT 通過一個10k?的電阻接至USB電纜的VCC(+5V)端,并加1M?下拉電阻,借此檢測USB設備是否已經(jīng)連接到USB口。

軟件設計

USB軟件設計包括固件(firmware)程序、PC端的驅(qū)動程序和應用程序。其中固件程序要求編寫者對復雜的USB通信協(xié)議有深刻的理解,編程難度較高,在本論文中將詳細介紹。

固件編程

固件程序是寫入MCU內(nèi)的程序,使MCU可以完全按照USB協(xié)議,識別接收到的信息包類型,對包的內(nèi)容、意義進行分析,并按照要求完成相應的動作。通過這些不同類型包的傳遞,完成MCU與接口芯片的命令及數(shù)據(jù)交換,進而實現(xiàn)主機與設備間的通信。

固件程序設計成中斷驅(qū)動模式,采用模塊化設計,其總體結構如圖2所示。





主循環(huán)

主循環(huán)中主要完成DSP的寄存器及端口初始化,向PDIUSBD12發(fā)送設置模式命令,接通SoftConnect。判斷是否接收到建立包(setup package),若收到則調(diào)用標準請求處理程序進行處理,若收到主機請求信號,則調(diào)用數(shù)據(jù)發(fā)送程序發(fā)送數(shù)據(jù)。

中斷處理程序

中斷處理程序是整個固件程序設計的重點。將DSP設置為下降沿觸發(fā),當PDIUSBD12接收到主機發(fā)送的信息包時,觸發(fā)DSP進入中斷。首先通過讀取PDIUSBD12的中斷寄存器判斷所發(fā)生中斷的類型,然后根據(jù)具體的中斷類型進入相應的處理子程序。中斷處理程序流程圖如圖3所示。





標準請求處理程序

USB協(xié)議中規(guī)定了11條所有USB設備都必須支持的標準請求,這些請求都是通過端點0發(fā)送的。標準請求處理程序?qū)χ鳈C發(fā)出的標準請求進行響應,獲取設備的性能及狀態(tài),并給設備分配地址且進行相應配置,最終完成枚舉過程。

硬件接口及PDIUSBD12命令操作程序

硬件接口程序集成了DSP對PDIUSBD12的讀寫操作,是整個固件程序中最底層也是使用最頻繁的部分,將它獨立成一個模塊編寫極大地方便了程序在不同硬件平臺上的移植。值得注意的是:PDIUSBD12要求數(shù)據(jù)線上的數(shù)據(jù)建立時間和保持時間必須大于40nS,因此編程時需要插入至少4個軟件等待狀態(tài)。另外,因為PDIUSBD12的最小讀寫周期為500nS,所以在每次對其進行讀寫操作后必須增加適當?shù)难訒r。

數(shù)據(jù)發(fā)送及接收程序

當用戶通過主機端應用程序向設備索要數(shù)據(jù)時,DSP調(diào)用數(shù)據(jù)發(fā)送子程序完成數(shù)據(jù)發(fā)送,針對發(fā)送數(shù)據(jù)量的大小,可以選擇使用端點1或者端點2完成。對于主機發(fā)送數(shù)據(jù)的接收,在端點0及端點1的IN中斷子程序中即可完成。發(fā)送數(shù)據(jù)子程序如下:





調(diào)試

固件程序?qū)r間敏感,所以編程時要特別注意時序問題。由于USB枚舉過程很快,如果連續(xù)三次接收不到應答包就結束枚舉,所以調(diào)試時要注意不能采用CCS的單步調(diào)試,可以采用斷點調(diào)試。調(diào)試過程之初經(jīng)常會遇到的一種狀況是指示燈閃爍三次以后熄滅,這說明主機檢測到了設備連接,但無法和設備進行對話來了解設備的信息。這表明固件程序還沒有開始正常工作,需仔細檢查程序中的錯誤之處。

調(diào)試過程之初,可以使用以下兩種方法檢測硬件連接是否正確:

1. 使用命令字FDh讀取PDIUSBD12的ID號,正常狀態(tài)下讀出的兩個字節(jié)應該為12H和10H。

2. 通過設置PDIUSBD12工作模式,改變輸出時鐘頻率。在CLKout引腳測量輸出波形,觀察是否與設置值相符。

若以上兩條滿足,則說明硬件連接基本沒有問題。

PC端軟件

PC端軟件包括設備驅(qū)動程序和應用程序兩部分。

系統(tǒng)驅(qū)動程序是基于WDM (Windows Driver Model) 驅(qū)動程序模型設計的,包括四個模塊:初始化模塊、即插即用管理模塊,電源管理模塊和I/O功能模塊。本設計選用輔助工具DriverStudio,它能很好地和DDK結合,編程思路也比較清晰。首先使用驅(qū)動向?qū)В―riverWizard)建立項目,設置驅(qū)動程序類型,設置USB設備的VID(Vendor ID)和PID(Product ID)及其各端點的屬性。給端點2增加讀寫函數(shù)代碼。這樣就創(chuàng)建了一個驅(qū)動程序的總體框架。再對生成的代碼進行修改編譯和測試,完成USB驅(qū)動程序的開發(fā)。

應用程序是為了實現(xiàn)用戶和設備的接口,基本功能包括檢測USB設備、開啟或閉合USB設備、設置USB數(shù)據(jù)傳輸管道、實時從USB接口采集數(shù)據(jù)以及顯示數(shù)據(jù)等。程序使用VC++編寫,調(diào)用Win32的應用程序接口(API)函數(shù),實現(xiàn)應用程序和設備驅(qū)動的通信。使用PHILIPS公司提供的EasyD12.dll動態(tài)鏈接庫可以使開發(fā)過程更加輕松快捷。

結束語

系統(tǒng)測試結果表明:主機與設備間的數(shù)據(jù)傳輸平均速率達到130kb/s,完全可以滿足一般測量儀器的需要。此項接口設計方案具有良好的可移植性,針對不同的硬件平臺僅需做少許修改即可應用。隨著USB技術的進一步發(fā)展,USB2.0和USB OTG規(guī)范的推出以及無線USB的出現(xiàn),USB儀器將成為測量儀器的發(fā)展方向,并推動傳統(tǒng)儀器向小型化和微型化方向發(fā)展。
本文地址:http://m.qingdxww.cn/thread-41821-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內(nèi)容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级视 | 国产偷国产偷亚洲高清午夜 | 国产精品亚洲精品爽爽 | 欧美精品亚洲精品日韩 | 91香蕉视频在线看 | 日本不卡视频一区二区三区 | 久久综合视频网站 | 4虎.最新地址| 九九在线精品视频 | 国产精品高清视亚洲一区二区 | 日韩欧美二区 | 国产在线一区二区三区欧美 | 忍者刺客韩国在线观看完整免费版 | 亚洲综合情| 久精品在线观看 | 国语自产精品视频在线区 | 久久香蕉国产线看观看8青草 | 大学生久久香蕉国产线观看 | 特黄特色大片免费视频大全 | 国产在线精品观看一区 | 国产在线观a免费观看 | 亚洲视频在线免费观看 | 精品视频在线观看一区二区三区 | 两个人免费观看高清视频韩国 | 免费看的黄色网址 | 国产中文一区 | 91在线高清| 欧美又硬又粗又长又大 | 国产精品夜间视频香蕉 | 日本在线观看不卡 | 91国内外精品自在线播放 | 99视频国产在线 | 国产麻豆精品在线观看 | 国产日韩欧美在线播放 | 午夜国产在线视频 | 曰韩免费视频 | 国产一区二区三区播放 | 二级片免费观看 | 欧美亚洲日本视频 | 精品国产免费一区二区三区 | 日本亚洲高清乱码中文在线观看 |