感谢LS建议:
大致说明一下驱动原理,想到一点说一点,欢迎大家探讨。首先也是最重要的是:如何产生正确的时序去驱动VGA接口的显示器:
这就要先了解行数据时序和帧数据时序:
行同步和帧同步,可以用TIM的PWM和中断实现,这个不是很难,之前的帖子已经上传了源码,驱动规格是1440*900@60Hz。
现在由于要实现显示字符串,所以必须要要深入一点,先看常见的刷新率:
可以看到数据频率是非常的高。
我选择的是800*600@60Hz,也需要40MHz,这对于我们这款单片机来说是非常高的,如果用翻转IO的方法肯定是不行的。
所以我现在就用到了SPI外设,配合DMA,这样就能实现了。
到这里为止,理论上已经没问题了,但其实单片机的RAM还不够,只有20K,800*600/8 = 60000。
所以只能降低分辨率了:400*300(400*300/8=15000),这是逻辑上的分辨率,送到显示器的还是800*600。
附上资料( VGA驱动与实现.pdf):
VGA驱动与实现.pdf
(865.34 KB, 下载次数: 75)
|