基于VxWorks的PCI總線(xiàn)多功能數據采集卡驅動(dòng)開(kāi)發(fā)
2 多功能數據采集卡7396簡(jiǎn)介
PCI-7396是專(zhuān)門(mén)為工業(yè)應用而設計的96位并行數字輸入/輸出(DIO)卡。PCI-7396是模擬4個(gè)8255可編程外圍接口(PPI)芯片。每個(gè)PPI提供3個(gè)8位可同步訪(fǎng)問(wèn)的DIO端口??偣灿?2個(gè)可獨立配置為輸入或輸出的端口。
PCI-7396產(chǎn)品具有通過(guò)外部觸發(fā)來(lái)鎖定數字輸入數據的特點(diǎn),同時(shí)提供狀態(tài)改變(COS)中斷,這意味著(zhù)當任何數字輸入狀態(tài)改變的時(shí)候,中斷就會(huì )發(fā)生。用戶(hù)可以通過(guò)用跳線(xiàn)設置上拉/下拉電阻輕松地以用戶(hù)自定義狀態(tài)(高或低)來(lái)設定PCI-7396數字I/O上電狀態(tài)。
7396有3種類(lèi)型的寄存器:PCI配置寄存器,它是要實(shí)現板卡的功能所要訪(fǎng)問(wèn)和操作的寄存器;本地配置寄存器,其是它就是操作9050所要訪(fǎng)問(wèn)的寄存器:還有一個(gè)是PCI-6308寄存器。
3 PCI配置空間
PCI(Peripheral Component Interconnect),外部設備互聯(lián)標準,是由Intel公司提出的一種局部總線(xiàn)標準。每個(gè)PCI設備有3種物理空間:配置空間、存儲器空間和I/O空間。配置空間是長(cháng)度256字節的一段連續空間(16個(gè)32位寄存器)其中前64個(gè)字節為頭標,其余192字節為設備相關(guān)信息。在64字節的頭標中,前16字節的定義是確定的,后48字節的具體含義因設備而異。配置空間頭標區如圖2所示。配置空間中的一個(gè)重要部分是基地址寄存器(BaseAddresssRegister),它的內容是PCI設備的地址空間映射到系統地址空間的起始物理地址。其中,bit0=1表示IO空間映射,bit0=0表示存儲器空間映射。所有PCI設備必須實(shí)現存儲器空間映射。通過(guò)向BAR寫(xiě)全1即可確定所需地址空間的大小。在VxWorks下要訪(fǎng)問(wèn)一個(gè)PCI設備,只需要知道該設備的廠(chǎng)商號和設備號。本文引用地址:http://dyxdggzs.com/article/148492.htm
4 數據采集卡設備驅動(dòng)的實(shí)現
Adlink公司的7396數據采集卡是PCI設備,PCI設備驅動(dòng)程序屬于VxWorks體系結構中的I/O系統部分,它往上為應用程序提供API接口,往下通過(guò)BSP訪(fǎng)問(wèn)PCI設備。基于VxWorks的PCi設備驅動(dòng)程序開(kāi)發(fā)流程如圖3所示。分為4個(gè)步驟:①創(chuàng )建設備;②根據PCI設備的配置參數,對PCI設備編寫(xiě)功能函數程序;③編寫(xiě)測試程序進(jìn)行功能測試;④驅動(dòng)程序工作正??煽?,即可發(fā)布驅動(dòng)程序,將其加載入VxWorks操作系統內核,完成驅動(dòng)程序的開(kāi)發(fā)。
評論