《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于LVDS和PCI接口的高速圖像傳輸系統(tǒng)設(shè)計(jì)
基于LVDS和PCI接口的高速圖像傳輸系統(tǒng)設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第7期
張?zhí)煳?,,2,劉文怡1,,2
1.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,,山西 太原030051,; 2.中北大學(xué) 電子測試技
摘要: 針對(duì)數(shù)字圖像處理與傳輸領(lǐng)域數(shù)據(jù)量大而傳統(tǒng)接口無法滿足其高速率傳輸要求的現(xiàn)狀,,提出了一種基于LVDS和PCI接口的高速圖像傳輸系統(tǒng)的設(shè)計(jì),對(duì)系統(tǒng)總體設(shè)計(jì)和各電路模塊進(jìn)行了詳細(xì)介紹和分析,,并對(duì)系統(tǒng)整體功能進(jìn)行了測試,。該系統(tǒng)以FPGA作為控制核心,,采用乒乓操作實(shí)現(xiàn)數(shù)據(jù)的無縫緩沖,重點(diǎn)研究了LVDS接口和PCI總線技術(shù),,保證圖像數(shù)據(jù)的高速,、可靠傳輸。測試結(jié)果表明,,該傳輸系統(tǒng)性能穩(wěn)定,,能可靠地實(shí)現(xiàn)圖像數(shù)據(jù)傳輸,最大傳輸速率可達(dá)18 MB/s,,具有一定的實(shí)用價(jià)值,。
關(guān)鍵詞: LVDS PCI總線 FPGA 高速傳輸
中圖分類號(hào): TN919
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)07-0051-03
Design of the high-speed image transmission system based on LVDS and PCI interface
Zhang Tianwen1,2,,Liu Wenyi1,,2
1.Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, North University of China,Taiyuan 030051,,China,;2.National Key Laboratory of the Electronic Measurement Technology, North University of China, Taiyuan 030051,China
Abstract: For the situation of large amount of data in digital image processing and transmission fields, and traditional interfaces are unable to meet the high-speed transmission requirements, a high-speed image transmission system based on LVDS and PCI interface is proposed, in which the overall design of the system and each circuit module are described and analysed in detail, and overall system functions are tested. FPGA is regarded as the control core in this transmission system. Seamless data buffering has been achieved by using ping-pong operation. This paper focuses on the LVDS interface and the PCI bus technology so as to ensure high-speed, reliable transmission of image data. The test results show that the system is stable and reliable to implement the transmission of image data, and the maximum transfer rate is up to 18 MB/s,,which has certain practical values.
Key words : LVDS,;PCI bus;FPGA,;high-speed transmission

     近年來,,隨著電子信息、多媒體技術(shù)的快速發(fā)展,,在圖像處理和視頻傳輸?shù)阮I(lǐng)域中傳輸?shù)臄?shù)據(jù)量越來越大,,這對(duì)數(shù)據(jù)傳輸?shù)乃俣群唾|(zhì)量提出了很高的要求[1]。然而,,一些傳統(tǒng)的點(diǎn)對(duì)點(diǎn)物理層接口由于在速度,、可靠性、功耗,、成本等方面的限制,,已經(jīng)無法滿足高速數(shù)據(jù)傳輸?shù)膽?yīng)用要求,因此迫切需要一種速率快,、可靠性高,、功耗低的數(shù)據(jù)傳輸方式。低壓差分信號(hào)技術(shù)LVDS(Low Voltage Differential Signaling)使用極低的擺幅通過雙絞電纜傳輸數(shù)據(jù),,是一種最高傳輸速率可達(dá)1.923 Gb/s的通用接口技術(shù),,并且由于其低壓差分的傳輸方式,具有較強(qiáng)的抑制信號(hào)干擾能力,大大提高了數(shù)據(jù)傳輸?shù)木嚯x,、速率和可靠性[2],。此外在計(jì)算機(jī)測量領(lǐng)域,PCI總線憑借其出色性能以及良好的兼容性,,在工業(yè)控制,、數(shù)據(jù)采集、信息通信,、航空航天等領(lǐng)域得到廣泛的應(yīng)用[3],,為圖像數(shù)據(jù)高速傳輸提供了有力的保障。

    結(jié)合LVDS接口與PCI總線能夠滿足高速傳輸?shù)奶匦?,本文主要從系統(tǒng)總體設(shè)計(jì),、硬件設(shè)計(jì)和邏輯設(shè)計(jì)等方面介紹一種基于LVDS和PCI接口的高速圖像傳輸系統(tǒng)。

