日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]PCI總線電機控制卡的WDM設備驅(qū)動程序設計

摘要:結合基于PCI總線的精密電機運動控制卡,介紹了PCI設備的WDM設備驅(qū)動程序的設計過程,PCI設備的獲得,I/O端口的讀寫,內(nèi)存的讀寫以及中斷的處理,和設備驅(qū)動程序的安裝。

關鍵詞:PCI總線;WDM

1引言

微型計算機界以INTEL公司為主推出了PCI總線規(guī)范。采用PCI總線設備所具有的配置空間以及PCI總線通過橋接電路與CPU相連的技術使PCI總線具有廣泛的適應性,并且PCI總線采用寬字節(jié)和高達33Mb的時鐘頻率的猝發(fā)和主控方式傳輸能滿足高速設備的要求。

在WINDOWS操作系統(tǒng)下,開發(fā)PCI設備的驅(qū)動程序最好的方案是WDM驅(qū)動程序。在一個系統(tǒng)中開發(fā)出WDM驅(qū)動程序,稍加修改即可在其他系統(tǒng)中編譯運行。??

2WINDOWS驅(qū)動程序模型WDM

WDM(WINDOWSDriverProgramModel)是一個模塊化的、分層次類型的微型驅(qū)動程序結構,它是編寫設備驅(qū)動程序的主要模型。設備驅(qū)動程序是提供連接到計算機的硬件的軟件接口,它是操作系統(tǒng)的一部分,用戶應用程序以一種規(guī)范的方式訪問硬件,而不必考慮必須如何控制硬件。在WINDOWS中,驅(qū)動程序總是使設備看起來像是一個文件,可以打開設備的一個句柄,然后應用程序可以在設備句柄最后關閉之前向驅(qū)動程序發(fā)出讀寫請求。WDM是在WindowsNT驅(qū)動程序體系的基礎上發(fā)展而來的,修改或增加了即插即用、電源管理等功能,使之適應硬件和用戶的要求。

PCI總線是一種高性能、與CPU無關的32/64位地址數(shù)據(jù)復用的總線,它支持突發(fā)傳輸、即插即用、電源管理等功能,不但能滿足現(xiàn)在的應用需要,而且能夠適應未來的需求。PCI總線支持硬件資源動態(tài)自動配置,以支持即插即用。在PCI設備插入PCI插槽或上電后,PCI總線配置機構自動根據(jù)PCI設備的要求實現(xiàn)配置。PCI總線支持內(nèi)存讀寫、I/O端口讀寫、中斷機制和DMA功能。由于這些硬件特點使PCI設備的WDM驅(qū)動程序的設計變得很復雜。在開發(fā)WDM驅(qū)動程序之前,還有必須掌握PCI設備的需要分配的資源等配置信息以及PCI設備的功能和操作方法。

在WDM中,采用了分層的驅(qū)動程序體系結構,總線驅(qū)動程序或類驅(qū)動程序在最底層直接與設備打交道,設備功能驅(qū)動程序在上層通過與低層驅(qū)動程序打交道,實現(xiàn)設備的功能,中間還可以有類過濾驅(qū)動程序或設備過濾驅(qū)動程序用于數(shù)據(jù)的過濾或轉(zhuǎn)換。在PCI總線的驅(qū)動程序?qū)又?,其層次圖如圖1所示:?

在PCI設備的WDM驅(qū)動程序中,一般是編寫功能驅(qū)動程序。PCI總線驅(qū)動程序由操作系統(tǒng)實現(xiàn),過濾驅(qū)動程序一般在特殊的情況下需要編寫。因此本文只討論PCI設備功能驅(qū)動程序的設計。在PCI設備功能驅(qū)動程序中,需要處理PCI設備的內(nèi)存、端口的讀寫、中斷處理和DMA數(shù)據(jù)傳輸,實現(xiàn)PCI設備的功能,因此,PCI設備功能驅(qū)動程序是很標準的WDM設備驅(qū)動程序。??

3PCI設備資源的獲得及內(nèi)存、I/O讀寫

PCI設備的硬件資源是由PCI配置機構動態(tài)分配的,由PCI設備實現(xiàn)PCI配置寄存器,提出需要分配的硬件資源,由PCI配置機構分配資源。驅(qū)動程序需要取得這些資源,才能操作硬件。因此,PCI設備的硬件資源分配與管理是驅(qū)動程序中很重要的部分。硬件資源主要包括映射內(nèi)存空間、I/O空間、中斷。當系統(tǒng)的PNP管理器在取得設備的資源后會自動向驅(qū)動程序發(fā)出IRP_MN_START_DEVICE的IRP,在該IRP棧中包含了設備的資源信息。好的驅(qū)動程序都應該使用這種方法,每個支持PNP功能的驅(qū)動程序,都應實現(xiàn)IRP_MN_START_DEVICE處理。在該IRP處理中應先交給低層驅(qū)動程序處理后,再根據(jù)IRP棧內(nèi)內(nèi)容進行資源分配。

