![]() |
表1中,DID和VID是PLX公司的標志,一般不能更改。操作系統(tǒng)就是通過DID、VID、SDID、SVID及設備類型碼來識別不同廠家的設備的。
在ISA模式下,局部空間1必須映射為I/O空間,局部空間0必須映射為內(nèi)存空間。另外要注意:在ISA模式下雖然不存在片選信號,但我們必須設置它,使它的值和局部空間1的基地址和范圍相匹配,否則,局部地址空間無法響應PCI的控制指令。同樣,如果用到局部地址空間0,也要設置它的值。
對于PCI9052芯片,它的配置寄存器的內(nèi)容是在芯片復位時通過串行EEPROM加載的。在ISA模式下,串行EEPROM一定不能省略,我們一般使用松下公司的NM93CS46或與之兼容的存儲器。配置寄存器的內(nèi)容編寫完以后,可以用編程器寫入EEPROM中。另外,也可以通過主機在線燒寫,但由于各種原因,成功率很低。3 板卡調(diào)試
板卡做好以后,就可以插入主機板的PCI插槽中進行調(diào)試。在調(diào)試的過程中,為了跟蹤信號的變化通常要用到數(shù)字示波器,另外,還需要一個軟件調(diào)試工具。PLX公司提供了一個905X的專用調(diào)試軟件PLXmon,我們可以從它的網(wǎng)站免費下載。PLXmon包括以下功能:PCI總線的探測與選擇;配置寄存器的檢查和修改;內(nèi)存空間的顯示、修改和填充;EEPROM內(nèi)容的讀寫等。利用這個工具,我們可以很清楚地看到EEPROM的內(nèi)容以及PCI配置寄存器和局部端配置寄存器的內(nèi)容,另外,用戶還可以進行內(nèi)存和I/O端口的讀寫。
此外,我們也可以用WinDriver或SoftICE軟件進行板卡調(diào)試,但總的來說,使用起來都不如PLXmon方便。有了開發(fā)工具,設計者就可以根據(jù)板卡的具體要求進行調(diào)試了。
4 驅(qū)動程序的編寫
板卡調(diào)試成功以后就可以編寫驅(qū)動程序了。目前,編寫驅(qū)動程序最常用的工具是VtoolsD和WinDriver,它們都是專門的驅(qū)動開發(fā)工具。尤其是WinDriver,開發(fā)人員不需要掌握WINDOWS驅(qū)動編程的知識,利用它的向?qū)Чぞ,能很快地開發(fā)出高質(zhì)量的驅(qū)動程序。
在Windows9x環(huán)境下,操作系統(tǒng)統(tǒng)一管理硬件資源,出于安全性考慮,ring3層應用程序不能直接訪問硬件(I/O端口訪問除外),因此,必須編寫運行在ring0層的虛擬設備驅(qū)動程序(VxD)來響應系統(tǒng)底層的中斷。如果板卡只有I/O操作,而沒有用到中斷和內(nèi)存操作,可以不用編寫驅(qū)動程序,直接在應用程序里實現(xiàn)輸入輸出就可以了。編程的方法是先找到板卡,再找到卡中與我們用到的局部空間相對應的PCI基地址,然后就可以根據(jù)要求對這個基地址進行操作了。如果在WINDOWS98以上版本的操作系統(tǒng)下,就要編寫WDM設備驅(qū)動程序了。
5 結束語
由于PCI總線數(shù)據(jù)吞吐量大,傳輸速率高,在微機接口設計中,基于PCI總線的設計成為主流。PCI9052是一款優(yōu)秀的PCI接口芯片,設計者用它可避免直接面對復雜的PCI總線協(xié)議,降低了設計難度,從而使用戶可以集中精力解決具體的應用問題,縮短了開發(fā)周期。實踐證明,PCI9052為開發(fā)作為總線接口目標設備的產(chǎn)品,特別是對基于ISA總線的接口板向PCI的轉(zhuǎn)換提供了極大的方便。






