差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版 两侧同时换到之后的修订记录
蜂鸣器模块 [2017/06/01 14:25]
anran [STEP FPGA驱动基于74HC595的数码管模块]
蜂鸣器模块 [2017/06/05 10:19]
anran [硬件说明]
行 6: 行 6:
 ====硬件说明==== ====硬件说明====
 ------- -------
-在前面之前入门教程中[[4. 数码管显示| 数码管独立显示 ]]章节已为大家介绍了数码管独立显示的相关内容,关于独立显示这里就不在赘述。我们的底板上有6位数码管,根据驱动方法不同,有以下比较+蜂鸣器分类
 \\ \\
-独立显示:控制每个数码管至少需要8个I/​O口控制,6位数码管就需要6*8 = 48根信号线才能分别显示。独立显示实现简单,但是需要大量的信号线。 
 \\ \\
-扫描显示:将每位数码管的同一段选信号连接在一起,这样我们就只需8根段选信号6根位选信号,共计14根信号。扫描显示可以有效节约I/​O口资源,实现起来稍显复杂。 +按其结构主分为压电式蜂鸣器电磁式蜂鸣器两种类型:
-{{ :​6位数码管.jpg?​1600 |}}+
 \\ \\
-我们小脚丫底板上使6位阴极数码管,分析扫描显示原理如下+  * 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁相互作用下,周期性地振动发声。 
 +  * 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及鸣箱、外壳等组成。多谐振荡器由晶体或集成电路构成当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,​输出1.5~2.5kHZ音频信号,阻抗匹配器推动压电蜂鸣片发声。 
 +按是否带有信号源分为有源蜂鸣器和无源蜂鸣器两种类型
 \\ \\
-当某一时刻FPGA控制8根公共段选接口输出数字1对应数码管字库数据8'​h06(DP=0、G=0、F=0、E=0、D=0、C=1、B=1、A=0)时同时控制6位数码管只有第1位使能(DIG1=0、DIG2=1、DIG3=1、DIG4=1、DIG5=1、DIG6=1)这我们会看到第1位数码管显示数字1,其余5位数码管显示,如果不明白可以参考入门教程中实验四:[[4. 数码管显示| 数码管独立显示 ]]章节+  * 有源蜂鸣器只需要在其供电端加上额定直流电压其内部震荡器就可以产生固定频率信号驱动蜂鸣器发出声音。 
 +  * 无源蜂鸣器可以理解成与喇叭一样,需要在供电端上加上高低断变化的电信号才可以驱动发出声音。
 \\ \\
-按照扫描方式一共分为6个时刻,段选端口分别对应输出6位数码管需要显示字库数据,位选端保持每个时刻只有1位数码管处于使状态6个时刻依次循环当扫描频率足够高(例当扫描频率等于100Hz)时,则在人眼看到的数码管显示就是连续的,我们看到的就是6个不同的数字。+本章节和大家一起学习无源蜂鸣器驱动FPGA或单片机GPIO驱动力弱不能直接驱动无源蜂鸣器常用的蜂鸣器驱动电路下:
 \\ \\
-上面为大家介绍了数码管的独立显示和扫描显示两种方法,扫描显示的方式使用了14个I/​O口控制,相对于简单的处理来讲14个I/​O口也是非常多了,这里我们又使用了一款常见的驱动芯片74HC595,下面我们一起了解一下:+{{ :​无源蜂鸣器驱动电路.jpg?​600 |}}
 \\ \\
-74HC595是较为常的串行转并行的芯片内部集成了一个8位移位寄存、一个存储和8个态缓冲输出。在最简单情况下我们只需要控制3根引脚输入得到8根引脚并行输出信号,而且可以级联使用,我们使用3个I/​O口控制两个级联的74HC595芯片,产生16路并行输,连接到扫描显示6位数码管上,可以轻松完成数码管驱动任务+蜂鸣器使NPN三极管(9013)驱动三极管当开关用,当基极电压拉高时,蜂鸣通电,当基极电压拉低时,蜂鸣断电,FPGA控制GPIO口给极管的基极输出不同频率脉冲信号,蜂鸣器就可以不同音节
 \\ \\
-{{ :​74hc595电路.jpg?​1000 |}}+不同音节与蜂鸣器震荡频率的对应关系如下:
 \\ \\
-不同的IC厂家都可以生产74HC595芯片,功能都是一样的,然而不同厂家的芯片手册对于管脚的命名会存在差异,管脚顺序相同,大家可以对应识别 +{{ :蜂鸣音节频率.jpg?​800 |}}
-上图是本设计中74HC595芯片的硬件电路连接,参考74HC595数据手册了解其具体用法,下图中我们了解到OE#​(G#​)和MR#​(SCLR#​)信号分别为输出使能(低电平输出)和复位管脚(低电平复位),OE#​(G#​)我们接GND让芯片输出使能,MR#​(SCLR#​)我们接VCC让芯片的移位寄存永远不复位,如此FPGA只需要控制SH_CP(SCK)、ST_CP(RCK)和DS(SER)即可。+
 \\ \\
-{{ :​74hc595引脚功能.jpg |74hc595引脚功能}}+我们使用PWM的方法(关于PWM的说明,快速入门中的[[脉冲发生器]]章节有详细的介绍),使用计数器对系统时钟进行分频,改变计数器的计数终值从而实现调节PWM信号频率的目的,使用PWM信号控制蜂鸣器电路。
 \\ \\
-{{ :​74hc595逻辑图.jpg |74hc595逻辑图}} 
-\\ 
-{{ :​74hc595时序图.jpg |74hc595时序图}} 
-\\ 
-{{ :​数码管程序框图.jpg?​1000 |数码管驱动程序框图}} 
-\\ 
- 
 ====Verilog代码==== ====Verilog代码====
 ------ ------