,,,
(1. 哈爾濱工業大學(威海) 信息與電氣工程學院,山東 威海 264209;2. 威海廣播電視臺,山東 威海 264200)
基于PCIe2.0的Camera Link接口相機模擬系統設計
蘭功盾1,趙占鋒1,魏高峰2,周志權1
(1.哈爾濱工業大學(威海)信息與電氣工程學院,山東威海264209;2.威海廣播電視臺,山東威海264200)
目前,為了進行空間科學實驗,多種衛星搭載航天CCD相機以便獲取圖像數據;而在地面對星載圖像處理系統的工業檢測需要大的分辨率及更高靈敏度的CCD工業相機;Camera Link格式的視頻信號接口具有傳輸速率快、電子噪聲干擾小等優點,廣泛的應用于航天CCD相機中;由于CCD工業相機的價格高昂、輸出不夠靈活等限制原因,需要設計一款基于PCIe2.0的Camera Link接口相機模擬系統,代替航天CCD相機,作為星載圖像處理系統檢的檢測時的信號源;該相機模擬系統以FPGA為核心,由DDR3存儲器、Camera Link驅動芯片、PCIe接口等組成,實現輸出分辨率高達8 000×6 000的多種分辨率的圖像數據,可以靈活的輸出測試所需的特定圖像,為星載圖像處理系統檢的檢測提供穩定靈活的圖像數據,以滿足對星載圖像處理系統檢測測試的需求。
Camera Link接口;PCIe2.0;航天CCD相機;FPGA
隨著我國空間技術的發展,進行了大量的空間科學實驗,其中圖像數據是空間科學實驗的一個重要部分。目前技術成熟、應用廣泛的CCD圖像傳感器則是獲得圖像數據的主要手段[1]。在空間科學實驗中,需要對CCD圖像傳感器得到的圖像進行圖像采集、處理。而為了對星載圖像采集處理系統進行測試評估,需要CCD圖像傳感器對星載圖像采集處理系統輸出特定的圖像,以便進行功能的檢測及圖像處理能力的測試。隨著星載圖像采集處理系統的不斷發展,對星載圖像采集處理系統的檢測則要求的圖像內容越來越豐富靈活,數據量越來越大[2]。但是,CCD圖像傳感器的價格昂貴,在測試的過程中易損壞,造成高昂的成本,且難以做到靈活的輸出某些特定的圖像數據,實現不同分辨率及幀頻的圖像輸出。因此,在對圖像處理器的測試過程中,設計一款相機模擬系統來代替CCD圖像傳感器則變得尤為重要。
目前市面上的相機模擬系統較為常見,且種類繁多功能強大各具優勢,但是普遍使用標準格式的視頻信號接口,在高分辨率,大數據量的圖像數據輸出時,此類接口的視頻信號發生器則在傳輸速度上無法滿足。在高分辨率,大數據量的圖像數據輸出時,此類接口的視頻信號發生器則在傳輸速度上無法滿足實際的需求。非標準格式的視頻信號接口Camera Link 技術有很多的優點, 算是目前圖像傳輸速率最快的一種接口,同時,它使用低壓擺幅差分電流模式驅動,降低了電子噪聲干擾,因此在航天上有很廣泛的應用。因此,本文設計了一款基于PCIE - Camera Link的相機模擬系統可以彌補上述的不足,在實際的工程應用中就要重要的意義。
本文設計一款基于PCIe2.0的Camera Link接口相機模擬系統,代替CCD圖像傳感器,實現向圖像處理系統輸出大數據量的圖像數據,完成對圖像處理系統的檢測測試,可以靈活的輸出測試所需的特定圖像,實現不同分辨率以及幀頻的圖像輸出,并且可以減小CCD圖像傳感器易損壞的高成本的風險,具有廣闊的應用前景。
本文設計一款基于PCIe2.0的Camera Link接口相機模擬系統,實現上位機通過PCIE2.0,將產生或接收的標準視頻圖像數據下傳給模擬系統,模擬源系統將圖像數據以 Camera Link標準的低壓查分信號(LVDS)輸出,以達到模擬Camera Link接口工業相機的目的。上位機通過RS422與模擬系統進行通信,對其發送起始指令以及控制模擬系統實現Base、Medium、Full三種不同的模式配置,以及不同分辨率及幀頻的視頻圖像信號輸出,同時,信號模擬系統也通過RS422向上位機反饋其工作模式及狀態。該相機模擬系統由FPGA、DDR3存儲器、Camera Link驅動芯片組成。FPGA是整個系統的核心,所有的接口都是由它控制的,完成整個系統不同工作模式的配置與數據高速存儲、傳輸。系統基本框圖如圖1所示。

