

(1)提供了從用戶層直接訪問硬件的方法;
(2)無需DDK以及核心態(tài)驅(qū)動程序的開發(fā)經(jīng)驗;
(3)對主流的PCI接口芯片(PLX、AMCC、本特利V3系列)提供了很好的本特利支持;
(4)支持I/O、DMA、本特利中斷處理,本特利支持PCI、本特利ISA、本特利USB、本特利PCMCIA的本特利開發(fā);
(5)對于性能要求特別苛刻的部分通過WinDriver提供的API插入到核心態(tài)模式運行,以提高執(zhí)行效率。本特利
(6)可利用常見的本特利軟件開發(fā)平臺(Visual C++、Borland C++、本特利Delphi等);
有兩種利用WinDriver開發(fā)驅(qū)動程序的本特利方法,現(xiàn)分別介紹如下:
(1)利用WinDriver自帶的本特利WinDriver Wizard分析用戶開發(fā)的插卡,看其是本特利否像設(shè)計的那樣正常工作,然后自動生成驅(qū)動程序的框架代碼 ,修改代碼并加入定制功能,在用戶態(tài)執(zhí)行和調(diào)試代碼并將性能要求苛刻的部分插入到核心態(tài)。
(2)另一種方法是直接應(yīng)用WinDriver提供的API函數(shù)來編寫驅(qū)動程序,實踐證明這種方法比用Wizard生成框架代碼的方法更靈活方便。但要求編程人員對驅(qū)動程序的框架有一定的了解。
一般來說,驅(qū)動程序的結(jié)構(gòu)如下所示:
a、打開WinDriver設(shè)備;
b、查找要訪問的PCI設(shè)備;
c、枚舉該設(shè)備的資源(內(nèi)存、I/O、中斷);
d、鎖定該設(shè)備的資源;
e、訪問插卡上的資源(讀寫內(nèi)存、讀寫I/O、響應(yīng)中斷);
f、解鎖資源;
g、關(guān)閉WinDriver設(shè)備。
本設(shè)計中主要用到中斷調(diào)用。在用戶態(tài),理論上WinDriver能夠處理每秒兩萬次的中斷,若所用RAM為1K,則高數(shù)據(jù)傳輸速率為20M/B。實際上,中斷處理速度達不到2萬次/秒,可考慮增加RAM容量以提高傳輸速度。也可以考慮將速率要求高的部分插入到核心態(tài)運行。
以下是一段使用WinDriver開發(fā)的PLX9050的驅(qū)動代碼,從中可以看出WinDriver驅(qū)動程序的框架結(jié)構(gòu),只要對其稍作修改就可作為其他PCI卡的一部分。程序中沒有給出變量說明,具體說明請查閱WinDriver的設(shè)計文檔。
Denso 410622-1990
3024051205
SAZ47/DRS71S4/ASE1/TF
Festo SLE 50250
S47/DRS71M4/ASE1/TF
CR 866385
Fanuc A06B-0123-B675
Rexroth 0821401261
Schleicher RIO4AI/4AO
Renishaw A-2137-0350-02
Mushroom 630150
CM78H1NX10A1A079N
Elephant Yiii - 160
C30
Toute La Soudure 133406V
Guhring 237-8,000
Ingersoll Rand R3130
Sauer Danfoss 157B6233
PLP10430S0104104104D
36090TW
LV430860
Merlin Gerin 07813
SLT-16-10-P-A
3M 359057
PSIIB - 009
GR25SMT16B25LAC19B5
2FRM10-21/25L
LMK90/K.00.02 T135 043
Cepro 56.50.97
CMO Valves 527231
Norgren RA/8160/X1/400
Fanuc A02B-0092-C052
Fischer 508107
Abb NPOW - 43C
SA6200A-211
Siemens 6SL3040-0MA00-0AA1
Abb 1SFB536068D1011
免責聲明:
AMIKON我們銷售新產(chǎn)品和停產(chǎn)產(chǎn)品,獨立渠道購買此類特色產(chǎn)品。阿米控不是本網(wǎng)站特色產(chǎn)品的授權(quán)分*商、經(jīng)銷商或代表。本網(wǎng)站上使用的所有產(chǎn)品名稱/產(chǎn)品圖片、商標、品牌和徽標均為其各自所有者的財產(chǎn)。帶有這些名稱,圖片、商標、品牌和徽標的產(chǎn)品描述、描寫或銷售僅用于識別目的,并不表示與任何權(quán)利持有人有任何關(guān)聯(lián)或授權(quán)。