久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2025工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

案例頻道

基于PCI總線的LON適配卡驅(qū)動(dòng)程序開(kāi)發(fā)
  • 企業(yè):控制網(wǎng)     領(lǐng)域:工業(yè)以太網(wǎng)     行業(yè):其他    
  • 點(diǎn)擊數(shù):2226     發(fā)布時(shí)間:2004-12-01 13:50:00
  • 分享到:

 

王郁平 凌志浩 吳勤勤

1  引言

    現(xiàn)代計(jì)算機(jī)硬件功能的強(qiáng)大,使其操作系統(tǒng)也變得復(fù)雜,Windows 2000憑借其良好的安全性和穩(wěn)定性成為目前主流操作系統(tǒng)。然而由于Windows 2000的安全機(jī)制使得用戶應(yīng)用程序不能對(duì)系統(tǒng)的硬件資源進(jìn)行直接訪問(wèn),這樣就需要在應(yīng)用程序與硬件之間構(gòu)筑驅(qū)動(dòng)程序模塊。在實(shí)際工控應(yīng)用中需要對(duì)自行開(kāi)發(fā)的硬件設(shè)備進(jìn)行控制,這樣就需要開(kāi)發(fā)特定的設(shè)備驅(qū)動(dòng)程序來(lái)跨越操作系統(tǒng)邊界對(duì)硬件資源進(jìn)行操作,并與用戶應(yīng)用程序進(jìn)行通信。本文給出了一個(gè)基于PCI總線的LonWorks智能通信適配卡驅(qū)動(dòng)程序開(kāi)發(fā)與應(yīng)用實(shí)例,實(shí)現(xiàn)了應(yīng)用程序與適配卡中雙口RAM之間的數(shù)據(jù)通信。

2  WDM驅(qū)動(dòng)模型

2.1  Windows 2000的系統(tǒng)結(jié)構(gòu)

    要寫驅(qū)動(dòng)程序,必須要了解操作系統(tǒng)的結(jié)構(gòu)。在WDM體系中,Windows 2000操作系統(tǒng)是最標(biāo)準(zhǔn)的實(shí)現(xiàn)方式,圖1顯示了Windows 2000系統(tǒng)結(jié)構(gòu)。在Windows 2000操作系統(tǒng)環(huán)境下,一部分組件運(yùn)行在用戶模式下,其它的則運(yùn)行在內(nèi)核模式下。

    用戶模式下的應(yīng)用程序?qū)?/SPAN>Windows子系統(tǒng)進(jìn)行Win32 API的調(diào)用,這個(gè)調(diào)用由系統(tǒng)服務(wù)接口作用到I/O管理器,I/O管理器進(jìn)行必要的參數(shù)匹配和操作安全性檢查,然后創(chuàng)建一個(gè)稱為IRP(IO Request PackageIO請(qǐng)求包)的數(shù)據(jù)結(jié)構(gòu),并把此IRP作為參數(shù)傳遞給驅(qū)動(dòng)程序。這樣,驅(qū)動(dòng)程序處理這個(gè)請(qǐng)求包,通過(guò)識(shí)別IRP中的物理設(shè)備對(duì)象(Physical Device ObjectPDO)來(lái)區(qū)別是發(fā)送給哪個(gè)設(shè)備的,當(dāng)要訪問(wèn)硬件時(shí),驅(qū)動(dòng)程序通過(guò)調(diào)用硬件抽象層函數(shù)來(lái)實(shí)現(xiàn)。硬件抽象層是Windows體系中的一個(gè)重要概念,它屏蔽了不同硬件平臺(tái)的差異,向操作系統(tǒng)上層提供統(tǒng)一接口。當(dāng)驅(qū)動(dòng)程序處理完這個(gè)請(qǐng)求后,會(huì)將處理結(jié)果返回給I/O管理器,最后再由I/O管理器將執(zhí)行結(jié)果返回給用戶模式下的應(yīng)用程序。

 

1  Windows 2000系統(tǒng)結(jié)構(gòu)

2.2  WDM驅(qū)動(dòng)程序模型

    在WDM驅(qū)動(dòng)程序模型中,每個(gè)硬件設(shè)備至少有兩個(gè)驅(qū)動(dòng)程序:一個(gè)稱為功能(function)驅(qū)動(dòng)程序,它了解使硬件工作的所有細(xì)節(jié),負(fù)責(zé)初始化I/O操作,處理I/O操作完成時(shí)所帶來(lái)的中斷事件,為用戶提供一種設(shè)備適合的控制方式;另一個(gè)稱為總線(bus)驅(qū)動(dòng)程序,它負(fù)責(zé)管理硬件與計(jì)算機(jī)的連接。

    一個(gè)驅(qū)動(dòng)程序通常包含許多例程,當(dāng)操作系統(tǒng)遇到一個(gè)IRP包時(shí),就調(diào)用驅(qū)動(dòng)程序中相應(yīng)的例程來(lái)執(zhí)行該IRP的操作,基本驅(qū)動(dòng)例程有:

    (1)  DriverEntry例程:負(fù)責(zé)驅(qū)動(dòng)程序的初始化,主要是初始化驅(qū)動(dòng)程序范圍的數(shù)據(jù)結(jié)構(gòu)和資源。所有驅(qū)動(dòng)程序都必須包含此例程,當(dāng)驅(qū)動(dòng)程序被裝載時(shí),PnP管理器為每個(gè)驅(qū)動(dòng)程序調(diào)用一次DriverEntry例程。

    (2)  AddDevice例程:PnP管理器調(diào)用此例程來(lái)初始化由該驅(qū)動(dòng)程序所控制的設(shè)備。當(dāng)系統(tǒng)運(yùn)行時(shí),一旦有新設(shè)備被枚舉,系統(tǒng)將調(diào)用AddDevice例程。

    (3)  Upload例程:負(fù)責(zé)釋放由DriverEntry例程所分配的驅(qū)動(dòng)程序范圍內(nèi)的資源。

