PCI總線電機(jī)控制卡的WDM設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)
5驅(qū)動(dòng)程序的安裝與應(yīng)用
Windows98和Windows2000是依靠INF文件來(lái)得到硬件設(shè)備驅(qū)動(dòng)程序的安裝信息的一個(gè)設(shè)備信息文件(INF)。只要將文件中雙引號(hào)中的提示改為相應(yīng)的內(nèi)容即可生成我們自己的設(shè)備信息文件。
[Strings]
ProviderName=“yourcompanynamehere”//公司名稱
MfgName=“NameofHWmanufacturerhere”//硬件制造商名稱
DeviceDesc=“Descriptionofdevicehere”//設(shè)備描述
DeviceClassName=“Descriptionofdeviceclasshere”//設(shè)備類的描述
當(dāng)系統(tǒng)加電時(shí),WINDOWS操作系統(tǒng)會(huì)自動(dòng)檢測(cè)所有外設(shè),當(dāng)?shù)谝淮螜z測(cè)到我們的設(shè)備時(shí)系統(tǒng)會(huì)提示用戶指定新硬件的驅(qū)動(dòng)程序。根據(jù)提示指定了我們修改過(guò)的INF文件,以及編譯后生成的.sys系統(tǒng)文件系統(tǒng)就自動(dòng)安裝好了新硬件的驅(qū)動(dòng)程序?;蛘呖梢杂每刂泼姘逯械奶砑有掠布?lái)搜索新硬件。
驅(qū)動(dòng)程序安裝好以后,在應(yīng)用程序中就可以像打開(kāi)其他驅(qū)動(dòng)程序(如虛擬設(shè)備驅(qū)動(dòng)程序VxD)一樣用CreateFile打開(kāi)設(shè)備。お
6基于PCI總線的電機(jī)運(yùn)動(dòng)控制卡
圖2為該系統(tǒng)硬件組成框圖,該控制卡采用PCI總線實(shí)現(xiàn)主計(jì)算機(jī)與控制卡之間的信息傳遞??刂瓶ㄉ嫌?個(gè)伺服控制專用芯片LM628,分別用于控制伺服電機(jī);來(lái)自2個(gè)伺服電機(jī)的增量式碼盤輸入信號(hào)(A相、B相和Z脈沖),經(jīng)電平變換后分別送入LM628經(jīng)四倍頻和計(jì)數(shù)后作為反饋信號(hào),由LM628根據(jù)主計(jì)算機(jī)給定的位置、速度、加速度生成梯形軌跡速度曲線作為給定值,實(shí)現(xiàn)伺服電機(jī)的反饋控制。主計(jì)算機(jī)對(duì)該控制器發(fā)送命令,伺服控制器即按給定的運(yùn)動(dòng)形式輸出相應(yīng)的數(shù)字信號(hào),本卡中LM628工作于8位工作方式,產(chǎn)生輸出到功率放大器件。
應(yīng)用PCI總線目標(biāo)接口芯片PCI9052完成控制卡的接口部分,專用運(yùn)動(dòng)控制處理芯片LM628完成對(duì)電機(jī)的控制,再加上相應(yīng)的電路,即實(shí)現(xiàn)了基于PCI總線的精密電機(jī)運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)。お
7結(jié)束語(yǔ)
WDM用一個(gè)相對(duì)獨(dú)立的模塊來(lái)處理設(shè)備數(shù)據(jù)的傳輸,驅(qū)動(dòng)程序在這個(gè)模塊中啟動(dòng)或停止設(shè)備,并實(shí)現(xiàn)中斷或其他方式的輸入輸出操作。WDM使驅(qū)動(dòng)程序的結(jié)構(gòu)非常清晰、完整,也使中斷I/O方式的設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)更加方便、快捷。應(yīng)用WDM編制的設(shè)備驅(qū)動(dòng)程序在本電機(jī)控制卡得到很好的應(yīng)用。
評(píng)論