當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ARM是目前全球最大的嵌入式芯片技術(shù)的IP提供商,其所擁有的IP已經(jīng)成為眾多芯片設(shè)計(jì)公司采納的一種技術(shù)標(biāo)準(zhǔn)和開發(fā)平臺。所以基于ARM 內(nèi)核的SoC已經(jīng)成為嵌入式處理器的開發(fā)重點(diǎn),可通過ARM實(shí)現(xiàn)LCD控制器

ARM是目前全球最大的嵌入式芯片技術(shù)的IP提供商,其所擁有的IP已經(jīng)成為眾多芯片設(shè)計(jì)公司采納的一種技術(shù)標(biāo)準(zhǔn)和開發(fā)平臺。所以基于ARM 內(nèi)核SoC已經(jīng)成為嵌入式處理器的開發(fā)重點(diǎn),可通過ARM實(shí)現(xiàn)LCD控制器來完成對嵌入式LCD屏的控制。如果利用TFT屏支持顯示,其圖像分辨率存在局限性,因此通過搭建一個(gè)FPGA平臺實(shí)現(xiàn)圖像縮放器功能外接LCD顯示器,完成ARM信號的擴(kuò)展顯示。同時(shí)FPGA也能完成對ARM平臺產(chǎn)生的圖像信號進(jìn)行驗(yàn)證和仿真,以測試其功能和時(shí)序的正確性。XGA顯示器因其顯示量大,輸出形式多樣等特點(diǎn)已經(jīng)成為目前大多數(shù)設(shè)計(jì)中的常用輸出設(shè)備,因此本文針對ARM產(chǎn)生的VGA信號通過插值算法對其擴(kuò)展為XGA標(biāo)準(zhǔn)信號。

1 VESA標(biāo)準(zhǔn)中的VGA與XGA時(shí)序

視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)是非盈利國際組織,主要制定個(gè)人電腦、工作站以及消費(fèi)電子類產(chǎn)品在視頻接口標(biāo)準(zhǔn),因此本文所設(shè)計(jì)的VGA與XGA的時(shí)序均按照VESA標(biāo)準(zhǔn)設(shè)計(jì)。

顯示器通常采用逐行掃描的方式,每一幀圖像按順序一行接著一行連續(xù)掃描而成,掃描的過程中由水平同步信號HSYNC和垂直同步信號VSYNC來控制掃描。行掃描和場掃描的時(shí)序圖如圖1所示,其行掃描和場掃描的時(shí)序要求如表1、表2所示。

圖1 行掃描時(shí)序和場掃描時(shí)序

2 系統(tǒng)整體設(shè)計(jì)

2.1系統(tǒng)框圖

系統(tǒng)設(shè)計(jì)的數(shù)據(jù)源是來自ARM9系統(tǒng)板的視頻信號,其格式為VESA標(biāo)準(zhǔn)的VGA信號。數(shù)據(jù)源進(jìn)入FPGA后先進(jìn)行圖像縮放的處理,把輸入的有效像素?cái)?shù)據(jù)利用算法對其進(jìn)行處理,期間的處理數(shù)據(jù)利用FIFO與DDR2進(jìn)行緩存,然后把處理后的圖像數(shù)據(jù)按照XGA時(shí)序送入視頻編碼芯片,最后送入顯示器顯示。其中FPGA內(nèi)部設(shè)計(jì)分為時(shí)序控制模塊、時(shí)序產(chǎn)生模塊、FIFO模塊、圖像縮放器模塊以及DDR2 SDRAM控制器模塊,如圖2所示。

圖2 系統(tǒng)原理框圖

2.2 硬件實(shí)現(xiàn)

FPGA采用ALTEra的EP3C16F484C6芯片,該芯片具有15 408個(gè)邏輯單元,504 KB內(nèi)存,56個(gè)乘法器和4個(gè)PLL鎖相環(huán)內(nèi)核,最大支持346個(gè)I/O端口,系統(tǒng)時(shí)鐘最高為250 MHz。FPGA開發(fā)板采用了專門的視頻解碼編碼芯片,SILICon Image的視頻編碼芯片SI7170支持VGA到UVGA的格式標(biāo)準(zhǔn),同時(shí)也支持HDTV格式的編碼。DDR2 SDRAM采用三星的K4T51163QC芯片, 其頻率支持267 MHz,本文選取為200 MHz。芯片容量為32 MB×16,實(shí)際上只要SDRAM滿足存儲2幀圖像的容量即可滿足本文設(shè)計(jì)要求[1]。完成轉(zhuǎn)換后的XGA信號所需的輸出時(shí)鐘為65 MHz,可由FPGA內(nèi)部鎖相環(huán)產(chǎn)生。

3FPGA內(nèi)部模塊工作原理

3.1輸入時(shí)序控制模塊與輸出時(shí)序控制模塊

