基于ARM处理器的显示屏控制器的设计
3、串行接口电路。虽然,现如今以太网通信的使用已非常普及,但由于串行通信接线少、成本低,所以其在数据采集和控制系统中仍然有着非常广泛的应用。RS232和RS485两种标准的主要区别与使用平衡信号和非平衡信号有关。RS232采用非平衡信号,而RS485采用平衡信号。究竟采用哪一种, 主要取决于传输距离和电器噪声两个因素。在传输距离小于30米,并且环境电器噪声较小情况下,最好采用非平衡的RS232,在传输距离较长,但小于300 米时,或者环境电器噪声影响必需考虑时,最好采用RS485。并且RS485的二线制通讯方式可实现真正的多点双向通信。
4、自动调亮电路。在环境光线较弱时,LED屏的亮度应相应降低,否则会显得刺眼。而在环境光线较强时,LED屏的亮度也应相应提高,否则屏幕显示内容会看不清楚。所以控制器需根据周围光线的亮度来自动调整量度。为了实现上述功能,系统采用了光敏电阻,与一定值电阻串联,当外界环境光线变化时,光敏电阻阻值发生变化,R2所分电压也跟着发生变化,然后根据此电压值来调整屏幕亮度,具体电路如图3所示。LPC2214具有8路10位ADC转换器,其参考电压为3.3V,参考电压的精度会影响ADC的转换结果。R1为I/O口保护电阻,用于保证电路不产生短路故障。
图3 自动调亮电路
5、LED显示屏扫描驱动电路。LED显示屏的扫描逻辑由CPLD来实现,CPLD采用 Altera的EPM1270。EPM1270属于Altera的MAX II系列。MAX II是Altera推出的迄今为止成本最低的CPLD器件。
3 LED扫描逻辑设计
LED扫描逻辑采用CPLD来实现,它具有很好的组合逻辑和时序逻辑功能,能够完成LED显示所需要的扫描控制信号。CPLD设计框图如图4所示, 它主要包括以下几个模块:⑴ 时钟进程:产生各种频率的时钟;⑵ FIFO:CPLD与MCU之间的接口部分,用作数据缓冲,它使得MCU可以对显存进行全速写操作;⑶ 写入地址及数据产生器:产生向显存进行写操作的地址和数据;⑷ 读地址产生器:扫描方式不同,从显存中读取数据时的寻址方式也不同,读地址产生器,可根据扫描方式的不同,产生不同的读显存的地址,从而完成1/16、1 /8、1/4等扫描方式;⑸ 扫描控制电路:在不同的扫描方式下,根据从显存中读取的数据产生相应的扫描控制信号;⑹ 读写切换电路:对显存的读写状态进行切换。
图4 CPLD设计框图
为了实现单屏幕、多窗口任意位置的显示,软件部分我们基于μc/OS-II进行设计,这样可以充分利用操作系统高效的任务调度算法,将每个窗口的显示都交由单个任务来完成,从而极大地提高系统的运行速度和可靠性,并且使得程序的开发和扩展变得更加方便。程序的结构如图5所示,控制器上电后,首先进行系统初始化,然后从 FLASH 中读取屏参数,进行参数初始化。然后建立任务TaskControl,TaskControl用于对各窗口显示任务进行实时管理,它拥有比各窗口显示任都高的优先级。它每隔1s对reset标志进行一次查询,如果reset=1,则删除原先建立的各窗口显示任务,然后从FLASH中读取新的窗口个数,然后依此建立新任务,将每个窗口的显示交由单个任务来控制。
图5 系统程序结构图
评论