一种基于MCU+FPGA的LED大屏幕控制系统的设计

最新更新时间:2011-06-25来源: 维库电子关键字:MCU  FPGA  LED大屏幕 手机看文章 扫描二维码
随时随地手机看文章

  只要在现在的市场上走一圈就会发现,大部分的中小规模 led 显示系统,采用的是传统的单片机作为主控芯片。但是内部资源较少、运行速度较慢的单片机,很难满足LED大屏幕的显示屏,因为系统要求数据传输量大,扫描速度要快。以FPGA作为控制器,一方面,FPGA采用软件编程实现硬件功能,可以有效提高运行速度;另一方面,它的引脚资源丰富,可扩展性强。因此,用单片FPGA和简单的外围电路就可以实现大屏幕LED显示屏的控制,具有集成度高、稳定性好、设计灵活和效率高等优点。

  1  系统总体结构

  LED大屏幕显示系统由上位机(PC机)、单片机系统、FPGA控制器、LED显示屏的行列驱动电路等模块组成,如图1所示。上位机负责汉字、字符等数据的采集与发送。单片机系统与上位机之间以异步串行通信工作方式,通过串行端口从上位机获得已完成格式转换的待显示的图形点阵数据,并将其存入EEPROM存储器。之后通过FPGA控制器,将存储器的显示数据还原到LED显示屏。扫描控制电路采用可编程逻辑芯片Cyclone EP1C6,利用VHDL语言编程实现,采用1/16扫描方式,刷新频率在60 Hz以上。本文着重介绍256×1024的单色图文显示屏的FPGA控制模块。

系统总体结构框图

  图1  系统总体结构框图

  2  LED显示屏基本工作原理

  对大屏幕LED显示屏来说,列显示数据通常采用的是串行传输方式,行采用1/16的扫描方式。图2为16×32点阵屏单元模块的基本结构,列驱动电路采用4个74HC595级联而成。在移位脉冲SRCLK的作用下,串行数据从74HC595的数据端口SER一位一位地输入,当一行的所有32列数据传送完后,输出锁存信号RCLK并选通行信号Y0,则第1行的各列数据就可按要求显示。按同样的方法显示其余各行,当16行数据扫描一遍(即完成一个周期)后,再从第1行开始下一个周期的扫描。只要扫描的周期小于20 ms,显示屏就不闪烁。

16×32点阵屏基本结构

  图2  16×32点阵屏基本结构

  256×1024大屏幕显示屏由16×32个的16×32点阵屏级联而成。为了缩短控制系统到屏体的信号传输时间,将显示数据分为16个区,每个区由16×1024点阵组成,每行数据为1024/8=128字节,显示屏的像素信号由LED显示屏的右侧向左侧传输移位,把16个分区的数据存在同一块存储器。一屏的显示数据为32 KB,要准确读出16个分区的数据,其存储器的读地址由16位组成,由于数据只有32 KB,因此最高可置为0。其余15位地址从高到低依次为:行地址(4位)、列地址(7位)、分区地址(4位)。4位分区地址的译码信号(Y0~Y15)作为锁存器的锁存脉冲,在16个读地址发生周期内,依次将第1~16分区的第1字节数据锁存到相应的锁存器,然后在移位锁存信号上升沿将该16字节数据同时锁存入16个8位并转串移位寄存器组中。在下一个16个读地址发生时钟周期,一方面,并转串移位寄存器将8位数据移位串行输出,移位时钟为读地址发生时钟的二分频;另一方面,依次将16个分区的第2字节数据读出并锁入相应的锁存器,按照这种规律将所有分区的第一行数据依次全部读出后,在数据有效脉冲信号的上升沿将所有串行移位数据输出,驱动LED显示。接下来,移位输出第2行的数据,在此期间第1行保持显示;第2行全部移入后,驱动第2行显示,同时移入第3行……按照这种各分区分行扫描的方式完成整个LED大屏幕的扫描显示。

  3  基于FPGA显示屏控制器的设计

  3.1  FPGA控制模块总体方案

  如图3所示,FPGA控制模块主要由单片机与FPGA接口及数据读写模块、读地址发生器、译码器、行地址发生器、数据锁存器组、移位寄存器组、脉冲发生器等模块组成。

 FPGA控制模块总体结构框图

  图3  FPGA控制模块总体结构框图

  读地址发生器主要产生读地址信号,地址信号送往MCU接口及数据读写模块,读取外部SRAM1或SRAM2中已处理好的LED显示屏数据,并把数据按分区方式送到数据锁存器组锁存。锁存器输出16分区数据,通过移位寄存器组实现并串转换得到显示屏所需要的串行数据,并送往LED显示屏列驱动电路。脉冲发生器为各模块提供相应的同步时钟,行地址发生器产生相应的行信号送往显示屏的行驱动电路。

  3.2  单片机与FPGA接口及数据读写模块

  单片机与FPGA接口及数据读写模块结构如图4所示。单片机从EEPROM中读取数据并根据显示要求进行处理后,通过接口及数据读写模块把数据送往数据缓冲器SRAM1或SRAM2。为提高数据的传输速度,保证显示效果的连续性,在系统中采用双体切换技术来完成数据存储过程。也就是说,采用双SRAM存储结构,两套完全独立的读、写地址线和数据线轮流切换进行读写。工作时,FPGA在一个特定的时间只从两块SRAM中的一块读取显示的数据进行显示,同时另外一块SRAM与MCU进行数据交换。MCU会写入新的数据,依次交替工作,可实现左移、上移、双屏等显示模式。如果显示的内容不改变,即一块SRAM里的数据不变时,MCU不需要给另外一块SRAM写数据。

