关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于VHDL的16路可调速彩灯控制器设计

基于VHDL的16路可调速彩灯控制器设计

作者:时间:2010-10-05来源:网络收藏

0 引言
近年来,FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件的重要途径,与传统电路方法相比,FPGA/CPLD具有功能强大、开发周期短、投资少,便于追踪市场变化及时修改产品以及开发工具智能化等特点。在诸多FPGA/CPLD的设计语言中,语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面,表现出了强大的生命力和应用潜力。
QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程。
本文在QuartusⅡ开发环境下,用语言设计了一种可用于控制16路,具有4种变换模式,且变换速度可调的

1 16彩灯控制嚣设计思路
16调逮彩灯根据功能可分为3个部分,如图1所示。其中,8 Hz分频部分用于对频率为10 MHz的时钟信号进行分频,获得频率为8 Hz的时钟信号CLK8。CLK8作为速度控制部分的基准时钟,通过计数分频方式又可获得频率分别为4 Hz,2 Hz和1 Hz的时钟信号,然后由信号选择其中之一作为彩灯时钟信号CLKQ,CLKQ即为彩灯控制部分的基准时钟,用于决定彩灯变换的速度,由此实现信号SPD对彩灯变换速度的控制,使彩灯可调速。

本文引用地址:http://www.eepw.com.cn/article/162809.htm


彩灯控制部分通过输出1个16位二进制数(即彩灯输出信号Q)来控制16个彩灯,每一位二进制数对应1个彩灯的开关,当该位数字为“1”时灯亮,该位数字为“O”时灯灭。彩灯的变换共设置4种模式:
sO模式:只亮1个灯,从最左端逐个移动到最右端,即输出信号Q从第15位开始将1个“1”依次移动到第0位;
s1模式:只亮1个灯,从最右端逐个移动到最左端,即输出信号Q从第0位开始将1个“1”依次移动到第15位;
s2模式:亮2个灯,同时从左右两端向中间移动,即输出信号Q从第15位开始将1个“1”依次移动到第8位,同时从第O位开始将1个“1”依次移动到第7位;
s3模式:亮2个灯,同时从中间向左右两端移动,即输出信号Q从第8位开始将1个“1”依次移动到第15位,同时从第7位开始将1个“1”依次移动到第0位。
四种模式依次循环,若复位信号RST输入为高电平,则循环中断,输出信号Q置零,彩灯全灭,RST恢复为低电平后,再次从sO模式开始循环。

2 16调速彩灯的实现
本文所设计的16路可调速彩灯控制器,其电路符号如图2所示,其中clk为10 MHz时钟信号输入端,rst为复位控制端,spd为调速信号输入端,q为彩灯控制信号输出端。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