我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1823|回复: 2

[技术文章] 【转】基于AT89C2051和ISD2560的录放音系统设计Design of Record &a

[复制链接]

该用户从未签到

129

主题

49

回帖

268

积分

二级逆天

积分
268

社区居民终身成就奖贴图大师奖幽默大师奖灌水天才奖金点子奖宣传大使奖新人进步奖

QQ
发表于 2014-12-3 08:52:00 | 显示全部楼层 |阅读模式
肖海荣,王凤瑛,杨金清,孙玉风[sup][/sup]

要:介绍了由Flash单片机AT89C2051及数码语音芯片ISD2560组成的电脑语音系统。设计出了系统的硬件电路,给出了录、放音实用的源程序。
关键词:AT89C2051单片机   ISD2560语音芯片  分段录音  组合回放
Abstract: In the paper, a microcomputer sound system based on AT89C2051 andISD2560 is introduced. Hardware circuit of system is designed, and practicalprogrammes are given.
Key words:AT89C2051   ISD2560   subsection record   combination return play
中图分类号:TP273      文献标识码:B
1 引言
目前基于单片微机的语音系统的应用越来越广泛,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等等。本文作者用Flash单片机AT89C2051和录放时间达60s数码语音芯片ISD2560设计了一套智能语音录放系统,实现了语音的分段录取、组合回放,通过软件的修改还可以实现整段录取,循环播放,而且不必使用专门的ISD语音开发设备。
2系统硬件电路设计
  系统采用的微控制器是ATMEL公司生产的低电压、高性能8CMOS单片机AT89C2051,由于它将8CPU和闪速存储器组合在单个芯片中,为很多嵌入式控制应用系统提供了一个高度灵活且价格低廉的解决方案。AT89C2051带有2K字节可编程的FlashMemory128字节RAM15I/O线、216位定时/计数器、1个全双向的串口、1个精密比较器。其与工业标准MCS-51的指令集和引脚结构完全兼容。
该单片机的P1口是一个双向I/O口,其中P1.2~P1.7口内部提供了上拉电阻,P1.0P1.1需外部上拉。P1.0 P1.1同时也是片内精密比较器的正输入端(AIN0)和负输入端(AIN1)。P3口是7个带有内部上拉电阻的双向口(P3.6除外,其为片内比较器的输出脚,而不能作为普通的I/O口使用)。有关AT89C2051较详细地资料请参阅文献[1]
数码语音芯片选用的是ISD2500系列单片语音录放集成电路ISD2560,它具有抗断电、音质好,使用方便,无须专用的开发系统等优点。录音时间为60s,能重复录放达10万次。芯片采用多电平直接模拟量存储专利技术,省去了A/DD/A转换器。每个采样值直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。ISD2560集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K字节的E[sup]2[/sup]PROM等,内部原理框图及引脚排列如图1所示。ISD2560控制电平与TTL电平兼容,接口简单,使用方便。各引脚功能如表一所示:
file:///C:\Users\john\AppData\Local\Temp\msohtmlclip1\01\clip_image002.gif
1  ISD2560内部原理框图
ISD2560与单片机AT89C2051的接口电路以及外围电路如 2 所示。单片机的P1口、P3.4 P3.5分别与ISD2560的地址线相连,用以设置语音段的起始地址。P3.0~P3.3用以控制录放音状态。P3.7连接一按键,供录音时使用。由TL7705构成可靠复位及电源监视电路。
file:///C:\Users\john\AppData\Local\Temp\msohtmlclip1\01\clip_image004.gif

2  ISD2560 与单片机AT89C2051的接口电路
表一  引脚功能描述
引脚序号
      
1~7
A0/M0~A6/M6
地址线
8~10
A7~A9
地址线
11
AUX IN
当/CE和P/-R为高,放音不进行,或处入放音溢出状态时,本端的输入信号通过内部功放驱动喇叭输出端。
12,13
VSSD VSSA
数字地和模拟地,这两脚最好在引脚焊盘上相连。
14,15
SP+SP-
扬声器输出。
16,28
VCCAVCCD
模拟电源、数字电源,尽可能在靠近供电端处相连。
17
MIC

