久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VxWorks的PCI總線多功能數據采集卡驅動開發

基于VxWorks的PCI總線多功能數據采集卡驅動開發

作者: 時間:2012-08-30 來源:網絡 收藏

在前面的一節中提到過,要訪問一個設備,首先要知道它的廠商號和設備號,在實際工作中,可以通過WinDriver這個在windows平臺下運行的編寫的軟件獲得,這樣比較方便和直觀,通過它,得到7396的廠商號(Dev7396_VENDOR_ID)為0x144a,設備號Dev7396_DEVICE_ ID)為0x7396。知道廠商號和設備號后,就可以利用提供的函數pciFindDevice()獲得設備的號、設備編號和功能號。然后調用peiConfigInLong()獲得卡設備的配置空間、內存空間、I/O空間的地址;pciConfigInByte得到設備中斷號。7396設備沒有要訪問的內存空間,所以沒有涉及到內存的映射和操作。主要的實現代碼如下所示:
d.JPG
在讀取設備的基地址時,要特別注意結合設備相關的說明書進行,在前面的章節中提到過,7396設備包含3個寄存器空間(詳見2卡7396簡介),所以讀出來的基地址空間有可能是3個里面的一個。
e.JPG
由于使用的是PENTIUM系列的CPU來進行板卡,所以在邊接中斷向量的時候,中斷號要加上0x20。
f.JPG
特別要注意操作9050的控制寄存器的偏移為0x4c的地方的操作,它是要實現中斷必須要進行的操作,沒有操作正確的話,中斷是不能夠正確運行的,而且9050的這個寄存器的各個位和9052還是不一樣的,雖然都是PLX公司的產品。
讀取完上面的I/O基地址和相應的中斷后,就可以操作I/O空間了,這要根據相應板卡說明書上的基地址偏移來操作,而且還要注意設置端口是輸入端口還是輸出端口。中斷服務程序在下也有嚴格的要求,要注意。

5 結束語
文中結合具體的Adlink公司的7396卡,介紹了在下編寫設備的相關方法以及要注意的事項,并介紹了VxWorks的I/O系統和驅動相關的理論知識,它們是驅動的基礎。根據上面方法出的7396驅動已經在某綜合控制系統中穩定地運行。

本文引用地址:http://cqxgywz.com/article/148492.htm

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