在PCI設備的驅(qū)動程序中,獲得的設備內(nèi)存是一段映射物理內(nèi)存,這是無法使用的,需要將其映射成系統(tǒng)可以訪問的非分頁內(nèi)存。函數(shù)MmMapIoSpace完成該功能。該函數(shù)的原型為:?

參數(shù)PhysicalAddress為物理地址;NumberOfBytes為地址的數(shù)量;CacheEnable為內(nèi)存是否可以隱藏,取值可為MmNonCached,MmCached,MmWriteCombined,這里必須取為MmNonCached。

在PC上,I/O空間是一個64K字節(jié)的尋址空間。I/O端口的尋址方式與內(nèi)存是不一樣的。但是在WDM驅(qū)動程序中,對其處理與內(nèi)存是一樣的,把其看作寄存器,映射為設備內(nèi)存。其映射方法和訪問函數(shù)的用法與內(nèi)存資源一樣,只不過函數(shù)XXXREGISTERXXX改為XXXPORTXXX。??

4中斷的處理

在PCI總線中,很多設備共享一個中斷,這就需要在中斷處理函數(shù)要格外小心,處理不當,就會導致系統(tǒng)崩潰。驅(qū)動程序首先要在IRPMNSTARTDEVICE中獲得中斷資源,然后需要連接到中斷處理函數(shù)中,使其當有中斷請求時,進入中斷服務例程。連接中斷的函數(shù)為IoConnectInterrupt,具體用法見上段程序中的“中斷資源”部分。十分需要注意的是在連接中斷之前,一定要確定PCI設備不會產(chǎn)生中斷請求,最好在PCI設備上電后,中斷為屏蔽狀態(tài)。在連接中斷后,調(diào)用開啟中斷請求的函數(shù)需要同步處理,以防在函數(shù)的執(zhí)行中,出現(xiàn)運行時間上的錯誤,而且在開啟中斷時,一定要在所有的硬件資源分配以后,否則如果有中斷產(chǎn)生,系統(tǒng)就會立即調(diào)用中斷處理例程,如果例程中使用了還沒有分配的資源,就會出現(xiàn)意想不到的結果。

在中斷服務例程中,相應的處理最好簡潔快速,因為中斷例程運行的級別很高,當有中斷請求時,不但會打斷應用程序的執(zhí)行,而且會打斷在硬件中斷級以下的所有運行程序。在WDM中,提供了DPC(DeferredProcedureCall)例程,將在中斷例程中耗時的但不需要立即處理的任務延時處理。比如,驅(qū)動程序接受應用程序的寫PCI設備的數(shù)據(jù),當寫完后,硬件產(chǎn)生中斷標志執(zhí)行完畢,這時需要結束該IRP,就可以將結束IRP這個耗時的任務交給DPC完成。

在該實例中,由應用程序調(diào)用函數(shù)WriteFile,將數(shù)據(jù)傳遞給驅(qū)動程序,驅(qū)動程序的DispatchWrite例程負責處理該IRP,在該例程中,由于需要中斷的配合,假定無法立即執(zhí)行完畢,必須將IRP串行化,StartIo例程如果沒有其他任務,就開始處理該IRP,處理完畢后立即返回,但不能結束IRP,當PCI設備完成操作后,就會產(chǎn)生中斷,在中斷服務例程中把IRP交給DPC,在DPC中處理完后結束該IRP。??[!--empirenews.page--]

5驅(qū)動程序的安裝與應用

Windows98和Windows2000是依靠INF文件來得到硬件設備驅(qū)動程序的安裝信息的一個設備信息文件(INF)。只要將文件中雙引號中的提示改為相應的內(nèi)容即可生成我們自己的設備信息文件。

[Strings]

ProviderName=“yourcompanynamehere”//公司名稱

MfgName=“NameofHWmanufacturerhere”//硬件制造商名稱

DeviceDesc=“Descriptionofdevicehere”//設備描述

DeviceClassName=“Descriptionofdeviceclasshere”//設備類的描述

當系統(tǒng)加電時,WINDOWS操作系統(tǒng)會自動檢測所有外設,當?shù)谝淮螜z測到我們的設備時系統(tǒng)會提示用戶指定新硬件的驅(qū)動程序。根據(jù)提示指定了我們修改過的INF文件,以及編譯后生成的.sys系統(tǒng)文件系統(tǒng)就自動安裝好了新硬件的驅(qū)動程序。或者可以用控制面板中的添加新硬件來搜索新硬件。

驅(qū)動程序安裝好以后,在應用程序中就可以像打開其他驅(qū)動程序(如虛擬設備驅(qū)動程序VxD)一樣用CreateFile打開設備。??