本端连至片内前置放大器,外接话筒应通过串联电容耦合到本端,耦合电容值和本端的10KΩ输入电阻(如图2)决定了芯片频带的低频截止点。
18
MIC REF
本端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。
19
AGC
AGC动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量时失真都能保持最小。响应时间取决于本端的5KΩ输入阻抗外接的对地电容(即图2中C2)的时间常数。释放时间取决于本端外接的并联对地电容和电阻(即图2中R5和C2)的时间常数。470KΩ和4.7uF的标称值在绝大多数场合下可获得满意的效果.
20
ANA IN
本端为芯片录音信号输出。对话筒输入来说ANA OUT端应通过外接电容连至本端。
21
ANA OUT
前置放大器的输出.前置电压增益取决于AGC端电平
22
/OVF
芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随/CE端的状态,直到PD端变高。本端可用于级联。
23
/CE
本端变低后(而且PD为低),允许进行录放操作。芯片在本端的下降沿锁存地址线和P/R端的状态。
24
PD
本端拉高使芯片停止工作,进入不耗电的节电状态,芯片发生溢出,即/OVF端输出低电平后,要将本端短暂变高复位芯片,才能使之再次工作。
25
/EOM
EOM标志在录音时由芯片自动插入到该信息的结尾。放音遇到EOM时,本端输出低电平脉冲。芯片内部会检测电源电压以维护信息的完整性,当电压低于3.5V时,本端变低,芯片只能放音。
26
XCLK
外部时钟。本端内部有下拉元件,不用时应接地。
27
P/R
本端状态在/CE的下降沿锁存。高电平选择放音,低电平选择录音。录音时,由地址端提供起始地址,录音持续到/CEPD变高,或内存溢出;如果是前一种情况,芯片自动在录音结束处写入EOM标志。放音时由地址端提供起始地址,放音持续到EOM标志。如果/CE一直为低,或芯片工作在某些操作模式,放音会忽略EOM,继续进行下去。

3 系统工作原理及程序设计
3.1 ISD2560内部地址单元寻址
ISD2560虽然提供了地址输入线,但它的内部信息段的地址却无法读出。本系统采用单片机来控制,不需读出信息地址,而直接设置信息段起始地址。其实现方式有两种:一是由于ISD2560的地址分辨率为100 ms,所以可用单片机内部定时器定时100 ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利用ISD2560内部的E[sup]2[/sup]PROM,在字段较多时可利用该方法。该方法的具体使用请见参考文献[sup][3][/sup]二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每1s3个字计算,60 s可说180个字,再根据ISD2560的地址分辨率为100 ms,即可计算出语音段所需的地址单元数。本文采用第二种方式。
3.2 录放音时AT89C2051单片机对ISD2560的控制
录音时,按下录音键,单片机通过口线设置语音段的起始地址,再使PD端、P/R端和/CE端为低电平启动录音;结束时,松开按键,单片机又让/CE端回到高电平,即完成一段语音的录制。同样的方法可录取第二段、第三段、 ……。特别值得注意的是,录音时间不能超过预先设定的每段语音的时间。
放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/R端设为高电平,PD端设为低电平,并让/CE端产生一负脉冲启动放音,这时单片机只需等待ISD2560的信息结束信号,即/EOM的产生。信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到/EOM的上升沿才能播放第二段,否则播放的语音就不连续,而且会产生啪啪声,这一点在编制软件时一定要注意。下面给出了录取5段语音信息的录音程序和对这5段语音进行组合播放的源程序(均可直接拷贝使用)。播放时,可根据实际情况组合回放。实际需要时,可对该程序进行扩充。
file:///C:\Users\john\AppData\Local\Temp\msohtmlclip1\01\clip_image005.gif


录音源程序:     


START: MOV  R7,#00H
MOV  P1,#00H
   CLR  P3.4    ;ISD2560地址初始化
   CLR  P3.5
   CLR  P3.2
   CLR  P3.0     ;设置为录音状态
LOOP: JB    P3.7,LOOP ;录音键按下否?
   INC    R7
   CALL    PRESS
   LJMP   LOOP
PRESS: CJNE     R7,#1,NEXT1
    MOV     P1,#00H ;送字段1起始地址
    CLR    P3.4
    CLR    P3.5
    LCALL  RECORD
    JMP    BACK
NEXT1:  CJNE   R7,#2,NEXT2
    MOV   P1,#20H   ;送字段2起始地址
    CLR    P3.4
    CLR    P3.5
    LCALL  RECORD
    JMP    BACK
