LED显示语音播报系统Word下载.docx
《LED显示语音播报系统Word下载.docx》由会员分享,可在线阅读,更多相关《LED显示语音播报系统Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
常见复位电路有上电复位跟手动复位2种,本设计采用手动复位。
复位电路工作电压为5V,电阻采用10k电阻,电容使用10uf电容。
平时与复位电路相连接的RST端口保持低电平,电源对电容充电。
当复位按键按下,电容放电使RST端口电压变为高电平。
当RST端口高电平保持时间大于2个机器周期(2us)时,系统电路会进行复位。
2、时钟电路:
时钟电路主要由晶振与电容组成。
该电路必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取15pf-50pf,晶振的频率取值在1.2MHz~12MHz之间。
对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。
晶体振荡器的振荡信号从XTAL2端送入部时钟电路,它将该振荡信号二分,产生一个两相时钟信号P1和P2供单片机使用。
电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率围,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。
本设计使用的是11.0592MHZ的晶振。
因为机器周期计算公式:
机器周期=12/晶振频率。
由此可知11.0592MHZ晶振机器周期为1us。
本设计晶振电路电路电容使用常用的30pf电容。
因为晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生谐波(非实用的其他频率的波),谐波会降低电路的时钟振荡器的稳定性。
因此需要添加电容使电路保持稳定。
单片机最小系统原理图如图2-2所示:
图2-2 单片机最小系统模块电路原理图
2.2显示模块设计
本次设计,显示模块包含LED点阵显示器、74HC595存储芯片和74HC138译码芯片。
2.2.1LED点阵模块介绍
(1)LED点阵显示器
图2-3LED点阵显示器
LED点阵是由8*8个发光二极管组成。
LED点阵显示器一般用于室单色,双色显示屏。
LED点阵显示模块可显示汉字、图形、动画及英文字符等;
显示方式有静态、横向滚动、垂直滚动和翻页显示等。
单块模块控制驱动12块(最多可控制24块)8X8点阵,共16X48点阵(或32X48点阵),是单块MAX7219(或PS7219、HD7279、ZLG7289及8279等类似LED显示驱动模块)的12倍(或24倍)!
可采用“级联”的方式组成任意点阵大显示屏。
(2)74HC595存储芯片
图2-474HC595存储芯片
各个引脚功能:
1-7脚、第15脚(Q0-Q7)并行数据输出,第8脚(GND)地,第9脚(QT)串行数据输出,第10脚(MR)主复位(低电平),第11脚(SHCP)移位寄存器时钟输入,第12脚(STCP)存储寄存器时钟输入,第13脚(OE)输出有效(低电平),第14脚(DS)串行数据输入,第16脚(VCC)电源。
(3)74HC138译码芯片
图2-674HC138译码芯片
74HC138译码器可接受3位二进制加权地址输入(A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。
74HC138特有3个使能输入端:
两个低有效(E1和E2)和一个高有效(E3)。
除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。
利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。
任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。
行译码采用的是芯片74HC138。
如果不采用译码电路完全依靠单片机的端口输出来控制16×
16的LED点阵屏显示,需要32个端口。
而采用了译码电路后仅仅需要7~9个端口便可实现控制显示。
大大减少了I/O口的占用数目,为单片机扩展其他功能预留下来了空间。
2.2.2LED点阵显示模块设计
LED点阵显示器采用动态扫描方式,通过三极管驱动并联在一起的LED放光管的一端(共阳或共阴),LED放光管的另一脚接通用I/O口,控制其亮灭。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
LED显示模块包2部分:
存储译码电路进行行与列驱动,LED点阵显示器显示文字信息。
本设计采用4个8*8LED点阵显示器来构成16*16的显示器进行文字显示,因此使用2个74HC138译码芯片与2个74HC595存储芯片进行电路的设计。
1.存储译码电路:
(1)列驱动器电路:
电路由2片74HC595存储芯片构成,它具有8位移位寄存器和一个存储器,三态输出功能。
74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
本设计中74HC595的作用是将控制芯片中由74HC138译码的数据锁存并传输给LED点阵进行显示。
工作原理:
单片机先送1个8位数据到第一个595芯片的部移位寄存器->
然后数据会送到部的输出寄存器->
输出,当MR(10引脚)为高电平,OE(13引脚)为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。
。
74HC595存储芯片电路原理图如图2-5所示:
图2-574HC595存储芯片电路原理图
(2)行驱动器电路:
该电路主要是要实现译码功能,采用2片74HC138译码芯片,74HC138译码器作用原理于高性能的存储译码或要求传输延迟时间短的数据传输系统,在高性能存储器系统中,用这种译码器可以提高译码系统的效率。
74HC138译码器可接受3位二进制加权地址输入(A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。
两个低电平有效的赋能输入端(E1与E2)和一个高电平有效赋能输入端(E3)减少了扩展所需要的外接门或倒相器,扩展成24线译码器不需外接门;
扩展成32线译码器,只需要一个外接倒相器。
在解调器应用中,赋能输入端可用作数据输入端。
74HC138译码芯片电路原理图如图2-7所示:
图2-774HC138译码芯片电路原理图
2、LED点阵显示电路包括译码器实现行控制电路、存储器实现列控制电路和LED点阵显示器。
LED点阵显示电路如图2-8所示:
图2-8LED点阵显示电路原理图
LED点阵电路:
电路由4个8*8LED点阵显示器组成的16*16点阵显示器。
该电路通过接受74HC138译码芯片行信号进行显示。
74HC595存储芯片将LED行显示信号进行锁存。
当单片机传输时钟信号至存储芯片后,存储芯片会将行信号进行进位。
LED点阵显示器通过74HC138译码芯片进行行显示与74HC595存储芯片进行列锁存来显示文字信息。
为了能使LED显示电路进行工作,单片机通过P0.0-P0.7传输译码芯片与存储芯片所需要的运行信号至显示模块。
LED显示电路模块信号了解[6]:
CLK时钟信号:
提供给移位寄存器的移位脉冲,每一个脉冲将引起数据移入或移出一位。
数据口上的数据必须与时钟信号协调才能正常传送数据,数据信号的频率必须是时钟信号的频率的1/2倍。
在任何情况下,当时钟信号有异常时,会使整板显示杂乱无章。
STB锁存信号:
将移位寄存器的数据送到锁存器,并将其数据容通过驱动电路点亮LED显示出来。
但由于驱动电路受EN使能信号控制,其点亮的前提必须是使能为开启状态。
锁存信号也须要与时钟信号协调才能显示出完整的图象。
在任何情况下,当锁存信号有异常时,会使整板显示杂乱无章。
EN使能信号:
整屏亮度控制信号,也用于显示屏消隐。
只要调整它的占空比就可以控制亮度的变化。
当使能信号出现异常时,整屏将会出现不亮、暗亮或拖尾等现象。
数据信号:
提供显示图象所需要的数据。
必须与时钟信号协调才能将数据传送到任何一个显示点。
一般在显示屏中红绿蓝的数据信号分离开来,若某数据信号短路到正极或负极时,则对应的该颜色将会出现全亮或不亮,当数据信号被悬空时对应的颜色显示情况不定。
ABCD行信号:
只有在动态扫描显示时才存在,ABCD其实是二进制数,A是最低位,如果用二进制表示ABCD信号控制最大围是16行(1111),1/4扫描中只要AB信号就可以了,因为AB信号的表示围是4行(11)。
当行控制信号出现异常时,将会出现显示错位、高亮或图像重叠等现象。
2.3语音模块设计
2.3.1ISD4004芯片介绍
ISD4004系列语音芯片工作电压为+3V,单片录放时间8到16分钟,音质好,适用于移动及其他便携式电子产品中。
芯片采用CMOS技术,含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储列。
芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。
芯片采用多电平直接模拟量存储技术,每个采样值直接存储在片闪烁存储器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。
采样频率可以是4.0,5.3,6.4或8.0kHz,频率越低,录放时间越长,而音质则有所下降,片信息存于闪烁存储器中,可在断电情况下保存一百年(典型值),可反复录音十万次[8]。
图2-9ISD4004芯片引脚图
1、ISD4004引脚描述
电源:
(VCCA,VCCD)为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
地线:
(VSSA,VSSD)芯片部的模拟和数字电路也使用不同的地线。
同相模拟输入(ANAIN+)这是录音信号的同相输入端。
输入放大器可用单端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。
差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。
反相模拟输入(ANAIN-)差分驱动时,这是录音信号的反相输入端。
信号通过耦合电容输入,最大幅度为峰峰值16mV
音频输出(AUDOUT)提供音频输出,可驱动5KΩ的负载。
片选(SS)此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。
串行输入(MOSI)此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO)ISD的串行输出端。
ISD未选中时,本端呈高阻态。
串行时钟(SCLK)ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。
数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。
中断(/INT)本端为漏极开路输出。
ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。
中断状态在下一个SPI周期开始时清除。
中断状态也可用RINT指令读取。
OVF标志----指示ISD的录、放操作已到达存储器的未尾。
EOM标志----只在放音中检测到部的EOM标志时,此状态位才置1。
行地址时钟(RAC)漏极开路输出。
每个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存贮器共2400行)。
该信号175ms保持高电平,低电平为25ms。
快进模式下,RAC的218.75μs是高电平,31.25μs为低电平。
该端可用于存储管理技术。
外部时钟(XCLK)本端部有下拉元件。
芯片部的采样时钟在出厂前已调校,误差在+1%。
商业级芯片在整个温度和电压围,频率变化在+2.25%。
工业级芯片在整个温度和电压围,频率变化在-6/+4%,此时建议使用稳压电源。
若要求更高精度,可从本端输入外部时钟(如前表所列)。
由于部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。
输入时钟的占空比无关紧要,因部首先进行了分频。
在不外接地时钟时,此端必须接地。
自动静噪(AMCAP)当录音信号电平下降到部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。
通常本端对地接1mF的电容,构成部信号电平峰值检测电路的一部分。
检出的峰值电平与部设定的阈值作比较,决定自动静噪功能的翻转点。
大信号时,自动静噪电路不衰减,静音时衰减6dB。
1mF的电容也影响自动静噪电路对信号幅度的响应速度。
本端接VCCA则禁止自动静噪。
2、ISD4004操作规则
ISD4004工作于SPI串行接口。
SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。
协议的具体容为:
所有串行数据传输开始于SS下降沿。
SS在传输期间必须保持为低电平,在两条指令之间则保持为高电平。
数据在时钟上升沿移入,在下降沿移出。
SS变低,输入指令和地址后,ISD才能开始录放操作。
指令格式是(8位控制码)加(16位地址码)。
ISD的任何操作(含快进)如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。
使用"
读"
指令使中断状态位移出ISD的MISO引脚时,控制及地址数据也应同步从MOSI端移入。
因此要注意移入的数据是否与器件当前进行的操作兼容。
当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。
所有操作在运行位(RUN)置1时开始,置0时结束。
所有指令都在SS端上升沿开始执行。
(一)信息快进
用户不必知道信息的确切地址,就能快进跳过一条信息。
信息快进只用于放音模式。
放音速度是正常的1600倍,遇到EOM后停止,然后部地址计数器加1,指向下条信息的开始处。
(二)SPI端口的控制位
图2-10SPI端口的控制位
(三)上电顺序
器件延时TPUD(8kHz采样时,约为25毫秒)后才能开始操作。
因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。
例如,从00从处发音,应遵循如下时序:
1.发POWERUP命令;
2.等待TPUD(上电延时);
3.发地址值为00的SETPLAY命令;
4.发PLAY命令。
器件会从此00地址开始放音,当出现EOM时,立即中断,停止放音。
如果从00处录音,则按以下时序:
1.发POWERUP命令;
3.发POWERUP命令
4.等待2倍TPUD;
5.发地址值为00的SETREC命令;
6
6.发REC命令。
器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。
表2-1指令表
指令
8位控制码<
16位地址>
操作摘要
POWERUP
00100XXX<
XXXXXXXXXXXXXXXX>
上电:
等待TPUD后器件可以工作
SETPLAY
11100XXX<
A15-A0>
从指定地址开始放音。
必须后跟PLAY指令使放音继续
PLAY
11110XXX<
XXXXXXXXXXXXXXXX>
从当前地址开始放音(直至EOM或OVF)
SETREC
10100XXX<
A15-A0>
从指定地址开始录音。
必须后跟REC指令录音继续
REC
10110XXX<
从当前地址开始录音(直至OVF或停止)
SETMC
11101XXX<
从指定地址开始快进。
必须后跟MC指令快进继续
MC
11111XXX<
执行快进,直到EOM.若再无信息,则进入OVF状态
STOP
0X110XXX<
停止当前操作
STOPWRDN
0X01XXXX<
停止当前操作并掉电
RINT
读状态:
OVF和EOM
注:
快进只能在放音操作开始时选择。
(四)SPI控制寄存器
SPI控制寄存器控制器件的每个功能,如录放、录音、信息检索(快进)、上电/掉电、开始和停止操作、忽略地址指针等。
详见下表:
表2-2SPI控制寄存器指令表
位
值
功能
位
RUN
=
1
允许/禁止操作
开始
停止
PU
电源控制
上电
下电
P/-R
录放模式
放音
录音
IAB
操作是否使用指令地址
忽略输入地址寄存的容
使用输入地址寄存的容
MC
快进模式
允许快进
禁止
P15-P0
A15-A0
行指针寄存器输出
输入地址寄存器
IAB置0时,录、放操作从A9-A0地址开始。
为了能连贯地录、放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件在同一地址上反复循环。
这个特点对语音提示功能很有用。
RAC脚和IAB位可用于信息管理。
2.3.2ISD4004语音模块设计
ISD4004系列语音芯片的录放电路设计包括了录音和放音的电路,其电路方框图如图2-11所示:
图2-11ISD4004录放电路方框图
本设计中采用单端输入的连接方式来输入录音信号,通过图2-12可以知道前置放大电路是一个电压并联负反馈单管放大电路。
MK1是录音的麦克风。
电源采用为常用的5v电压,R1是一个分压电阻,把5V的电源电压降到4V左右作为放大器的电源电压。
C4为放大器电源去耦电容,可以防止电源电压波动对放大器性能的影响。
R2是驻极体话筒的偏置电阻,为话筒提供合适的工作电流。
R4是负载电阻兼作基极的偏置电阻,因为放大器的电源经R4和R3为基极提供一个偏置电流,使三极管有一个合适的静态工作点。
而且R3也把输出电压的一部分反馈到输入回路,以稳定Q1的静态工作点。
当开始录音时,声音会变成微弱电流通过三极管放大后流入ISD4004芯片IN脚并存储。
通过实际实验,该电路的输出信号满足ISD4004的输入电压要求。
图2-12ISD4004的前置放大电路
ISD4004的基本应用电路是根据芯片说明书上的要求,采用芯片说明书推荐的应用电路,该电路如图2-13所示。
图2-13ISD4004语音芯片应用电路
从图中看到,芯片通过1,2,3,28脚与单片机相连。
ISD4004有数字电源和模拟电源,控制芯片说明书的要求,两个电源在做电路板的时候最好分开走线,而数字地和模拟地则尽量在焊盘上直接连接后用低阻通路连接到电源的地线。
而音频输入端采用单端输入方式,其同相输入端通过一个电容接地,反相输入端通过一个电容接到前置放大器的输出,可以滤去前置放大器输出的直流信号。
ISD4004的音频输出端通过一个4.7uF的电容接到后级的功率放大电路。
因为ISD4004的输出最大可以驱动5K的负载,所以要设计一个功率放大电路来缓冲。
可以使用简单的三极管放大电路也可以采用专用的功率放大芯片来构成。
采用三极管构成的功率放大电路有成本低的优点,但是它的工作稳定性比较差,而且电路不简洁。
而采用专用的功率放大芯片(如LM386)构成的放大电路有电路简洁、工作稳定等优点,而且价格也不会太高,所以本设计采用LM386来构成ISD4004输出信号的功率放大电路。
本设计采用的是LM386建增益20倍,即它的pin1和pin8之间不接电容,通过将语音数据放大20倍后通过c12喇叭播放语音。
放音时语音信号通过ISD4004输出脚进入LM386进行信号放大,接着通过喇叭转换后进行播报。
电路图如图2-14所示。
图2-14使用LM386的输出放大电路
2.4按键模块设计
键盘是若干按键的集合,是向系统提供操作人员干预命令及数据的接口设备。
键盘可分为编码键盘和非编码键盘两种类型。
前者能自动识别按下的键并产生相应代码,以并行或串行方式发送给CPU。
它使用方便,接口简单,响应速度快,但需要专用的硬件电路。
后者则通过软件来确定按键并计算键值。
这种方法虽然没有编码键盘速度