历史上的今天
返回首页

历史上的今天

今天是:2025年03月02日(星期日)

2021年03月02日 | 基于STM32+FPGA的全彩LED显示屏系统的设计

2021-03-02 来源:eefocus

LED显示屏是利用LED点阵模块或像素单元组成的一种现代平面显示屏幕,具有发光效率高、使用寿命长、视角范围大、色彩丰富以及对室内外环境适应能力强等优点。目前的LED显示屏控制系统多采用ARM处理器来完成整个系统的功能,这种控制系统在数据处理速度上存在很大的局限,影响显示效果的连续性。基于此,在分析了STM32微处理器总线结构特点的基础上,提出了STM32+FPGA的控制系统方案,该方案充分了利用STM32微处理器的灵活的储器控制技术和可编程逻辑器件的灵活性,提高了系统数据处理的速度,而且简化了电路结构,方便调试。


1、系统总体方案设计

系统结构框图如图1所示。

图1 系统结构框图


系统采用新一代的32bitRISC处理器STM32作为主控芯片,通过以太网传输数据,以FLASH作为存储模块,由FPGA完成对LED显示屏的高速扫描刷新。系统工作时,利用上位机编辑显示信息,通过以太网接口将显示信息传输给微处理器,微处理器接收数据信息后写入FLASH存储器。在显示时,微处理器读取FLASH中的数据,通过总线将数据以并行方式发送给FPGA,FPGA处理后将数据传输到LED显示屏显示。


2、系统硬件设计

本系统选用ST公司新推出的32位微处理器STM32F103ZET6作为主控芯片,STM32F103ZET6使用了先进架构的ARMCortex-M3内核,其灵活的静态存储器控制器使得它能很方便的和许多存储器和外设连接,同时STM32片上外设丰富,可以简化系统外围电路的设计。


2.1、FLASH存储器电路设计

FLASH采用的是三星公司的K9F1G16U0M,它是一种NAND型FLASH,存储容量为64M16位,工作电压3.3V,系统中STM32F103ZET6与K9F1G16U0M的连接如图2所示。FLASH存储器的IO0~IO7和FMSC数据总线的低8位相连,STM32处理器通过FSMC访问存储器;FLASH存储器的片选信号nCE和FSMC的FSMC_NCE2相连接,这样存储器的地址空间为0x70000000~077FFFFFFFF;FLASH存储器的R/nB连接至STM32处理器的FSMC_NWAIT管脚,处理器将R/nB作为一个中断源使用,因此可以在存储器的等待周期内执行其他的任务。



图2NANDFLASH与STM32F103ZET6连接图


2.2、以太网接口电路设计

采用以太网接口代替传统的串口,加快了数据传输的速度,同时可以实现远程控制。由于STM32F103ZET6片内没有集成以太网MAC和PHY功能,但其FSMC支持扩展以太网控制芯片,本系统在FSMC上扩展一片DAVICOM公司的DM9000A芯片对STM32F103ZET6进行以太网扩展,DM9000A与STM32F103ZET6的连接如图3所示。



图3 DM9000A与STM32F103ZET6连接图


STM32F103ZET6通过FSMC访问DM9000A,对于STM32F103ZET6来说,DM9000A就是一个静态存储器外设。DM9000A采用16位模式,数据线SD0~SD15直接与FMSC数据线低16位FSMC_D0~FSMC_D15相连;DM9000A片选信号线nCS连接至FSMC片选信号FSMC_NE4,这样DM9000A端口地址为0x6c000000;DM9000A的中断信号线INT可直接连接至STM32F103ZET6的IO口,在程序中激活处理器IO口的中断复用功能,STM32以中断方式接收网卡数据。


2.3、扫描驱动电路设计

扫描驱动电路是整个控制系统的重要组成部分,系统中它由一块FPGA和双体RAM组成,其结构如图4所示,主要完成灰度数据读取、上屏数据的产生与传输、移位和锁存时钟的产生、行选信号的产生、灰度控制信号的产生等功能。



