基于AT91 M42800A的LED显示系统设计
发布时间:2008/5/27 0:00:00 访问次数:511
    
    
    摘要介绍一种应用于实际工业生产现场中的大型led显示系统的设计和研制。该系统采用高性能32位arm微处理器为其控制核心,并由其实现led显示屏刷新及动态显示效果的控制。系统通过rs-485协议与现场总线进行数据通信,led显示屏的行、列驱动信号分别由arm处理器的2个spi口输出。该系统具有硬件结构简单、led显示刷新速度快、系统可靠、功能强大、成本适宜等特点。本方案经过在某大型物流生产线上的长期实际运行,证明其设计是成功的。
    
    关键词led显示系统arm微处理器spi
    
    最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于at89c51芯片组成的led显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利用现有资源的基础上,重新设计和研制了一种全新的,由32位高性能arm微处理器组成的led显示屏控制系统,并通过rs485接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。
    
    1系统硬件结构
    
    该系统的硬件组成框图如图1所示。图1中,微处理器是atmel公司生产的at91m42800a,它采用基于arm7tdmi内核的高性能32位risc架构的处理器,有着丰富的外围接口资源。at91m42800a有2个usart外围接口,系统用usart0口和max485组成485接口电路,具体的接口电路如图2所示。at91m42800a还有2个spi口,每个spi口有4根片选信号,通过片选均可以支持外接15个设备。该系统的做法是将2个spi口分别接到列驱动电路和行驱动电路上,并利用各自的2个片选信号cs0和csl完成驱动电路的信号锁存和允许输出控制,spi的clk输出作为驱动电路的时钟信号输入,工作频率为4mhz。
    
    
    sram接口电路由2块hy57v641620芯片并联组成,hy57v641620是hynix公司生产的4banksxlm×16位的sdram芯片,单片hy57v641620存储容量为4组×16m位(8mb),支持自动刷新,16位数据宽度。为充分发挥32位cpu的数据处理能力,系统用2块8ns的hy57v641620组成32位sdram存储器系统。flash存储器接13电路由1块hy29lvl60芯片组成。hy57v641620是flash存储器芯片,单片存储容量为16m位(2mb),8/16位数据宽度,本系统采用16位数据宽度的工作方式。具体的电路连接可参阅参考文献。
    
    行驱动电路由allegro公司的36片a68595级联组成,显示屏背面每行数据线由串人并出移位寄存器a68595级联而成,a68595片内集成有mos管构成的驱动器,足够驱动发光二极管发光。列驱动电路由allegro公司的24片a6276级联组成,a6276是16位带锁存的串入并出移位led驱动芯片。a68595和a6276级联时引脚和联接方法如图2所示,电路都较为简单(其中带端口框标的为at91m42800a的相应引脚)。其他详细的性能资料,请查阅atmel和allegro公司的相关产品文档。at91m42800a的spi口均采用16位串行输出工作方式,利用32位arm处理器的高速性能,能够充分提高数据传输速度。
    
    
    2工作原理
    
    该系统与上位机的通信由at91m42800a的usarto的口与485接口电路完成,上位机仅需将要显示的数据,传送至at91m42800a即可。开机后,ar91m42800a初始化,读入启动代码后,将保存在flash存储器内的程序代码和所要显示的字模数据,重映射到sdram中,使得系统的数据存取全部在高速sdram中完成。在接收到上位机的数据后,at91m42800a将要显示的数据,转换成相对应的led屏显示驱动信号,再加入相应的动态显示效果控制程序(画面左移、上移、开幕、覆盖、闪烁和直显等)后,用spi口分别输出给行、列驱动电路。同时,若有需要,上位机所传来的数据或图像画面,也可以保存在flash存储器中。
    
    显示屏采用1/16动态逐次行扫描方式,先将spia端口中的24个字节数据依此串行移入对应的24个a6276列驱动电路,并锁存。接着,spib端口再将一行行选通信号串行移入行驱动电路,完成一行的led显示。然后依理,逐次的显示led屏的各行。
    
    二极管亮灭时间的占空比可用
    
    
    摘要介绍一种应用于实际工业生产现场中的大型led显示系统的设计和研制。该系统采用高性能32位arm微处理器为其控制核心,并由其实现led显示屏刷新及动态显示效果的控制。系统通过rs-485协议与现场总线进行数据通信,led显示屏的行、列驱动信号分别由arm处理器的2个spi口输出。该系统具有硬件结构简单、led显示刷新速度快、系统可靠、功能强大、成本适宜等特点。本方案经过在某大型物流生产线上的长期实际运行,证明其设计是成功的。
    
    关键词led显示系统arm微处理器spi
    
    最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于at89c51芯片组成的led显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利用现有资源的基础上,重新设计和研制了一种全新的,由32位高性能arm微处理器组成的led显示屏控制系统,并通过rs485接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。
    
    1系统硬件结构
    
    该系统的硬件组成框图如图1所示。图1中,微处理器是atmel公司生产的at91m42800a,它采用基于arm7tdmi内核的高性能32位risc架构的处理器,有着丰富的外围接口资源。at91m42800a有2个usart外围接口,系统用usart0口和max485组成485接口电路,具体的接口电路如图2所示。at91m42800a还有2个spi口,每个spi口有4根片选信号,通过片选均可以支持外接15个设备。该系统的做法是将2个spi口分别接到列驱动电路和行驱动电路上,并利用各自的2个片选信号cs0和csl完成驱动电路的信号锁存和允许输出控制,spi的clk输出作为驱动电路的时钟信号输入,工作频率为4mhz。
    
    
    sram接口电路由2块hy57v641620芯片并联组成,hy57v641620是hynix公司生产的4banksxlm×16位的sdram芯片,单片hy57v641620存储容量为4组×16m位(8mb),支持自动刷新,16位数据宽度。为充分发挥32位cpu的数据处理能力,系统用2块8ns的hy57v641620组成32位sdram存储器系统。flash存储器接13电路由1块hy29lvl60芯片组成。hy57v641620是flash存储器芯片,单片存储容量为16m位(2mb),8/16位数据宽度,本系统采用16位数据宽度的工作方式。具体的电路连接可参阅参考文献。
    
    行驱动电路由allegro公司的36片a68595级联组成,显示屏背面每行数据线由串人并出移位寄存器a68595级联而成,a68595片内集成有mos管构成的驱动器,足够驱动发光二极管发光。列驱动电路由allegro公司的24片a6276级联组成,a6276是16位带锁存的串入并出移位led驱动芯片。a68595和a6276级联时引脚和联接方法如图2所示,电路都较为简单(其中带端口框标的为at91m42800a的相应引脚)。其他详细的性能资料,请查阅atmel和allegro公司的相关产品文档。at91m42800a的spi口均采用16位串行输出工作方式,利用32位arm处理器的高速性能,能够充分提高数据传输速度。
    
    
    2工作原理
    
    该系统与上位机的通信由at91m42800a的usarto的口与485接口电路完成,上位机仅需将要显示的数据,传送至at91m42800a即可。开机后,ar91m42800a初始化,读入启动代码后,将保存在flash存储器内的程序代码和所要显示的字模数据,重映射到sdram中,使得系统的数据存取全部在高速sdram中完成。在接收到上位机的数据后,at91m42800a将要显示的数据,转换成相对应的led屏显示驱动信号,再加入相应的动态显示效果控制程序(画面左移、上移、开幕、覆盖、闪烁和直显等)后,用spi口分别输出给行、列驱动电路。同时,若有需要,上位机所传来的数据或图像画面,也可以保存在flash存储器中。
    
    显示屏采用1/16动态逐次行扫描方式,先将spia端口中的24个字节数据依此串行移入对应的24个a6276列驱动电路,并锁存。接着,spib端口再将一行行选通信号串行移入行驱动电路,完成一行的led显示。然后依理,逐次的显示led屏的各行。
    
    二极管亮灭时间的占空比可用