INVPWREN:确定PWREN信号极性。根据屏幕信息确定,此处设置NVPWREN=0x0为正极性脉冲。
INVLEND:确定LEND信号极性。根据屏幕信息确定,此处设置INVLEND=0x0为正极性脉冲。
PWREN:PWREN信号输出允许。设置PWREN=0xl,允许PWREN输出。
ENLEND:LEND输出信号允许。设置ENLEND=0x1,允许LEND输出。
BSWP:字节交换控制位。根据各自需要设置,此处设置BSWP=0x0,禁止字节交换。
HWSWP:半字交换控制位。根据各自需要设置,此处设置HWSWP=0xl,使能半字节交换。
5 讨论与总结
S3C2410处理器能够驱动24位颜色模式的VGA接口,但当处理器数据总线负载过大时,显示效果就不太理想。具体分析所需数据带宽如下:
S3C2410处理器工作在640×480×60 Hz×24位(分辨率为640×480、刷新频率为60 Hz、24位色彩)模式下的数据带宽为:640×48
0×60×4/(1 024×1 024)=70.3MB/s(24位颜色实际占用32位数据量),这些数据都需要利用DMA方式通过系统的数据总线从SDRAM中获得。而S3C2410处理器在100 MHz的总线频率下,32位内存的峰值带宽是100×32/8=400MB/s,实际带宽也就100~200 MB/s。那么70.3 MB/s的显示数据对于S3C2410处理器过于沉重了,显示器的屏幕经常会出现短暂的黑屏。这是因为系统总线太忙,LCD扫描式接口的数据跟不上,扫描时钟的频率暂时变慢导致CRT显示器的同步信号不符合规范所致。若用16位颜色模式,则数据带宽减为640×480×60×2/(1 024×1 024)=35.2MB/s。实际测试中,工作在16位颜色模式下,可以正常显示60 Hz下的640×480的VGA图形。
综上分析,如果要支持高分辨率和高刷新率的显示,需要比较大的数据带宽,对处理器的频率和总线频率要求较高。目前的嵌入式处理器在这些方面有很大的限制,不过本设计可以完全支持16位色彩下640×480×60 Hz显示模式的CRT显示,并且如果采用LCD作为显示界面,LCD对刷新率的要求和CRT显示器不同,LCD可以在刷新率为30 Hz的情况下正常显示。本设计对解决基于ARM的嵌入式系统中大屏幕显示方面的问题有很大的实用价值和借鉴意义。