单片机与FPGA接口及数据读写模块结构框图

  图4  单片机与FPGA接口及数据读写模块结构框图

数据读写状态转换图

  图5  数据读写状态转换图

  该模块采用VHDL有限状态机来实现,整个控制分为4个状态,其状态转换图如图5所示。其工作过程如下:系统开机进入初始状态ST0,单片机的写入使能端E为低电平,单片机从EEPROM中读取数据并把数据写入到SRAM1,同时FPGA读取SRAM2中的数据;当单片机数据写完一屏数据后E变为高电平,当FPGA从SRAM2中读完数据、结束信号READ_END为低电平时,进入ST1状态。

  在ST1状态下,若没有新的数据写入则E保持高电平,FPGA读取SRAM1的数据,为静态显示;只有当单片机的读入控制信号E为低电平且READ_END为低电平时,进入ST2状态。在ST2状态下,单片机把数据写入SRAM2,同时FPGA读取SRAM1的数据,单片机数据写完后E变为高电平,当FPGA一屏数据读完后READ_END为低电平,进入ST3状态。在ST3状态下,如果没有新数据写入E为高电平,FPGA读取SRAM2中的数据。当单片机有新的数据写入时E变为低电平,当FPGA一屏数据读完后READ_END为低电平时,重新进入ST0状态。通过这种周而复始的交替工作完成数据的写入与读取,其端口程序如下:

  ENTITY WRITEREAD_SEL IS

  PORT(

  REST:IN STD_LOGIC;

  CLK:IN STD_LOGIC;

  E:IN STD_LOGIC; 单片机写入标记

  WR:IN STD_LOGIC;单片机写控制信号

  ADDR_WR:IN STD_LOGIC_VECTOR(15 DOWNTO 0);单片机写地址信号

  ADDR_RD:IN STD_LOGIC_VECTOR(15 DOWNTO 0);读地址信号

  DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);单片机写入数据

  READ_END:IN STD_LOGIC;读一屏数据结束标记

  D1,D2:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);SRAM数据

  AD1,AD2:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);SRAM地址

  WR1,WR2:OUT STD_LOGIC;SRAM的写控制信号

  OE1,OE2:OUT STD_LOGIC; SRAM的读控制信号

  DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));输出数据

  END ENTITY WRITEREAD_SEL;

  3.3  读地址发生器

  读地址发生器主要产生外部缓存器SRAM1(SRAM2)的读地址信号,使系统能正确地从存储器中读取相应的显示数据。其地址最高位为0,其余地址分别为行地址(hang[30])、列地址(lie[60])、分区地址(qu[30])15位有效地址信号。在16个脉冲周期内读出在SRAM1(SRAM2)中的16字节数据,其部分VHDL源程序如下:

  ENTITY addressIS

  PORT(

  RDCLK:IN STD_LOGIC;读地址时钟信号

  CLR,ADDR_EN:IN STD_LOGIC;清零及使能控制信号

  READ_END:OUT STD_LOGIC;一屏数据读完信号

  ADDR_RD:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));产生的读地址信号

  END ENTITY address;

  3.4  译码器

  译码器模块主要是产生16路的分区信号(低电平有效)分别控制16个锁存器,把16个分区的显示数据分别锁存在相应的锁存器中。

  3.5  数据锁存器组及移位寄存器组模块

  数据锁存器组模块由16个8位锁存器组成锁存器组,锁存16个分区的数据。移位寄存器组模块由16个8位移位寄存器组成,把各路锁存器中8位并行数据转换成同时输出的16路串行数据,驱动LED显示屏,实现数据的并串转换。

  其生成的元件符号如图6所示。其中,DATA_IN[70]为每个分区的8位并行数据输入,SCLK为移位时钟,CLR为清零信号,LOAD为数据锁存信号,CS[150]为16分区的输入信号(接译码器的输出),DATA_OUT[150]为16路的串行数据输出。