圖1 相機模擬系統基本框圖
課題設計的模擬源系統需要滿足以下的功能需求:
(1)用戶可以通過PCIe接口向模擬源系統靈活的導入圖像,以實現輸出所需的特定圖像;
(2)模擬源系統可是保證高分辨圖像輸出的實時性;
(3)模擬源系統可以實現高分辨的的圖像數據輸出,最高分辨率可達到8000×6000,幀頻為12.5 Hz;
(4)模擬源系統可以實現Base、Medium、Full三種不同配置模式的Camera Link格式輸出。
本次設計的相機模擬系統采用Camera Link驅動芯片以實現Camera Link格式的圖像數據輸出。并且,針對相機模擬系統的功能需求,在對星載圖像采集處理單元進行地面檢測時,相機模擬系統需要可以實現Base、Medium、Full三種不同配置模式的Camera Link格式的視頻信號輸出。其中,每個Camera Link驅動芯片中包含3個端口。Camera Link格式圖像輸出時,采用標準的MDR26連接器。3種不同Camera Link配置模式所需要的驅動芯片個數及連接器個數如表1所示。

表1 3種配置模式的端口分配
Camera link 是一個工業高速串行數據的連接協議, Camera Link 收發轉換芯片是由 National Semiconductor 公司制造的 28 位 Camera Link 芯片組來完成。目前,用于 Camera Link 模式圖像輸出的主流驅動芯片始終速度有75 MHz和85 MHz,則兩種驅動芯片不同模式下的輸出速率如表2所示。

表2 不同時鐘速度的輸出速率
視頻圖像信號模擬源系統的功能需求中提出,實現最大分辨率達到8 000×6 000,幀頻為12.5 Hz的Camera Link格式圖像數據輸出。此時Camera Link 接口圖像數據輸出速率達到4 800 Mbps,因此需要采用85 MHz的Camera Link 驅動芯片,并以Full 模式工作。綜上所述,Camera Link視頻信號輸出板將采用三片85 MHz的Camera Link 驅動芯片DS90CR287以及兩個MDR26連接器實現Camera Link格式圖像數據輸出,以滿足模擬源系統的功能需求。
DS90CR287芯片的電路如圖2所示。

圖2 DS90CR287芯片電路
Camera Link接口標準的數字相機中,分別有一個相機到采集設備和采集設備到相機的串行通信信號:SerTFG和SerTC,以及4組低壓差分的相機控制信號CCl-CC4。因此,在本課題設計的相機系統中也加入這幾個信號。為了保證較遠距離通信情況下系統得可靠性,這兩個信號也是采用LVDS技術進行傳輸。因此同樣需要串/并轉化和電平轉換。本文將分別采用DS90LV019芯片及DS90LV032ATM作為相機模擬系統和FPGA之間的轉換芯片。其電路圖分別如圖3及4所示。

圖3 DS90LV019芯片電路

圖4 DS90LV032ATM芯片電路
Xilinx公司的Kintex-7 系列是一種新型 FPGA,能以不到 Virtex-6 系列一半的價格實現與其相當性能,性價比提高了一倍,功耗降低了一半,具備支持PCIE2.0、DDR3 SDRAM 以及多全局時鐘和豐富的布線資源等特點,能較好滿足模擬器設計過程中對資源的需求。因此,本次設計選用Xilinx公司的Kintex-7 系列的XC7K325T,該FPGA支持具有PCIE硬核,支持PCIE 2.0,最高可達×8個通道。圖5為Camera Link接口芯片與FPGA的連接示意圖。

