[導(dǎo)讀]系統(tǒng)測(cè)試結(jié)果表明:主機(jī)與設(shè)備間的數(shù)據(jù)傳輸平均速率達(dá)到130kb/s,完全可以滿足一般測(cè)量?jī)x器的需要。此項(xiàng)接口設(shè)計(jì)方案具有良好的可移植性,針對(duì)不同的硬件平臺(tái)僅需做少許修改即可應(yīng)用。隨著USB技術(shù)的進(jìn)一步發(fā)展,USB2.0和USB OTG規(guī)范的推出以及無(wú)線USB的出現(xiàn),USB儀器將成為測(cè)量?jī)x器的發(fā)展方向,并推動(dòng)傳統(tǒng)儀器向小型化和微型化方向發(fā)展。
引言
各種測(cè)量?jī)x器檢測(cè)到的數(shù)據(jù)常常需要傳送到PC機(jī)進(jìn)行數(shù)據(jù)處理與存檔,以充分利用PC機(jī)豐富的硬件和軟件資源,獲得更為完善和強(qiáng)大的數(shù)據(jù)處理、分析和存儲(chǔ)能力。傳統(tǒng)PC平臺(tái)的數(shù)據(jù)采集卡受PC機(jī)插槽數(shù)目、地址、中斷等硬件和軟件資源的限制,可擴(kuò)展性較差,安裝拆卸困難,成本高。 自1994年11月提出通用串行總線(USB)以來(lái),USB以其傳輸速率高、支持熱插拔、易于擴(kuò)展的突出優(yōu)勢(shì),發(fā)展速度驚人,迅速席卷電子產(chǎn)品世界。在市場(chǎng)需求的強(qiáng)力驅(qū)動(dòng)下,從1998年開始,USB接口進(jìn)入測(cè)量?jī)x器領(lǐng)域,并逐步被許多著名儀器公司接納。在測(cè)量?jī)x器中擴(kuò)展USB接口已經(jīng)成為一種發(fā)展趨勢(shì)。針對(duì)不同的測(cè)量?jī)x器,尋求一種普遍適用的USB接口解決方案,對(duì)于測(cè)量?jī)x器的開發(fā)設(shè)計(jì)有十分重要的意義。
方案選擇 開發(fā)USB設(shè)備一般有三種方式:一種是使用帶USB接口的專用微控制器(MCU),這類MCU有自己的系統(tǒng)結(jié)構(gòu)和指令,從底層專用于USB控制,比如Cypress公司的CY7C63xxx和CY7C64013,這類MCU的開發(fā)需要用專用工具,且性能有限;第二種方式是使用帶USB接口的通用MCU,這類MCU只是基于一般芯片內(nèi)核增加了USB接口,比如Intel公司的8x931、8x930以及Cypress公司的EZUSB等,這類MCU的開發(fā)語(yǔ)言和開發(fā)工具都和一般MCU相似,因而較易入手,但其缺點(diǎn)是成本較高;第三種方式是使用純粹的USB接口芯片,通過外加MCU對(duì)其控制。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。這類USB接口芯片價(jià)格較低、接口方便、靈活性高,針對(duì)不同的硬件環(huán)境可以配合多種MCU使用,如單片機(jī)、DSP、FPGA都可以。綜合各方面因素考慮,本設(shè)計(jì)選用第三種方式,即采用專用USB接口芯片為測(cè)量?jī)x器擴(kuò)展USB接口。
硬件設(shè)計(jì) USB控制器
USB控制器通過控制USB接口芯片實(shí)現(xiàn)協(xié)議處理和數(shù)據(jù)交換。在本設(shè)計(jì)中選用DSP芯片TMS320VC33作為微控制器,這主要是基于兩方面的考慮:一是其運(yùn)算速度較快,指令周期僅為13nS,可以最大限度地發(fā)揮USB接口芯片的潛力;二是該DSP芯片性價(jià)比高,且具有浮點(diǎn)運(yùn)算功能,擴(kuò)展浮點(diǎn)精度可達(dá)40位。
USB接口芯片 USB接口芯片用以完成USB通信底層的數(shù)據(jù)鏈路級(jí)交換,并對(duì)本地微控制器提供一個(gè)并行接口。 本文選用PHILIPS公司的PDIUSBD12作為USB接口芯片。該芯片可與任何微控制器實(shí)現(xiàn)高速并行接口(2Mb/s),允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小。這種靈活性減少了開發(fā)時(shí)間、風(fēng)險(xiǎn)和成本,是開發(fā)高效低成本的USB外圍設(shè)備的一種快捷途徑。
PDIUSBD12一共有三組端點(diǎn):端點(diǎn)0完成控制傳輸;端點(diǎn)1可以配置成中斷傳輸;端點(diǎn)2有128B的緩沖區(qū),是主要的數(shù)據(jù)傳輸端點(diǎn)。 接口電路
DSP與PDIUSBD12的連接如圖1所示。采用單獨(dú)地址/數(shù)據(jù)總線配置,即用DSP的某地址線控制PDIUSBD12的A0引腳,實(shí)現(xiàn)命令數(shù)據(jù)的選擇。A0=1表示傳送命令,A0=0表示傳送數(shù)據(jù)。片選(CS )及掛起(SUSPEND)信號(hào)分別由DSP的I/O口控制。讀寫選通信號(hào)WR 、RD 可以用DSP的R/W引腳及其取反后控制。但這樣需要在電路中增加反相器,為了節(jié)約器件從而縮小電路體積,可以另外選擇一個(gè)I/O口控制PDIUSBD12的讀選通RD。本設(shè)計(jì)中選用PAGE1,通過對(duì)不同地址的訪問來(lái)區(qū)分對(duì)PDIUSBD12的讀寫操作。這樣PDIUSBD12只占用微控制器的三個(gè)地址資源,其一用來(lái)向PDIUSBD12寫命令,其二用來(lái)向PDIUSBD12寫數(shù)據(jù),另外一個(gè)用來(lái)從PDIUSBD12讀數(shù)據(jù)。對(duì)DSP而言,PDIUSBD12就相當(dāng)于一個(gè)有8位數(shù)據(jù)總線和3個(gè)地址的存儲(chǔ)器件。
設(shè)備采用自供電方式,需要將EOT 通過一個(gè)10k?的電阻接至USB電纜的VCC(+5V)端,并加1M?下拉電阻,借此檢測(cè)USB設(shè)備是否已經(jīng)連接到USB口。 軟件設(shè)計(jì) USB軟件設(shè)計(jì)包括固件(firmware)程序、PC端的驅(qū)動(dòng)程序和應(yīng)用程序。其中固件程序要求編寫者對(duì)復(fù)雜的USB通信協(xié)議有深刻的理解,編程難度較高,在本論文中將詳細(xì)介紹。 固件編程 固件程序是寫入MCU內(nèi)的程序,使MCU可以完全按照USB協(xié)議,識(shí)別接收到的信息包類型,對(duì)包的內(nèi)容、意義進(jìn)行分析,并按照要求完成相應(yīng)的動(dòng)作。通過這些不同類型包的傳遞,完成MCU與接口芯片的命令及數(shù)據(jù)交換,進(jìn)而實(shí)現(xiàn)主機(jī)與設(shè)備間的通信。 固件程序設(shè)計(jì)成中斷驅(qū)動(dòng)模式,采用模塊化設(shè)計(jì),其總體結(jié)構(gòu)如圖2所示。
主循環(huán) 主循環(huán)中主要完成DSP的寄存器及端口初始化,向PDIUSBD12發(fā)送設(shè)置模式命令,接通SoftConnect。判斷是否接收到建立包(setup package),若收到則調(diào)用標(biāo)準(zhǔn)請(qǐng)求處理程序進(jìn)行處理,若收到主機(jī)請(qǐng)求信號(hào),則調(diào)用數(shù)據(jù)發(fā)送程序發(fā)送數(shù)據(jù)。 中斷處理程序 中斷處理程序是整個(gè)固件程序設(shè)計(jì)的重點(diǎn)。將DSP設(shè)置為下降沿觸發(fā),當(dāng)PDIUSBD12接收到主機(jī)發(fā)送的信息包時(shí),觸發(fā)DSP進(jìn)入中斷。首先通過讀取PDIUSBD12的中斷寄存器判斷所發(fā)生中斷的類型,然后根據(jù)具體的中斷類型進(jìn)入相應(yīng)的處理子程序。中斷處理程序流程圖如圖3所示。
標(biāo)準(zhǔn)請(qǐng)求處理程序 USB協(xié)議中規(guī)定了11條所有USB設(shè)備都必須支持的標(biāo)準(zhǔn)請(qǐng)求,這些請(qǐng)求都是通過端點(diǎn)0發(fā)送的。標(biāo)準(zhǔn)請(qǐng)求處理程序?qū)χ鳈C(jī)發(fā)出的標(biāo)準(zhǔn)請(qǐng)求進(jìn)行響應(yīng),獲取設(shè)備的性能及狀態(tài),并給設(shè)備分配地址且進(jìn)行相應(yīng)配置,最終完成枚舉過程。
硬件接口及PDIUSBD12命令操作程序 硬件接口程序集成了DSP對(duì)PDIUSBD12的讀寫操作,是整個(gè)固件程序中最底層也是使用最頻繁的部分,將它獨(dú)立成一個(gè)模塊編寫極大地方便了程序在不同硬件平臺(tái)上的移植。值得注意的是:PDIUSBD12要求數(shù)據(jù)線上的數(shù)據(jù)建立時(shí)間和保持時(shí)間必須大于40nS,因此編程時(shí)需要插入至少4個(gè)軟件等待狀態(tài)。另外,因?yàn)镻DIUSBD12的最小讀寫周期為500nS,所以在每次對(duì)其進(jìn)行讀寫操作后必須增加適當(dāng)?shù)难訒r(shí)。
數(shù)據(jù)發(fā)送及接收程序 當(dāng)用戶通過主機(jī)端應(yīng)用程序向設(shè)備索要數(shù)據(jù)時(shí),DSP調(diào)用數(shù)據(jù)發(fā)送子程序完成數(shù)據(jù)發(fā)送,針對(duì)發(fā)送數(shù)據(jù)量的大小,可以選擇使用端點(diǎn)1或者端點(diǎn)2完成。對(duì)于主機(jī)發(fā)送數(shù)據(jù)的接收,在端點(diǎn)0及端點(diǎn)1的IN中斷子程序中即可完成。發(fā)送數(shù)據(jù)子程序如下: 調(diào)試 固件程序?qū)r(shí)間敏感,所以編程時(shí)要特別注意時(shí)序問題。由于USB枚舉過程很快,如果連續(xù)三次接收不到應(yīng)答包就結(jié)束枚舉,所以調(diào)試時(shí)要注意不能采用CCS的單步調(diào)試,可以采用斷點(diǎn)調(diào)試。調(diào)試過程之初經(jīng)常會(huì)遇到的一種狀況是指示燈閃爍三次以后熄滅,這說明主機(jī)檢測(cè)到了設(shè)備連接,但無(wú)法和設(shè)備進(jìn)行對(duì)話來(lái)了解設(shè)備的信息。這表明固件程序還沒有開始正常工作,需仔細(xì)檢查程序中的錯(cuò)誤之處。
調(diào)試過程之初,可以使用以下兩種方法檢測(cè)硬件連接是否正確: 1. 使用命令字FDh讀取PDIUSBD12的ID號(hào),正常狀態(tài)下讀出的兩個(gè)字節(jié)應(yīng)該為12H和10H。 2. 通過設(shè)置PDIUSBD12工作模式,改變輸出時(shí)鐘頻率。在CLKout引腳測(cè)量輸出波形,觀察是否與設(shè)置值相符。 若以上兩條滿足,則說明硬件連接基本沒有問題。
PC端軟件 PC端軟件包括設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序兩部分。 系統(tǒng)驅(qū)動(dòng)程序是基于WDM (Windows Driver Model) 驅(qū)動(dòng)程序模型設(shè)計(jì)的,包括四個(gè)模塊:初始化模塊、即插即用管理模塊、電源管理模塊和I/O功能模塊。本設(shè)計(jì)選用輔助工具DriverStudio,它能很好地和DDK結(jié)合,編程思路也比較清晰。首先使用驅(qū)動(dòng)向?qū)В―riverWizard)建立項(xiàng)目,設(shè)置驅(qū)動(dòng)程序類型,設(shè)置USB設(shè)備的VID(Vendor ID)和PID(Product ID)及其各端點(diǎn)的屬性。給端點(diǎn)2增加讀寫函數(shù)代碼。這樣就創(chuàng)建了一個(gè)驅(qū)動(dòng)程序的總體框架。再對(duì)生成的代碼進(jìn)行修改編譯和測(cè)試,完成USB驅(qū)動(dòng)程序的開發(fā)。 應(yīng)用程序是為了實(shí)現(xiàn)用戶和設(shè)備的接口,基本功能包括檢測(cè)USB設(shè)備、開啟或閉合USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道、實(shí)時(shí)從USB接口采集數(shù)據(jù)以及顯示數(shù)據(jù)等。程序使用VC++編寫,調(diào)用Win32的應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)應(yīng)用程序和設(shè)備驅(qū)動(dòng)的通信。使用PHILIPS公司提供的EasyD12.dll動(dòng)態(tài)鏈接庫(kù)可以使開發(fā)過程更加輕松快捷。
結(jié)束語(yǔ)
系統(tǒng)測(cè)試結(jié)果表明:主機(jī)與設(shè)備間的數(shù)據(jù)傳輸平均速率達(dá)到130kb/s,完全可以滿足一般測(cè)量?jī)x器的需要。此項(xiàng)接口設(shè)計(jì)方案具有良好的可移植性,針對(duì)不同的硬件平臺(tái)僅需做少許修改即可應(yīng)用。隨著USB技術(shù)的進(jìn)一步發(fā)展,USB2.0和USB OTG規(guī)范的推出以及無(wú)線USB的出現(xiàn),USB儀器將成為測(cè)量?jī)x器的發(fā)展方向,并推動(dòng)傳統(tǒng)儀器向小型化和微型化方向發(fā)展。
|
|
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。
關(guān)鍵字:
阿維塔
塞力斯
華為
加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...
關(guān)鍵字:
AWS
AN
BSP
數(shù)字化
倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...
關(guān)鍵字:
汽車
人工智能
智能驅(qū)動(dòng)
BSP
北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...
關(guān)鍵字:
亞馬遜
解密
控制平面
BSP
8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。
關(guān)鍵字:
騰訊
編碼器
CPU
8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。
關(guān)鍵字:
華為
12nm
手機(jī)
衛(wèi)星通信
要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...
關(guān)鍵字:
通信
BSP
電信運(yùn)營(yíng)商
數(shù)字經(jīng)濟(jì)
北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...
關(guān)鍵字:
VI
傳輸協(xié)議
音頻
BSP
北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...
關(guān)鍵字:
BSP
信息技術(shù)
山海路引?嵐悅新程 三亞2024年8月27日 /美通社/ --?近日,海南地區(qū)六家凱悅系酒店與中國(guó)高端新能源車企嵐圖汽車(VOYAH)正式達(dá)成戰(zhàn)略合作協(xié)議。這一合作標(biāo)志著兩大品牌在高端出行體驗(yàn)和環(huán)保理念上的深度融合,將...
關(guān)鍵字:
新能源
BSP
PLAYER
ASIA
上海2024年8月28日 /美通社/ -- 8月26日至8月28日,AHN LAN安嵐與股神巴菲特的孫女妮可?巴菲特共同開啟了一場(chǎng)自然和藝術(shù)的療愈之旅。 妮可·巴菲特在療愈之旅活動(dòng)現(xiàn)場(chǎng)合影 ...
關(guān)鍵字:
MIDDOT
BSP
LAN
SPI
8月29日消息,近日,華為董事、質(zhì)量流程IT總裁陶景文在中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式上表示,中國(guó)科技企業(yè)不應(yīng)怕美國(guó)對(duì)其封鎖。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體
上海2024年8月26日 /美通社/ -- 近日,全球領(lǐng)先的消費(fèi)者研究與零售監(jiān)測(cè)公司尼爾森IQ(NielsenIQ)迎來(lái)進(jìn)入中國(guó)市場(chǎng)四十周年的重要里程碑,正式翻開在華發(fā)展新篇章。自改革開放以來(lái),中國(guó)市場(chǎng)不斷展現(xiàn)出前所未有...
關(guān)鍵字:
BSP
NI
SE
TRACE
上海2024年8月26日 /美通社/ -- 第二十二屆跨盈年度B2B營(yíng)銷高管峰會(huì)(CC2025)將于2025年1月15-17日在上海舉辦,本次峰會(huì)早鳥票注冊(cè)通道開啟,截止時(shí)間10月11日。 了解更多會(huì)議信息:cc.co...
關(guān)鍵字:
BSP
COM
AI
INDEX
上海2024年8月26日 /美通社/ -- 今日,高端全合成潤(rùn)滑油品牌美孚1號(hào)攜手品牌體驗(yàn)官周冠宇,開啟全新旅程,助力廣大車主通過駕駛?cè)ヌ剿鞲鼜V闊的世界。在全新發(fā)布的品牌視頻中,周冠宇及不同背景的消費(fèi)者表達(dá)了對(duì)駕駛的熱愛...
關(guān)鍵字:
BSP
汽車制造
此次發(fā)布標(biāo)志著Cision首次為亞太市場(chǎng)量身定制全方位的媒體監(jiān)測(cè)服務(wù)。 芝加哥2024年8月27日 /美通社/ -- 消費(fèi)者和媒體情報(bào)、互動(dòng)及傳播解決方案的全球領(lǐng)導(dǎo)者Cis...
關(guān)鍵字:
CIS
IO
SI
BSP
上海2024年8月27日 /美通社/ -- 近來(lái),具有強(qiáng)大學(xué)習(xí)、理解和多模態(tài)處理能力的大模型迅猛發(fā)展,正在給人類的生產(chǎn)、生活帶來(lái)革命性的變化。在這一變革浪潮中,物聯(lián)網(wǎng)成為了大模型技術(shù)發(fā)揮作用的重要陣地。 作為全球領(lǐng)先的...
關(guān)鍵字:
模型
移遠(yuǎn)通信
BSP
高通
北京2024年8月27日 /美通社/ -- 高途教育科技公司(紐約證券交易所股票代碼:GOTU)("高途"或"公司"),一家技術(shù)驅(qū)動(dòng)的在線直播大班培訓(xùn)機(jī)構(gòu),今日發(fā)布截至2024年6月30日第二季度未經(jīng)審計(jì)財(cái)務(wù)報(bào)告。 2...
關(guān)鍵字:
BSP
電話會(huì)議
COM
TE
8月26日消息,華為公司最近正式啟動(dòng)了“華為AI百校計(jì)劃”,向國(guó)內(nèi)高校提供基于昇騰云服務(wù)的AI計(jì)算資源。
關(guān)鍵字:
華為
12nm
EDA
半導(dǎo)體