基于FPGA多路機(jī)載冗余圖像處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:采用以FPGA作為核心處理器,實(shí)現(xiàn)了對多路DVI視頻冗余信號的解碼、編碼、實(shí)時(shí)處理以及輸出顯示,并且信號通道增加冗余設(shè)計(jì),因而加強(qiáng)了系統(tǒng)的穩(wěn)定性和可靠性。電路設(shè)計(jì)簡潔,具有較強(qiáng)的靈活性和擴(kuò)展性。通過實(shí)際測試結(jié)果表明,系統(tǒng)能夠流暢地對1 600x1 200分辨率,60 Hz刷新率,24位真彩色的高清視頻進(jìn)行實(shí)時(shí)處理,其系統(tǒng)可靠、穩(wěn)定,實(shí)用性強(qiáng)。
本文引用地址:http://2s4d.com/article/201610/307135.htm0 引言
DVI(數(shù)字視頻接口)是當(dāng)前數(shù)字顯示領(lǐng)域研究和應(yīng)用的熱點(diǎn),面向DVI輸出的視頻處理技術(shù)不僅解決了顯示器高分辨率、高刷新率等問題,而且提高了穩(wěn)定性和顯示性能,并進(jìn)一步降低了平板顯示器的成本。因此,面向DVI輸出的視頻控制器的研究具有十分重要的現(xiàn)實(shí)意義。
根據(jù)DVI標(biāo)準(zhǔn),一條TMDS通道可以達(dá)到165 MHz的工作頻率和10 b接口,也就是可以提供1.65 Gb/s的帶寬,這足以應(yīng)付1 920x1 080@60 Hz(23寸LCD)的顯示要求。另外,為了擴(kuò)充兼容性,DVI還可以使用第二條TMDS通道,這樣其帶寬將會(huì)超過3 Gb/s。也正是由于其較高的帶寬優(yōu)勢,目前DVI已經(jīng)成為了IT業(yè)界最具前途的規(guī)范。
DVI具有支持高帶寬數(shù)據(jù)傳輸和高清晰圖像顯示的優(yōu)點(diǎn)。模擬視頻的顯示是通過數(shù)字到模擬到數(shù)字的轉(zhuǎn)化實(shí)現(xiàn)的,而DVI接口無需進(jìn)行這些轉(zhuǎn)換,直接數(shù)字到數(shù)字,避免了信號轉(zhuǎn)換而帶來的圖像質(zhì)量損失,使圖像的清晰度和細(xì)節(jié)表現(xiàn)力都得到了大大提高?;谝陨蟽?yōu)點(diǎn),DVI接口被廣泛應(yīng)用于航空、航天等領(lǐng)域。
1 總體方案設(shè)計(jì)
1.1 總體方案原理框圖
用戶輸入4路DVI信號,然后根據(jù)輸入信號特性進(jìn)行選擇,將視頻信號實(shí)時(shí)顯示在液晶屏上。另外,將實(shí)時(shí)顯示的圖像回送給記錄儀,此時(shí)記錄儀實(shí)時(shí)記錄當(dāng)前的信息以及故障信息,確保在全任務(wù)階段圖像顯示的正確性。根據(jù)設(shè)計(jì)要求,選擇Altera公司生產(chǎn)的FPGA芯片EP2S30 F1020I4為主控芯片,配置芯片選用EPCS16SI16N。利用FPGA內(nèi)部豐富的邏輯資源和強(qiáng)大的IP核,配以相應(yīng)的外部電路,構(gòu)建出一個(gè)靈活、簡潔、可靠的機(jī)載視頻圖形處理系統(tǒng)的嵌入式硬件模塊。其總體方案原理框圖如圖1所示。
1.2 DVI編解碼設(shè)計(jì)
在很多設(shè)計(jì)中,設(shè)計(jì)人員為了方便,簡化電路,可能不會(huì)增加均衡器,對輸入信號不進(jìn)行處理。從而在后期的產(chǎn)品試驗(yàn)過程中,很容易就會(huì)出現(xiàn)信號顯示質(zhì)量差,兼容性差的缺陷,導(dǎo)致整個(gè)產(chǎn)品重新設(shè)計(jì)或整改,延緩了產(chǎn)品交貨進(jìn)度。根據(jù)用戶輸入的視頻特性,本文采用均衡器+DVI編、解碼器的方式,對輸入、輸出信號進(jìn)行轉(zhuǎn)換處理。這樣處理有如下優(yōu)點(diǎn):傳輸距離較長,信號干擾小;外圍電路簡單,設(shè)計(jì)靈活、可靠;系統(tǒng)速度快、靈活性強(qiáng)、功能可擴(kuò)展,系統(tǒng)兼容性好。
在本系統(tǒng)中,選用TI公司生產(chǎn)的均衡器DS16EV5110,該器件具有功耗低、體積小、外圍電路簡單等特點(diǎn)。另外,DVI編解碼芯片選用TI公司生產(chǎn)的芯片TFP401和TFP410,同樣具有功耗低、體積小、外圍電路簡單等特點(diǎn)。該器件控制引腳直接連接至FPGA,可以很好控制這些器件的工作狀態(tài),以便減小功耗。并且,整個(gè)FPGA內(nèi)部邏輯控制簡單、可靠。
在硬件電路設(shè)計(jì)中,還需要考慮高頻特性對信號的影響。整個(gè)系統(tǒng)顯示的分辨率為1 600x1 200@60Hz,信號位為真彩色24 b,采用奇偶方式,參考時(shí)鐘162 MHz,DVI編碼時(shí)鐘為10×162 MHz=1.62 GHz,其編碼碼元理論寬度僅為t=1/1.62 Hz=0.62 ns,則碼元的最大變化時(shí)間應(yīng)在0.62/4=0.16 ns之內(nèi)??紤]數(shù)據(jù)傳輸?shù)目煽啃院头€(wěn)定性,采用雙像素傳輸,可以大大降低信號采樣頻率。此外,還要考慮到PCB布局地線的完整性和供電去耦特性。其編解碼芯片混合信號的供電參考電路如圖2所示。
2 SDRAM視頻緩存設(shè)計(jì)
2.1 SDRAM選擇依據(jù)
整個(gè)系統(tǒng)顯示的分辨率為1 600x1 200@60 Hz,信號位為真彩色24 b,則一幀圖像所需需要存儲(chǔ)的容量C=1 600×1 200×24=46 080 000 b≈47 Mb;考慮到SDRAM乒乓操作和容量等問題,選用MICRO公司生產(chǎn)的容量為128M的MT48LC4M3282TG-6器件,速度等級6,時(shí)鐘頻率達(dá)到166 MHz。該器件具有32根數(shù)據(jù)線和12根地址線,還有一些控制線。通過在FPGA內(nèi)部搭建邏輯控制單元,可以很好的控制SDRAM視頻信號的翻轉(zhuǎn)等操作。
2.2 FPGA內(nèi)部原理邏輯框圖
FPGA內(nèi)部原理邏輯框圖如圖3所示。
2.2.1 FPGA內(nèi)部邏輯功能介紹
(1)信號輸入模塊
這部分的主要功能是接收外部輸入的視頻信號,增強(qiáng)輸入信號的驅(qū)動(dòng)能力,為信號的后續(xù)處理做準(zhǔn)備。其用Verilog語言實(shí)現(xiàn)的邏輯代碼如下所示:
(2)數(shù)據(jù)流選擇模塊
根據(jù)需要選擇兩路輸入視頻信號中的一路進(jìn)行輸出。
(3)SDRAM乒乓操作和控制模塊
由于SDRAM乒乓操作具有節(jié)省緩沖區(qū)空間、流水線式算法以及低速模塊處理高速數(shù)據(jù)流的特點(diǎn)。因此,本設(shè)計(jì)采用乒乓操作SDRAM。
SDRAM作為整個(gè)圖像處理系統(tǒng)的緩存,起著至關(guān)重要的作用。它將外部輸入的圖像按幀存入SDRAM中,然后按幀將圖像數(shù)據(jù)送到外部繼續(xù)處理。FPGA的控制邏輯所需要完成的功能有:接收來自外部的圖像數(shù)據(jù),并進(jìn)行緩沖和數(shù)據(jù)重組,產(chǎn)生符合SDRAM控制器位寬的數(shù)據(jù)信號;產(chǎn)生對SDRAM的讀、寫命令和地址,并將它們寄存在FIFO中,隨時(shí)供SDRAM控制器提取。因此,系統(tǒng)需要一個(gè)地址產(chǎn)生邏輯;對SDRAM進(jìn)行直接控制,將用戶產(chǎn)生的地址命令進(jìn)行解析,產(chǎn)生讀/寫、刷新等一系列操作,對SDRAM發(fā)出的各種命令要符合特定的時(shí)序要求。在上電的時(shí)候還必須完成對SDRAM的初始化工作;建立用戶與SDRAM的數(shù)據(jù)通道,在SDRAM和用戶接口之間傳遞需要寫入或者讀出的數(shù)據(jù),并且調(diào)整對應(yīng)讀/寫操作的DQS信號時(shí)序,使其滿足SDRAM的要求;緩存從SDRAM中讀出的數(shù)據(jù),由于直接讀出的速度非常高,直接處理會(huì)對后端產(chǎn)生很大的壓力。因此,需要進(jìn)行緩存之后才送到后續(xù)處理。
(4)輸出時(shí)序生成模塊
這部分模塊的主要功能是對SDRAM進(jìn)行操作,生成需要的視頻時(shí)序信號以及生成驅(qū)動(dòng)液晶屏的視頻信號。
2.2.2 SDRAM操作
為了滿足前后端數(shù)據(jù)流匹配,并實(shí)時(shí)發(fā)送,這里采用了SDRAM讀寫交替進(jìn)行的讀寫方式。
SDRAM讀到寫時(shí)序圖如圖4所示。寫入和讀出操作的發(fā)起是由行激活命令開始的,命令為10011,發(fā)起的同時(shí)sdram_addr送入列地址,發(fā)起寫入讀出命令時(shí)送入行地址。寫入命令與數(shù)據(jù)同步,讀出命令在發(fā)出后潛伏期時(shí)間后送出數(shù)據(jù)到端口,sdram_data為SDRAM的輸入輸出數(shù)據(jù)端口。預(yù)沖方式采用了自動(dòng)預(yù)沖,即在發(fā)起讀寫命令時(shí)將地址位A10置高就可以在讀寫操作后SDRAM內(nèi)部自動(dòng)進(jìn)行預(yù)沖操作,不需要發(fā)出額外命令,自動(dòng)預(yù)沖占用4個(gè)時(shí)鐘周期。
3 仿真分析以及測試結(jié)果
讀寫操作交替進(jìn)行仿真圖如圖5所示。圖5中包含了兩個(gè)寫入操作,一個(gè)讀取操作。
SDRAM在完成讀寫操作的同時(shí)還需要完成每64 ms全行(4 096行)自動(dòng)刷新操作,為所有行進(jìn)行充電,不然就會(huì)導(dǎo)致SDRAM內(nèi)的數(shù)據(jù)丟失。自動(dòng)刷新時(shí)序圖如圖6所示。這里將自動(dòng)刷新操作穿插在讀寫當(dāng)中,經(jīng)計(jì)算為15μs需進(jìn)行一次自動(dòng)刷新操作,通過一個(gè)計(jì)數(shù)器每15μs發(fā)起一次自動(dòng)刷新請求,程序檢測到自動(dòng)刷新操作請求后進(jìn)行自動(dòng)刷新操作然后再進(jìn)行讀寫操作,自動(dòng)刷新操作占用10個(gè)時(shí)鐘周期。圖7為寫和讀之間穿插了一次自動(dòng)刷新操作,操作命令為10001。
測試結(jié)果證明,該緩存系統(tǒng)實(shí)現(xiàn)了預(yù)定功能,可以對視頻數(shù)據(jù)進(jìn)行更方便的操作與管理。SDRAM操作前與操作后圖形效果對比如圖8所示。
4 結(jié)語
本文介紹了某機(jī)載實(shí)時(shí)冗余視頻圖形處理系統(tǒng)的硬件電路設(shè)計(jì)方案,該系統(tǒng)利用FPGA設(shè)計(jì)結(jié)構(gòu)化狀態(tài)機(jī)實(shí)現(xiàn)對SDRAM的控制,完成了對數(shù)據(jù)的緩存設(shè)計(jì),實(shí)現(xiàn)了對多路DVI視頻冗余信號的解碼、編碼、實(shí)時(shí)處理以及輸出顯示。該系統(tǒng)電路設(shè)計(jì)簡潔,具有速度快、可靠性高、靈活性強(qiáng)和功能可擴(kuò)展等優(yōu)點(diǎn)。并且,由于信號通道增加冗余設(shè)計(jì),因而加強(qiáng)了系統(tǒng)顯示的穩(wěn)定性和可靠性。本系統(tǒng)已經(jīng)投入使用,其性能可靠、穩(wěn)定,實(shí)用性強(qiáng)。該方法值得推廣。
評論