CCD系統(tǒng)下基于FPGA的PCI圖像采集卡設(shè)計(jì)與實(shí)現(xiàn)
4 VxWorks下驅(qū)動(dòng)軟件的編寫(xiě)
VxWorks是一種高可靠、微內(nèi)核、可裁剪的實(shí)時(shí)嵌入式操作系統(tǒng),由于它具有高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理等優(yōu)點(diǎn),成為了航空、航天、醫(yī)療、通信等領(lǐng)域首選的實(shí)時(shí)操作系統(tǒng)。PCI圖像采集卡的驅(qū)動(dòng)就是基于VxWorks實(shí)時(shí)操作系統(tǒng)進(jìn)行開(kāi)發(fā)的。
4.1 PCI設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
每個(gè)PCI設(shè)備都有一容量為256字節(jié)并具有特定結(jié)構(gòu)的地址空間,前64個(gè)字節(jié)包含PCI接口的信息,也成為PCI配置頭。其余的192個(gè)字節(jié)可以由板卡的設(shè)計(jì)自己定義。為了讓VxWorks支持PCI驅(qū)動(dòng),需要對(duì)BSP中的sysLib.c文件進(jìn)行修改,使得系統(tǒng)支持初始化配置支持庫(kù)和中斷支持庫(kù),以提供對(duì)PCI設(shè)備配置空間的訪問(wèn)租PCI中斷復(fù)用功能的支持。
設(shè)備驅(qū)動(dòng)程序初始化PCI圖像采集卡的流程一般如下:根據(jù)PCI設(shè)備的廠商ID和設(shè)備ID號(hào)來(lái)找到PCI設(shè)備的總線號(hào)、設(shè)備號(hào)和功能號(hào);根據(jù)總線號(hào)、設(shè)備號(hào)和功能號(hào)來(lái)映射PCI設(shè)備的地址空間;并且配置中斷線性寄存器;最后使能PCI內(nèi)存空間。其他寄存器要根據(jù)具體應(yīng)用來(lái)配置。
4.2 數(shù)據(jù)采集方式
由于前端數(shù)據(jù)量很大,所以簡(jiǎn)單的單次傳輸不能滿(mǎn)足系統(tǒng)的整體需求。必須用DMA方式進(jìn)行傳送。通知數(shù)據(jù)可以讀取通常有兩種模式,查詢(xún)模式和中斷模式。由于查詢(xún)模式要大量消耗CPU資源,所以采用DMA結(jié)合中斷模式進(jìn)行數(shù)據(jù)采集。
對(duì)數(shù)據(jù)的采集使用乒乓操作。當(dāng)寫(xiě)滿(mǎn)一片SRAM中就發(fā)中斷給CPU,通知數(shù)據(jù)已經(jīng)準(zhǔn)備好,這個(gè)時(shí)候驅(qū)動(dòng)程序就開(kāi)始讀取數(shù)據(jù),同時(shí)前端數(shù)據(jù)繼續(xù)寫(xiě)入另一片SRAM,寫(xiě)滿(mǎn)后再次發(fā)送中斷。如此反復(fù),直到PCI圖像采集卡接收到應(yīng)用程序的停止傳送數(shù)據(jù)命令。
4.3 中斷的運(yùn)用和管理
在VxWorks中,中斷的響應(yīng)速度非???。經(jīng)測(cè)量,在我們的系統(tǒng)中PCI圖像采集卡從發(fā)出中斷到進(jìn)入中斷處理函數(shù)的時(shí)間為7 μs。通過(guò)函數(shù)intConnect把中斷處理函數(shù)和中斷向量掛接起來(lái)。
在VxWorks中,中斷服務(wù)程序擁有獨(dú)立于各種任務(wù)的程序上下文,所以中斷服務(wù)程序不能執(zhí)行需要任務(wù)上下文的函數(shù)。
5 結(jié)果驗(yàn)證
我們對(duì)整個(gè)系統(tǒng)進(jìn)行了驗(yàn)證,CCD成像系統(tǒng)把采集的圖像數(shù)據(jù)經(jīng)變化,如加上校驗(yàn)和傳送給PCI圖像采集卡。用邏輯分析儀對(duì)PCI的一些關(guān)鍵信號(hào)進(jìn)行了測(cè)量。如圖5所示。本文引用地址:http://butianyuan.cn/article/190453.htm
從圖中不難看出,PCI圖像采集卡一直處于數(shù)據(jù)傳輸狀態(tài),經(jīng)測(cè)試,傳輸速度完全滿(mǎn)足系統(tǒng)的要求。在應(yīng)用程序中對(duì)圖像數(shù)據(jù)進(jìn)行了存盤(pán),并計(jì)算校驗(yàn)和,發(fā)現(xiàn)校驗(yàn)和正確。
6 結(jié)論
本文設(shè)計(jì)的PCI圖像采集卡以FPGA為核心,在PCI核的基礎(chǔ)上用邏輯實(shí)現(xiàn)了PCI圖像采集卡Initiator下的突發(fā)模式傳輸,從而實(shí)現(xiàn)了視頻數(shù)據(jù)的高速傳輸。為了傳輸?shù)姆€(wěn)定性和可靠性,使用低壓差分信號(hào)技術(shù)進(jìn)行圖像數(shù)據(jù)的接收和控制數(shù)據(jù)的發(fā)送。最后在VxWorks平臺(tái)上實(shí)現(xiàn)了PCI圖像采集模塊的驅(qū)動(dòng)編寫(xiě)。經(jīng)過(guò)測(cè)試,圖像數(shù)據(jù)傳輸穩(wěn)定可靠,傳輸速率也能滿(mǎn)足系統(tǒng)的整體需求。
評(píng)論