多媒體協處理器SM501在嵌入式系統中的應用
發布時間:2007/8/30 0:00:00 訪問次數:35696
作者:無錫商業職業技術學院 王立鳳
摘要:許多嵌入式系統需要支持高分辨率的LCD顯示器。SM501是用來提高嵌入式系統顯示能力的一款芯片。文中介紹SM501的基本架構,以及一個基于SM501的系統設計。
關鍵詞:嵌入式系統 TFT LCD 多媒體協處理器 SM501
引言
近年來,從手持消費電子到工業控制系統,嵌入式處理器的應用已經深入到人們工作和生活的方方面面。在某些應用領域,系統需要提供如1 280×1 024這類高分辨率的顯示界面,而多數嵌入式處理器不能支持,或者在高分辨率下提供的顯示效果不好。
通常,一個帶有LCD顯示器的ARM系統如圖1所示。
圖1 帶有LCD顯示器的ARM系統框圖
在該系統中,ARM處理器將LCD顯示器的數據存放于SDRAM中的LCD幀緩沖區中,由處理器中的LCD控制器提取LCD幀緩沖區中的數據并輸送給LCD顯示器。一個LCD控制器的時鐘信號有3種:FRAMESYNC (場同步)、LINESYNC(行同步)和LCD_DCLK(數據時鐘)。在LCD_DCLK的作用下,LCD控制器將LCD數據信號并行輸出到LCD顯示器。顯然,一個LCD_DCLK時鐘只能輸送一個像素點的數據。根據文獻,TFT LCD的刷新頻率一般在60 Hz,因此,一個具有M×N像素點的LCD顯示器,在1 s的時間中,要求LCD控制器傳送像素點總數為(M×N×60),即LCD控制器的LCD_DCLK的頻率必須大于(M×N×60) Hz,以便保證LCD顯示器的正常顯示。因此,嵌入式處理器芯片LCD控制器支持的最大分辨率與LCD_DCLK時鐘頻率有關;然而LCD_DCLK是從處理器系統的AHB總線時鐘HCLK通過分頻計算得出的,所以,LCD控制器支持的最大分辨率與系統HCLK有關。為確保嵌入式處理器系統處在良好的工作狀態,一般不使用最大分辨率進行顯示。以Samsung公司的S3C2410為例,在TFT LCD模式下,典型的實際支持的最大分辨率為640×480。另外,受到ARM處理器LCD幀緩沖區大小的影響,在達到最大分辨率時,LCD數據的位寬度降低,這使得顯示效果變差。
如何才能使嵌入式處理器應用在高分辨率的場合呢?SM501圖形加速芯片的出現很好地解決了這個問題。
1 SM501圖形加速芯片簡介
SM501是一款便攜式多媒體協處理器芯片,專門為嵌入式工業提供補充功能,具有視頻和2D能力。為了降低系統的成本,它支持多種輸入/輸出接口,包括模擬RGB、數字LCD屏接口、8位并行接口、USB、 UART、 IrDA、 Zoom Video、 AC97或I2S、 SSP、PWM和I2C,同時它還帶有GPIO,便于與外部器件連接。SM501的2D引擎包括一個前端色彩空間轉換器,支持4∶1和1∶8的比例。視頻引擎支持在每個像素點8位、16位或32位數據寬度時2個不同的視頻輸出(雙顯示屏),為每個視頻輸出提供三色硬件指針。LCD視頻流水線支持一個黑點YUV色彩空間轉換,比例為4∶1和1∶212。放大視頻(Zoom Video)接口包括MPEG解碼或TV輸入的外部電路接口。
SM501的系統框圖如圖2所示。
圖2 SM501系統框圖
2 SM501的2D圖形引擎
通過將優化的128位的2D圖形引擎和一個與本地幀存儲器連接的高帶寬鏈接相結合,SM501提供面向工業的2D圖形加速功能。2D圖形引擎也包含一個命令翻譯器(一個增強型的DMA引擎),對于工作在150 MHz的32位數據寬度的SDRAM,SM501的DMA引擎讀取2D操作數的帶寬可達600 MB/s。這么高的存儲器帶寬使得2D引擎在無須等待和流水線停止工作的情況下高速運行。當它在讀取和翻譯命令時,命令翻譯器也可以有條件地轉到存儲器空間的另一個地址上,等待由其他模塊發送過來的狀態信息。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×1 024。通過硬件和軟件可控制LCD顯示屏的上電順序。SM501與一個24位 TFT LCD顯示屏的接口電路如圖3所示。由圖3可知,該接口電路的設計與一個嵌入式處理器和TFT LCD的接口電路的設計是相同的,因此,設計起來很方便。
圖3 SM501與TFT LCD顯示器的接口電路
4 具有SM501的嵌入式系統設計
一個具有SM501的嵌入式系統如圖4所示。系統中ARM處理器將LCD的數據放入SDRAM的幀緩沖區中,然后將顯示工作交給SM501處理。通過2D圖形引擎,SM501從SDRAM的幀緩沖區中讀取數據,并將這些數據輸送到LCD顯示器。這樣一來,LCD的數據沒有經過AR
作者:無錫商業職業技術學院 王立鳳
摘要:許多嵌入式系統需要支持高分辨率的LCD顯示器。SM501是用來提高嵌入式系統顯示能力的一款芯片。文中介紹SM501的基本架構,以及一個基于SM501的系統設計。
關鍵詞:嵌入式系統 TFT LCD 多媒體協處理器 SM501
引言
近年來,從手持消費電子到工業控制系統,嵌入式處理器的應用已經深入到人們工作和生活的方方面面。在某些應用領域,系統需要提供如1 280×1 024這類高分辨率的顯示界面,而多數嵌入式處理器不能支持,或者在高分辨率下提供的顯示效果不好。
通常,一個帶有LCD顯示器的ARM系統如圖1所示。
圖1 帶有LCD顯示器的ARM系統框圖
在該系統中,ARM處理器將LCD顯示器的數據存放于SDRAM中的LCD幀緩沖區中,由處理器中的LCD控制器提取LCD幀緩沖區中的數據并輸送給LCD顯示器。一個LCD控制器的時鐘信號有3種:FRAMESYNC (場同步)、LINESYNC(行同步)和LCD_DCLK(數據時鐘)。在LCD_DCLK的作用下,LCD控制器將LCD數據信號并行輸出到LCD顯示器。顯然,一個LCD_DCLK時鐘只能輸送一個像素點的數據。根據文獻,TFT LCD的刷新頻率一般在60 Hz,因此,一個具有M×N像素點的LCD顯示器,在1 s的時間中,要求LCD控制器傳送像素點總數為(M×N×60),即LCD控制器的LCD_DCLK的頻率必須大于(M×N×60) Hz,以便保證LCD顯示器的正常顯示。因此,嵌入式處理器芯片LCD控制器支持的最大分辨率與LCD_DCLK時鐘頻率有關;然而LCD_DCLK是從處理器系統的AHB總線時鐘HCLK通過分頻計算得出的,所以,LCD控制器支持的最大分辨率與系統HCLK有關。為確保嵌入式處理器系統處在良好的工作狀態,一般不使用最大分辨率進行顯示。以Samsung公司的S3C2410為例,在TFT LCD模式下,典型的實際支持的最大分辨率為640×480。另外,受到ARM處理器LCD幀緩沖區大小的影響,在達到最大分辨率時,LCD數據的位寬度降低,這使得顯示效果變差。
如何才能使嵌入式處理器應用在高分辨率的場合呢?SM501圖形加速芯片的出現很好地解決了這個問題。
1 SM501圖形加速芯片簡介
SM501是一款便攜式多媒體協處理器芯片,專門為嵌入式工業提供補充功能,具有視頻和2D能力。為了降低系統的成本,它支持多種輸入/輸出接口,包括模擬RGB、數字LCD屏接口、8位并行接口、USB、 UART、 IrDA、 Zoom Video、 AC97或I2S、 SSP、PWM和I2C,同時它還帶有GPIO,便于與外部器件連接。SM501的2D引擎包括一個前端色彩空間轉換器,支持4∶1和1∶8的比例。視頻引擎支持在每個像素點8位、16位或32位數據寬度時2個不同的視頻輸出(雙顯示屏),為每個視頻輸出提供三色硬件指針。LCD視頻流水線支持一個黑點YUV色彩空間轉換,比例為4∶1和1∶212。放大視頻(Zoom Video)接口包括MPEG解碼或TV輸入的外部電路接口。
SM501的系統框圖如圖2所示。
圖2 SM501系統框圖
2 SM501的2D圖形引擎
通過將優化的128位的2D圖形引擎和一個與本地幀存儲器連接的高帶寬鏈接相結合,SM501提供面向工業的2D圖形加速功能。2D圖形引擎也包含一個命令翻譯器(一個增強型的DMA引擎),對于工作在150 MHz的32位數據寬度的SDRAM,SM501的DMA引擎讀取2D操作數的帶寬可達600 MB/s。這么高的存儲器帶寬使得2D引擎在無須等待和流水線停止工作的情況下高速運行。當它在讀取和翻譯命令時,命令翻譯器也可以有條件地轉到存儲器空間的另一個地址上,等待由其他模塊發送過來的狀態信息。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×1 024。通過硬件和軟件可控制LCD顯示屏的上電順序。SM501與一個24位 TFT LCD顯示屏的接口電路如圖3所示。由圖3可知,該接口電路的設計與一個嵌入式處理器和TFT LCD的接口電路的設計是相同的,因此,設計起來很方便。
圖3 SM501與TFT LCD顯示器的接口電路
4 具有SM501的嵌入式系統設計
一個具有SM501的嵌入式系統如圖4所示。系統中ARM處理器將LCD的數據放入SDRAM的幀緩沖區中,然后將顯示工作交給SM501處理。通過2D圖形引擎,SM501從SDRAM的幀緩沖區中讀取數據,并將這些數據輸送到LCD顯示器。這樣一來,LCD的數據沒有經過AR
上一篇:沒有了