基于Cyclone EP1C6和SPCE061A的LED大屏幕系统设计
扫描二维码
随时随地手机看文章
目前采用的led大屏幕显示系统的控制电路大多由单个或多个单片机及复杂的外围电路组成,单片机编程比较复杂,整个电路的调试比较麻烦,可靠性和实时性难以得到保证。针对这种情况,本文提出了一种基于spce061a和cyclone ep1c6的led大屏幕解决方案。该设计方案无须外挂flash rom和ram,无须任何外部功能电路,所有功能均由一片ep1c6和一片spce061a实现,数据处理速度快、可靠性高。 spce061a和cyclone ep1c6简介 spce061a是凌阳科技的一款16位微控制器,内嵌32kb闪存和2kb字sram,cpu最高可工作在49mhz的主频下,较高的处理速度使spce061a能够非常容易、快速地处理复杂的数字信号。本文设计的是一个点阵大小为192×128的单色(红色)显示屏,且按要求连续显示5屏数据,spce061a丰富的片内资源正好满足了如此大的数据处理和存储要求。本文采用由uart中断接收上位机数据并将数据写入32kb闪存中的方法,取代了传统mcu+rom+ram的设计,增加了系统的稳定性。 cyclone ep1c6是altera推出的一款高性价比fpga。该器件提供的具有异步、双端口、带寄存器输入口、可选择的带寄存器输出口的存储模块-m4k在本设计中被设置成一个双口ram,实现数据的读写同步,提高了系统的刷新频率。 整体设计方案 本系统设计的是一块具有192×128个红色led点阵的电子大屏幕。整块大屏幕是模块化的结构,每4个16×16的点阵块为一个最小模块,每行点阵由3个同样的最小模块级联而成,共8行。大屏幕上要求连续显示5屏内容,且每屏都具有上下左右移动等动画效果。实际应用中主控制室距离电子屏约为200米。结合设计对象的要求和大屏幕设计的特点,本文提出了一种新颖的设计方案。该方案的整体框图如图1所示。 led大屏幕系统由3个主要单元组成:上位机图像/文字编辑与发送部分单元、主控板单元、显示驱动电路单元。系统上位机由一台pc机来控制,它主要编辑、发送图像/文字信息到主控板的存储器中;主控板对这些字模数据进行处理后发送到大屏幕,并在大屏幕上显示出来。 系统硬件设计 上位机发出的信息经符合rs-422标准的接口通过双绞线传送到主控板上,通讯速率可在上位机软件中设置。接口所用芯片为mc3487和mc3486,rs-422在传输率为100kb/s时,可传输的最大距离为1200米,本系统的传输距离约为200米,传输速率最大为115kb/s,采用rs-422方式传输可满足这一长距离通讯的要求。 主控板单元设计 该单元的设计特点在于数据流接收、存储以及驱动扫描的单片集成,无须任何外围电路。主控板由一片spce061a和ep1c6组成,如图2所示。 该单元的设计思路是,由单片机的iob7口以uart中断的方式接收上位机发送的数据,这是由于大屏幕处于被动、循环往复的显示状态,采用异步传输能减少系统不断查询串口接收标志位的系统消耗。单片机将接收的串口数据以两个字节为单位逐一写入内置的闪存中。单片机内部的2kb sram作为缓存区,每当单片机要向fpga中写一屏新的数据时,先按特定的地址从闪存中读出数据并存放到sram中,再将sram中的数据并行写到fgga的双口ram中,单片机与fpga的接口信号除了16根数据线外,还包括单片机向fpga写数据的地址、写使能和写时钟。由于每屏点阵数为192×128,16位数据并行传输所需的地址线为11根。但由于设计需要,系统中还专门设置了1根额外的地址线,用于对fpga的双口ram进行读写分区,因此共使用了12根地址线。 fpga在其内部配置一个双口ram缓存单片机写入的数据,同时将这些数据按照大屏幕的结构和扫描电路的特点选择性地读出,然后对数据由并转串输出到大屏幕的扫描驱动电路。由于大屏幕采用模块化的隔行扫描方式,每行需要2根数据线进行隔行传输,整块大屏幕共需16根数据线。由于点阵的行列驱动均采用74ls595驱动,故fpga还应产生列扫描的点时钟、锁存信号和行扫描的数据、时钟、锁存信号。 双口ram的配置 由于数据显示是一种动态扫描方式,如果采用一个ram区,当单片机写ram时,fpga只能处于等待状态,这样就会导致屏幕动态扫描停止。由于屏幕数据是移位输出的,当扫描停止时,因为会有某一行的高电平保持较长的时间,该行就会一直保持较强的亮度,影响屏幕的显示效果。本系统中设计了2个同样大小的ram区:a区和b区,让单片机交替进行写操作。当单片机在写a区时,fpga就去读b区的字模数据;当单片机写b区时,fpga就去读a区的字模数据。这样就不会造成fpga的停止扫描,保证了各行的点阵有相同的时间占空比,使屏幕点阵有同样的亮度。单片机中的highadr引脚可用于控