贴片电感
贴片电感
・  当前位置::扁平线圈电感 > 技术文章
基于FPGA的音乐流水灯控制系统的设计
作者:    来源:    时间:2014-12-26 10:33:50浏览量:


按照乐谱,将音阶对应的索引值连续地存储到ROM中。例如,乐谱上一个4分音符的中音3,在ROM存储器中对应的索引值是10,并且连续放置4次,而一个8分音符5也就是半拍的5,则是将对应索引值5在ROM中连续存放两次。播放时在播放时钟(8 Hz)的驱动下,索引值不断地从ROM输出。索引值送到音阶分频模块中,转换为计数初值输出,再送到音阶分频产生模块中,作为计数初值,产生音阶频率输出驱动蜂鸣器。这样,就能在蜂鸣器上发出要播放的乐曲了。确定了乐谱后,即ROM的存储内容后,就可以定制ROM,将其初始化文件插件电感器指定为.mif文件即可。
2.2 流水灯控制模块设计
由于此设计是基于DE2.70开发板之上的,因此将对应的音阶输出,应用LED灯来显示流水灯闪烁效果。根据音调“hight”的高低设共模电感器置点亮灯的数量,当“hight”为低时播放低音信号,为高时播放中音信号。如果要用到高音信号可以将“hight”长度改为2bit。选取板上的oLED模压电感R[6..0]前7盏灯与低音信号对应,oLEDR[13..7]与中音信号对应。在本设计中,为了看到明显的流水灯变化,当发出中音音频时低音显示灯全亮。
2.3 LCD显示模块设计
首先需要在SOPC Builder中构建SOPC系统,按要求依次添加NioslI处理器,4 kB的片上RAM,LCD模块,4位输入口,给处理器分配复位向量地址和异常向量地址。
LCD显示模块用来实现乐谱和音频强度的实时显示,可以显示16×2个字符,其软件流程如图2所示。


其中LCD初始化包括对LCD的功能设置,显示开关设置和模式设置。LCD定位到首行首列是通过对LCD写定位指令,将显示位置确定到第一行第一列。写字符“jian pu”到第一行是通过写数据指令将字符jian pu:和实时变模压电感器化的乐谱显示在液晶屏的第一行。低、中、高音分别用L、M、H表示并且加上对应的音阶值进行显示。LCD显示换行是通过定位指令来实现的。显示音频强度到第二行是用符号“>”的个数表示音调的高低,一个表示低音1,两个表示低音2,依次类推。
在对LCD模块进行显示控制时,用到了写控制命令和写数据命令。这些命令是针对具体配置的硬件电路而编写的.h头文件。LCD模块的头文件如下

这样编写是为了和具体的硬件电路相对应,在LCD模块的硬件描述语言中,液晶模块RW和RS的地址分配如下:

其中RS信号是命令与数据线,高电平表示目前数据线上交换的是数据,低电平表示目前数据线上交换的是命令。液晶模块根据这个信号做出正确的响应。RW是电平信号,高电平表示对液晶模块执行读取操作,低电平表示对液晶模块写入数据或命令。这样便可以确定各读写操作对应于基地址的偏移量。

3 顶层设计和验证
系统的顶层设计就是将各个底层功能模块例化,在顶层调用,进行正确的连接,构成最后的系统。整个系统的硬件电路如图3所示。


至此,一个硬件音乐流水灯电路就完成了。外部提供两路时钟信号(12 MHz和8 Hz),再将乐曲输出端连接到带有驱动装置的蜂鸣器或扬声器上,就可以欣赏所添加的乐曲了。若硬件设计上只有一路时钟信号输入,可在FPGA内部设计分频器,将其分频到8 Hz再使用,还可以在此基础上更改。另外还可以在一个ROM种存储多首乐曲,通过按键选择播放乐曲。最后将软硬件的配置文件下载到DE2.70开发板上进行系统的功能验证。显示结果如图4所示。



4 结束语
介绍了一种基于FPGA的音乐流水灯控制系统的设计。用VHDL硬件描述语言对整个乐曲播放控制模块和贴片电感器同步流水灯闪烁模块进行描述,并在SOPC系统中搭建了LCD显示模块,为硬件系统的灵活配置和软件系统的灵活设计提供了方便,也有利于系统的优化和升级。系统以FPGA为控制核心,具有简单、稳定、便于修改和移植、可重用性好等特点。 绕行电感器扁平线圈电感制造厂

  • 300W轻型高效逆变电源 逆变电源被广泛运用在车用电器、船用电器、日常生活、备用电源、风力发电、太阳能发电等领域,传统的逆变电源直接采用工频(50HZ)逆变,所以工频变压器的体积庞大、重量重、逆变效率低,一般只有65%左右。 这里介绍的轻型高效率、高频300瓦逆变板,体积只有16x9x7厘米,可以将12伏直流电压逆变成22

  • protel99se小问题求指教求大神指导,原理图画出来如图1 但是PCB封装如图2 怎么转换它们?求教谢谢!


    直接把PCB上的焊盘按坐标移过去就好了。每个引脚作为一个独立元件处理,这样就可以随心所欲摆放引脚

  • 脉冲电流输出情况下,DC/DC升压电源的设计应该从一般的电源设计基本都是考虑恒定负载情况下,但是用于感性负载时,电源输出电流是从零开始上升至某一设定值,然后切换电源输出,间隔一定周期后再重复动作,这时候电源怎么来设

  • 上一篇:太阳能路灯原理设计