1 系統(tǒng)總體設(shè)計(jì)

    本文設(shè)計(jì)的高速圖像傳輸系統(tǒng)主要實(shí)現(xiàn)對(duì)數(shù)字圖像信息的編碼,、傳輸以及顯示功能,,突出傳輸系統(tǒng)的高效與可靠。系統(tǒng)采用模塊化設(shè)計(jì)思路,,各個(gè)模塊之間既相互獨(dú)立又相互配合,,主要由電源轉(zhuǎn)換模塊、圖像編碼模塊,、LVDS收發(fā)模塊,、FPGA邏輯控制模塊和PCI接口等模塊組成。其中,,圖像編碼模塊的功能由軟件完成,,根據(jù)圖像格式進(jìn)行相應(yīng)的二進(jìn)制編碼; FPGA邏輯控制模塊實(shí)現(xiàn)系統(tǒng)對(duì)硬件高集成度的要求,。系統(tǒng)總體框圖如圖1所示,。

    該系統(tǒng)的圖像信息輸入主要包括單幅圖片以及視頻流數(shù)據(jù),圖像編碼模塊首先根據(jù)內(nèi)部協(xié)議規(guī)范的幀格式對(duì)圖像信息進(jìn)行二進(jìn)制編碼,,之后將數(shù)據(jù)幀依次發(fā)送到FPGA邏輯控制模塊中,;FPGA邏輯控制模塊對(duì)兩片SRAM采用乒乓操作,將接收到的數(shù)據(jù)交替讀/寫進(jìn)行緩沖,,然后通過LVDS發(fā)送模塊發(fā)送出去,;在接收端,LVDS接收模塊對(duì)接收的數(shù)據(jù)進(jìn)行串/并轉(zhuǎn)換,,F(xiàn)PGA邏輯控制模塊將數(shù)據(jù)寫入Flash存儲(chǔ)芯片進(jìn)行備份,,同時(shí)將數(shù)據(jù)通過PCI接口傳輸給上位機(jī)進(jìn)行處理及顯示。在此過程中,,系統(tǒng)指令的下發(fā)均由上位機(jī)完成,。

2 硬件設(shè)計(jì)

2.1 LVDS收發(fā)單元

    LVDS收發(fā)單元由LVDS發(fā)送模塊和LVDS接收模塊兩部分組成,。設(shè)計(jì)選用美國德州儀器公司的10位總線型低壓差分信號(hào)串化器SN65LV1023A和解串器SN65LV1224A作為數(shù)字圖像數(shù)據(jù)高速傳輸?shù)腖VDS接口芯片,接口電路如圖2所示,。

    SN65LV1023/1224A芯片組采用主動(dòng)工作模式,可輸入的頻率范圍為10~66 MHz,,芯片最高傳輸速率可達(dá)792 Mb/s,,具有初始化、同步,、數(shù)據(jù)傳輸,、休眠、高阻5種工作狀態(tài)[4],。該芯片組在正常工作之前必須經(jīng)過時(shí)鐘同步操作,。當(dāng)系統(tǒng)上電后,芯片組首先將輸出管腳置為高阻態(tài)并啟動(dòng)鎖相環(huán),,再由串化器發(fā)送SYNC(“000000111111”)同步信息,,若解串器LOCK管腳置“0”,則說明時(shí)鐘已同步,,可以進(jìn)行數(shù)據(jù)傳輸,。在數(shù)據(jù)傳輸過程中,串化器將接收到的10 bit電平數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換,,然后將內(nèi)嵌有時(shí)鐘信息的串行數(shù)據(jù)發(fā)送到差分端口經(jīng)由屏蔽雙絞線輸出,;在接收端,解串器在REFCLK時(shí)鐘下將接收到的串行數(shù)進(jìn)行串/并轉(zhuǎn)換并存入鎖存器中,,根據(jù)重建的同步時(shí)鐘信號(hào)RCLK將10 bit并行數(shù)據(jù)輸出,,從而完成整個(gè)傳輸過程。設(shè)計(jì)中采用內(nèi)嵌時(shí)鐘恢復(fù)技術(shù)進(jìn)行數(shù)據(jù)處理,,有效地解決了由于時(shí)鐘與數(shù)據(jù)同步不嚴(yán)格而引起的制約其性能的一系列問題,。

    由于高頻信號(hào)在PCB導(dǎo)線和電纜上的損耗會(huì)使邊沿變化速率降低,引入碼間串?dāng)_,,但這會(huì)導(dǎo)致傳輸信號(hào)衰減,。所以為了保證數(shù)據(jù)的傳輸質(zhì)量,設(shè)計(jì)中配合使用LVDS芯片和電纜延展器芯片,。采用CLC001驅(qū)動(dòng)器和CLC014均衡器實(shí)現(xiàn)高速傳輸?shù)男盘?hào)調(diào)理作用,,降低了信號(hào)損耗,補(bǔ)償了信號(hào)衰減,,從而保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性,。

