孟令軍,李加超,文 波,趙盼盼
(中北大學(xué)電子測試技術(shù)國家重點實驗室,太原 030051)
基于NiosⅡ的LVDS圖像數(shù)據(jù)存儲轉(zhuǎn)發(fā)系統(tǒng)的設(shè)計*
孟令軍,李加超,文 波,趙盼盼
(中北大學(xué)電子測試技術(shù)國家重點實驗室,太原 030051)
針對高速圖像數(shù)據(jù)的遠距離傳輸提出了一種基于NiosⅡ處理器的LVDS圖像數(shù)據(jù)存儲轉(zhuǎn)發(fā)系統(tǒng)的設(shè)計方案,詳細介紹了LVDS圖像數(shù)據(jù)的存儲方法和數(shù)據(jù)轉(zhuǎn)發(fā)的工作原理,并對該系統(tǒng)的軟硬件設(shè)計以及各功能模塊的具體實現(xiàn)原理進行了分析和實際測試,實驗結(jié)果驗證了該設(shè)計的可行性、穩(wěn)定性及高效性。
NiosⅡ處理器,LVDS,乒乓結(jié)構(gòu),DMA
隨著遙測采集技術(shù)的迅速發(fā)展,數(shù)據(jù)的高速、可靠傳輸已經(jīng)成為當前遙測領(lǐng)域研究的熱點問題,傳統(tǒng)的串行和并行數(shù)據(jù)傳輸方式由于其速度和距離方面的限制逐漸成為系統(tǒng)整體性能的瓶頸,而LVDS數(shù)據(jù)傳輸方式以其速度和可靠性的優(yōu)勢在圖像采集系統(tǒng)中得到廣泛應(yīng)用。同時Altera公司的NiosⅡ系統(tǒng)是一種以FPGA作為物理載體、可按需求定制的嵌入式系統(tǒng),具有很強的靈活性、穩(wěn)定性和可操作性,廣泛應(yīng)用于高速數(shù)字圖像處理領(lǐng)域[1]。
1.1 NiosⅡ系統(tǒng)
NiosⅡ系統(tǒng)是Altera公司基于SOPC(System on Programmable Chip,片上可編程系統(tǒng))技術(shù)推出的一種高效、靈活、可配置的嵌入式系統(tǒng),設(shè)計方式靈活,開發(fā)周期短,可升級、可擴充、可裁減,具有很強的移植性,并具備軟硬件在系統(tǒng)上可編程的功能[2]。
1.2 LVDS技術(shù)
LVDS(Low Voltage Differential Signaling)是一種低振幅差分信號技術(shù),它采用恒流源模式和低幅度電壓信號驅(qū)動,使用幅度非常低的信號(約350 mV)通過平衡電纜或一對差分信號線傳輸數(shù)據(jù),系統(tǒng)功耗低,且不易受共模噪聲的影響,傳輸速率可以達到數(shù)百兆位每秒。目前,LVDS技術(shù)在對信號完整性和共模特性要求較高的高速數(shù)據(jù)傳輸系統(tǒng)中得到越來越廣泛的應(yīng)用。
圖像數(shù)據(jù)存儲轉(zhuǎn)發(fā)系統(tǒng)主要是利用NiosII嵌入式系統(tǒng)穩(wěn)定可靠的優(yōu)勢和LVDS數(shù)據(jù)傳輸?shù)墓牡?、速度快、干擾少的特點完成LVDS圖像數(shù)據(jù)的存儲和特定幀的圖像轉(zhuǎn)發(fā)功能。系統(tǒng)采用兩片SRAM構(gòu)成的乒乓緩存結(jié)構(gòu)保證圖像數(shù)據(jù)的實時性和完整性,利用DMA方式存儲實時接收到得圖像數(shù)據(jù)。系統(tǒng)的設(shè)計結(jié)構(gòu)框圖如圖1所示,NiosII嵌入式處理器將LVDS接口解串后的圖像數(shù)據(jù)通過乒乓模式存儲到兩片片外擴展的SRAM中進行緩沖,然后將數(shù)據(jù)從SRAM中讀出并以DMA方式將數(shù)據(jù)存儲到FLASH中或者將圖像數(shù)據(jù)通過RS422進行轉(zhuǎn)發(fā)。
2.1 NiosⅡ嵌入式處理器
NiosII嵌入式處理器是基于Altera公司推出的CycloneⅢ系列(EP3C120F484)FPGA芯片實現(xiàn)的,在構(gòu)建NiosⅡ嵌入式處理器軟內(nèi)核時,根據(jù)系統(tǒng)要實現(xiàn)的功能選擇合適的處理器類型和外部設(shè)備,然后通過QuartusⅡ和SOPC Builder生成具有相應(yīng)功能的軟核[3]。同時,NiosII嵌入式處理器還可以通過VHDL、Verilog語言或者使用第三方的IP核定制用戶外設(shè)和用戶指令來實現(xiàn)各種需求。系統(tǒng)的配置組建及接口模塊如圖 2所示,NiosII處理器與MAX9218通過PIO接口進行通訊,串行FLASH用于存儲整個系統(tǒng)程序,SRAM用于緩存采集到的圖像數(shù)據(jù),方便系統(tǒng)進行數(shù)據(jù)存儲和實時數(shù)據(jù)上傳分析,SDRAM用作系統(tǒng)內(nèi)存,整個系統(tǒng)程序在SDRAM內(nèi)運行。
圖1 系統(tǒng)設(shè)計結(jié)構(gòu)框圖
圖2 NiosⅡ處理器配置的組件圖
2.2 DMA數(shù)據(jù)轉(zhuǎn)存
為了提高NiosII處理器的數(shù)據(jù)處理速度,在系統(tǒng)中引入了DMA控制器。在DMA數(shù)據(jù)傳輸方式下,DMA控制器接管了總線的控制權(quán),并以中斷的方式向處理器報告?zhèn)魉筒僮鞯慕Y(jié)束。采用DMA數(shù)據(jù)傳輸方式省去了處理器先讀入數(shù)據(jù),再把數(shù)據(jù)輸出的操作,大大節(jié)省了數(shù)據(jù)傳輸?shù)臅r間和系統(tǒng)資源,也減輕了處理器傳輸數(shù)據(jù)的負擔[4]。
由于圖像數(shù)據(jù)傳輸速度比較快,瞬時速率達到70 MB/s,這遠遠大于Flash的寫入速度,為了解決圖像數(shù)據(jù)的接收和存儲之間的速率匹配,需要在系統(tǒng)的輸出端加入異步FIFO,在數(shù)據(jù)處理單元、FIFO以及FLASH之間形成以DMA方式直接控制高速數(shù)據(jù)傳輸模式。為了保證圖像在存儲過程中的完整性,系統(tǒng)采用兩片高速SRAM交替工作完成圖像數(shù)據(jù)無縫緩存,構(gòu)成乒乓機制工作狀態(tài),在一片SRAM執(zhí)行DMA傳輸?shù)耐瑫r另一片執(zhí)行寫操作,這樣不會造成數(shù)據(jù)丟失,狀態(tài)也比較容易控制。同時在SRAM中設(shè)置了幀緩沖,主要利用幀與幀之間的消隱間隔來完成DMA傳輸,將緩存在SRAM中的一幀數(shù)據(jù)搬移到片內(nèi)FIFO,提高了數(shù)據(jù)傳輸效率。
2.3 LVDS數(shù)據(jù)接收
LVDS接收模塊主芯片采用27 Bit,速度最高可達35 MHz的MAX9218 LVDS解串芯片,該芯片可以解串發(fā)送端串化芯片對應(yīng)引腳上所串化出來的電平特性,其具體數(shù)據(jù)傳輸位數(shù)可以根據(jù)設(shè)計需求進行配置,在本設(shè)計中所接收的數(shù)字圖像格式為:320列×256行×16位,圖像采樣位數(shù)為16bit/像素,采用16 bit帶寬35 MHz的速度進行數(shù)據(jù)傳輸,芯片的數(shù)據(jù)位(RGB_OUT16)用來接收表示行同步的信號(HSYN),因此,只利用了其中17個包含數(shù)據(jù)同步信號的并行數(shù)據(jù)輸出引腳,其他沒有使用的引腳可以懸空。在更高速度和位數(shù)要求的設(shè)計中LVDS串化和解串速度可根據(jù)具體情況選擇速度更快和位數(shù)更多的 LVDS串化和解串芯片[5],MAX9218解串時的數(shù)字圖像時序如圖3所示。
圖3 MAX9218解串時序圖
2.4 圖像數(shù)據(jù)轉(zhuǎn)發(fā)
該系統(tǒng)的圖像實時轉(zhuǎn)發(fā)功能用于其他設(shè)備進行圖像數(shù)據(jù)處理,圖像數(shù)據(jù)轉(zhuǎn)發(fā)模塊采用標準異步串行RS422接口,該接口數(shù)據(jù)傳輸率最大可達10 Mbit/s。該系統(tǒng)采用2.5 Mb/s的波特率,在進行轉(zhuǎn)發(fā)圖像數(shù)據(jù)的過程中,首先從SRAM中讀出16位圖像數(shù)據(jù),最初轉(zhuǎn)發(fā)的低電平作為低16位圖像數(shù)據(jù)的起始位,待圖像數(shù)據(jù)和奇校驗位傳輸結(jié)束后以高電平作為這一次數(shù)據(jù)包傳輸?shù)耐V刮?,然后再以同樣的過程傳輸高8位圖像數(shù)據(jù),至此1個像素的數(shù)據(jù)傳輸完畢。RS422圖像數(shù)據(jù)傳輸格式如圖4所示。
圖4 RS422圖像數(shù)據(jù)傳輸格式
圖5 上位和還原圖像
圖5為上位機還原出的圖像,其中圖5(a)為NiosⅡ嵌入式處理器根據(jù)控制指令將某一時刻SRAM中緩存的圖像數(shù)據(jù)經(jīng)過異步串行接口轉(zhuǎn)發(fā)出去的圖像,圖5(b)為FLASH存儲器中相同時刻存儲的原始圖像,實現(xiàn)了圖像數(shù)據(jù)的實時存儲和特定轉(zhuǎn)發(fā)功能,滿足了設(shè)計要求。
本文介紹了一種基于NiosⅡ處理器的LVDS圖像數(shù)據(jù)存儲轉(zhuǎn)發(fā)方案,實現(xiàn)了高速LVDS圖像數(shù)據(jù)的接收、實時存儲和轉(zhuǎn)發(fā)。設(shè)計中采用了SRAM乒乓緩存結(jié)構(gòu)和DMA數(shù)據(jù)傳輸機制,增強了整個系的統(tǒng)數(shù)據(jù)處理能力,保證了圖像數(shù)據(jù)的連續(xù)性和完整性;采用SOPC技術(shù)構(gòu)建NiosⅡ嵌入式處理器,具有較強的移植性,使整個系統(tǒng)的性能有了很大提高,適用于通訊、雷達、電子對抗等高速數(shù)字圖像處理設(shè)備中,應(yīng)用前景十分廣泛。
[1]鄒晨,高云.FPGA內(nèi)嵌處理器的SOPC系統(tǒng)設(shè)計與分析[J].航空計算技術(shù),2013,43(5):123-127.
[2]李蘭英.NiosII嵌入式軟核SOPC設(shè)計原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.
[3]張可,焦國太,彭晴晴.基于SOPC的LVDS數(shù)據(jù)接收系統(tǒng)設(shè)計[J].火力與指揮控制,2012,37(9):143-145.
[4]蔡偉綱.NiosII軟件架構(gòu)解析(第一版)[M].西安:西安電子科技大學(xué)出版社,2007.
[5]Ning H W,Zhen G Y,Ren Y F.AN Optimal Design of LVDS Interface[J].Computer Science and Network Technology,2011(3):2024-2026.
Design of LVDS Image Data Storage and Retransmit System Based on NiosⅡ
MENG Ling-jun,LI Jia-chao,WEN Bo,ZHAO Pan-pan
(National Key Laboratory For Electronic Measurement Technology,North University of China,Taiyuan 030051,China)
In this paper,a design of LVDS image data storage and retransmit system based on NiosⅡ processor is presented.The method of LVDS image data storage and retransmit are completed a detailed explanation.In terms of hardware and software design,the discussion about the principium of each functional module is proposed.Functional realization of the system is tested one by one,the test results demonstrate the feasibility,reliability and high efficiency of this design.
NiosⅡprocessor,LVDS,ping-pong structure,DMA
TN402
A
1002-0640(2015)05-0143-03
2014-03-07
2014-04-21
國家自然科學(xué)基金資助項目(51275492)
孟令軍(1969- ),男,山東青島人,副教授,碩士生導(dǎo)師。研究方向:微納儀器及測試技術(shù)、集成測試系統(tǒng)及儀器。