首页 > 范文大全 > 正文

数字化语音存放系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇数字化语音存放系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】为了进行长时间的语音录音和高品质的语音回放,设计了一套以LPC1768为主控制器,以K9K8G08U0A为存储器的语音存放系统。阐述了系统的基本原理及硬件、软件设计及功能和实现过程。经测试,该系统录音时间长,回放语音质量好,适用于多个领域。

【关键词】LPC1768;K9K8G08U0A;语音存储与回放

1.引言

随着语音存放系统的应用场合日益增多,录音要求越来越高,数字化语音存储与存放系统的设计种类繁多[1]。然而,大多数语音存放系统都采用单片机为控制器,内部Flash为存储器,这种系统需要外部A/D和D/A转换器,体积大,录音时间也短,适用场合极其有限。本系统采用LPC1768为控制器,利用其内置的12位A/D和10位D/A转换器模块,能够实现微体积、高质量的录音功能。此外,采用片外扩展的1GB的数据存储器K9K8G08U0A进行存储采集的数据,录音时间大幅度增加。

2.设计方案

2.1 系统设计要求

本系统要求采集0~3400Hz的声音信号,录音时间800分钟,由“0.5W,8Ω”的喇叭完成声音回放。

2.2 系统总体设计方案

根据系统的总体要求,本设计采用如下方案:整个系统由LPC1768微控制器、MIC拾音器、前后级滤波放大电路、按键模块、指示模块及外部Flash存储器等部分组成。系统整体设计框图如图1所示。

当录音键按下时,LPC1768微控制器通过内置的12位A/D转换模块采集从MIC拾音器输入并经过前级输入滤波放大电路处理的语音信号,并直接存储到片外扩展的1GB的数据存储器K9K8G08U0A中;当放音键按下时,LPC1768微控制器读取数据存储器K9K8G08U0A中的数据,通过LPC1768微控制器内置的10位D/A转换器输出模拟信号,该信号经过后级滤波放大电路后驱动喇叭还原声音信号。

3.硬件设计

3.1 微控制器

控制电路的核心器件是由NXP公司推出的基于Cortex-M3内核的LPC1768[2]微控制器,操作频率可达100MHz。有多组外设,内置1个8通道的12位A/D转换器,1个10位D/A转换器等,每个外设都自带时钟分频器,在设置低功耗的基础上,可进一步节省功耗。另外,LPC1768芯片的体积只有14cm*14cm,,适用于高度集成和低功耗的嵌入式应用,外设功能强,方便系统的功能扩展。

3.2 语音前级输入及后级输出放大电路

语音前级输入放大电路由MIC输入放大电路、低通滤波器[3]构成。采用LM358双运算放大器,前级用于放大,将MIC拾音器获取的微弱语音信号放大到0~3V之间;后级用于滤波,得到0~3400Hz的语音信号。经过放大滤波的语音信号送入LPC1768微控制器的P0.25/AD0.2通道上。

语音后级输出放大电路由二阶滤波电路和TDA2822构成的音频功率放大电路组成。语音输出信号由LPC1768内置的D/A转换器将数字语音转换成模拟语音信号,由P0.26/AOUT引脚输出,该信号送到由LM358和电阻电容组成的二阶低通滤波器电路,经过滤波后的信号送到由TDA2822及电容组成的音频功率放大电路,进行放大后驱动“0.5W,8Ω”的喇叭完成声音回放。

3.3 大容量存储器K9K8G08U0A

由三星公司生产的K9K8G08U0A存储容量达到1GB,具有极高的性价比。它执行以2112字节为一页的编程操作只需要200μs,擦除64页(即128KB+4KB)的数据块时也只需要1.5ms,数据存储时间达到。其主要特性如下:

——供电电压范围:2.7~3.6V;

——存储单元阵列每页为(2048+64)字节,每块含64页,共8192块;

——拥有8个控制引脚和8位命令/数据/地址端口;

——拥有8位的状态寄存器,具有ECC校验功能;

——支持按页编程操作、按页读操作和按块擦除操作。

K9K8G08U0A与LPC1768的硬件连接图如图2所示。

4.软件设计

该系统软件主要由以下几个部分组成:

(1)初始化程序模块。主要用于初始化GPIO引脚、A/D、D/A和定时器0模块。

(2)main主程序模块。主要实现按键的识别、录音和放音。

(3)定时器0中断服务程序[4]。主要用于产生50us的定时中断,实现在录音状态下采集语音数据、在放音状态下播放语音数据。

(4)K9K8G08U0A存储器读/写驱动程序设计。

主程序模块流程图如图3所示。定时器0的中断服务程序流程图如图4所示。

定时器0的匹配中断服务程序实现每50us时间到时,根据录音/放音状态决定当前的操作。在录音状态下,通过A/D转换器读取语音数据存储到录音缓冲区中,当缓冲区满时,置位缓冲区满标志;在放音状态下,通过D/A转换器将放音缓冲区的数据转换为模拟信号输出,当放音缓冲区的数据全部转换完毕时,置位缓冲区空标志。

采样策略设计如下:要求的语音信号频率为0~3400Hz,根据奈奎斯特采样定理,要使采样信号无失真,采样频率必须大于信号最高频率的2倍,由于语音信号频率为0~3400Hz,其采样频率最低为6800Hz,考虑到要有较高的录音品质,本设计中采样频率设定为20KHz。考虑到节约存储空间,延长录音时间,12位A/D转换结果及10位D/A转换结果都取高8位进行存储。由此得出,1次采样占用1Byte的空间,则1GB的空间可录音的时间为:

5.结论

经测试,本系统语音存储时间可达到850min左右,回放语音质量好。此外,本系统体积小、功耗低,稳定可靠,具有很好的推广和使用价值。

参考文献

[1]孙晓明,周峰等.一种数字语音存放系统设计[J].机械工程与自动化,2007(3):113-115.

[2]孙安青.ARM Cortex-M3嵌入式开发实例详解:基于NXP LPC1768[M].北京:北京航空航天大学出版社,2012,10.

[3]毕满青,王黎明,高文华.模拟电子技术基础[M].北京:电子工业出版社,2009,2.

[4]汪静.数字化语音存储与回放系统设计[J].信息与电脑,2010(4):52-53.

作者简介:

牛贾贾,中北大学信息与通信工程学院国家重点实验室2011级硕士研究生,研究方向:动态测试与智能仪器。