輸入時(shí)序控制模塊是根據(jù)輸入視頻信號的同步信號和時(shí)序要求,確保有效的圖像數(shù)據(jù)能夠順利寫入FIFO進(jìn)行緩存。例如當(dāng)模塊接收到場同步信號時(shí),F(xiàn)IFO進(jìn)入即將寫入的狀態(tài),當(dāng)模塊接收到使能信號時(shí), FIFO開始寫入數(shù)據(jù),這樣能確保寫入FIFO的數(shù)據(jù)是從完整1幀圖像的起始開始寫入。

輸出時(shí)序控制模塊的功能是產(chǎn)生輸出圖像所必需的同步信號、場同步信號和行同步信號,以保證輸出圖像的數(shù)據(jù)與時(shí)序一致,從而使圖像可以正確地顯示在顯示器上。

輸入輸出時(shí)序控制模塊,按照計(jì)數(shù)器的方法進(jìn)行設(shè)計(jì)[2]。例如VGA信號的1幀圖像的總像素要求為800×525,其中有效像素為640×480。對于行掃描來說可設(shè)置1~96像素時(shí)鐘計(jì)數(shù)為行同步信號,97~144像素時(shí)鐘計(jì)數(shù)為行消隱后肩,145~784像素時(shí)鐘計(jì)數(shù)為圖像有效像素顯示,685~800像素時(shí)鐘計(jì)數(shù)為行消隱前肩。完成一行后,計(jì)數(shù)器置0,等待新的行同步信號到來再重新計(jì)數(shù)。在圖像有效像素時(shí)鐘內(nèi),讓寫入FIFO使能信號處于有效狀態(tài),而其余時(shí)間使能信號處于無效狀態(tài),這樣可保證有效圖像數(shù)據(jù)能準(zhǔn)確寫入FIFO進(jìn)行緩存,并等待下一步的處理。

3.2 圖像縮放器模塊

如圖3所示,圖像縮放器模塊主要完成對輸入圖像數(shù)據(jù)源進(jìn)行分辨率的縮放。根據(jù)設(shè)計(jì),輸入的圖像數(shù)據(jù)為VGA 640×480格式,輸出的圖像數(shù)據(jù)為XGA 1024×768格式。由于輸入圖像數(shù)據(jù)與輸出圖像數(shù)據(jù)在完整1幀中的每一行像素點(diǎn)和每一列的數(shù)量上之比都為5:8,因此可考慮對輸入的VGA信號作5:8的放大。先對數(shù)據(jù)在水平方向上進(jìn)行插值放大,然后再進(jìn)行垂直方向上的放大,設(shè)計(jì)中水平方向和垂直方向的插值放大均使用分級雙線性插值算法。

圖3 圖像縮放器模塊框圖

3.2.1分級雙線性插值 [3]

在雙線性插值算法中,插值點(diǎn)的值根據(jù)其相鄰的4個(gè)已知點(diǎn)計(jì)算得出,如圖4所示。

圖4 雙線性插值算法原理圖

已知a、b、c、d為輸入圖像內(nèi)的相鄰的4個(gè)點(diǎn),其灰度值表示為f(x)。待插像素f點(diǎn)映射到原圖像后的坐標(biāo)值小數(shù)部分為[m,n]。計(jì)算f點(diǎn)灰度值的過程如式(1)~式(3)所示:

f[g]=f[a]+m(f(b)-f(a)) (1)

f[h]=f[c]+m(f(d)-f(c)) (2)

f[f]=f[g]+m(f(h)-f(g))

=(1-m)(1-n)f(a)+m(1-n)f(b)+(1-m)nf(c)+mnf(d) (3)

分級雙線性插值使用的4個(gè)源圖像像素點(diǎn)都是待插值點(diǎn)的直接鄰點(diǎn)。插值的計(jì)算過程如下:

g(x)=(f(a)(m×N)+f(b)×(1-m)N)/N

其中,m與1-m分別是a點(diǎn)與b點(diǎn)的權(quán)值。因?yàn)槭亲?:8的轉(zhuǎn)換,這里取C=N=8, 將原來為5個(gè)像素點(diǎn)的長度區(qū)間劃分為8個(gè)區(qū)間,每個(gè)區(qū)間都有m×N與(1-m)N這一對權(quán)值組成的整數(shù)對。每個(gè)區(qū)間內(nèi)部的待插值點(diǎn)都與該區(qū)間左邊界取同樣的值。8個(gè)區(qū)間的權(quán)值對應(yīng)于(8,0)、(7,1)、(6,2)、(5,3)(4,4)、(3,5)、(2,6)和(1,7)。在確定好了點(diǎn)位置后,以查找表的方式寫入權(quán)值與位置之間的關(guān)系,最后可根據(jù)內(nèi)插點(diǎn)與臨近點(diǎn)的相對位置查找對應(yīng)系數(shù),并通過計(jì)算得出各像素點(diǎn)的灰階值。

3.2.2具體插值過程

3.2.2.1水平插值

