基于PCI9054橋路器的數據傳輸的接口邏輯設計
圖6是借助于Xilinx ISE 9.1i仿真工具對在C模式下的8位本地總線(xiàn)寬度的本地邏輯控制的傳輸時(shí)序仿真結果舉例。由圖6可知:在寫(xiě)周期,是把PCI總線(xiàn)端的地址local_adrr[9:2]為8'h00的數據寫(xiě)到輸出端outport0;在讀周期,是把地址為8'h00的數據從inportO[2;0]讀入到local_data[0]。

3.2 驅動(dòng)程序設計
Windriver是Jungo公司生產(chǎn)的一個(gè)設備驅動(dòng)程序開(kāi)發(fā)組件,開(kāi)發(fā)者不需熟悉操作系統內核即可利用Windriver開(kāi)發(fā)設備驅動(dòng)程序。整個(gè)驅動(dòng)程序中的所有函數都是在用戶(hù)態(tài)下運行的,通過(guò)與Windriver的.Vxd或者.Sys文件交互來(lái)達到驅動(dòng)硬件的目的,大大提高了PCI設備驅動(dòng)程序開(kāi)發(fā)。
用Windriver開(kāi)發(fā)驅動(dòng)程序的過(guò)程大致如下:首先,打開(kāi)Windriver設備,查找所要訪(fǎng)問(wèn)的PCI設備;然后是枚舉該設備的資源(包括內存、I/O、中斷)并鎖定該設備的資源,不能被其他程序訪(fǎng)問(wèn);在訪(fǎng)問(wèn)板上的資源之后是解鎖資源;最后是關(guān)閉Windriver設備。這個(gè)過(guò)程是用C語(yǔ)言在VC++6.0開(kāi)發(fā)環(huán)境下借助于Windriver本身自帶函數(安裝Windriver之后,在其“Help”中可找出相關(guān)函數說(shuō)明)實(shí)現對PCI9054的
初始化。設備打開(kāi),訪(fǎng)問(wèn)硬件資源,調用函數庫,設備關(guān)閉等操作后。再對源代碼進(jìn)行編譯,鏈接和運行成功后,找出產(chǎn)生的5個(gè)文件:wdr-eg.exe,plx9054.inf,windrvr6.sys,plx9054.lib和plx9054.dll,這5個(gè)文件組成了所需的驅動(dòng)文件。在板卡成功插入插槽后點(diǎn)擊wdreg.exe成功安裝驅動(dòng)程序。
4 結束語(yǔ)
本文以性?xún)r(jià)比較高的PCI9054作為PCI橋路器,給出了橋路器的部分功能介紹、電路設計時(shí)需注意的問(wèn)題及本地總線(xiàn)數據傳輸的接口邏輯設計。本設計降低了PCI總線(xiàn)的復雜性,輕松實(shí)現了PCI總線(xiàn)端的控制器對本地總線(xiàn)和本地總線(xiàn)外部設備的工作模式和狀態(tài)的有效檢測,具有極大的應用價(jià)值。
評論