多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
摘要:許多嵌入式系統(tǒng)需要支持高分辨率的LCD顯示器。SM501是用來提高嵌入式系統(tǒng)顯示能力的一款芯片。文中介紹SM501的基本架構(gòu),以及一個基于SM501的系統(tǒng)設(shè)計。
關(guān)鍵詞:嵌入式系統(tǒng) TFT LCD 多媒體協(xié)處理器 SM501
引言
近年來,從手持消費電子到工業(yè)控制系統(tǒng),嵌入式處理器的應(yīng)用已經(jīng)深入到人們工作和生活的方方面面。在某些應(yīng)用領(lǐng)域,系統(tǒng)需要提供如1 280×1 024這類高分辨率的顯示界面,而多數(shù)嵌入式處理器不能支持,或者在高分辨率下提供的顯示效果不好。
通常,一個帶有LCD顯示器的ARM系統(tǒng)如圖1所示。
圖1 帶有LCD顯示器的ARM系統(tǒng)框圖
在該系統(tǒng)中,ARM處理器將LCD顯示器的數(shù)據(jù)存放于SDRAM中的LCD幀緩沖區(qū)中,由處理器中的LCD控制器提取LCD幀緩沖區(qū)中的數(shù)據(jù)并輸送給LCD顯示器。一個LCD控制器的時鐘信號有3種:FRAMESYNC (場同步)、LINESYNC(行同步)和LCD_DCLK(數(shù)據(jù)時鐘)。在LCD_DCLK的作用下,LCD控制器將LCD數(shù)據(jù)信號并行輸出到LCD顯示器。顯然,一個LCD_DCLK時鐘只能輸送一個像素點的數(shù)據(jù)。根據(jù)文獻(xiàn),TFT LCD的刷新頻率一般在60 Hz,因此,一個具有M×N像素點的LCD顯示器,在1 s的時間中,要求LCD控制器傳送像素點總數(shù)為(M×N×60),即LCD控制器的LCD_DCLK的頻率必須大于(M×N×60) Hz,以便保證LCD顯示器的正常顯示。因此,嵌入式處理器芯片LCD控制器支持的最大分辨率與LCD_DCLK時鐘頻率有關(guān);然而LCD_DCLK是從處理器系統(tǒng)的AHB總線時鐘HCLK通過分頻計算得出的,所以,LCD控制器支持的最大分辨率與系統(tǒng)HCLK有關(guān)。為確保嵌入式處理器系統(tǒng)處在良好的工作狀態(tài),一般不使用最大分辨率進(jìn)行顯示。以Samsung公司的S3C2410為例,在TFT LCD模式下,典型的實際支持的最大分辨率為640×480。另外,受到ARM處理器LCD幀緩沖區(qū)大小的影響,在達(dá)到最大分辨率時,LCD數(shù)據(jù)的位寬度降低,這使得顯示效果變差。
如何才能使嵌入式處理器應(yīng)用在高分辨率的場合呢?SM501圖形加速芯片的出現(xiàn)很好地解決了這個問題。
1 SM501圖形加速芯片簡介
SM501是一款便攜式多媒體協(xié)處理器芯片,專門為嵌入式工業(yè)提供補充功能,具有視頻和2D能力。為了降低系統(tǒng)的成本,它支持多種輸入/輸出接口,包括模擬RGB、數(shù)字LCD屏接口、8位并行接口、USB、 UART、 IrDA、 Zoom Video、 AC97或I2S、 SSP、PWM和I2C,同時它還帶有GPIO,便于與外部器件連接。SM501的2D引擎包括一個前端色彩空間轉(zhuǎn)換器,支持4∶1和1∶8的比例。視頻引擎支持在每個像素點8位、16位或32位數(shù)據(jù)寬度時2個不同的視頻輸出(雙顯示屏),為每個視頻輸出提供三色硬件指針。LCD視頻流水線支持一個黑點YUV色彩空間轉(zhuǎn)換,比例為4∶1和1∶212。放大視頻(Zoom Video)接口包括MPEG解碼或TV輸入的外部電路接口。
SM501的系統(tǒng)框圖如圖2所示。
圖2 SM501系統(tǒng)框圖
2 SM501的2D圖形引擎
通過將優(yōu)化的128位的2D圖形引擎和一個與本地幀存儲器連接的高帶寬鏈接相結(jié)合,SM501提供面向工業(yè)的2D圖形加速功能。2D圖形引擎也包含一個命令翻譯器(一個增強型的DMA引擎),對于工作在150 MHz的32位數(shù)據(jù)寬度的SDRAM,SM501的DMA引擎讀取2D操作數(shù)的帶寬可達(dá)600 MB/s。這么高的存儲器帶寬使得2D引擎在無須等待和流水線停止工作的情況下高速運行。當(dāng)它在讀取和翻譯命令時,命令翻譯器也可以有條件地轉(zhuǎn)到存儲器空間的另一個地址上,等待由其他模塊發(fā)送過來的狀態(tài)信息。2D圖形引擎同時還包含一個色彩空間轉(zhuǎn)換單元。該單元允許從許多的YUV模式直接翻譯到RGB模式。2D圖形引擎還帶有一個雙線性標(biāo)量器,它可以支持4∶1的壓縮和1∶216的拉伸。SM501支持存儲器工作在UMA和本地32位模式下。
3 SM501的LCD接口
SM501的LCD邏輯模塊可以直接驅(qū)動一個18位或24位的TFT LCD顯示屏;同時也支持12位的CSTN屏,通過一個顫抖引擎(dithering engine)可以得到有效的18位顯示效果。支持的最大屏的大小為1 280×1 024。通過硬件和軟件可控制LCD顯示屏的上電順序。SM501與一個24位 TFT LCD顯示屏的接口電路如圖3所示。由圖3可知,該接口電路的設(shè)計與一個嵌入式處理器和TFT LCD的接口電路的設(shè)計是相同的,因此,設(shè)計起來很方便。
圖3 SM501與TFT LCD顯示器的接口電路
4 具有SM501的嵌入式系統(tǒng)設(shè)計
一個具有SM501的嵌入式系統(tǒng)如圖4所示。系統(tǒng)中ARM處理器將LCD的數(shù)據(jù)放入SDRAM的幀緩沖區(qū)中,然后將顯示工作交給SM501處理。通過2D圖形引擎,SM501從SDRAM的幀緩沖區(qū)中讀取數(shù)據(jù),并將這些數(shù)據(jù)輸送到LCD顯示器。這樣一來,LCD的數(shù)據(jù)沒有經(jīng)過ARM處理器的LCD控制器,因此,LCD數(shù)據(jù)的傳輸不受ARM處理器的HCLK時鐘的影響,達(dá)到了支持高分辨率的設(shè)計要求。
圖4具有SM501的嵌入式系統(tǒng)框圖
綜上所述,SM501為ARM處理器支持高分辨率顯示提供了良好的解決方案。同時它還帶有模擬RGB等豐富的在片資源,為ARM系統(tǒng)功能的進(jìn)一步擴展,提供了方便.
參考文獻(xiàn)
[1] Samsung公司.S3C2410數(shù)據(jù)手冊.
[2] Silicon motion公司. SM501數(shù)據(jù)手冊. 2004.