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