图4 扫描驱动电路结构图


扫描驱动输出信号的仿真波形如图5所示,其中en是灰度控制信号,用来控制显示时间,产生灰度效果;row_sel是行选信号,显示时用于确定点亮哪一行;sck是移位时钟,lck是锁存时钟,ds_red、ds_blue、ds_green是上屏红、蓝、绿数据的输入端。仿真时红、蓝、绿显示数据分别设定为01交错、全1、全0。可以看到,在移位时钟的作用下数据移位正确,移位完成后,lck变为高电平,将数据锁存输出到LED屏上显示。



图5 输出信号的仿真波形


3、系统软件设计

整个系统的软件包括3个部分:上位机应用软件、微处理器控制软件和FPGA控制软件。3个部分协同工作,实现对LED显示屏的控制。


3.1、上位机应用软件

上位机应用软件用于人机交互,是控制系统对用户的接口,要求界面友好、操作简单。软件采用VisualC++编写,完成的主要功能包括:图像文字信息的编辑、图像的解码以及根据通信协议将数据发送给下位机。


3.2、微处理器控制软件

微处理器在整个系统中起着核心调度的作用,它控制着系统各功能模块的工作状态,程序包括TCP/IP协议栈的移植、DM9000A网卡驱动程序等,完成的主要功能有:硬件初始化,上位机与下位机的以太网通信,显示模式算法设计等。


3.3、FPGA控制软件

FPGA控制软件的设计是在QuartusII环境下完成的,采用硬件描述语言Verilog编写。主要功能是根据微处理器的控制,对存储器进行切换,实现乒乓操作;完成图像数据的重构,把数据转换为能直接用于LED扫描显示的含有灰度信息的0和1组成的编码系列,并根据显示屏驱动芯片的时序,将编码系列传输到显示屏上显示。


4、总结

本设计采用32位嵌入式微处理器STM32F103ZET6和可编程逻辑器件EP1C6Q240C8设计了全彩色LED显示屏控制系统,并在实验室验证,实现了LED显示屏的彩色显示,图6(a)为一幅实际图像,图6(b)是在显示屏上的显示效果。



图6 图像的灰度显示


实验结果表明,系统运行稳定,显示画面清晰、流畅。系统该系统能满足异步全彩色LED显示屏高处理速度,大容量数据存储的要求,支持256灰度级全彩图像、动画的显示,同时通过改变FPGA内部的硬件逻辑可方便地对系统进行升级,结构简单、可靠性高,可替代市场上同类设计产品,应用前景广泛。


推荐阅读

史海拾趣

Aten International公司的发展小趣事

在全球能源危机和环保意识日益增强的背景下,绿色能源成为了电子行业的一大发展趋势。Aten International积极响应环保号召,研发出了一系列绿色能源解决方案,包括智能型电源分配器和节能感测软件等。这些产品不仅能够有效降低能源消耗,还能提供实时的能源管理与效能指标,为企业实现绿色生产提供了有力支持。

HSMC公司的发展小趣事

武汉弘芯半导体制造有限公司(HSMC)于2017年11月在武汉市东西湖区临空港经济技术开发区正式成立。公司自成立之初便立下了宏伟的愿景——成为全球领先的CIDM(委托代工与芯片设计整合制造)晶圆厂之一。HSMC汇聚了来自全球半导体晶圆研发与制造领域的顶尖专家团队,致力于集成电路产业先进晶圆与封装制造技术的自主化,为我国电子科技业与芯片设计业贡献力量。

博流(Bouffalo Lab)公司的发展小趣事

随着公司的发展壮大,博流积极寻求与全球知名企业的合作机会。其中,与谷歌的合作尤为引人注目。作为Google Matter EAP合作伙伴,博流与谷歌共同推动Matter协议在智能家居生态系统中的应用,为用户提供更加便捷、智能的家居体验。此外,博流还与多家产业链上下游企业建立了紧密的合作关系,共同推动物联网产业的发展。

