999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于光纖通信和PCI Express總線的高速圖像傳輸系統

2011-07-28 01:32:34李明偉
網絡安全與數據管理 2011年24期

李明偉,劉 鵬

(大連理工大學 信息與通信工程學院,遼寧 大連116024)

高幀頻和高分辨率的圖像采集在高科技研究、工業、醫療、交通等眾多領域有著廣泛的應用,例如航天和軍工中高速物體運動軌跡的捕捉、3D動漫、視頻定位和測量、高速公路交通監控等。然而,連續的圖像采集將產生巨大的數據量,要實時遠程傳輸并存儲這些圖像數據,就必須解決數據量的問題。

光纖通信技術具有頻帶寬、損耗低、抗干擾能力強等優點,廣泛應用于大量數據的遠程傳輸。與PCI、PCI-X總線相比,PCI Express(以下簡稱 PCI-E)總線采用了串行點對點通信,傳輸速率有了很大提高,PCI-E 1.0單通道的單向速率高達 2.5 Gb/s,且最大支持32位通道[1]。最新發布的PCI-E 3.0標準將單通道速率提高到了 8 Gb/s,使得PCI-E代替傳統的PCI總線成為了必然的趨勢。因此,選用光纖通信技術和PCI-E總線進行傳輸系統設計,使得高速圖像到計算機端的實時遠程傳輸成為可能,且具有很大的研究和應用價值。

1 系統方案

系統的整體設計方案如圖1所示,本文設計的高速圖像數據用于傳輸前端光纖相機采集的圖像數據。

在硬件上,采用Spartant-6 FPGA為主控器設計了PCI-E光纖卡,實現光模塊的數據收發以及整個PCI-E協議,使得設計簡潔緊湊且易升級。SFP光模塊完成光電信號的相互轉換,BPI Flash用于存儲FPGA的配置數據。板上時鐘源有兩個,一個來自主板的125 MHz時鐘,用于PCI-E協議的實現;一個是25 MHz的時鐘晶振,通過PLL芯片5倍頻后用于FPGA內GTP收發器的參考時鐘。在主機端,開發了Windows XP下的PCI-E驅動程序和MFC應用程序,完成高速圖像的接收、處理、顯示以及存儲等功能。

2 FPGA邏輯設計

2.1 FPGA總體邏輯框架

FPGA作為PCI-E光纖卡的核心控制器,不僅要完成光纖接口的數據收發,還要通過PCI-E總線與主機通信。由此可見,FPGA邏輯設計是系統設計的重點和難點,圖2給出了FPGA內部邏輯框圖。在接收圖像時,SFP光模塊接收到的串行數據流先經GTP完成串并轉換,經過必要的處理后送進FIFO。FIFO可編程標志位有效時,DMA控制模塊根據主機設置的參數發起DMA傳輸,按照事務層接口時序要求,組裝數據包發送給PCIE硬核,PCI-E硬核通過PCI-E協議向主機發送數據。主機端向光纖相機發送命令的過程類似,這里不再贅述。

2.2 PCI-E端點硬核介紹

系統選用的FPGA型號為XC6SLX45TFGG484,它內嵌了一個PCI-E硬核模塊,符合 PCI-E Base Specification V1.1標準,支持X1通道,單向鏈路速率可達 2.5 Gb/s[2]。

PCI-E硬核的頂層功能模塊分為事務層、數據鏈路層、物理層和配置管理層四部分。事務層負責事務層數據包(TLP)的接收、緩存和發送,為了提高通信效率,還實現了PCI兼容的事務排序規則,并通過基于信用度的流控制協議來管理TLP緩沖區。數據鏈路層用于保證TLP傳輸的可靠性,提供了錯誤檢測和恢復、初始化服務、DLLP的生成與拆解等服務。物理層使用GTP高速收發器實現,分為邏輯子層和電氣子層:邏輯子層通過鏈路訓練與狀態指示狀態機完成鏈路初始化、訓練以及維護工作,并且實現了擾碼與解擾碼、8/10 bit編碼與解碼等功能;電氣子層負責輸入輸出差分信號的接收與發送。配置管理層實現了PCI配置空間、電源管理以及中斷等功能。

