摘 要:介绍一种应用于实际工业生产现场中的大型LED显示系统的设计和研制。该系统采用高性能32位ARM微处理器为其控制核心,并由其实现LED显示屏刷新及动态显示效果的控制。系统通过RS485协议与现场总线进行数据通信,LED显示屏的行、列驱动信号分别由ARM处理器的2个SPI口输出。该系统具有硬件结构简单、LED显示刷新速度快、系统可靠、功能强大、成本适宜等特点。本方案经过在某大型物流生产线上的长期实际运行,证明其设计是成功的。
关键词:LED显示系统 ARM微处理器 SPI
引 言:
最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51芯片组成的LED显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制控制工程网版权所有,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况
1 系统硬件结构
该系统的硬件组成框图如图1所示。图1中,微处理器是Atmel公司生产的AT91M42800A,它采用基于ARM7TDMI内核的高性能32位RISC架构的处理器,有着丰富的外围接口资源。AT91M42800A有2个USART外围接口,系统用USART0口和MAX485组成485接口电路www.cechina.cn,具体的接口电路如图2所示。AT91M42800A还有2个SPI口,每个SPI口有4根片选信号,通过片选均可以支持外接15个设备。该系统的做法是将2个SPI口分别接到列驱动电路和行驱动电路上,并利用各自的2个片选信号CS0和CS1完成驱动电路的信号锁存和允许输出控制,SPI的CLK输出作为驱动电路的时钟信号输入,工作频率为4 MHz。
SRAM接口电路由2块HY57V641620芯片并联组成,HY57V641620是Hynix公司生产的4 Banks×1M×16位的SDRAM芯片CONTROL ENGINEERING China版权所有,单片HY57V641620存储容量为4组×16 M位(8 MB),支持自动刷新,16位数据宽度。为充分发挥32位CPU的数据处理能力,系统用2块8 ns的HY57V641620组成32位SDRAM存储器系统。Flash存储器接口电路由1块HY29LV160芯片组成。HY57V641620是Flash存储器芯片,单片存储容量为16 M图2485接口电路、A6B595和A6276级联电路原理图位(2 MB),8/16位数据宽度,本系统采用16位数据宽度的工作方式。具体的电路连接可参阅参考文献[1]。
行驱动电路由Allegro公司的36片A6B595级联组成,显示屏背面每行数据线由串入并出移位寄存器A6B595级联而成www.cechina.cn,A6B595片内集成有MOS管构成的驱动器,足够驱动发光二极管发光。列驱动电路由Allegro公司的24片A6276级联组成,A6276是16位带锁存的串入并出移位LED驱动芯片。A6B595和A6276级联时引脚和联接方法如图2所示CONTROL ENGINEERING China版权所有,电路都较为简单(其中带端口框标的为AT91M42800A的相应引脚)。其他详细的性能资料,请查阅Atmel和Allegro公司的相关产品文档[2,3]。AT91M42800A的SPI口均采用16位串行输出工作方式,利用32位ARM处理器的高速性能,能够充分提高数据传输速度。
图1系统的硬件结构框图
图2 485接口电路、A6B595和A6276级联电路原理图
2 工作原理
该系统与上位机的通信由AT91M42800A的USART0口与485接口电路完成,上位机仅需将要显示的数据,传送至AT91M42800A即可。开机后,AT91M42800A初始化,读入启动代码后,将保存在Flash存储器内的程序代码和所要显示的字模数据,重映射到SDRAM中,使得系统的数据存取全部在高速SDRAM中完成。在接收到上位机的数据后,AT91M42800A将要显示的数据,转换成相对应的LED屏显示驱动信号,再加入相应的动态显示效