6基于PCI總線的電機運動控制卡

圖2為該系統(tǒng)硬件組成框圖,該控制卡采用PCI總線實現(xiàn)主計算機與控制卡之間的信息傳遞??刂瓶ㄉ嫌?個伺服控制專用芯片LM628,分別用于控制伺服電機;來自2個伺服電機的增量式碼盤輸入信號(A相、B相和Z脈沖),經(jīng)電平變換后分別送入LM628經(jīng)四倍頻和計數(shù)后作為反饋信號,由LM628根據(jù)主計算機給定的位置、速度、加速度生成梯形軌跡速度曲線作為給定值,實現(xiàn)伺服電機的反饋控制。主計算機對該控制器發(fā)送命令,伺服控制器即按給定的運動形式輸出相應的數(shù)字信號,本卡中LM628工作于8位工作方式,產(chǎn)生輸出到功率放大器件。

應用PCI總線目標接口芯片PCI9052完成控制卡的接口部分,專用運動控制處理芯片LM628完成對電機的控制,再加上相應的電路,即實現(xiàn)了基于PCI總線的精密電機運動控制卡的硬件設計。??

7結束語

WDM用一個相對獨立的模塊來處理設備數(shù)據(jù)的傳輸,驅(qū)動程序在這個模塊中啟動或停止設備,并實現(xiàn)中斷或其他方式的輸入輸出操作。WDM使驅(qū)動程序的結構非常清晰、完整,也使中斷I/O方式的設備驅(qū)動程序的設計和實現(xiàn)更加方便、快捷。應用WDM編制的設備驅(qū)動程序在本電機控制卡得到很好的應用。?

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

電機作為現(xiàn)代工業(yè)生產(chǎn)和日常生活中不可或缺的動力設備,其運行狀態(tài)直接影響著設備的安全性和使用壽命。

關鍵字: 電機控制

編碼器實質(zhì)上是一種旋轉(zhuǎn)式傳感器,它能夠?qū)⑿D(zhuǎn)部件的位置和位移物理量轉(zhuǎn)化為數(shù)字脈沖信號。這些脈沖信號隨后被控制系統(tǒng)捕獲并處理,從而發(fā)出指令,實現(xiàn)對設備運行狀態(tài)的精準調(diào)整。值得一提的是,編碼器與齒輪條或螺旋絲杠的組合,還能用...

關鍵字: 編碼器 電機控制

隨著社會不斷發(fā)展與進步 ,人們對生活質(zhì)量的追求 日益提高 ,浴缸產(chǎn)品已經(jīng)不再是只具有簡單的洗浴功能 ,得益于 科技的飛速發(fā)展 , 浴缸也邁入了智能化時代 , 從生活的必備品升級為__種追求高生活質(zhì)量的產(chǎn)品 。 鑒于此 ,...

關鍵字: PIC24FJ256單片機 智能控制 傳感器檢測 過零檢測 電機控制

STM32微控制器憑借其針對電機控制場景的深度優(yōu)化,成為高精度、高可靠性驅(qū)動系統(tǒng)的核心選擇。相較于通用型MCU,STM32在電機控制領域的核心優(yōu)勢集中體現(xiàn)在FOC(磁場定向控制)算法的硬件加速引擎與PWM死區(qū)時間的動態(tài)補...

關鍵字: STM32 電機控制

2025年7月14日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics) 宣布與Qorvo合作推出一本新的電子書,書中匯集了行業(yè)專家對電機控制應用中可用的方法、...

關鍵字: 電機控制 自動化 機器人

2025年7月2日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售英飛凌的PSOC? Control C3 微控制器 (MCU)。PSOC Co...

關鍵字: MCU 電機控制 機器人

內(nèi)置繼電器驅(qū)動電路與微控制器為車載直流有刷電機控制提供集成解決方案

關鍵字: 電機控制 繼電器 微控制器

【2025年6月20日, 德國慕尼黑訊】來自印度的深科技初創(chuàng)公司Reflex Drive選擇英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)的半導體功率器件,用于其下一代無人機(UAV)電機控制解...

關鍵字: 無人機 電機控制 功率器件

在當今世界,電機無處不在,從家用電器到工業(yè)機械都依賴其提供動力。鑒于電機消耗了全球能源的很大一部分,優(yōu)化電機控制以實現(xiàn)節(jié)能的重要性再怎么強調(diào)也不為過。本文深入探討了電機的結構、變頻驅(qū)動器(VFD)的應用,以及電機控制解決...

關鍵字: 電機控制 變頻驅(qū)動器 機器人

2025年5月26日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics) 宣布與Analog Devices, Inc. (ADI) 合作推出全新電子書《14...

關鍵字: 電機控制 電動汽車 工業(yè)機器人
關閉