基于cyclone EP1C6 的LED大屏设计方案
时间:07-22
来源:互联网
点击:
目前采用的LED大屏幕显示系统的控制电路,大多由单个或多个CPU及复杂的外围电路组成,这种电路设计,单片机编程比较复杂,整个电路的调试比较麻烦,可靠性和实时性很难得到保证。针对这种情况,介绍一种基于cyclone EP1C6的LED大屏幕设计方案,该设计方案无须外挂FLASH ROM和RAM,无须任何外部功能电路,所有功能均由一片cyclone EP1C6和一片单片机SPCE061A来实现,具有数据处理速度快、可靠性高的特点。其中FPGA内部双口RAM的运用,为不同总线间的数据通信提供了一个新的解决方案。
1 系统结构及功能概述
设计对象是一块具有192×128个红色LED点阵的电子屏。整块电子屏是模块化的结构,每4个16×16的点阵块为一个单元,共3×8个这样的单元。屏上要求连续显示5屏内容,且每屏具有上下左右移动等动画效果,实际应用中主控制室距离电子屏约为200米。结合设计对象的要求和大屏幕设计的特点,系统结构框图如图1所示。
图1 系统框图
LED大屏设计系统由三个主要单元组成:上位机图象/文字编辑与发送部分单元、主控板单元、LED电子屏。系统上位机由一台PC机来控制,主要是编辑、发送图象/文字信息到主控板,而主控板对这些数据进行处理后发送到大屏幕上显示出来。
2系统硬件设计
系统硬件设计主要是对主控板的设计,主控板的主要功能包括:数据通讯、数据存储、数据处理、扫描控制等。传统LED大屏设计由作为数据存储器的FLASH ROM和数据处理缓存器的RAM、CPU和可编程逻辑器件FPGA/CPLD、作为数据扫描缓冲区的RAM组成,其结构如图2所示。
图2 传统LED大屏设计主控板结构图
传统主控板硬件设计需要较多的外围器件(有的设计中还不止一个CPU和CPLD),不仅硬件结构和连线复杂,而且设计成本较高。此外,由于LED大屏幕数据量很大,各个分立存储器之间、单片机与FPGA/CPLD之前数据实时可靠的传输也是一个问题。为解决这些问题,主控板硬件电路的设计选用一片凌阳单片机SPCE061A和一片FPGA cyclone EP1C6,其结构框图如图3所示。
图3 基于cyclone EP1C6的主控板结构图
2.1 cyclone EP1C6和SPCE061A简介
cyclone EP1C6是Altera推出的一款高性价比FPGA,工作电压3.3V,内核电压1.5V。采用0.13μm工艺技术,全铜SRAM工艺,其密度为5980个逻辑单元,包含20个128×36位的RAM块(M4K模块),总的RAM空间达到92160位。内嵌2个锁相环电路和一个用于连接SDRAM的特定双数据率接口,工作频率高达200MHz。
SPCE061A是凌阳科技推出的一款16位微控制器,内嵌32K字FLASH和2K字SRAM,并集成了ICE仿真电路接口﹑通用I/O端口﹑定时器/计数器﹑中断控制﹑CPU时钟﹑模数转换器A/D﹑DAC输出﹑通用异步串行输入输出接口、串行输入输出接口﹑低电压检测/低电压复位﹑看门狗等功能。CPU最高可工作在49MHz的主频下,较高的处理速度使SPCE061A能够非常容易、快速地处理复杂的数字信号。
2.2 主控板结构及功能
主控板结构如图3所示,上位机发送的数据通过双绞传送到RS422接收模块[2],经转换后送至单片机,由单片机的IOB7口以UART中断的方式接收上位机发送的数据。单片机将接收的串口数据以两个字节为单位逐一写入内置的FLASH中。单片机内部的2K字SRAM在此作为一个缓存区,每次单片机要向FPGA中写一屏新的数据时,先按特定的地址从FLASH中读出数据并存放到SRAM中,再将SRAM的数据并行写到FPGA的双口RAM中。
FPGA在其内部配置一个双口RAM缓存单片机写入的数据,同时将这些数据按照大屏的结构和扫描电路的特点,从双口RAM中有选择性地读出,并将读出的数据由并转串,按照一定的时序对大屏点阵进行、列扫描,这个时序也是由FPGA产生的。扫描数据和时序控制信号从FPGA的I/O口输出后,经过一个由74LS245构成的隔离驱动电路送至大屏幕。
2.3 基于FPGA的双口RAM的配置
基于FPGA的双口RAM的配置是本设计的独特之处。RAM作为中介将单片机送来的数据在LED电子屏上显示出来,由于数据显示是一种动态扫描方式,若采用一个RAM 区,单片机在写RAM 时,FPGA只能处于等待状态,FPGA读RAM时,单片机写数据也无法同时进行,导致屏幕刷新频率降低,动态扫描不连续,影响屏幕的显示效果。因此设计了两个同样大小的RAM 区:A区和B区。当单片机写A区时, FPGA读B区的数据,单片机写B区时,FPGA读A区的数据。此外,由于FPGA扫描模块可以达到很高的扫描速率,而单片机的运行速率则相对较低,且两个模块间有大量的数据交换,为此选择高速双口RAM,一方面保证单片机和FPGA同时读写数据,另一方面保证了数据的处理速度。
cyclone EP1C6提供了20个具有异步﹑双端口﹑带寄存器输入口﹑可选择的带寄存器输出口的存储模块—M4K模块,每个M4K模块的存储容量为4Kbit。在QUARTUS软件中进行简单的设置,就可以将M4K模块配置成双口RAM,数据和地址的位宽可根据实际需要进行选择。本文设计的RAM可容纳两屏的数据,数据位宽为16位,地址为12位,其中地址的最高位作RAM分区用,每个区存储一屏的数据,两屏读写同时进行,双口RAM的配置如图4所示。
图4 双口RAM配置
其中wren是单片机往FPGA中写入数据的写使能信号,wraddress[11..0]是写的地址信号, wrclock是写时钟,data[15..0]是写的数据,rdaddress[11..0]是读的地址信号,rdclock是读数据的时钟信号,q[15..0]是读出的数据。
1 系统结构及功能概述
设计对象是一块具有192×128个红色LED点阵的电子屏。整块电子屏是模块化的结构,每4个16×16的点阵块为一个单元,共3×8个这样的单元。屏上要求连续显示5屏内容,且每屏具有上下左右移动等动画效果,实际应用中主控制室距离电子屏约为200米。结合设计对象的要求和大屏幕设计的特点,系统结构框图如图1所示。
图1 系统框图
LED大屏设计系统由三个主要单元组成:上位机图象/文字编辑与发送部分单元、主控板单元、LED电子屏。系统上位机由一台PC机来控制,主要是编辑、发送图象/文字信息到主控板,而主控板对这些数据进行处理后发送到大屏幕上显示出来。
2系统硬件设计
系统硬件设计主要是对主控板的设计,主控板的主要功能包括:数据通讯、数据存储、数据处理、扫描控制等。传统LED大屏设计由作为数据存储器的FLASH ROM和数据处理缓存器的RAM、CPU和可编程逻辑器件FPGA/CPLD、作为数据扫描缓冲区的RAM组成,其结构如图2所示。
图2 传统LED大屏设计主控板结构图
传统主控板硬件设计需要较多的外围器件(有的设计中还不止一个CPU和CPLD),不仅硬件结构和连线复杂,而且设计成本较高。此外,由于LED大屏幕数据量很大,各个分立存储器之间、单片机与FPGA/CPLD之前数据实时可靠的传输也是一个问题。为解决这些问题,主控板硬件电路的设计选用一片凌阳单片机SPCE061A和一片FPGA cyclone EP1C6,其结构框图如图3所示。
图3 基于cyclone EP1C6的主控板结构图
2.1 cyclone EP1C6和SPCE061A简介
cyclone EP1C6是Altera推出的一款高性价比FPGA,工作电压3.3V,内核电压1.5V。采用0.13μm工艺技术,全铜SRAM工艺,其密度为5980个逻辑单元,包含20个128×36位的RAM块(M4K模块),总的RAM空间达到92160位。内嵌2个锁相环电路和一个用于连接SDRAM的特定双数据率接口,工作频率高达200MHz。
SPCE061A是凌阳科技推出的一款16位微控制器,内嵌32K字FLASH和2K字SRAM,并集成了ICE仿真电路接口﹑通用I/O端口﹑定时器/计数器﹑中断控制﹑CPU时钟﹑模数转换器A/D﹑DAC输出﹑通用异步串行输入输出接口、串行输入输出接口﹑低电压检测/低电压复位﹑看门狗等功能。CPU最高可工作在49MHz的主频下,较高的处理速度使SPCE061A能够非常容易、快速地处理复杂的数字信号。
2.2 主控板结构及功能
主控板结构如图3所示,上位机发送的数据通过双绞传送到RS422接收模块[2],经转换后送至单片机,由单片机的IOB7口以UART中断的方式接收上位机发送的数据。单片机将接收的串口数据以两个字节为单位逐一写入内置的FLASH中。单片机内部的2K字SRAM在此作为一个缓存区,每次单片机要向FPGA中写一屏新的数据时,先按特定的地址从FLASH中读出数据并存放到SRAM中,再将SRAM的数据并行写到FPGA的双口RAM中。
FPGA在其内部配置一个双口RAM缓存单片机写入的数据,同时将这些数据按照大屏的结构和扫描电路的特点,从双口RAM中有选择性地读出,并将读出的数据由并转串,按照一定的时序对大屏点阵进行、列扫描,这个时序也是由FPGA产生的。扫描数据和时序控制信号从FPGA的I/O口输出后,经过一个由74LS245构成的隔离驱动电路送至大屏幕。
2.3 基于FPGA的双口RAM的配置
基于FPGA的双口RAM的配置是本设计的独特之处。RAM作为中介将单片机送来的数据在LED电子屏上显示出来,由于数据显示是一种动态扫描方式,若采用一个RAM 区,单片机在写RAM 时,FPGA只能处于等待状态,FPGA读RAM时,单片机写数据也无法同时进行,导致屏幕刷新频率降低,动态扫描不连续,影响屏幕的显示效果。因此设计了两个同样大小的RAM 区:A区和B区。当单片机写A区时, FPGA读B区的数据,单片机写B区时,FPGA读A区的数据。此外,由于FPGA扫描模块可以达到很高的扫描速率,而单片机的运行速率则相对较低,且两个模块间有大量的数据交换,为此选择高速双口RAM,一方面保证单片机和FPGA同时读写数据,另一方面保证了数据的处理速度。
cyclone EP1C6提供了20个具有异步﹑双端口﹑带寄存器输入口﹑可选择的带寄存器输出口的存储模块—M4K模块,每个M4K模块的存储容量为4Kbit。在QUARTUS软件中进行简单的设置,就可以将M4K模块配置成双口RAM,数据和地址的位宽可根据实际需要进行选择。本文设计的RAM可容纳两屏的数据,数据位宽为16位,地址为12位,其中地址的最高位作RAM分区用,每个区存储一屏的数据,两屏读写同时进行,双口RAM的配置如图4所示。
图4 双口RAM配置
其中wren是单片机往FPGA中写入数据的写使能信号,wraddress[11..0]是写的地址信号, wrclock是写时钟,data[15..0]是写的数据,rdaddress[11..0]是读的地址信号,rdclock是读数据的时钟信号,q[15..0]是读出的数据。
LED 电路 单片机 FPGA 总线 电子 CPLD Altera 电压 仿真 DAC 看门狗 电流 三极管 VHDL 相关文章:
- OLED显示器及其馈电技术(08-13)
- 基于S3C44B0X的大型LED显示系统设计(08-14)
- 利用EL7516制作高效、高电流的白光LED驱动器(08-14)
- OLED显示模块与C8051F单片机的接口设计(08-14)
- 白光型发光二极管(WLED)之背光设计兵法(08-26)
- LCD和OLED在车载显示的应用 (08-26)