圖5 FPGA與協議芯片的連接示意圖
本設計中,相機模擬系統采用通過PCIe2.0接口的方式,接收上位機高速下傳的圖像數據。理論上,采用PCIe2.0接口×4通道,有效傳輸速率可達16Gbps。本次設計中,相機模擬系統實際工作中PCIe2.0×4接口接收上位機下傳數據時的傳輸速率可以達到接近11Gbps,要遠大于Camera Link接口full模式工作時的最大傳輸速率。因此本設計中,采用的PCIe2.0×4接口來接收圖像數據,可以滿足Camera Link接口實時輸出的速率要求。
PCIE協議由事務層、數據鏈路層和物理層組成。它的結構圖如圖6所示。其中事務層具有完整的協議,處理不同的命令和事務層的處理需求;數據鏈路層負責連接事務層和物理層,起到一個橋梁的作用,解析事務層下發的數據包并將結構傳給物理層。接收物理層的數據,打包傳給事務層;物理層傳輸邏輯控制數據從電氣接口上完成數據傳輸。

圖6 PCIE協議結構
在本次設計中,使用Xilinx公司Kintex7系列FPGA提供的PCI-Express的IP核完成PCIE2.0接口的數據下傳功能。
PCIE核集成了PCIE的事務層、數據鏈路層、物理層和配置管理層。相當于將PCIE橋接芯片集成到FPGA中,用戶只需要在開發FPGA程序時,調出PCIE硬核,做簡單的設置,在事務層上提交事務層TLP包的接收和發送,就能完成PCIE功能。硬核的結構圖如圖7所示。

圖7 Kintex7中核接口結構圖
針對課題設計的相機模擬系統的功能需求,PCIe接口需要高速的接收下傳的圖像數據,傳輸速率需高于5.3Gbps。因此,在PCIe數據下傳單元中采取PCIe DMA的方式進行數據接收,采用DMA 方式的優點是可以不需要CPU的干預,可以極大的發揮PCIe的數據傳輸速率。
相機模擬系統工作時,需要通過PCIe接口接收上位機下傳的大量圖像數據,同時以Camera Link格式輸出圖像數據,由于PCIe接口與Camera Link接口的傳輸速率不同,則會出現不同時鐘域的數據傳輸問題。此外,Windows不是實時操作系統,在下傳圖像數據時,無法對模擬源系統的發出的中斷請求做及時的處理。為了解決這兩個問題,設計中在相機模擬系統中設計了一個數據緩存單元。模擬源系統的功能需求中指出,需要完成高分辨的視頻圖像信號輸出,因此數據緩存單元將會對大量的圖像數據進行緩存處理,僅使用FPGA的片上資源難以滿足需求,所以課題中采用FIFO加DDR3兩級緩存的方式對下傳至模擬源系統的大量圖像數據進行緩存組織。
設計中在相機模擬系統中設計一個緩沖區作為DDR3數據緩存單元,該緩存單元由兩片鎂光公司生產的MT41J256M16HA-107型號DDR3存儲芯片組成。每片DDR3存儲芯片具有15位地址線以及16位數據線,容量達到512 MB。由于模擬源系統內部的數據傳輸多為32 bit,若采用16 bit數據總線的DDR3存儲芯片,則在FPGA軟件設計中將會出現數據位拆分及合并問題,增加了FPGA軟件設計的難度。因此DDR3數據緩存單元的硬件設計中,采用兩片DDR3存儲芯片作為一個緩沖區,共用15位地址線,數據線擴展為32位,容量擴展至1 GB。
MT41J256M16HA-107型號DDR3存儲芯片采用了ODT技術,所以設計中芯片的DQ、DS、DM信號不需要串入終端電阻,其余的A[14:0]、BA[2:0]、RAS#、CAS#、WE#、CS#信號均需要串接一個22歐姆的終端電阻上拉到0.75 V的參考電壓上。0.75 V的參考電源的電源芯片采用TI公司的LDO芯片TPS51200DRCT,該芯片較為廣泛的應用于DDR3的供電模塊中。
設計中,在對DDR3進行數據讀寫操作時,需要使用Kintex7系列FPGA中集成的存儲器接口生成器(MIG),以便設計DDR3的接口控制器。因此DDR3數據緩存單元的兩片DDR3存儲芯片需要接到FPGA中特別的BANK中。在對DDR3 SDRAM數據緩存模塊的軟件程序編寫中,由于采用了Xilinx ISE工具CORE Generator里的存儲器接口產生器MIG(Memory Interface Generator),用戶只需在FPGA器件中通過用戶接口(User Interface)提供相應的時序,就可以對DDR3進行讀寫操作。 DDR3 SDRAM存儲器接口的解決方案邏輯框圖如圖8所示。