將雙線性插值分解為水平和垂直方向進(jìn)行,由于是把原圖像作5:8的放大,所以根據(jù)分級雙線性插值,把原水平方向的5個(gè)像素點(diǎn)采用分8級雙線性插值送入水平插值器。水平插值器由計(jì)數(shù)器與使能信號同時(shí)控制,每間隔5個(gè)時(shí)鐘,水平插值器使能端置于計(jì)算插值狀態(tài),把進(jìn)入的5個(gè)值進(jìn)行一次插值變成新的8個(gè)像素點(diǎn),之后再間隔5個(gè)時(shí)鐘,將新的值進(jìn)入插值器進(jìn)行插值,直到把1行640個(gè)像素點(diǎn)插值為1行1 024個(gè)像素點(diǎn)。

3.2.2.2 垂直插值

垂直插值器完成垂直方向5:8的轉(zhuǎn)換,即5行數(shù)據(jù)變?yōu)?行數(shù)據(jù)的轉(zhuǎn)換,插值過程是按垂直方向?qū)υ瓉淼?行數(shù)據(jù)采用分8級雙線性插值,變換為新的8行數(shù)據(jù)。

完成水平插值的數(shù)據(jù)流水線型通過FIFO1與FIFO2模塊,期間將FIFO1與FIFO2的值送入垂直插值器進(jìn)行插值,完成垂直插值后的數(shù)據(jù)送入FIFO3與FIFO4模塊,輸出順序排列在先的送入FIFO3,而另外一行數(shù)據(jù)進(jìn)入FIFO4。FIFO3與FIFO4之間的數(shù)據(jù)也是流水線型進(jìn)入到DDR2 SDRAM模塊中,整個(gè)過程通過使用狀態(tài)機(jī)對垂直插值進(jìn)行控制,使經(jīng)過垂直插值后的數(shù)據(jù)能以正確的順序完成插值,并且送入DDR2 SDRAM模塊。把對原5行數(shù)據(jù)經(jīng)過水平和垂直插值變?yōu)?行數(shù)據(jù)的時(shí)間作為一個(gè)周期,直到完成整1幀VGA格式圖像到1幀XGA圖像的放大。

3.3 DDR2 SDRAM控制器模塊

控制器模塊的具體作用為:當(dāng)SCALER完成圖像數(shù)據(jù)處理后,把圖像數(shù)據(jù)送進(jìn)DDR2中儲存,在確保DDR2中存儲有2幀完整圖像時(shí),DDR2的讀出端才開始讀取,從第一幀圖像地址讀取圖像數(shù)據(jù),然后據(jù)根據(jù)時(shí)序控制從DDR2輸出。當(dāng)讀完第一幀后,繼續(xù)讀取第二幀,此時(shí)第三幀繼續(xù)寫入原第一幀地址,之后的讀取寫入都按此過程進(jìn)行。

由于DDR2 SDRAM不能同時(shí)寫入和讀出,所以需要DDR2 SDRAM控制器加以控制??筛鶕?jù)連接到DDR2 SDRAM模塊寫入端和讀出端的FIFO內(nèi)部已存數(shù)據(jù)數(shù)量進(jìn)行讀寫控制。寫入端前的FIFO即為圖3的FIFO3。連接到DDR2讀出端的FIFO為圖3的FIFO2,它與輸出時(shí)序控制模塊共同完成最終所需XGA圖像的輸出。DDR2 SDRAM每次操作指令時(shí),以1行數(shù)據(jù)為單位,即接受1次讀命令,則讀出1行數(shù)據(jù);同樣,接受1次寫入命令,則寫入1行數(shù)據(jù),此1行數(shù)據(jù)同時(shí)為XGA格式的1行(1 024個(gè)像素點(diǎn)數(shù)據(jù))。

4 仿真與功能實(shí)現(xiàn)

在設(shè)計(jì)中,采用Verilog語言對各邏輯模塊進(jìn)行編寫設(shè)計(jì),在開發(fā)環(huán)境QUARTus II 9.1和Modelsim-aLTEra 6.5b下完成對各模塊的時(shí)序的仿真和功能的設(shè)計(jì)和驗(yàn)證,如圖5所示為數(shù)據(jù)進(jìn)入水平插值器后的仿真結(jié)果,水平插值把原5像素插為新8像素的仿真,其中pix為待插值的5個(gè)像素,data為插值后的8個(gè)新像素。


圖5 水平插值5像素插成8像素Modelsim仿真圖

經(jīng)過對各模塊設(shè)計(jì)的仿真,并且對各模塊功能驗(yàn)證正確后,進(jìn)行系統(tǒng)整體的仿真驗(yàn)證,最終將處理完成圖像數(shù)據(jù)送到LCD上進(jìn)行顯示,經(jīng)過放大后的示例如圖6 所示。仿真驗(yàn)證表明,得到的圖像時(shí)序和數(shù)據(jù)與要求的時(shí)序一致,對于圖像數(shù)據(jù)來說雖然雙線性會對屏幕邊緣存在高頻分量的損失[4],使輪廓稍有模糊,但是從圖像上對人眼觀看的影響很小。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