并串转换元件符号图

  图6  并串转换元件符号图

  3.6  脉冲发生器

  系统采用1/16的扫描方式,把数据分为16分区,16分区数据同时传送。假设刷新的频率为60 Hz(即周期为16.67 ms),每一行显示的时间约为16.67 ms/16=1.04 ms。每行有1024位,则移位脉冲周期为1.04/1024=102 μs,即移位频率为0.983 MHz以上才能满足要求。由于移位脉冲是数据读取模块时钟的2分频,因此系统的时钟至少1.97 MHz以上,本系统采用50 MHz时钟源。其时序图如图7所示。

时钟产生时序图

图7  时钟产生时序图

  其中,RDCLK为FPGA读取数据时钟;SCLK是串行输出的移位时钟,是RDCLK的2分频;LOAD是数据锁存信号,每次读完16个分区中的某个字节数据DATA后产生锁存信号,数据锁存在数据锁存器组中,其时钟是RDCLK的16分频。

  4  FPGA控制模块的仿真测试

  在QuartusII 5.1中建立一个工程,并建立原理图文件,把单片机与FPGA接口及数据读写模块、读地址发生器、译码器、行地址发生器、数据锁存器、移位寄存器、脉冲发生器等单元模块所生的模块元件符号连接起来,构成总控制模块逻辑图并对其功能仿真。仿真结果如图8所示,从存储器中读取16字节数据,经并串转换输出16路的串行数据。从波形图分析,功能正确,且各输出端口信号均符合时序要求。

FPGA控制模块仿真图

  图8  FPGA控制模块仿真图

  5 结语

  FPGA是在线可编程芯片,可以根据不同的用户要求进行不同的编程, 缩短了系统的开发周期并节约了硬件的开发成本。本文以FPGA为主芯片,较完整地设计了大屏幕LED单色图文显示屏控制系统。随着LED显示屏技术的发展,FPGA与ARM或DSP等芯片的组合,必将在双色显示屏和彩色显示屏领域获得广泛的应用。

关键字:MCU  FPGA  LED大屏幕 编辑:探路者 引用地址:一种基于MCU+FPGA的LED大屏幕控制系统的设计

上一篇:基于ATmega16L芯片的LED旋转屏设计方案
下一篇:LED显示屏数据处理技术介绍

推荐阅读最新更新时间:2023-10-18 15:24

