簡易USB接口卡的設計和實現(xiàn)
本項設計的驅(qū)動程序是WDM模型的驅(qū)動程序及應用程序是 用VC++編的,采用動態(tài)庫與驅(qū)動程序進行通信的。應用程序是通過API函數(shù)和驅(qū)動程序進行通訊的。本驅(qū)動程序的主要功能是控制USB設備上的讀寫、擦除和一些檢查等功能。
本文引用地址:http://www.ex-cimer.com/article/82820.htm如下所示的基本驅(qū)動程序讀寫控制函數(shù)和相應的驅(qū)動體系結(jié)構(gòu):
1) 初始化例程DriverEntry ()www.51kaifa.com
設備驅(qū)動程序與應用程序不同,它沒有main () 或WinMain () 函數(shù),而是有一個名為DriverEnt ry ()的入口函數(shù),它通常完成一些初始化工作。當設備驅(qū)動程序被加載時,操作系統(tǒng)調(diào)用這個入口。在該例程中,需要初始化Dispatch (分派) 例程入口函數(shù)。
2) 創(chuàng)建設備例程AddDevice ()
大多數(shù)的PDO 都是在PnP 管理器調(diào)用該程序入口點時被創(chuàng)建的。插入新設備后,系統(tǒng)啟動時,總線枚舉器會發(fā)現(xiàn)總線上的所有設備,會自動尋找并安裝設備的驅(qū)動程序,并由驅(qū)動程序中的處理PnP功能模塊自動處理AddDevice () 例程及其他PnP 消息。此例程使用IoCreateDevice () 函數(shù)創(chuàng)建設備對象,再使用IoRegisterDevice InteRFace () 函數(shù)將設備組成為一個特定的設備接口,然后使用IoAttachDe2viceToDeviceStack () 函數(shù)關(guān)聯(lián)設備棧。
圖4-2WDM型的USB驅(qū)動體系框架
DeviceIoControl(
HANDLE hDevice,
DWORD dwIocontrolcode,
LPVOID IpInBuffer,
DWORD nInBuffersize,
LPVOID IpOutBuffer,
DWORD nOutBuffersize,
LPDWORD IpBytysReturned,
LPOVERLAPPED IpOverLapped
);
NTSTATUS JXQIF::AddDevice(PDEVICE_OBJECT Pdo)
{
JXQIFDevice * pDevice = new (
static_cast(KUnitizedName(L"JXQIFDevice", m_Unit)),
FILE_DEVICE_UNKNOWN,
NULL,
0,
DO_BUFFERED_IO
)
還有CreatFile,ReadFile,WriteFile,CloseFile 等。
圖4-3應用程序的一個基本主界面。
五、結(jié)論
本文作者的創(chuàng)新點為對USB驅(qū)動程序進行了很好的裁減,而且配合上位機軟件進行了傳輸速度的判斷和選擇,且結(jié)合實際的高速和低速采集系統(tǒng)做出了兩種速度的選擇。此接口卡留有多余的控制接口可以進行再擴展,可以實現(xiàn)對PROM、FPG進行讀取,可以實現(xiàn)大容量存儲的高速讀取。此采集卡留有插槽可以在采編器和一些存儲器上簡單的插接就可以和電腦的USB口進行通信了。文章介紹了應用CY7C68013 USB接口芯片做一個簡單的USB接口卡,以及對其程序的實現(xiàn)結(jié)構(gòu)做了個大體的介紹和本設計的硬件實現(xiàn)工作做了個詳細介紹,經(jīng)過實驗室的應用得出CY7C68013 USB接口芯片做簡易USB接口卡到應用程序的開發(fā)是比較簡接和方便,且可以達到較高的數(shù)據(jù)傳輸速度,而且系統(tǒng)的穩(wěn)定性好和易于擴展。隨著USB 技術(shù)的不斷發(fā)展和完善,已經(jīng)使其逐漸成為先進總線接口技術(shù)的標志和方向。
參考文獻:
1 J an Axelson. USB 大全. 北京:中國電力出版社,2001.
2 Chris Cant . Windows WDM 設備驅(qū)動程序開發(fā)指南. 北京:機械工業(yè)出版社,2003
3 KAURA V1 , BLASKO V1Operation of a phase Locked Loop System Under Distorted Utility Conditions 1IEEE Transactions On Industry Applications ,1997 ,33(1) ,58 - 631
4 Chris Cant . 孫義馬莉波國雪飛譯,WindowsWDM設備驅(qū)動程序開發(fā)指南,北京:機械工業(yè)出版社 ,2000
5 魏來,董燕.程控交換實驗系統(tǒng)USB接口設計[J].微計算機信息,2004年,第九期
評論