圖8 K7 FPGA存儲器接口的解決方案邏輯框圖
在本次設計中,Camera Link接口輸出時,視頻信號的數據流要保持恒定的速率不間斷輸出,因此系統實現中加入了一個內部緩存控制模塊,控制DDR3進行分時工作,其工作的狀態圖如圖9所示。

圖9 DDR3分時工作狀態圖
在內部緩存控制模塊中加入兩個fifo分別作寫fifo與讀fifo,在Camera Link、接口輸出數據時,要判斷讀fifo中的數據是否低于設定的閾值,若不低于,則繼續將fifo中的數據讀出,發送到Camera Link接口模塊,DDR3保持空閑;若低于該閾值,則DDR3進行讀操作,同時讀fifo保持數據讀出給Camera Link接口模塊。對于寫fifo同樣設定一個閾值,判斷寫fifo中的數據是否多于設定的閾值,若多于該閾值,則DDR3進行寫操作,則將寫fifo中的數據寫入DDR3,否則DDR3保持空閑。并且DDR3的讀命令優先級高于寫命令。
在課題中,對相機模擬系統的DDR3 SDRAM進行讀寫操作調試,向DDR3 SDRAM寫入一段數據再讀出,不斷重復,比較讀出的數據是否正確。通過Xilinx ISE工具Chip scope進行波形抓取,實際結果如圖10所示。

圖10 讀寫操作的實際時序圖
整個Camera Link相機模擬系統能夠完成復雜的數據傳輸,上位機控制它完成所有的功能。用戶可以操作上位機產生或者接收標準的圖像數據并下傳給模擬系統,發送操作命令并顯示當前的狀態;并控制系統工作在不同Camera Link的模式配置下,顯示當前的模式配置;按照需要輸出的圖像的分辨率及圖像深度,向模擬系統發送相應的指令,完成不同分辨率、幀頻以及圖像深度的圖像數據的輸出。上位機用MFC開發,產生或接收標準的視頻圖像數據,并控制Camera Link接口相機模擬系統,實現數據傳輸及工作模式的設置,它的設計方案如圖11所示。

圖11 上位機軟件設計方案示意圖
本文設計的Camera Link相機模擬系統可以實現通過上位機將圖像數據經由PCIe2.0接口高速下傳給相機模擬,數據下傳速率不低于10 Gbps。計算機驅動PCIe2.0接口下傳數據的傳輸速率測試如圖12所示。由測試結果可以看出PCIe DMA方式下傳數據速率達到1 400 MB/s以上,遠高于課題的需求。

圖12 PCIe2.0傳輸速率測試結果
在對本次設計的相機模擬系統進行測試中,使用實驗室已具備的Camera Link采集卡對相機模擬系統輸出的圖像數據進行,采集結果如圖13所示。由測試結果可以看出,本課題設計相機模擬系統可以很好的模擬出Camera Link格式圖像數據輸出。

