[ZLG-ARM] 用LPC2214直接控制LCD

[复制链接]
2563|1
 楼主| chwb1975 发表于 2007-8-2 10:03 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;用LPC2214直接控制LCD屏,在一个项目中客户要求人机界面为320*240的LCD屏,并且要4级灰度,刚开始想用<br />&nbsp;&nbsp;SED1335来实现,但它只能显示单色,而且听说停产了,听说可用RA8835代替,本想凑合着用,但客户却说:人家<br />&nbsp;&nbsp;用单片机搞的都有4级灰度,你的ARM搞的才单色,说不过去吧!,没办法,只能寻找其它的控制器了,找来找去<br />&nbsp;&nbsp;还是EPSON的,S1D13503,写好驱动后,却发现,该控制器工作在4级灰度方式时与CPU的接口速度却比较慢,而<br />&nbsp;&nbsp;LPC2214又没有wait信号接口,因此要把LPC2214的总线速度调到很慢才行,显示速度并没有预想中的快,估计<br />&nbsp;&nbsp;S1D13503的优势在于控制STN彩色屏,因为我用它控制256色屏时,接口速度起码比4级灰度时快了4位以上,但<br />&nbsp;&nbsp;又无法说服客户用彩色屏,而且更要命的是,用LPC2214控制S1D13503工作于4级灰度方式时,很容易出现&quot;花屏&quot;<br />&nbsp;&nbsp;现象,虽然不是很明显,但客户非常不满意,无奈之下,想到其它控制器,发现晶门科技的SSD1906还不错,好不容<br />&nbsp;&nbsp;搞到一个样片,又听供货商说,你不如用SSD1928吧,因为SSD1906有可能会停产了,或者你干脆一次性采购10K<br />&nbsp;&nbsp;以上吧,嘿,,这不知道是真是假,即使SSD1918又停产呢,唉,总是不保险啊,思前想后,最后又考虑用有些FPGA<br />&nbsp;&nbsp;等方案搞的LCD控制器,但试了几家,都有一个共同的毛病,就是功耗太大,项目本身就要求低功耗的,最后逼<br />&nbsp;&nbsp;得我没办法了,反过来一想,老子就不用什么LCD控制器了,不就是320*240的点阵吗?我干脆用LPC2214直接控制<br />&nbsp;&nbsp;算了,找来4位单色LCD屏的时序看过以后,发现用CPU很容易实现该时序,唯一担心的就是刷新速度问题,它的<br />&nbsp;&nbsp;数据移位信号CP的速度较快,在此我用LPC2214写信号/WR经反相后直接作为CP信号,行锁存信号LP及帧信号<br />&nbsp;&nbsp;FLM则用I/O端口模拟,然后把扫描一行的程序放在LPC2214的快中断FIQ中处理,并且把中断时间设为45us左右<br />&nbsp;&nbsp;(用定时器产生),也就是说LPC2214要在响应一个快速中断后,产生80个移位脉冲(其实是80次的向端口写数据,以<br />&nbsp;&nbsp;产生/WR移位脉冲),&nbsp;及一个行锁存脉冲,如果扫描完240行,则给出FLM信号后又从第一行开始,周而复始,关于<br />&nbsp;&nbsp;4级灰度的产生,则采用'帧抖动法',也就是说把3个扫描周期作为一个灰度帧,对同一个点而言,在这3个周期中<br />&nbsp;&nbsp;可分为:1)连续3次都点亮,&nbsp;2)连续2次点亮,1次熄灭&nbsp;3)&nbsp;1次点亮,2次熄灭&nbsp;4)&nbsp;3次都熄灭,这4种情况下就可<br />&nbsp;&nbsp;得到4种不同的显示亮度效果,最后经过实际验证,表明该方案是可行的,它充分利用了LPC2214的快中断特征<br />&nbsp;&nbsp;来实现这一目的,而且经对比,发现它竟然比用LPC2220(无片内FLASH)控制SED1353的方案还要好,显示速度还<br />&nbsp;&nbsp;快要,而且绝对没有'雪花'现象,从这里也可以看出LPC22**系列CPU带片内FLASH的比不带FLASH的确实快很多<br />&nbsp;&nbsp;啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部