基于VHDL实现的十六路彩灯控制系统
随着科学技术的发展以及人民生活水平的提高,在现代生活中,彩灯作为一种装饰,既可以增强人们的感观,起到广告宣传的作用,又可以增添节日气氛,为人们的生活增添亮丽,用在舞台上增强晚会灯光效果。随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,EDA(Elect ron icDesign A u tom at ic)技术的应用引起电子产品及系统开发的革命性变革。VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错的机会。
VHDL是美国国防部提出的一种经过标准化认证的硬件描述语言,使用VHDL语言进行硬件设计有如下特点:将一项工程设计(或称设计实体)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。
本文介绍应用美国ALTERA公司的MAX+PLUSⅡ平台,使用VHDL硬件描述语言实现的十六路彩灯控制系统。
十六路彩灯控制系统的实现
在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。下面就以一个十六路彩灯控制系统的实现为例进行简单说明。功能描述
此十六路彩灯控制系统设定有四种花样变化,这四种花样可以进行自动切换,且每种花样可以选择不同的频率,四种花样分别为:
(1)彩灯从右到左,然后从左到右逐次产闪烁。
(2)彩灯从右到左点亮,然后从左到右逐次依次熄灭,全亮全灭。
(3)彩灯两边同时亮2个逐次向中间移动再散开。
(4)彩灯两边同时亮4个,4亮4灭。
设计原理
用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。
首先应进行系统模块的划分,规定每一模块的功能以及各个模块之问的接口。最终设计方案为:以一个十六路彩灯花样控制器、一个四频率输出分频器,一个四选一控制器和一个时间选择器总共四部分来完成设计。四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器,从而达到控制彩灯闪烁速度的快慢,时间选择器控制每种速度维持的时间长短。
整个十六路彩灯控制系统设计的模块图如图1所示。