新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機總線接口芯片及其ISA模式應用

        單片機總線接口芯片及其ISA模式應用

        作者: 時間:2012-02-20 來源:網絡 收藏

        2.3 串行EEPROM的配置

        相比,PCI支持三個物理空間:存儲器地址空間、I/O地址空間和配置空間。配置空間是PCI所特有的一個空間,所有的PCI設備必須提供配置空間。串行EEPROM存儲了PCI9052重要的配置信息,如設備號DID、制造商號VID、子設備號SDID、子制造商號SVID、中斷號、設備類型號、局部空間基地址、局部空間描述符、片選響應以及局部響應控制CNTRL等信號。EEPROM的內容非常重要,它直接關系到整個板卡能否正常工作,在設計時要非常注意。

        系統加電時,通過PCI的RST復位以后,PCI9052首先檢測EEPROM是否存在。如果檢測到EEPROM首字不是FFFFH,PCI9052將依次讀取EEPROM的內容來初始化內部寄存器。PCIBIOS根據配置寄存器的內容進行系統資源分配,這樣,整個PCI設備的資源才不會發生沖突,從而實現了PCI的即插即用的特性。

        PCI9052的內部寄存器為總線的設計與實現提供了最大的靈活性,這些寄存器可以分為兩類:PCI配置寄存器和局部配置寄存器。PCI配置寄存器有6個基地址寄存器,這些基地址是在系統中的物理地址。其中,基地址0和基地址1分別是以內存方式和I/O方式訪問局部配置寄存器的基地址,基地址2和基地址3分別映射到局部基地址0和局部基地址1。局部總線配置寄存器用于設定局部總線的工作方式,如基地址和地址范圍等。實際上,9052在PCI和總線之間起到一個翻譯作用,要訪問端地址只需對PCI端基地址進行操作就可以了。對于我們的設計,EEPROM的值及裝入順序如表1所示。

        24.jpg

        表1中,DID和VID是PLX公司的標志,一般不能更改。操作系統就是通過DID、VID、SDID、SVID及設備類型碼來識別不同廠家的設備的。

        在ISA下,局部空間1必須映射為I/O空間,局部空間0必須映射為內存空間。另外要注意:在ISA下雖然不存在片選信號,但我們必須設置它,使它的值和局部空間1的基地址和范圍相匹配,否則,局部地址空間無法響應PCI的控制指令。同樣,如果用到局部地址空間0,也要設置它的值。

        對于PCI9052,它的配置寄存器的內容是在復位時通過串行EEPROM加載的。在ISA下,串行EEPROM一定不能省略,我們一般使用松下公司的NM93CS46或與之兼容的存儲器。配置寄存器的內容編寫完以后,可以用編程器寫入EEPROM中。另外,也可以通過主機在線燒寫,但由于各種原因,成功率很低。

        3 板卡調試

        板卡做好以后,就可以插入主機板的PCI插槽中進行調試。在調試的過程中,為了跟蹤信號的變化通常要用到數字示波器,另外,還需要一個軟件調試工具。PLX公司提供了一個905X的專用調試軟件PLXmon,我們可以從它的網站免費下載。PLXmon包括以下功能:PCI總線的探測與選擇;配置寄存器的檢查和修改;內存空間的顯示、修改和填充;EEPROM內容的讀寫等。利用這個工具,我們可以很清楚地看到EEPROM的內容以及PCI配置寄存器和局部端配置寄存器的內容,另外,用戶還可以進行內存和I/O端口的讀寫。

        此外,我們也可以用WinDriver或SoftICE軟件進行板卡調試,但總的來說,使用起來都不如PLXmon方便。有了開發工具,設計者就可以根據板卡的具體要求進行調試了。

        4 驅動程序的編寫

        板卡調試成功以后就可以編寫驅動程序了。目前,編寫驅動程序最常用的工具是VtoolsD和WinDriver,它們都是專門的驅動開發工具。尤其是WinDriver,開發人員不需要掌握WINDOWS驅動編程的知識,利用它的向導工具,能很快地開發出高質量的驅動程序。

        在Windows9x環境下,操作系統統一管理硬件資源,出于安全性考慮,ring3層程序不能直接訪問硬件(I/O端口訪問除外),因此,必須編寫運行在ring0層的虛擬設備驅動程序(VxD)來響應系統底層的中斷。如果板卡只有I/O操作,而沒有用到中斷和內存操作,可以不用編寫驅動程序,直接在程序里實現輸入輸出就可以了。編程的方法是先找到板卡,再找到卡中與我們用到的局部空間相對應的PCI基地址,然后就可以根據要求對這個基地址進行操作了。如果在WINDOWS98以上版本的操作系統下,就要編寫WDM設備驅動程序了。

        5 結束語

        由于PCI總線數據吞吐量大,傳輸速率高,在微機設計中,基于PCI總線的設計成為主流。PCI9052是一款優秀的PCI,設計者用它可避免直接面對復雜的PCI總線協議,降低了設計難度,從而使用戶可以集中精力解決具體的問題,縮短了開發周期。實踐證明,PCI9052為開發作為總線接口目標設備的產品,特別是對基于ISA總線的接口板向PCI的轉換提供了極大的方便。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泽库县| 铁岭县| 保定市| 博白县| 鄂托克旗| 九龙坡区| 汽车| 浙江省| 蓝山县| 兴义市| 临桂县| 蓬莱市| 泊头市| 兰州市| 溆浦县| 云和县| 曲麻莱县| 铜鼓县| 舟曲县| 绩溪县| 图片| 海安县| 正宁县| 扬州市| 兴国县| 三江| 扎赉特旗| 安溪县| 南丹县| 双柏县| 绿春县| 怀柔区| 隆德县| 孟村| 白银市| 广宗县| 米脂县| 广元市| 井冈山市| 磴口县| 墨竹工卡县|