2.2 PCI接口單元

    本設(shè)計(jì)采用PCI接口單元實(shí)現(xiàn)底層電路與上位機(jī)之間的數(shù)據(jù)傳輸。上位機(jī)通過PCI接口單元實(shí)現(xiàn)指令下發(fā)和數(shù)據(jù)上傳,,并完成數(shù)據(jù)處理和顯示功能,。PCI(Peripheral Component Interconnect)總線規(guī)范是一種高性能32/64 bit地址數(shù)據(jù)復(fù)用的高速外圍設(shè)備接口標(biāo)準(zhǔn)[5],。該總線具有眾多優(yōu)點(diǎn),當(dāng)采用33 MHz時(shí)鐘,,32 bit數(shù)據(jù)總線最大傳輸速率可達(dá)132 MB/s,,當(dāng)擴(kuò)展到64 bit數(shù)據(jù)總線后,其數(shù)據(jù)吞吐量可達(dá)264 MB/s的峰值,。如果換用66 MHz時(shí)鐘,,數(shù)據(jù)傳輸速率理論峰值高達(dá)528 MB/s[6]??紤]到PCI協(xié)議復(fù)雜性較高,,如果直接使用FPGA對(duì)其進(jìn)行設(shè)計(jì)難度較大,因此采用PLX公司的PCI總線通用接口芯片PCI9054作為PCI總線與本地總線的橋接芯片,,其控制方便,、成本低廉、通用性強(qiáng),。PCI接口電路如圖3所示,。

    PCI接口單元主要由PCI9054、HT93LC56和外部晶振組成,。PCI9054芯片提供PCI,、LOCAL和E2PROM 3個(gè)接口,分別實(shí)現(xiàn)與PCI總線,、本地總線和配置芯片的物理連接,。本設(shè)計(jì)采用32 bit數(shù)據(jù)寬度,數(shù)據(jù)與地址不復(fù)用,,故配置PCI9054工作在C模式下,。測試指令的下發(fā)采用直接從模式,應(yīng)用程序首先利用API將指令數(shù)據(jù)復(fù)制到主機(jī)內(nèi)核空間,,然后CPU通過驅(qū)動(dòng)程序獲得PCI總線的控制權(quán),,實(shí)現(xiàn)對(duì)本地總線和配置寄存器的訪問;而數(shù)據(jù)上傳過程由于數(shù)據(jù)量大,、速率快,,所以采用DMA方式,DMA方式無需CPU的參與即可實(shí)現(xiàn)本地總線與PCI總線的數(shù)據(jù)交換,,能夠完成高速傳輸?shù)娜蝿?wù),。數(shù)據(jù)上傳操作同樣由應(yīng)用程序發(fā)起,首先申請(qǐng)用戶空間用于存儲(chǔ)上傳的數(shù)據(jù),,并通過API將其地址映射到內(nèi)核空間地址,,然后配置PCI內(nèi)部的DMA寄存器,啟動(dòng)DMA傳輸,。在DMA方式下,,PCI9054作為PCI總線和本地總線的主控設(shè)備,,將本地總線中的數(shù)據(jù)傳輸至內(nèi)核空間,此時(shí)應(yīng)用程序通過訪問用戶空間處理上傳的數(shù)據(jù),。指令下發(fā)和數(shù)據(jù)上傳過程分別如圖4,、圖5所示。

3 系統(tǒng)邏輯設(shè)計(jì)

3.1 FPGA邏輯程序

    設(shè)計(jì)中,,F(xiàn)PGA采用Xilinx公司的SPARTAN系列芯片,,該芯片具有很高的邏輯資源,易于配置,。系統(tǒng)發(fā)送端的FPGA邏輯控制模塊主要完成高速數(shù)據(jù)的接收緩存以及LVDS接口的時(shí)序控制,。為了提高傳輸速度,,避免數(shù)據(jù)流不連續(xù),,系統(tǒng)采用“乒乓操作”,交替對(duì)兩片SRAM進(jìn)行讀/寫,。當(dāng)FPGA接收到數(shù)據(jù)時(shí),,首先對(duì)SRAM 1進(jìn)行寫操作,接著將下一幀圖像寫入SRAM 2,;同時(shí)對(duì)SRAM 1進(jìn)行讀操作,,并將讀出的數(shù)據(jù)轉(zhuǎn)發(fā)到LVDS發(fā)送模塊。系統(tǒng)在對(duì)一片SRAM進(jìn)行寫操作的同時(shí),,可以對(duì)另一片SRAM進(jìn)行讀操作,,如此交替讀/寫有效地節(jié)省了等待時(shí)間,從而提高了數(shù)據(jù)的傳輸速度,,實(shí)現(xiàn)數(shù)據(jù)的無縫緩沖與處理,。“乒乓操作”控制時(shí)序流程如圖6所示。

