基于DSP和專用接口芯片的USB實(shí)現(xiàn)方案
調(diào)試過(guò)程之初,可以使用以下兩種方法檢測(cè)硬件連接是否正確:
本文引用地址:http://www.ex-cimer.com/article/264104.htm1. 使用命令字FDh讀取PDIUSBD12的ID號(hào),正常狀態(tài)下讀出的兩個(gè)字節(jié)應(yīng)該為12H和10H。
2. 通過(guò)設(shè)置PDIUSBD12工作模式,改變輸出時(shí)鐘頻率。在CLKout引腳測(cè)量輸出波形,觀察是否與設(shè)置值相符。
若以上兩條滿足,則說(shuō)明硬件連接基本沒(méi)有問(wèn)題。
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ū)?DriverWizard)建立項(xiàng)目,設(shè)置驅(qū)動(dòng)程序類型,設(shè)置USB設(shè)備的 VID(Vendor ID)和PID(Product ID)及其各端點(diǎn)的屬性。給端點(diǎn)2增加讀寫(xiě)函數(shù)代碼。這樣就創(chuàng)建了一個(gè)驅(qū)動(dòng)程序的總體框架。再對(duì)生成的代碼進(jìn)行修改編譯和測(cè)試,完成USB驅(qū)動(dòng)程序的開(kāi)發(fā)。
應(yīng)用程序是為了實(shí)現(xiàn)用戶和設(shè)備的接口,基本功能包括檢測(cè)USB設(shè)備、開(kāi)啟或閉合USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道、實(shí)時(shí)從USB接口采集數(shù)據(jù)以及顯示數(shù)據(jù)等。程序使用VC++編寫(xiě),調(diào)用Win32的應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)應(yīng)用程序和設(shè)備驅(qū)動(dòng)的通信。使用PHILIPS公司提供的 EasyD12.dll動(dòng)態(tài)鏈接庫(kù)可以使開(kāi)發(fā)過(guò)程更加輕松快捷。
結(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ā)展。
評(píng)論