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