[
摘要]:本文簡述了VGA接口及顯像原理,并介紹基于ARM的嵌入式系統中使用SM501圖形加速芯片完成VGA接口的具體方法。
[
關鍵詞]:嵌入式 VGA接口 SM501
1.引言
在嵌入式產品中一般有LCD和VGA(視頻圖形陣列)接口兩種顯示方式,目前國內嵌入式開發平臺對于圖形顯示方面大多數采用的是LCD液晶屏,通常LCD液晶屏顯示最大分辨率只能支持800*600,即使采用VGA接口(通過轉接板),也不能在高分辨率(1024*768*32)下平滑播放MPGE1、MPGEG4多媒體文件,對于一些特殊的行業應用中,就不能滿足用戶的需求,VGA從本質而言是個模擬接口,在數字化的潮流下已顯得有點過時,但在很多工業場合中考慮到如下因素,一般都選擇VGA作為顯示方式:
1、工業級LCD的價格比較昂貴,各種LCD接口不一
2、作為多年的行業標準,VGA接口是所有顯示設備的標準接口
本文在開發基于S3C2440嵌入式平臺的運動控制器的過程中,成功地利用臺灣Silicon Motion公司的高性能2D圖形加速芯片SM501,將S3C2440的高效率處理能力和SM501的圖形加速能力相結合,通過MICROSOFT公司的WINDOWS CE 4.2操作系統使之能夠驅動VGA接口的顯示器??紤]到嵌入式系統的設計要求,本文只介紹其中帶寬最低的顯示規范640×480@60Hz。
2.原理圖設計
SM501支持3種不同的系統配置。其中兩種模式是Unified Memory Architecture(UMA)模式,即系統內存和幀緩沖共享存儲器資源。圖1顯示這些可能的配置:
Configuration A是非UMA方式,它擁有最高性能,這種模式中系統內存和幀緩沖各自擁有不同的內存資源。SM501在其中扮演一個從設備的角色控制SDRAM,同時它也能扮演主設備來訪問系統內存。
Configuration B是UMA方式,系統內存和幀緩沖共享系統存儲器資源,SM501作為從設備與主機連接。它也可以申請系統總線并以主設備的角色訪問系統SDRAM,這種方式的性能有限,因為SM501和主機需要分時訪問系統存儲器。
Configuration C是UMA方式中較好的一種,這種模式下局部SDRAM包含系統內存和幀緩沖;SM501作為從設備與主機連接。當局部SDRAM在150MHZ時鐘下運行時,Configuration C的帶寬高于Configuration B的帶寬。
[align=center]

圖1 SM501與主機硬件連接方式[/align]
根據以上的描述,本系統采用第3種方案,這樣硬件連接最簡單,同時性能滿足要求。SM501和S3C2440的連線相對比較少。主要電路如下圖:
VGA接口的硬件設計如下,由于考慮到在使用過程中經常帶電拔插VGA接口,因此需要增加保護電路,筆者使用通用的肖特基二極管對BAV99-A7連接到三根RGB線路:
[align=center]

圖3 VGA接口電路圖[/align]
同時SM501的一些配置管腳必須正常配置,否則SM501不能正常工作。主要需要配置的引腳如下:
局部SDRAM行地址大小. 當復位時候,由 GPIO6 and GPIO5決定,但是可以通過軟件更改
GPIO7 決定是否復位分頻器
GPIO12 的電平決定是否驅動MCS#引腳。
GPIO[15:13] 決定局部內存的大?。ㄗ钚?MB,最大64MB)
GPIO31,GPIO29,決定主機的時鐘輸入源
3.SM501的軟件設計
Silicon Motion公司提供SM501在WINDOWS CE下的軟件動態鏈接庫(包括ARM、MIPS、X86等CPU構架),并提供相應的源程序和應用文檔。在三星提供基于S3C2440的WINDOWS CE 系統的BSP中,其顯示設備默認是S3C2440A的片上LCD接口,因此需要去掉該默認設備,用SM501的動態鏈接庫代替即可。在WINCE中使用SM501只需要做到如下幾點:
1.拷貝SM501動態庫二進制文件到"$(_WINCEROOT)\public\common\oak\DRIVERS\ DISPLAY \SMIVGX\"目錄
2.在PLATFORM BUILDER 中導入VoyagerGX驅動feature的CEC文件
3.在生成的WINCE操作系統工程文件中加入該feature
4.在platform.reg和platform.bib文件中刪除關于S3C2440A的片上LCD的驅動部分描述,并用SM501的驅動描述代替
5.編譯
以上步驟Silicon Motion公司的文檔中有更為詳細的描述。需要注意的是如果要在啟動WINCE中增加LOGO支持,則需要在WINCE的BOOTLOADER中增加相應關于SM501的代碼。
4.總結
本系統經過較完善實驗,得出以下結論:
基于S3C2440A+SM501的VGA接口圖形系統實現了640×480@60Hz,并且可在最高達1024X768@85HZ下流暢的播放各種視頻,無閃爍現象,滿足系統需要。
參考文獻
[1] 何宗鍵.WINDOWS CE嵌入式系統[M].北京:北京航空航天大學出版社,2006
[2] 汪兵,等.EVC高級編程及其應用開發[M].北京:中國水利水電出版社,2005
作者簡介:
肖勇:男,四川大學制造科學與工程學院機械制造及自動化專業碩士研究生,研究方向:計算機數控技術
李翔龍:男,機械制造專業博士,四川大學制造學院副教授,研究生導師,研究方向:計算機監控及工業設備自動化、計算機數控技術
張勇:男,四川大學制造科學與工程學院機械制造及自動化專業碩士研究生,研究方向:計算機監控及工業設備自動化