超聲波流量計(jì) 超聲波換能器性能開(kāi)發(fā)及設(shè)計(jì)與實(shí)現(xiàn)五十五
4.4.5設(shè)備驅(qū)動(dòng)程序
設(shè)備驅(qū)動(dòng)程序介于硬件與用戶應(yīng)用軟件之間,(超聲波流量計(jì))為應(yīng)用程序訪問(wèn)硬件設(shè)備提供了統(tǒng)一的軟件接口。驅(qū)動(dòng)程序?qū)⑹箲?yīng)用程序以一種規(guī)范的方式訪問(wèn)硬件,而不必考慮具體設(shè)備的物理連接、信號(hào)傳輸、信令控制以及與一個(gè)設(shè)備進(jìn)行通信所需要的協(xié)議等細(xì)節(jié)。USB驅(qū)動(dòng)程序處于應(yīng)用程序和設(shè)備端固件之間,使操作系統(tǒng)識(shí)別USB設(shè)備,并建立起主機(jī)端和設(shè)備端之間的通訊,是用戶訪問(wèn)設(shè)備的接口。
CYPRESS公司提供了通用的驅(qū)動(dòng)程序(ezusb.sys),可用于基于EZ-USB FX2系列的芯片,能夠完成基本的USB通信任務(wù),用戶也可以使用相關(guān)驅(qū)動(dòng)開(kāi)發(fā)工具經(jīng)行定制開(kāi)發(fā)。考慮到開(kāi)發(fā)進(jìn)度和系統(tǒng)功能實(shí)現(xiàn)的要求,設(shè)計(jì)中使用了CYPRESS公司提供的通用驅(qū)動(dòng)程序。首先將ezusbsys.h文件拷貝到應(yīng)用程序工程目錄下,并添加到頭文件列表中,然后將USBD PIPE INFORMATION和USBD INTERFACE INFORMATION類型添加到所建工程的頭文件中,這樣就可以通過(guò)應(yīng)用程序來(lái)讀寫(xiě)USB設(shè)備了。
在頭文件ezusbsys.h中,包含有塊傳輸?shù)慕Y(jié)構(gòu)和IOCTL代碼的定義,其中,BULK 11乙氣NSFER CO冊(cè)己OL用于控制塊傳輸,IOCTL EZUSB BUUWRITE用于主機(jī)向USB設(shè)備發(fā)送塊數(shù)據(jù),IOCTL 用于主機(jī)讀取設(shè)備發(fā)出的塊數(shù)據(jù)。
超聲波流量計(jì)