圖13 相機模擬系統數據結果
因此,相機模擬系統可以實現Camera Link接口的Full模式數據的實時輸出,完成分辨率為8 000×6 000、像素深度為8 bit的圖像的輸出,圖像輸出幀頻可達12.5 Hz。本文設計的Camera Link相機模擬系統可以在對星載圖像采集處理系統進行檢測時,代替高分辨的航天CCD相機,靈活的輸出高分辨的特定的測試圖像數據。
[1]韋 韌.星載科學試驗用CCD相機設計與實現[D].北京:中國科學院空間科學與應用研究中心,2010.
[2]張 坤. 國外星用CCD圖像傳感器的研制現狀[J]. 中國電子科學研究院學報,2007(3):324-328.
[3]吳 川,郝志成.基于FPGA的視頻信號發生器設計[J]. 電子技術,2011(3):30-31.
[4]劉 杰,牛燕雄,董 偉,等. 基于FPGA的視頻信號發生器設計與應用研究[J]. 儀器儀表學報,2008(3):654-657.
[5]熊 川,李天贊. 基于存儲技術的數字視頻信號產生器[J]. 桂林航天工業高等??茖W校學報,2006(4):6-7.
[6]Wang Mingfu, Yang Shihong, Wu Qinzhang. Design of large-arragy CCD real-time display system [J]. Optics and Precision Engineering, 2010, 18(9): 2053-2059.
[7]He Zhongxiang, Yang Shihong, Wu Qinzhang. Design of a real-time display system based on cameral link[A]. Proceedings of 2009 4th International Conference on Computer Science and Education[C]. Nanning: IEEE, 2009: 431-434.
[8]鄔靜陽.基于CAMERA LINK接口的虛擬數字相機的研究[D].長春:長春理工大學,2013.
[9]王小艷,張會新,孫永生,等.Camera Link協議和FPGA的數字圖像信號源設計[J].國外電子元器件,2008,16(7):59-61.
[10]Wang Minghao, Chen Tao, Wu Xiaoxia. High frame rate digital image acquisition and display system based on camera link interface [J]. Microelectronics & Computer, 2011, 28(3):149-153.
[11]魏 明.基于Camera Link接口的CMOS數字相機技術研究[D].長春:長春理工大學,2005.
DesignofCameraSimulationSystemBasedonPCIe2.0CameraLinkInterface
Lan Gongdun1,Zhao Zhanfeng1,Wei Gaofeng2,Zhou Zhiquan1
(1. School of Information and Electrical Engineering, Harbin Institute of Technology (Weihai), Weihai 264209, China; 2. Weihai Radio and Television Station, Weihai 264200, China)
Currently, a variety of satellites equipped with aerospace CCD cameras to acquire image data. The industrial detection of aerospace image processing system requires the CCD industrial camera with large resolution and higher sensitivity. The video signal interface on camera link is widely used in aerospace CCD camera because of the advantages of high transmission speed and low electronic noise interference. Because of the high price of aerospace CCD industrial camera, and the inflexible output, a camera link interface camera simulation system based on PCIe2.0 is designed to replace the aerospace CCD industrial camera, as the signal source on the detection of aerospace image processing system. The camera simulation system is composed of the FPGA, DDR3 memory, Camera Link driver chip, PCIe interface and other components ,and FPGA is the core .The camera simulation system can realize that the output image resolution is up to 8000×6000, and output specific images required by the industrial detection. Therefore, the camera simulation system can provide stable and flexible high resolution image data to meet the demand by industrial detection of aerospace image processing system.
Camera Link interface; PCIe 2.0; aerospace CCD cameras; FPGA
2017-04-24;
2017-05-15。
蘭功盾(1993-),男,遼寧大連人,碩士研究生,主要從事信號處理理論與技術方向的研究。
趙占鋒(1980-),男,博士,副教授,主要從事信號處理理論與技術方向的研究。
周志權(1973-),男,博士,教授,主要從事信號處理理論與技術方向的研究。
魏高峰(1967-),男,主要從事信號處理理論與技術方向的研究。
1671-4598(2017)11-0150-04
10.16526/j.cnki.11-4762/tp.2017.11.038
TN911
A