多媒體協(xié)處理器SM501在嵌入式系統中的應用
引言
近年來(lái),從手持消費電子到工業(yè)控制系統,嵌入式處理器的應用已經(jīng)深入到人們工作和生活的方方面面,在某些應用領(lǐng)域,系統需要提供如1280×1024這類(lèi)高分辨率的顯示界面,而多數嵌入式處理器不能支持,或者在高分辨率下提供的顯示效果不好。
通常,一個(gè)帶有lcd顯示器的arm系統如圖1所示。

在該系統中,arm處理器將lcd顯示器的數據存放于sdram中的lcd幀緩沖區中,由處理器中的lcd控制器提取lcd幀緩沖區中的數據并輸送給lcd顯示器。一個(gè)lcd控制器的時(shí)鐘信號有3種:framesync(場(chǎng)同步)、linesync(行同步)和lcd_dclk(數據時(shí)鐘)。在lcd_dclk的作用下,lcd控制器將lcd數據信號并行輸出到lcd顯示器。顯然,一個(gè)lcd_dclk時(shí)鐘只能輸送一個(gè)像素點(diǎn)的數據,根據文獻,tft
lcd的刷新頻率一般在60赫茲,因此,一個(gè)具有m×n像素點(diǎn)的lcd顯示器,在1s的時(shí)間中,要求lcd控制器傳送像素點(diǎn)總數為(m×n×60),即lcd控制器的lcd_dclk的頻率必須大于(m×n×60)赫茲,以便保證lcd顯示器的正常顯示。因此,嵌入式處理器芯片lcd控制器支持的最大分辨率與lcd_dclk時(shí)鐘頻率有關(guān);然而lcd_dclk是從處理器系統的ahb總線(xiàn)時(shí)鐘hclk通過(guò)分頻計算得出的,所以,lcd控制器支持的最大分辨率與系統hclk有關(guān),為確保嵌入式處理器系統處在良好的工作狀態(tài),一般不使用最大分辨率進(jìn)行顯示,以samsung公司的s3c2410為例,在tft
lcd模式下,典型的實(shí)際支持的最大分辨率為640×480。另外,受到arm處理器lcd幀緩沖區大小的影響,在達到最大分辨率時(shí),lcd數據的位寬度降低,這使得顯示效果變差。
如何才能使嵌入式處理器應用在高分辨率的場(chǎng)合呢?sm501圖形加速芯片的出現很好地解決了這個(gè)問(wèn)題。
1 sm501圖形加速芯片簡(jiǎn)介
sm501是一款便攜式多媒體協(xié)處理器芯片,專(zhuān)門(mén)為嵌入式工業(yè)提供補充功能,具有視頻和2d能力,為了降低系統的成本,它支持多種輸入/輸出接口,包括模擬rgb、數字lcd屏接口,8位并行接口、usb、uart、irda、zoom
video、ac97或i2s、ssp、pwm和i2c,同時(shí)它還帶有g(shù)pio,便于與外部器件連接。sm501的2d引擎包括一個(gè)前端色彩空間轉換器,支持4:1和1:8的比例,視頻引擎支持在每個(gè)像素點(diǎn)8位,16位或32位數據寬度時(shí)2個(gè)不同的視頻輸出(雙顯示屏),為每個(gè)視頻輸出提供三色硬件指針,lcd視頻流水線(xiàn)支持一個(gè)黑點(diǎn)yuv色彩空間轉換,比例為4:1和1:212,放大視頻(zoom
video)接口包括mpeg解碼或tv輸入的外部電路接口。
sm501的系統框圖如圖2所示。

2 sm501的2d圖形引擎
通過(guò)將優(yōu)化的128位的2d圖形引擎和一個(gè)與本地幀存儲器連接的高帶寬鏈接相結合,sm501提供面向工業(yè)的2d圖形加速功能,2d圖形引擎也包含一個(gè)命令翻譯器(一個(gè)增強型的dma引擎),對于工作在150m赫茲的32位數據寬度的sdram,sm501的dma引擎讀取2d操作數的帶寬可達600mb/s,這么高的存儲器帶寬使得2d引擎在無(wú)須等待和流水線(xiàn)停止工作的情況下高速運行,當它在讀取和翻譯命令時(shí),命令翻譯器也可以有條件的轉到存儲器空間的另一個(gè)地址上,等待由其他模塊發(fā)送過(guò)來(lái)的狀態(tài)信息,2d圖形引擎同時(shí)還包含一個(gè)色彩空間轉換單元,該單元允許從許多的yuv模式直接翻譯到rgb模式,2d圖形引擎還帶有一個(gè)雙線(xiàn)性標量器,它可以支持4:1的壓縮和1:216的拉伸,sm501支持存儲器工作在uma和本地32位模式下。
3 sm501的lcd接口
sm501的lcd邏輯模塊可以直接驅動(dòng)一個(gè)18位或24位的tft lcd顯示屏;同時(shí)也支持12位的cstn屏,通過(guò)一個(gè)顫抖引擎(dithering
engine)可以得到有效的18位顯示效果。支持的最大屏的大小為1280×1024。通過(guò)硬件和軟件可控制lcd顯示屏上電順序,sm501與一個(gè)24位tft
lcd顯示屏的接口電路如圖3所示。

由圖3可知,該接口電路的設計與一個(gè)嵌入式處理器和tft lcd的接口電路的設計是相同的,因此,設計起來(lái)很方便。
4 具有sm501的嵌入式系統設計
一個(gè)具有sm501的嵌入式系統如圖4所示,系統中arm處理器將lcd的數據放入sdram的幀緩沖區中,然后將顯示工作交給sm501處理。通過(guò)2d圖形引擎,sm501從sdram的幀緩沖區中讀取數據,并將這些數據輸送到lcd顯示器,這樣一來(lái),lcd的數據沒(méi)有經(jīng)過(guò)arm處理器的lcd控制器。因此,lcd數據的傳輸不受arm處理器的hclk時(shí)鐘的影響,達到了支持高分辨率的設計要求。
綜上所述,sm501為arm處理器支持高分辨率顯示提供了良好的解決方案。同時(shí)它還帶有模擬rgb等豐富的在片資源,為arm系統功能的進(jìn)一步擴展,提供了方便。

評論