单片机-多分支实验
ORG 0000H //汇编起始地址 NUMB EQU 30H FONT EQU 31H INT: MOV NUMB,#00H; 需要显示数字送到NUMB单元 MOV R2,#04H START: MOV A,NUMB MOV DPTR,#TABADDR RL A // 累加器循环左移 JMP @A+DPTR TABADDR: SJMP DISP0 SJMP DISP1 SJMP DISP2 SJMP DISP3 DISP0: MOV FONT,#0C0H LJMP MJUP
[单片机]
<font color='red'>单片机</font>-多分支实验
基于单片机的喷墨打印机控制技术
摘要:介绍一种采用MCS51系列单片机控制驱动Hewlett Packard DESKJET 600/800系列喷墨打印机的硬件接口设计和软件设计方法。以控制打印机实现表格打印功能为例,给出了用C51语言编写的一系列相关基本控制程序。 关键词:单片机 喷墨打印机 HP PCL LEVEL 3语言 单片机应用系统中最常用的输出打印设备是微型打印机,例如TP系列、UP系列打印机等,对它们的控制技术也较为成熟。但是近年来随着通用打印机的广泛使用,微型打印机的缺点也日益明显:一是通用性及互换性不强;二是打印输出文档的幅面过小,不便于装订及存档。而通用打印机都配有国际标准并行接口(CENTRONICS)和串行接口(RS232/422)
[单片机]
低价32位MCU步步紧逼 8位ASIC MCU优势仍在
面对近期入门级32位微控制器(MCU)步步进逼,8位MCU供应商除持续开发特定应用标准产品(ASSP)MCU之外,亦加重专用应用集成电路(ASIC)MCU的专用型产品开发比重,为特定应用领域的客户打造量身定做的8位解决方案,减缓32位MCU低价攻势的冲击。 盛群8位MCU产品部处长林俊鸣表示,尽管入门级32位元MCU售价已跌至0.32美元以下,并对高阶8位MCU市场造成不小的威胁,然单一系列的低价32位MCU针对已设定的目标应用所开发的标准型产品,仅配备该领域所需的周边功能,因此无法通吃所有的嵌入式应用市场。 林俊鸣进一步指出,国外半导体大厂基于产品策略,较不会针对特定应用领域的客户开发专用型MCU,因此专用型产品已被台湾
[单片机]
单片机ADC采样算法----中位值平均滤波法
中位值平均滤波法滤波法就是通过连续采样N个数据,然后对数据从小到大排序,然后去掉最大值和最小值,对剩余的N-2个值计算算数平均值。也就是中位值滤波和算数平均滤波的结合。 下面看C代码的实现 #define N 12 unsigned int filter5( void ) { unsigned int count, i, j, temp; unsigned int value_buf ; int sum = 0; for( count = 0; count N; count++ ) { value_buf = ReadVol_CH2(); } for( j = 0; j N -
[单片机]
<font color='red'>单片机</font>ADC采样算法----中位值平均滤波法
基于51单片机的多功能时钟温度计 DS1302+LCD1602
本设计是由STC89C52单片机为控制核心,具有在线编程功能,低功耗;时钟电路由DS1302提供,它是一种高性能、低功耗的时钟电路,工作电压为3V~5V;所以采用DS1302作为本设计的日历芯片;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、晶显示部分组成。 电路原理图如下: 制作出来的实物图如下: Altium Designer画的
[单片机]
基于51<font color='red'>单片机</font>的多功能时钟温度计 DS1302+LCD1602
提高FPGA设计效能的方案
随着FPGA密度的增加,系统设计人员能够开发规模更大、更复杂的设计,从而将密度优势发挥到最大。这些大规模设计基于这样的设计需求——需要在无线通道卡或者线路卡等现有应用中加入新功能,或者通过把两种芯片功能合并到一个器件中,减小电路板面积,或者针对新应用开发新设计。 这些不同的设计含有应用程序已有代码,或者是对延时要求较高的DSP。对于这类设计,综合工具可能无法优化设计,使其达到最优,导致关键通路出现较长的延时。关键通路延时较长的原因在于逻辑综合工具依靠估算的延时来综合设计。 这些延时较长的关键通路带来了时序逼近问题,导致性能劣化,迫使设计人员重新编写RTL代码以改进这些延时较长的关键通路。此外,
[嵌入式]
提高<font color='red'>FPGA</font>设计效能的方案
从零开始51单片机教程 —— 定时器/计数器的方式控制字
从上一节我们已经得知,单片机中的定时/计数器都能有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。 定时/计数器共有四种工作方式 在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。 TMOD结构 从图1中我们能看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。 TCON结构 从
[单片机]
从零开始51<font color='red'>单片机</font>教程 —— 定时器/计数器的方式控制字
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中 这款独特的解决方案首次全面支持 8 位、16 位和 32 位 MCU 以及 32位MPU,可在边缘 实现机器学习 机器学习 (ML) 正成为嵌入式设计人员开发或改进各种产品的标准要求。为满足这一需求,Microchip Technology Inc.(美国微芯科技公司)近日推出了全新的 MPLAB® 机器学习开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包可用于Microchip的各类单片机 (MCU) 和微处理器 (MPU) 产品组合,助力开发人员快速高效地添加机器学习推
[单片机]
Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 <font color='red'>MCU</font> 和 MPU中
小广播
热门活动
换一批
更多
最新电源管理文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved