基于51单片机的LED显示系统设计
引 言
最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51芯片组成的 LED显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利用现有资源的基础上,重新设计和研制了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制图1系统的硬件结构框图系统,并通过RS485接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。
1 系统硬件结构
该系统的硬件组成框图如图1所示。图1中,微处理器是AtmeEL公司生产的AT91M42800A,它采用基于ARM7TDMI内核
的高性能32位RISC架构的处理器,有着丰富的外围接口资源。AT91M42800A有2个USART外围接口,系统用USART0口和MAX485组成485接口电路,具体的接口电路如图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芯片,单片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级联而成,A6B595片内集成有MOS管构成的驱动器,发光二极管足够驱动发光。列驱动电路由Allegro公司的24片A6276级联组成,A6276是16位带锁存的串入并出移位LED驱动芯片。A6B595和A6276级联时引脚和联接方法如图2所示,电路都较为简单(其中带端口框标的为AT91M42800A的相应引脚)。其他详细的性能资料,请查阅Atmel和Allegro公司的相关产品文档[2,3]。AT91M42800A的SPI口均采用16位串行输出工作方式,利用32位ARM处理器的高速性能,能够充分提高数据传输速度。
图1系统的硬件结构框图
评论