NEXT2: CJNE   R7,#3,NEXT3
    MOV    P1,#40H   ;送字段3起始地址
    CLR    P3.4
    CLR    P3.5
    LCALL  RECORD
    JMP    BACK
NEXT3: CJNE   R7,#4,NEXT4
    MOV   P1,#60H    ;送字段4起始地址
    CLR    P3.4
    CLR    P3.5
    LCALL  RECORD
    JMP    BACK
NEXT4: CJNE  R7,#5,BACK
    MOV   R7,#00H
    MOV  P1,#80H    ;送字段5起始地址
    CLR    P3.4
    CLR    P3.5
    LCALL  RECORD
BACK: RET
RECORD: CLR   P3.3  ;/CE端为低,开始录音
    JNB    P3.7,$
    SETB   P3.3
    RET



放音源程序      

BEGIN: SETB    20H.0 ; 置放音标志
       SETB   P3.0   ;置放音状态
     MOV P1,#00H   ;ISD2560地址初始化
       CLR    P3.4
       CLR    P3.5
     MOV R0,2FH  ;放音起始地址送R0
LOOP1: JB    20H.0,LOOP1
       LCALL PLAY ;20H.0=0 调放音程序
       JMP    LOOP1
PLAY: INC     R0
      LCALL  FIND ;调查找播放地址子程
      CJNE   R0,#5,OUT
      MOV    R0,#2FH
OUT:  RET
FIND: MOV   A,@R0 ;查找播放语音地址
      CJNE A,#1,PNEX1
      MOV P1,#00H ;若A=#1放第一段
      CLR    P3.4
      CLR    P3.5
      CALL   SOUND
      JMP    PBACK
PNEX1: CJNE   A,#2,PNEX2
       MOV P1,#20H ;若A=#2放第二段
       CLR    P3.4
       CLR    P3.5
       CALL   SOUND
       JMP    PBACK
PNEX2: CJNE    A,#3,PNEX3
       MOV  P1,#40H   ;若A=#3放第三段
        CLR    P3.4
       CLR     P3.5
        CALL   SOUND
        JMP    PBACK
PNEX3: CJNE    A,#4,PNEX4
       MOV  P1,#60H   ;若A=#4放第四段
        CLR    P3.4
        CLR    P3.5
        CALL   SOUND
        JMP    PBACK
PNEX4: CJNE    A,#5,PBACK
  MOV P1,#80H  ;若A=#5放第五段
  CLR    P3.4
  CLR    P3.5
CALL   SOUND
PBACK: RET
SOUND: CLR   P3.3  ;/CE端形成一负脉冲启动播放
        NOP
        NOP
       SETB   P3.3
TURN1: JBP3.1,TURN1 ;等待语音段结束信号
TURN2: JNB  P3.1,TURN2 等待EOM信号的上升沿
       RET

4 结束语
该语音系统硬件电路简单,调试方便。即可作为电脑语音系统的语音板,又可作为语音服务系统的子系统。实际应用表明具有较好的实用价值,对初步涉足单片机语音系统的读者来说具有一定的参考价值。
参考文献
1   
余永权. ATMEL89系列单片机应用技术[M]. 北京:北京航空航天大学出版社,2002.4
2        2002 数码语音芯片、产品及应用电路资料汇编[M].
3        刘欣,等. IDS语音器件分段地址的获取[J]. 电子技术应用,199910
4         

作者简介:肖海荣,女, 1969年生,汉族,硕士,副教授。研究领域:监控系统及计算机控制等。
电话:0531-5903010,Email:hairong.xiao@163.com
(250023 山东交通学院)肖海荣 王凤瑛
(265700 山东龙口矿物局技校)杨金清
(250027 山东煤矿总医院)孙玉风
朋友,电子产品制作很有意思。即使外貌很简陋的产品模型完成都很有成就感。
回复

使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 42 天

    [LV.5]常住居民I

    182

    主题

    1万

    回帖

    2万

    积分

    PADS-180606高级班

    积分
    22388

    终身成就奖社区居民忠实会员社区劳模最爱沙发优秀斑竹奖特殊贡献奖原创先锋奖

    发表于 2014-12-3 08:57:52 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-9-9 17:52
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    18

    主题

    3486

    回帖

    4398

    积分

    二级逆天

    积分
    4398

    终身成就奖社区居民忠实会员社区劳模最爱沙发优秀斑竹奖

    QQ
    发表于 2014-12-3 09:09:40 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表