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