時間:2008-12-18 14:38:02來源:ronggang
圖2 流水線存儲時序示意圖[/align]
4 部分軟硬件程序設計
PCI9054 Local Bus 硬件驅動
PCI9054局部總線是外設(FPGA)和9054之間通信的橋梁。9054圖像數據的采集需要使9054局部總線信號滿足一定的時序要求,保證數據傳輸的同步,即需要FPGA端硬件驅動。驅動是用Verilog HDL代碼編寫的一個狀態機,代碼如下[2][4]:
always @ (posedge CLK)
begin
casex (CurrentState)
1‘b0: begin
if (!LLADS_)
begin LLREADY <= 1; CurrentState <= 1; end
else begin LLREADY <= 0; end
end
1‘b1: begin
if (LLBLAST_) //突發循環重復
begin LLREADY <= 1; CurrentState <= 1; end
else //最后一個循環
begin LLREADY <= 0; CurrentState <= 0; end
end
default:
CurrentState <= 0;
Endcase end
assign LLREADY_ = (LLREADY) ? 1‘b0 : 1‘b1;
4.2 PCI9054驅動層和應用層設計
系統所用PCI采集卡非windows標準硬件,驅動程序需要自行開發,這里使用WDM編程。為了提高速度采用雙線程操作。由于寫磁盤比較慢,如果等寫完磁盤再讀local bus顯然效率太低,所以啟動雙線程雙buffer讀寫數據[5]。
部分程序代碼:
BOOL GetData()
{ ……
//創建等待驅動中斷線程以及寫文件線程
hEvent_Disk=GreateEvent(NULL,TRUE,TRUE,NULL); hEvent_Mem = CreateEvent(NULL,TRUE,FALSE,NULL);
_beginthread(WaitForDataThread,0,NULL); _beginthread(WriteDiskThread,0,NULL);
//啟動DMA傳輸
SetDma(); BlockDmaLocalToPci(dmabuffer, BLOCK_ONE_DMA);
}
void WaitForDataThread(void * pParam)
{}
void WriteDiskThread(void * pParam)
{}
4.3 數據傳輸指令生成
PC應用程序產生數據傳輸指令,觸發數據傳輸。指令的產生是通過9054在PC端的底層驅動,設置9054 LOCAL端USERO管腳電平,使FPGA進入工作狀態,并產生相機行觸發信號(EXSYNC),觸發相機拍照傳輸數據。USERO信號為高電平時,FPGA和9054都處于等待狀態;USERO下降沿觸發數據傳輸,使FPGA和9054進入工作狀態;數據傳輸完畢,USERO拉高。時序如圖3。
[align=center]
圖3 數據傳輸協議[/align]
5 系統測試及工程考慮
本系統測試微機環境為:CPU,Pentium(R) 4. 2.40GHz;內存,333MHz,512MB/s;北橋芯片,845PE;操作系統,Windows Server 2003;SCSI硬盤空間,120G。
系統測試結果:圖像單線穩定存儲速率為37.2 MB/s ,流水線穩定存儲速率為71.2MB/s;持續記錄時間為25分鐘。
工程考慮:系統速度主要限制于兩個瓶頸,一是硬盤本身,二是PCI總線。本系統雖然采用了高速硬盤,但還有一個操作效率的問題。數據從FPGA到PCI9054的傳輸介質采用一般硬盤線,此類硬盤線的上限頻率為33M,限制數據采集速度;同時由于系統需要通過PCI總線轉移數據,而計算機的PCI總線多為32位、33MHz的總線,這個總線的理論數據為132MB/s,當總線上僅僅有一個設備時,實測實際總線持續傳輸速率在100MB/s以下,當總線上再掛載磁盤適配器時,總線的數據傳輸速率會更低。系統穩定性主要取決于FPGA內部邏輯的容錯性和微機的穩定性。在高速存儲的環境下,微機系統容易死機,因此微機選擇具有高穩定性的Windows Server 2003操作系統作為圖像采集的存儲環境。
本文作者創新點是利用FPGA和PCI9054完成了對高速、高分辨率圖像的采集存儲。
參考文獻:
1.High-Speed TDI Line Scan Camera-Camera User’s Manual. America: Dalsa, 2002
2.PCI 9054 Data Book. America: PLX Technology, 2000
3.王洪迅等,高速偵察圖像數據的獲取與緩沖. 微電子學與計算機[J].2004,10-1
4.杜建國,Verilog HDL 硬件描述語言[M].北京:國防工業出版社,2004
5.裴喜龍,基于PCI總線的高速數據采集卡系統設計與實現.微計算機信息[J],2006,7-1:129-131
標簽:
上一篇:高速電機變頻器的設計與實現
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16