3.2 固件配置

    PCI9054內(nèi)部寄存器的初始化配置由Microchip公司的E2PROM HT93LC56完成,,主要包括PCI和Local配置寄存器,、DMA寄存器、Runtime寄存器等寄存器組[7],。本設(shè)計(jì)采用從方式和DMA兩種數(shù)據(jù)傳輸方式,,配置LAS0BA(0)=1、LAS0RR(0)=0,、LBRD0(1:0)=11,,將地址空間0作為指令下發(fā)的本地空間并設(shè)置數(shù)據(jù)寬度為32 bit;對(duì)DMA寄存器的配置包括:DMAMODE0(1:0)=11表示數(shù)據(jù)寬度為32 bit,,DMAMODE0(8:7)=00表示傳輸采用單周期方式等,。這些配置信息均可借助PLX公司提供的PLXMon工具進(jìn)行燒寫。

4 測試結(jié)果

    為了驗(yàn)證本系統(tǒng)圖像數(shù)據(jù)處理與高速傳輸?shù)目煽啃?,?duì)其整體進(jìn)行了功能測試,。圖像信息源采用大小為720×480的黑灰規(guī)律變化的圖像,,將二進(jìn)制數(shù)據(jù)還原成圖片之后通過肉眼觀察并進(jìn)行軟件分析來判斷是否發(fā)生錯(cuò)誤。

    圖7是接收到的一幀數(shù)據(jù)還原出的圖像,,圖像清晰明了,,沒有明顯的異常現(xiàn)象,。圖8是測試系統(tǒng)功能時(shí)計(jì)算機(jī)記錄的一段數(shù)據(jù),,虛框內(nèi)的“42 4D”為幀頭,“36 D2 0F 00”為一幀圖像的數(shù)據(jù)大小,,“D0 02 00 00”和“E0 01 00 00”分別表示圖像的寬度與高度,,隨后是圖像數(shù)據(jù)區(qū)域(“00”代表黑色,“C8”代表灰色),。經(jīng)過軟件對(duì)比分析,,接收到的數(shù)據(jù)準(zhǔn)確無誤碼,所以該系統(tǒng)可以實(shí)現(xiàn)設(shè)計(jì)功能并具有較高的穩(wěn)定性,。

    本文充分利用了LVDS技術(shù)的傳輸特點(diǎn)與應(yīng)用優(yōu)勢,,結(jié)合“乒乓”讀寫操作和PCI總線傳輸技術(shù)設(shè)計(jì)了一種基于LVDS和PCI接口的高速圖像傳輸系統(tǒng),并通過實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)的可靠性和準(zhǔn)確性,。該系統(tǒng)可以應(yīng)用到工業(yè)數(shù)據(jù)采集,、測試等領(lǐng)域,具有較高的可靠性,。

參考文獻(xiàn)

[1] 陳偉,,宋燕星.基于LVDS技術(shù)的高速數(shù)圖像傳輸系統(tǒng)[J].電子測量技術(shù),2008,,31(11):172-174.

[2] 彭鄉(xiāng)琳.LVDS在長距離信號(hào)傳輸中的應(yīng)用[J].兵工自動(dòng)化,,2006,25(7):60-61.

[3] 鄧鳳軍,,張龍,,王益忠.基于PCI總線的HDLC通信卡的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,,38(8):30-36.

[4] Texas Instruments.SN65LV1023A/SN65LV1224A 10-MHz to 66-MHz,,10:1 LVDS serializer/deserializer[Z].2003.

[5] 安冬冬,劉文怡,,郅銀周.基于PCI9054從模式的數(shù)據(jù)采集卡設(shè)計(jì)與應(yīng)用[J].計(jì)算機(jī)測量與控制,,2010,18(10):2439-2440.

[6] 葉勇,,沈三民,,郭錚,等.基于PCI總線的高速串口通信卡的設(shè)計(jì)[J].電視技術(shù),,2013,,37(3):82-85.

[7] PLX Technology.PCI 9054 data book version 2.1[Z].2000.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。