PCI-E硬核模塊提供給用戶四類接口:系統接口是時鐘和復位接口;鏈路接口用于連接板卡的金手指;事務層接口用于TLP的發送和接收;配置接口用于配置空間的訪問以及中斷信號的發送。在進行DMA控制模塊設計時,主要使用事務層接口和配置接口。

2.3 DMA傳輸邏輯設計

PCI-E總線的數據傳輸有可編程輸入/輸出 (PIO)和直接內存存取(DMA)兩種方式。PIO方式通過CPU執行I/O端口命令進行數據讀寫,用于傳輸少量的數據。DMA方式在無CPU參與的情況下對存儲器進行數據讀寫,適合大量的數據傳輸[3]。為了接收大量的圖像數據,實現DMA傳輸控制邏輯,分為接收引擎、發送引擎、端點內存和中斷控制4個模塊。

接收引擎用于解析從PCI-E硬核接收到的TLP,包括存儲器讀請求TLP和存儲器寫請求TLP,圖3給出了接收引擎的控制狀態機。系統復位后,狀態機處于空閑狀態(DMA_RX_RST),接收到數據包后,立即對數據包包頭進行解析并判斷TLP類型,然后跳轉到相應狀態。通過RX_MEM_RD32_QW1和RX_MEM_RD32_QW2對存儲器讀請求TLP的參數進行解析并通知發送模塊進行響應,在RX_MEM_RD32_WT狀態等待發送模塊操作完成并返回空閑狀態。對存儲器寫請求 TLP的操作通過RX_MEM_WR32_QW1、RX_MEM_WR32_QW2和RX_MEM_WR32_QW3三個狀態完成,在RX_MEM_WR32_WT狀態等待TLP完成并返回空閑狀態。

發送引擎負責TLP的封裝,完成對存儲器讀TLP的響應,并背靠背地進行存儲器寫TLP的發送。發送引擎控制狀態機如圖4所示。復位后,狀態機處于空閑狀態(TX_RST_STATE),根據條件分別發送完成TLP和儲存器寫TLP。當收到接收引擎發來的請求信號后,立即發送完成包的包頭的第一個雙字,并通過TX_CPLD_QW1、TX_CPLD_QW2、TX_CPLD_QW3 三 個 狀態發送數據包的其他部分。DMA傳輸的過程中,當FIFO可編程滿標志和DMA寫開始信號均有效時,進入TX_MWR_READY狀態發送存儲器寫TLP的包頭,然后通過TX_MWR_QW1和TX_MWR_QW2發送其他參數,最后在TX_MWR_QWN發送數據負載。每個儲存器寫TLP發送完畢后重新返回TX_MWR_READY狀態,而每次DMA傳輸完成后進入空閑狀態,等待下次DMA傳輸的開始。

使用FPGA內RAM塊實現了端點內存,大小為1KB,被映射到計算機的存儲器空間,用于實現DMA控制寄存器和存儲主機發給光纖相機的命令。

中斷控制模塊用來控制PCI-E硬核中斷的發送和禁止,根據中斷時序設計狀態機實現。PCI-E總線支持消息信號中斷和傳統中斷。由于使用的Windows XP操作系統不支持消息信號中斷,因此只能使用傳統中斷,可以通過PCI-E硬核配置向導進行設置。

2.4 光纖數據收發

光纖收發模塊完成光纖通路上的數據收發,包括GTP硬核、PLL、DCM、數據接收和數據發送5個子模塊。

GTP硬核模塊是通過ISE IP核生成向導生成的,用來對GTP硬核進行配置。設計中,GTP主要參數設置以及注意到的問題有:(1)參考時鐘REFCLK使用外部提供的125 MHz時鐘,由于GTP對時鐘要求比較嚴格,一般不使用FPGA內部DCM或PLL產生的時鐘作為參考時鐘。(2)使用自定義的鏈路協議,鏈路速率為2.5 Gb/s,使用8/10 bit編碼。(3)comma碼的設置是鏈路協議傳輸的關鍵,使用K28.5作為comma碼。(4)物理電氣參數的設置因外部SFP光模塊的使用而不同,比如TX預加重、RX均衡、耦合電容、差分電平擺幅等,使用時必須使用Xilinx提供的 IP核 IBERT進行測試[4]。

光纖通路使用自定義的協議:(1)鏈路空閑時一直發送comma碼K28.5,工作時發送需要的數據碼。(2)傳輸圖像時,為每幀圖像添加幀頭和幀尾,以定界每幀圖像。發送模塊負責向圖像采集卡發送控制命令,用來設置圖像傳感器的參數。接收模塊接收GTP輸出的并行數據流,去除comma字符 K28.5和圖像幀頭幀尾,將圖像數據流寫入FIFO。

3 軟件設計

3.1 驅動程序

在Windows操作系統中,為了保證系統的安全性、穩定性和可移植性,用戶模式的應用程序必須通過驅動程序才能對硬件進行操作[5]。本設計使用Windows DDK開發了PCI-E接口的驅動程序,采用WDM驅動模式,支持即插即用操作。

圖5為驅動程序開發流程。當驅動程序收到應用程序啟動DMA傳輸請求后,首先設置DMA傳輸參數,然后開始DMA傳輸并等待中斷產生。驅動收到中斷后,如果判斷是PCI-E光纖卡產生的,就立刻轉到延遲過程調用DPC函數,在其中設置觸發事件通知應用程序,并啟動下一次傳輸。在本驅動程序中,申請了8塊DMA緩沖區進行輪流傳輸,這樣既可以提高DMA傳輸的效率,又方便應用程序對緩存區內的圖像數據進行操作。

3.2 應用程序

根據需要,使用VC++6.0開發了基于MFC的應用程序,完成了圖像的處理、顯示、存儲、回放等功能。采用多線程編程,提高了程序的運行效率,在實時顯示視頻圖像的同時,還可以完成圖像存儲工作。圖像顯示使用DirectDraw函數組,直接將圖像數據送入顯存,充分發揮顯卡性能,消除了圖像閃爍現象。使用固態硬盤進行圖像數據的存儲,克服了普通硬盤讀寫速度慢的問題。在圖像存儲完成之后,可以對存儲的視頻圖像進行慢放,便于對高速運動的物體軌跡進行細致觀察,并且可以調整回放的幀率。應用程序的功能結構及其與驅動程序的關系如圖6所示。

4 系統測試

FPGA內邏輯均采用Verilog HDL實現,使用Xilinx ISE Design Suite 12.3完成整個FPGA流程的開發,包括仿真、綜合、布局布線、調試等。利用 Xilinx的IBERT IP核進行光纖模塊的測試,通過實時地改變GTP的各種參數來觀察鏈路的狀況。對光纖鏈路進行長時間測試發現,鏈路十分穩定,誤碼率比較小,基本在-10數量級內。驅動開發前,使用WinDriver進行寄存器讀寫和中斷監聽,以驗證PIO操作和中斷發送的正確性。在安裝了驅動程序后就可以進行DMA傳輸,傳輸過程中使用ChipScope捕獲波形進行調試。

本實驗使用的光纖相機最大能以80幀/s的幀率采集1 280×1 024大小的圖像,其數據速率約為 563 Mb/s。主機硬件采用Intel i5平臺的組裝機,操作系統為Windows XP SP3。經長時間連續工作測試,可以完成圖像顯示及儲存工作,且系統工作穩定可靠。圖7為系統測試時軟件的工作界面。

本設計中,光纖通路的最高速率可達2.5 Gb/s,所以系統傳輸速率主要取決于PCI-E總線的實際傳輸速率。由于實驗中光纖相機產生的圖像數據速率有限,因此在FPGA內產生仿真圖像數據進行PCI-E最大傳輸速率的測試。經過多次測試后發現,本設計中PCI-E總線DMA傳輸最大速率可達1.2 Gb/s,而理論上PCI-E X1通道的單向傳輸速率為2.5 Gb/s(考慮8/10 bit編碼效率)。經詳細分析,限制其傳輸速率的主要因素有:(1)系統采用中斷方式,主機對中斷的響應會占用一定時間;(2)PCIE數據包有一定的包頭信息,目前使用的數據包大小為128 B,要提高速率可以改用512 B數據包,但是這需要硬件平臺的支持。

本文利用光纖通信和PCI-E總線實現了一種高速圖像傳輸系統,選用Xilinx Spartant-6系列FPGA進行硬件設計,并開發了主機端的驅動程序和應用程序,是一套低成本的高速傳輸解決方案。測試表明,系統速率可達1.2 Gb/s,且工作穩定,基本能滿足大多數高清高幀視頻圖像的實時傳輸需求。

[1]BUDRUK R,ANDERSON D,SHANLEY T.PCI express系統體系結構標準教材[M].田玉敏,王崧,張波,譯.北京:電子工業出版社,2005.

[2]Xilinx,Inc.Spartan-6 FPGA integrated endpoint block for PCI express user guide[Z].2010.

[3]Peng Yu,Li Bo,Liu Datong,et al.A high speed DMA transaction method for PCI express devices[J].Journal of Electronic Science and Technology of China,2009,7(4):380-384.

[4]Xilinx,Inc.Spartan-6 FPGA GTP transceivers advance product specification[Z].2010.

[5]ONEY W.Programming microsoft windows driver model[M].Washington:Microsoft Press,1999.

主站蜘蛛池模板: 97一区二区在线播放| 免费不卡视频| 高h视频在线| 国产精品成人免费综合| 亚洲成人精品在线| 丰满人妻久久中文字幕| 国产门事件在线| 色哟哟色院91精品网站| 国产真实乱子伦精品视手机观看| 99在线观看国产| 制服丝袜亚洲| 午夜成人在线视频| 欧美区日韩区| 99在线国产| 国产视频一二三区| 久久精品日日躁夜夜躁欧美| 国产第一页免费浮力影院| 露脸真实国语乱在线观看| 免费国产不卡午夜福在线观看| 国产成人a在线观看视频| 欧美色视频日本| 黄色网页在线播放| 欧美日在线观看| 素人激情视频福利| 国产精品免费电影| 成人毛片在线播放| 国产精品综合久久久| 亚洲国产精品人久久电影| 亚洲永久色| 在线欧美一区| 久久一色本道亚洲| 中国精品久久| 成人年鲁鲁在线观看视频| 亚洲日本韩在线观看| 影音先锋亚洲无码| 亚洲成人免费在线| 精品自窥自偷在线看| 日韩黄色在线| 国产超碰在线观看| a毛片基地免费大全| 日韩AV无码免费一二三区| 欧美午夜理伦三级在线观看| 亚洲男女天堂| 久久精品嫩草研究院| 亚洲国产高清精品线久久| 欧美一区二区精品久久久| 97在线免费视频| 国产91蝌蚪窝| 精品无码国产自产野外拍在线| 欧美国产成人在线| 真实国产乱子伦视频| 久久成人18免费| 国产精品福利社| 亚洲人成在线免费观看| 高清欧美性猛交XXXX黑人猛交| AV在线麻免费观看网站| 国产一级二级在线观看| 伊人91在线| 亚洲国产天堂在线观看| 亚洲无码高清视频在线观看| 亚洲综合色婷婷中文字幕| 久久综合婷婷| 色综合狠狠操| 妇女自拍偷自拍亚洲精品| 极品av一区二区| v天堂中文在线| 福利在线不卡一区| v天堂中文在线| 成人伊人色一区二区三区| 成人av专区精品无码国产| 97se亚洲综合| 精品久久久久成人码免费动漫| 精品国产免费观看一区| 91麻豆国产精品91久久久| 暴力调教一区二区三区| 欧美成人午夜视频免看| 免费午夜无码18禁无码影院| 国外欧美一区另类中文字幕| 日韩无码黄色| 99ri精品视频在线观看播放| 日日拍夜夜操| AV网站中文|