是一种常用的信号源
发布时间:2018-06-09 13:36

  是现场可编程门阵列的简称, 它既有门阵列器件的高度集成和通用性, 又有可编程逻辑器件用户可编程的灵活性。通过 FPGA实现音乐流水灯的控制, 实质上就是将不同音阶与特定频率的方波信号对应起来, 以方波信号驱动蜂鸣器发出音乐, 再根据不同音阶来控制流水灯的闪烁。与借助微处理器实现乐曲演奏相比, 以纯硬件方式完成乐曲演奏电路更直观。EDA工具和硬件描述语言发挥了强大功能,提供了设计可能性。

  音乐流水灯主要是点缀公共场合的装饰品, 音乐的播放和流水灯有节奏地闪烁, 同时达到听觉和视觉的完美结合, 成为构成其必不可少的条件。要了解如何产生不同音阶的音乐, 首先要对乐音的特性有所了解。乐音实际上是有固定频率的信号。在乐曲的构成中, 乐音的频率和持续的时间是其构成的要素。音阶的频率可以通过高频时钟进行分频得到。音频的高低可以通过外部的 LED灯的闪烁来显示, 这样在音乐和流水灯的配合下可以使人产生强烈的节奏感。再辅以 LCD来显示音阶的高低长短, 不懂乐理知识的人便可以直观的看到不同音调对应的音阶。

  ( 1)分频主要是通过一个可控分频器实现的。采用时钟的频率越高, 分频系数越大, 分频后的音阶频率就越准确。但同时由于分频系数大使用的计数单元增加, 从而耗费更多的硬件逻辑单元, 因此可以采取一个较为适中的时钟频率 12MH z 。

  ( 2)经过分频后的信号是一个脉宽极窄的时钟信号, 必须对其进行脉冲宽度调整, 增大占空比, 才能有效地驱动蜂鸣器。在脉冲宽度调整时会对此信号再次二分频, 所以在计算时, 以乐音音阶的二倍频率去求取在特定时钟信号下的分频系数, 以便在调整占空比后得到正确的音阶频率。

  ( 3)乐曲的频率变化多端, 对应的分频系数也不断变化, 因此需要将播放的乐曲的分频系数事先存放在ROM中便于读取。如果将分频系数直接作为存储码存放在寄存器中, 势必会占有更大的容量。因此在这里选取索引值来作为存储码以减小容量。

  ( 4)开发平台上的 LED灯数量有限, 可以选用有规律的闪烁, 例如从左到右依次点亮、渐亮、渐灭等; 也可以用灯闪烁的多少来表示频率的大小。本设计选用第二种。

  图 1为音乐流水灯控制系统的总原理框图。可以看到该系统包含乐曲播放控制模块, 流水灯控制模块和 LCD显示模块 3个模块。其中乐曲播放控制模块分为乐谱播放控制模块, 音阶分频模块和音阶频率产生模块。

  乐曲播放控制模块的主要功能是在一定的时钟信号驱动下将事先存储在 ROM 里的乐谱所对应的索引值依次输出, 控制分频, 并产生相应的分频信号频率, 以此来控制蜂鸣器的发声。

  为了能够在播放乐曲的同时显示当前音阶, 用LED的位数来指示当前音阶的高低音。程序中的音阶分频系数通过索引值来进行选取, 即在音乐播放过程中由乐谱存储电路传递来的当前音阶的索引值。

  音阶频率产生电路在获取上面的音阶索引值对应的分频系数后, 通过可控计数器进行分频。分频电路中的计数器进行减 1计数, 计数器的进位信号即为分频信号。因为此信号的脉冲宽度极小, 所以需要调整占空比才使外部驱动电路提供足够的驱动蜂鸣器的功率, 而具体是对分频信号再进行二分频实现的。

  音乐播放就是通过外部的 8 H z时钟驱动, 内部以计数器进行计数、产生地址, 送到 ROM 单元中作为存储器地址, 将对应地址的数据 音阶索引值输出。

  在本设计中, 每个音的发出由另一个 8H z的时钟信号来控制。乐谱中的 4分音符由 4个时钟信号来驱动。每个时钟下, 其对应的音阶输出以索引值的形式存储在 ROM中。文中 ROM 的地址线位, 数据线位。ROM 里存储的数据即各音节的索引值, 根据乐谱转换的需要, 16个索引值即可满足乐曲曲谱编写的需求, 所以设置了 4位数据线。地址线的宽度主要取决于乐曲的长度。本设计中用到了约520个 4 bit单元, 为了留有一定裕度, 将数据线 b i t单元。其中不同的音阶对应的索引值如表 1所示。

  按照乐谱, 将音阶对应的索引值连续地存储到ROM中。例如, 乐谱上一个 4分音符的中音 3 , 在ROM存储器中对应的索引值是 10 , 并且连续放置 4次, 而一个 8分音符 5也就是半拍的 5 , 则是将对应索引值 5在 ROM 中连续存放两次。播放时在播放时钟( 8H z )的驱动下, 索引值不断地从 ROM 输出。索引值送到音阶分频模块中, 转换为计数初值输出, 再送到音阶分频产生模块中, 作为计数初值, 产生音阶频率输出驱动蜂鸣器。这样, 就能在蜂鸣器上发出要播放的乐曲了。确定了乐谱后, 即 ROM 的存储内容后, 就可以定制 ROM, 将其初始化文件指定为mif文件即可。

  由于此设计是基于 DE270开发板之上的, 因此将对应的音阶输出, 应用 LED灯来显示流水灯闪烁效果。根据音调hight的高低设置点亮灯的数量,当hight 为低时播放低音信号, 为高时播放中音信号。如果要用到高音信号可以将! hight!长度改为 2bit 。选取板上的oLEDR [ 6..0]前 7盏灯与低音信号对应, oLEDR[ 13..7]与中音信号对应。在本设计中,为了看到明显的流水灯变化, 当发出中音音频时低音显示灯全亮。

  首先需要在 SOPC Bu i lder中构建 SOPC系统, 按要求依次添加 NiosII处理器, 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所示。

  至此, 一个硬件音乐流水灯电路就完成了。外部提供两路时钟信号( 12MH z和 8 Hz) , 再将乐曲输出端连接到带有驱动装置的蜂鸣器或扬声器上, 就可以欣赏所添加的乐曲了。若硬件设计上只有一路时钟信号输入, 可在 FPGA 内部设计分频器, 将其分频到8H z 再使用, 还可以在此基础上更改。另外还可以在一个 ROM 种存储多首乐曲, 通过按键选择播放乐曲。

  文中在 FPGA芯片上, 利用 VHDL语言设计了功能强大的 32位 ALU。由于 ALU是 CP U的重要组成部分, 各类系统中都不可避免地需要 ALU, 因此本设计的应用泛围较广。

  您好,我用的是ADF4159这块芯片,然后用FPGA对芯片进行初始化,为了检测初始化有没有成功,我在MUXOUT端口直接接示...

  嗨, 我有一些相当大的设计,我能够在FPGA上实现,但从设计总结来看,我无法弄清楚FPGA架构上剩余多少可用空间。 设备...

  作者:Ian Beavers 对于需要一系列同步模数转换器(ADC)的高速信号采样和 处理应用,解偏斜和转换器的延迟变化匹配是至关重要...

  Harry Holt,ADI公司应用工程师 内容提要 对于大多数IC(集成电路),数据手册上都会列出最大电源电流,但人们常常对其测...

  一般情况下外设不能直接和主机直接相连,它们之间的信息交换主要存在以下问题: • 速度不匹配 通常情况下外设的工作速度会比...

  我在手册上看到AD9361 LVDS模式发送数据的时钟要使用双边沿,在FPGA中,我将FB_CLK倍频到2倍使用单边沿发送数据,...

  谁会在不幸去世的情况下管理您的遗产? 如果您的办公室和设备被自然灾害摧毁,您的企业会怎么做? 当供应商停止关键组件时,您...

  手头的FPGA资料,免费分享给大家,内含初级,中级和高级资料视频教程,希望大家学业有成。

  信号发生器又称为波形发生器, 是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。

  智慧医疗整合个人生理状态感测与结合物联网,是众多IoT应用中的重点项目,因为医疗IoT应用市场的特殊....

  现代雷达特别是机载雷达数字信号处理机的特点是输入数据多,工作模式复杂,信息处理量大。因此,在一个实时....

  去年Intel宣布斥资167亿美元收购了全球第一大FPGA公司Altera,而且这家公司还是Inte....

  相对于通用MCU和专用SoC,FPGA除了具有灵活的可编程性这一大优势之外,还有两个绕不开的劣势,那....

  为了实现对58路模拟信号进行不同频率的采集,设计了一种以现场可编程门阵列(FPGA)为核心的多路模拟....

  介绍了一种基于FPGA的高速多路数据采集系统的设计方案,描述了系统的主要组成及FPGA的实现方法,并....

  介绍了一种基于FPGA的多路同步、实时数据采集新方案,着重对其硬件结构和控制逻辑进行了阐述,并从工程....

  为了在提高数据采集卡的速度的同时降低成本,设计了一种应用流水线存储技术的数据采集系统。该系统应用软件....

  着FPGA单片可编程容量的日益增大,传统的嵌入式系统设计正在逐渐被片上系统所取代,用于数据通信的以太....

  一、实现步骤:1.查看了中值滤波实现相关的网站和paper;2.按照某篇paper的设计思想进行编程....

  近期因某型产品降成本需求,有幸接触到一家名不见经传的国产FPGA产品,整体使用下来性价比非常高。板卡几个月...

  在式(1)中,如果让旋转的角度φ满足条件:tanφ=±2-i,则式(1)中的乘法操作就可以转换为移位....

  今天为大家介绍一项国家发明授权专利——一种超声波燃气表控制系统。该专利由山西省交通科学研究院申请,并....

  在 ModelSim 中可以看到仿线 所示是发送开始状态并写地址“a0”时的图形,此时在图上表示为 SCL 处于高时 ...

  美国网络安全专家Ultra Electronics(3eTI公司),宣布了一项网络安全设备,可检测并....

  线缆行业目前正在向产品多样化、生产自动化等更高的技术层次发展。在线缆行业中,目前应用最广泛的就是放线....

  智慧医疗整合个人生理状态感测与结合物联网,是众多IoT应用中的重点项目,因为医疗IoT应用市场的特殊....

  IBM和Xilinx走到了一起,IBM大中华区科技合作部业务发展总监张思民与Xilinx公司亚太区通....

  PLC故障分为软件故障和硬件故障,本文结合PLC系统现场故障处理实例,分享PLC故障维修经验,本文是....

  许多新式 FPGA 设计采用了一些用于控制的嵌入式处理器。一种典型解决方案需要使用诸如 NIOS 等....

  很多人认为,IC/FPGA属于设计范畴。设计是一个需要设计师自由创作的过程,怎么可能被一些条条框框所....

  电子产业几个众所周知的趋势包括:所有产品的生命周期都在变短;消费类电子产品制造商可以利用的盈利窗口....

  文主要介绍基于现场可编程门阵列及EDA方法学的永磁无刷直流电机控制系统的电子电路设计。FPGA是....

  跟大家解释一点,所有testbench本质上都是串行执行,因为在CPU环境下,没有可靠并行执行的能力....

  中国广州,2018年10月10日,广东高云半导体科技股份有限公司(以下简称“高云半导体”)今日宣布,....

  对于基于数字信号处理器(DSP)的设计,如果DSP没有足够的安全能力,便特别容易受到入侵。在许多应用....

  空间的辐射电磁场(EMI)主要是由电力网络、电气设备的暂态过程、雷电、无线电广播、电视、雷达、高频感....

  电缆浮球开关是利用微动开关或水银开关做接点零件,当电缆开关以重锤为原点一定角度时,(通常微动开关上扬....

  目前,FPGA在实时基因组测序计算大显身手,把测序时间从30小时缩短到26分钟,之后基因组测序计算时....

  在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处....

  “5G不仅仅是下一代沟通方式、连通方式,它也是第四次工业浪潮的一个基础,将进一步开发人类潜能。”在I....

  设计规范化与自由创作之间没有任何矛盾。它只是制约了那些可能出错或者低效的行为,令设计思路更加明朗、设....

  FPGA是介于软硬件之间的一朵奇葩。你用它做接口、做通信,它就偏向硬件;你用它做算法、做控制,它就偏....

  LED灯的理论、教学板的原理图,已经在案例1位闪烁灯中有详细的描述,在此不再讲述,有兴趣的读者可以返....

  汽车电子产品中的语音处理主要涉及到语音的数字化处理、语音编解码、语音压缩和语音识别。国外比较热门的汽....

  随着现代通信技术的广泛使用,通信企业问的竞争不断加剧,为提升自身的竞争优势,通信企业需要将其通信信号....

  人工神经网络在智能控制、模式识别、图像处理等领域中应用广泛。在进行神经网络的应用研究时,人们可以将神....

  本文设计的激光驾束制导信息场仿真系统主要是为了满足在实验室环境下对激光驾束制导信息场检测和对检测设备....

  随着平板显示技术的不断更新,大型LED显示系统利用发光二极管构成的点阵模块或像素单元组成大面积显示屏....

  视频图像采集是视频信号处理系统的前端部分,正在向高速、高分辨率、高集成化、高可靠性方向发展。图像采集....

  基于EDA 技术及VHDL 硬件描述语言, 提出了一种TDMA 数字频带通信系统, 在一片EPF10....

  心电信号( electrocardiogram,ECG) 能够客观反映心脏各部分的生理状况,也是用来....

  FPGA是一种可编程的硅芯片,DSP是数字信号处理,当系统设计人员在项目的架构设计阶段就面临到底采用....

  TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为1 C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 1C远程二极管传感器 1C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...

  TMP468器件是一款使用双线 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75C)和测量分辨率(0.0 625C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55C至+ 150C的温度范围。 特性 8通道远程二极管温度传感器精度:0.75&...