3  WDM驅(qū)動(dòng)程序開(kāi)發(fā)

3.1  硬件背景

    LON適配卡硬件接口如圖2所示,現(xiàn)場(chǎng)智能節(jié)點(diǎn)通過(guò)LonWorks總線將數(shù)據(jù)傳到監(jiān)控計(jì)算機(jī)的LON適配卡時(shí),Neuron芯片通過(guò)總線收發(fā)器讀入數(shù)據(jù),通過(guò)轉(zhuǎn)換和運(yùn)算后,按規(guī)定的協(xié)議寫入雙口RAM中,這樣監(jiān)控計(jì)算機(jī)就可以通過(guò)PCI總線控制器讀取雙口RAM中的數(shù)據(jù),來(lái)得到各智能節(jié)點(diǎn)送來(lái)的數(shù)據(jù),實(shí)現(xiàn)監(jiān)控功能。反之當(dāng)計(jì)算機(jī)要發(fā)送參數(shù)或控制信息給智能節(jié)點(diǎn)時(shí),PCI總線控制器把PC機(jī)發(fā)送來(lái)的數(shù)據(jù)按照一定的協(xié)議寫入到雙口RAM中,Neuron芯片讀取雙口RAM中的信息,然后通過(guò)總線收發(fā)器發(fā)送到LonWorks總線網(wǎng)絡(luò)中去。

 

2  適配卡硬件接口原理圖

3.2  驅(qū)動(dòng)開(kāi)發(fā)工具的選擇

    現(xiàn)在比較流行的驅(qū)動(dòng)開(kāi)發(fā)工具主要有3種:Windows DDKDriverWorksWindriver。表1簡(jiǎn)單對(duì)這3種工具作了分析和比較。在此,選擇DriverWorks開(kāi)發(fā)工具和Visual C++語(yǔ)言來(lái)對(duì)LON適配卡的驅(qū)動(dòng)程序進(jìn)行開(kāi)發(fā)。

1  開(kāi)發(fā)工具的分析比較

3.3  WDM驅(qū)動(dòng)程序框架

        DriverWizardDriverWorks創(chuàng)建WDM框架程序的工具,其簡(jiǎn)單易用的開(kāi)發(fā)向?qū)軌驇椭_(kāi)發(fā)人員迅速開(kāi)發(fā)出特定的硬件設(shè)備驅(qū)動(dòng)程序框架,其主要步驟包括:

        (1)  選擇運(yùn)行平臺(tái):有WDM DriverNT4.0 Style DriverEmpty Driver ProjectSimple C++ Driver,如果選擇WDM Driver則會(huì)進(jìn)一步要求選擇WDM類型,包括WDM Function DriverWDM Filter Driver等。

        (2)  選擇總線類型:有ISAPCIUSBPCMCIA

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 久草久在线| 免费一级大片儿 | 欧美一区二区三区性 | 日韩欧美毛片免费观看视频 | 国产美女主播在线 | 请看一下欧美一级毛片 | 欧美另类精品xxxx人妖换性 | 在线看免费涩涩视频网 | 国产精品麻豆99久久 | 韩日在线播放 | 欧洲免费极品videos | 久久99影院网久久久久久 | 亚洲欧美日韩综合久久久久 | 97色婷婷| 在线伊人 | 免费看黄色片视频 | 天天更新天天久久久更新影院 | 尤物视频在线观看免费视频 | 国产高清在线精品一区αpp | 免费一级特黄 欧美大片 | 在线观看免费播放网址成人 | 999国产精品999久久久久久 | 国产精品无码专区在线观看 | 国产精品亚洲欧美云霸高清 | 国产成人综合95精品视频免费 | 午夜精品一区二区三区免费视频 | 黄色一级毛片 | 日本高清免费一本视频在线观看 | 51久久夜色精品国产 | 精品亚洲在线 | 亚洲ss | 免费黄色影院 | 免费人成观看在线网 | 日韩岛国大片 | 久久这里只有精品23 | 高清精品一区二区三区一区 | 毛色毛片免费观看 | 在浴室边摸边吃奶边做视频 | 免费观看欧美精品成人毛片能看的 | 日韩a级毛片免费视频 | 国产成人一区二区在线不卡 |