Eagle-Picher公司的发展小趣事

在第二次世界大战期间,Eagle-Picher公司利用其在材料科学方面的专长,为美国军队生产蓄电池。公司使用硅藻土和锌等材料,为军队的通信设备和其他电子设备提供可靠的电源。这一时期的业务扩张不仅增强了Eagle-Picher的技术实力,也为其在电子行业树立了良好的声誉。

Good Sky Electric Co Ltd公司的发展小趣事
Z32A、Z32K、Z3025J型摇臂钻床的主电路通常包括断路器、主电路熔断器、接触器正反转主触点、热继电器以及电机等关键元件。这些元件共同协作,确保钻床的安全稳定运行。
Amphenol Thermometrics公司的发展小趣事
Z32A、Z32K、Z3025J型摇臂钻床广泛应用于机械加工领域中的钻孔、扩孔、铰孔、平面及攻螺纹等工序。它们适用于小批生产和在装配、修理车间加工大、重型零件等场景,具有工艺先进、性能可靠、操作维修方便等特点。

问答坊 | AI 解惑

74HC393

74HC393,发给二都的…

查看全部问答>

关于wince中文输入法的问题

我添加了如下组件 MSPY 3.0 for windows ce       1.7 MB -standard database       double spelling soft keyboard Multilingual User Interface(MUI)。 但进入系统后,用double spelling soft keyb ...…

查看全部问答>

拔USB死机的问题,散几分

dell的本子重装了系统,拔USB没死,装好了所有的开发软件再试,死了。琢磨了一下,卸载BusHound,ok了。没重装之前也死,看来就是BusHound的作用。奇怪的是,拔读卡器、u盘这样的storage设备就死,即使安全弹出了设备,但拔activesync、串口、仿真 ...…

查看全部问答>

关于CAN总线出错的问题处理

两个CAN通讯,故意手动模CAN通讯线(线皮去掉),CAN总线会死掉,我仿真时候,在看寄存器,发现,有时候是离线错误,看了几种错误情况都有? 如果仿真,让CPU重新复位,发现CA还不能正常通讯,我复位CPU,整个CAN寄存器都复位了,为什么总线 ...…

查看全部问答>

请问IR2136驱动IGBT管这个三极管是什么管子(有图示)?

想自已DIYG一个简易的变频器,拆开单位用到的一种国产变频器(好象它的返修是最少的), 描下其用IR2136驱动IGBT管的电路,就是看不明白其中的D2,D3是什么管子?那位大虾可以说说吗? 我开始以为是PNP三极管,但用数字万用表测量C脚,B脚之间 ...…

查看全部问答>

有关硬件调试

各位老师和高手们:我已看过FAQ,但是没有调试的具体说明,请问调试DSP时,一般最关键的信号是什么?应是什么样的波形?MSC应是什么样的波形? 另外,DSP和FPGA连调的时候,最应该注意什么?我调试了一天,找不到原因?一般应该怎样找呢? 先 ...…

查看全部问答>

用AD刚画的一个51的开发板,多评评啊!!!!

[local]3[/local]花了两天时间画的一个开发板,是看着别人原理图画的,我用的是AD,不足之处,多多说,互相学习…

查看全部问答>

请进、我的救星、关于51MCU、ROM、EA问题

51MCU中。用编译器将HEX程序文件载入单片机ROM里的时候,是将其放在MCU的内部存储器还是外部存储器呢? 还有,在EA置低的时候为什么单片机最小系统也还是可以工作的? 大神们请为小弟耐心解答!万分感谢!!…

查看全部问答>

运放偏置电流和输出失调电压的关系

首先给大家推荐一本好书《OP放大电路活用技巧》比较适合我这种没怎么使用过运放的新手 我看书时,书中介绍运放的偏置电流和输出失调电压的关系时写到: VOoffset=(RS//RF)(1+RF/RS)*IB-=RF*IB- 不知道是怎么推出来的?有没有大神讲讲具体原理啊 ...…

查看全部问答>