基于VHDL语言和CPLD器件实现频谱电平动态显示电路的设计

1.引言
led点阵显示屏具有醒目、动态效应好、省电节能、亮度较高、用途广等优点,是现代 化城市的主要标志之一。利用vhdl硬件描述语言设计了以cpld器件为核心的控制电路, 在led点阵屏上实现了音频信号的频谱型电平动态显示, 而且具有显示模式多样化、易编程 修改,颜色可变、动态效果好等优点。
2.系统组成
本设计所用的epm570t100c5采用了altera公司的maxii (multiple array matrix ii) 系列器件作为目标cpld,采用双色8*8led点阵作为终端显示器件,配合一些必需的外围器件 和电路,实现了对音频信号的选频、ad转换、各频段的电平显示模式控制、最终实现了音频 信号的频谱型电平的动态显示。本系统的基本组成如图1所示:
2.1 音频输入与预处理模块
由于本设计采用8个频段电平显示,因此,笔者对音频信号进行了8个中心频率分别为 100hz、200hz、500hz、1000hz、1500hz、3000hz、6000hz、12000hz的带通电路的选频处理, 经电压保持电路后送至以adc0809为核心的八通道8位输出数模转换电路,由于adc0809具有 八个输入通道,受cpld输出的列选信号控制,从而实现了led的八根列选线(共阴极)分别 对应音频信号的8个中心频率,为频谱型电平显示实现了列选扫描控制。
由于列选信号的切换频率设定为200hz,即频段切换周期为5ms,adc0809 完全能够胜 任音频信号各频段直流电平的a/d 转换处理,因此,adc0809 一直处于主动转换状态,无需 接受cpld 芯片的转换控制。
2.2 核心控制模块
本设计的核心模块采用altera公司的cpld器件,型号为epm570t100c5,它基于突破性的 cpld架构,提供业界所有cpld系列中单个i/o管脚最低成本和最小功耗。这些器件采用新的 查表(lut)体系,采用tsmc的0.18μm嵌入flash工艺,使其裸片尺寸仅为同样工艺器件的1/4, 而且包括非易失性flash存储模块和jtag控制电路。
本电路采用12mhz的有源晶振,为cpld提供主时钟。epm570t100c5芯片主要集成了分频、 列选扫描、按键去抖、数字电平信号的线性比较、显示模式控制、显示数据rom等功能模块。
分频电路对12mhz时钟信号进行分频处理后得到200hz的列选计数脉冲,送至74hc138译 码器的输入端和adc0809的通道地址选择控制端,实现8*8led点阵的列扫描动态控制和 adc0809的通道选择控制。
按照人眼的视觉习惯,线性比较电路主要负责将a/d转换后的8位数据电平信号(共256 个组态)转换为8个梯级的数据信号,经显示模式控制电路处理后作为地址数送至显示数据 rom,从而直接调用rom中寄存的显示模式数据。
2.3 输出与显示模块
本设计采用双色(红色和绿色)8*8led 点阵作为终端显示器件,在cpld 的rom 数据控 制下,8*8led 点阵的每个像素点能产生红色、绿色、$(红绿混合色),能够再现颜色 的多样化。
由于一般的i/o 的驱动能力是有限的,cpld 中的rom 输出的显示数据需要经过驱动电 路后送至8*8led 点阵的行选端(阳极),列选线(阴极)则受74hc138 输出的低电平译码 信号的控制。
3.软件设计
本设计采用altera 公司的quartus ii 7.0 (32-bit)集成开发系统,它具有简洁、合 理的操作界面,多语言支持的环境及其高效代码生成编译内核使得所有的设计输人、编译、 综合和仿真都可以在项目管理器中完成。另外,quartusⅱ7.0 (32-bit)支持几乎所有的fpga 和cpld 芯片,与matlab 和dsp builder 结合可以进行基于fpga 的dsp 系统开发,是dsp 硬件系统实现的关键eda 工具,与sopc builder 结合,可实现sopc 系统开发,是一款较受 用户欢迎的开发工具。
本文采用vhdl 语言作为硬件描述语言,采用自顶向下的层次化设计方法。为了突出各 模块之间的连接关系,顶层模块(top.tdf)采用原理图方式对各个功能模块进行综合和调 用,如图2 所示。
可以看出,软件设计的功能模块与系统组成中的核心模块非常接近。
3.1 分频与列选 扫描控制模块
分频模块的作用是将12mhz的有源晶振时钟信号通过软件设计的方法分频得到200hz的 列选扫描时钟信号。 列选扫描控制模块的作用是设计一软件计数器,将200hz内部信号转换为列选扫描信号 (sel[2 downto 0]),仿真波形如图3所示。该信号送至74hc138以后能够动态选中led点阵的 某一列(共阴极),送至a/d0809以后能够选择相应中心频率的音频信号进行数模转换。
3.2 按键去抖模块
去抖的基本思路是设计一个移动寄存器,移位脉冲的周期约为5ms,当按键输入的低电 平信号持续三个以上的脉冲周期时才输出一个低电平脉冲,达到去抖的目的。部分程序如下:
--****设计一个3位移位d寄存器****--
process(clk_200hz)
begin
if(clk_200hz'event and clk_200hz='1')then
q<=keyin&q(2 downto 1);
end if;
end process;
flag<=q(2) or q(1) or q(0);
keyout<='0'when flag='0' else--如果连续3个clk后q仍为低电平,则输出低电平'1';
end a;
3.3 线性比较模块
由于a/d转换后的8位数据电平信号共有256个组态,而终端显示模块为8*8led点阵, 8*8led点阵的每列显示梯级最多为8级,若加上全灭状态,8*8led点阵的显示梯级状态共有9 种,因此,需要将a/d转换后的8位数据电平信号按照人眼的视觉习惯转换为9个梯级的数据 信号,本设计采用函数(function)的方法实现了信号转换功能,部分程序如下:
function data_ym (indata :std_logic_vector(7 downto 0))
return integer is
variable result :integer range 0 to 8;---比较函数输出begin
if indata=16 and indata=48 and indata=80 and indata=112 and indata=144 and indata=176 and indata=208 and indata<240 then
result :=7;
else
result :=8;
end if;
return result;
end function;
3.4 显示控制模块
本模块由显示模式控制、显示数据rom模块组成。显示模式控制模块采用一个process 进程语句循环定义了12种显示模式,具体显示的模式由按键按下的次数决定,即按键次数作 为内部计数信号,每种计数状态则对应一种rom地址的起始值,从而实现了rom地址能随按键 次数而变化的确定关系。
显示数据rom模块将所有的显示模式数据以rom表格数据的形式进行片内存储,以便根据 a/d转换后的数据信号直接调用该表格数据。本模块的功能仿真如图4所示:
结果表明,该模块能够根据不同的地址值输出相应的显示模式数据,经驱动电路后送至 led点阵的16个阳极,能实现相应的显示模式的自动切换或按键输入切换。
4.实物调试
笔者利用北京r&c百科融创公司的eda实验箱,通过扩展导线与外部电路进行连接,将程 序下载到芯片epm570t100c5进行实物模拟调试,得到如图5所示的显示模式位图。
结果表明,本系统达到了设计要求,完成了音频信号的频谱型电平动态显示,具有正常 显示、倒影显示、单点显示、双点显示等四大类显示模式,每一大类显示模式又能实现单红 色、单绿色、$(红绿混合色)三种颜色的自动切换,动态视觉效果好等特点。
5.结论
本文基于vhdl硬件描述语言,利用cpld器件epm570t100c5和led点阵屏实现了对音频信 号的频谱显示,并在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的 正确性,拓展了cpld在显示领域的应用。若将设计思路进一步深入和扩展,则能完成更大屏 幕、更多像素的led频谱显示,能够方便地应用于商店、商场、卡拉ok等公共场所的led显示 区域,从而强化视觉效果。

存储器名词解释
高通5g基带和华为5g基带哪个好
Instagram正在将简短的视频和购物放在中心位置
2018中国智能照明与电源技术应用论坛召开
什么是非对称加密?非对称加密概念
基于VHDL语言和CPLD器件实现频谱电平动态显示电路的设计
了解微信小说分销小程序开发微信小说源码吗
中国是全球被动元器件行业最大的市场,未来占比有望超过50%
工控主板为什么受那么多企业的欢迎
iphone13pro远峰蓝好看吗
电子芯闻早报:三星14nm威武,机器人可定制
7805稳压器电路图
智能电子拉力试验机的应用领域有哪些?
使用嵌入式代码生成器检查复杂性
Nullmax打造一套强大的平台化BEV-AI整体技术架构
白光LED和其他光源的比较
Firefly-RK3288PWM输出介绍
Oppo和Vivo盈利困难 印度手机零售商合作数量减少
卧式球磨机轴承位磨损,为什么这样修复呢?用现场案例展示
ULP蓝牙技术的安全设计