基于凌阳单片机的语音小车设计内容摘要:
,该过程主要包括采样和量化两个方面。 数字音频的质量取决于:采样频率和量化位数这两个重要参数。 此外,声道的数目、相应的音频设备也是影响音频质量的原因。 语音处理技术是建立在语言学和数字信号处理基础之上的综合学科,其过程大致可以分为 A/D 采样输入、编码处理、存储、解码处理和 D/A 等。 如今,要实现语音处理有多种渠道,可以选用 专用语音芯片也可以选用单片机,二者区别参看表 ,如下: 表 语音处理器件性能对照表 [2] 所选器件 音质 语音播放长度和段落 价格 专用语音芯片 好 受限制 较高 单片机 由 AD、 DA 精度、压缩算法等决定 由存储空间决定 有优势 SPCE061A 单片机具有八路 10 位 ADC 和两路 10 位 DAC,两个 16 位可编程定时器 /计数器,内置 MIC 放大器和自动增益控制( AGC) 电路, CPU 时钟主频最高达 49MHz 且具有 DSP 功能,有能力执行复杂压缩算法。 所以在选择具有语音处理功能单片机时, SPCE061A 单片机可谓是上上之选。 SPCE061A 将 A/D、编码算法、解码算法、存储及 D/A 做成相应的模块,每个模块都有其应用程序接口 API,要实现语音处理,只用了解每个模块所要实现的功能及参数的内容,然后调用该API 函数即可。 不同音频质量等级的编码技术标准(频响)参看表 ,如下: 表 音频质量等级编码技术标准 [2] 信号类型 频率范围( Hz) 采样率( KHz) 量化精度(位) 电话话音 200~ 3400 8 8 宽带音频 ( AM 质量) 50~ 7000 16 16 调频广播 ( FM 质量) 20~ 15K 16 高质量音频 ( CD 质量) 20~ 20K 16 凌阳音频压缩算法处理的语音信号的范围是 200Hz~ 的电话话音。 桂林电子科技大学毕业设计 (论文 )报告用纸 第 8 页 共 58 页 音频压缩编码 音频压缩编码中的数据量:(采样频率量化位数) /(字节数)声道数目 压缩编码的目的,通过对资料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。 压缩编码的必要性,未经压缩编码的音频资料量很大,用来传输或存储是不容易实现的。 所以要通过对信号趋 势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息。 常见的几种音频压缩编码: ( 1) 波形编码 [2],将时间域信号直接变换为数字代码,尽量真实地还原波形。 波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。 译 码是其反过程,将收到的数字序列经过译码和滤波恢复成模拟信号。 ( 2) 参数编码 [2],参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。 译码为其反过程,将收到的数字序列经变 换恢复特征参量,再根据特征参量重建语音信号。 具体说,参数编码是通过对语音信号特征参数的提取和编码,尽量保持语音信号的可懂性,而还原后的波形可能与原波形差别很大。 ( 3) 混合编码 [2],将波形编码和参数编码组合起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,尽量保持波形编码的高质量和参数编码的低速率。 压缩分为无损压缩和有损压缩。 无损压缩一般指磁盘文件,压缩比低,一般为:2:1~ 4:1;有损压缩是指音 /视频文件,压缩比可高达 100:1。 凌阳音频压缩算法根据不同的压缩比分为以下几 种: SACMA20 SACMS480、 SACMS240。 三者区别参看表 ,如下: 表 凌阳语音压缩算法区别 [2] 凌阳音频压缩算法 编码方式 编码率( bps) 压缩比 音质 SACM_A2020 波形编码 16K, 20K, 24K 8: 1, 8: , 8: 好 SACM_S480 混合编码 , 80: 3, 80: 中 SACM_S240 参数编码 80: 差 桂林电子科技大学毕业设计 (论文 )报告用纸 第 9 页 共 58 页 、录制、合成和辨识 要完成语音的播放、录 制、合成及辨识等工作,单片机需要强大的信息处理能力而凌阳 16 位 SPCE061A 单片机则是为此而开发的,其具有 DSP 功能,可处理大量信息, CPU 最高时钟频率可达到 49MHz,具备运算速度高的优点。 凌阳压缩算法中 SACM_A20 SACM_S480、 SACM_S240 主要是用来放音,可用于语音提示,而 DVR 则用来录音。 口 API 的功能及应用 语音和音乐与我们的生活有着相当密切的关系,而单片机对语音的控制如录放音、合成机辨识也广泛应用在现实生活中。 语音处理大致可以分为 A/D、编码处理 、存储、解码处理以及 D/A 等。 然而,通过麦克风输入所生成的 WAVE 文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然很不可能实现的,而凌阳的 SPCE061A 所采用的解决办法即 SACM_LIB,该库将 A/D、编码、解码、存储及 D/A 做成相应的模块,对于每个模块都有其应用程序接口 API,要实现某功能,用户只需了解每个模块所要实现的功能及其参数的内容,然后调用该API 函数即可。 语音识别 API[2]介绍: BSR _Init Recognizer(int Audio Source);初始化识别器 BSR _Train(int Word ID, int Train Mode);语音训练 BSR _Delete SD Group(int SD Group No);清除内存 BSR _Pause Recognizer();暂停识别,但不释放中断等资源 BSR _Resume Recognizer();恢复被暂停的识别 BSR _Get Recognizer Score();获得识别结果的可信度,返回值从 4096到 4096,数值越大表示输入语音与特征模型的匹配度越高 BSR _Enable CPU Indicator();开启 CPU 状态监测功能。 开启该功能后,IOA0 和 IOA1 将发出每 16ms 电平变化一次的方波 BSR _Disable CPU Indicator();关闭 CPU 状态监测功能 BSR _Export SD Word(int Command ID);使用函数库时,会自动创建一个100 Word 的数组 BSR _SD Model[100],可以把某条训练命令的特征模型数据导出到这个数组中 BSR _Import SD Word(int Command ID);可以把 BSR _SD Model 数组中的数据导入为某条语音命令的特征模型 unsigned int BSR _SD Model[]; 配合 BSR _Export SD Word(int Command 桂林电子科技大学毕业设计 (论文 )报告用纸 第 10 页 共 58 页 ID)与 BSR _Import SD Word(int Command ID)函数使用,此数组的作用相当于一个暂时的存储区 SACM_480 采用混合编码方式,压缩比比较大,存储容量大,音质介于 A2020和 S240 之间,适用于语音播放,如电子词典词库等,所以本文采用了该算法,以下就 SACM_480 算法具体介绍其 API 函数的格式、功能、参数、返回值、备注。 其相关 API 函数如下所示: 1) API 格式 [2]: C: int SACM_S480_Initial(int Init _Index) ASM: R1=[ Init _ Index] Call F_ SACM_ S480_Initial 功能说明: SACM_480 语音播放之前的初始化。 参数: Init _ Index=0:手动方式 Init _ Index=1:自动方式。 返回值: 0:语音模块初始化失败。 1:语音模块初始化成功。 备注: 该函数用于对定时器、中断和 DAC 等的初始化。 2) API 格式 [2]: C: void SACM_S480_ServiceLoop(void) ASM: Call F_ SACM_S480_ServiceLoop 功能说明:从资源中获取 SACM_S480 语音资料,并将其填入解码队列中。 参数: 无 返回值: 无 备注: 播放语音文件中数据,当出现 FF FF FFH 数据时便停止播放。 3) API 格式 [2]: C: int SACM_S480_Play(int Speech _Index, int Channel, int Ramp _Set) ASM: R1=[ Speech _Index] R2=[ Channel] R3=[ Ramp _Set] Call SACM_S480_Play 功能说明: 播放资源中 SACM_480 语音。 参数: Speech _Index:语音索引号。 Channel: 1. 通过 DAC1 通道播放。 2. 通过 DAC2 通道播放。 3. 通过 DAC1 和 DAC2 双通道播放。 Ramp _Set: 0. 禁止音量增 /减调节。 桂林电子科技大学毕业设计 (论文 )报告用纸 第 11 页 共 58 页 1. 仅允许音量增调节。 2. 仅允许音量减调节。 3. 允许音量增 /减调节。 返回值: 无 备注: ⑴ SACM_S480 的数据率有 \ 两种,可在同一模块的几种算法中自动选择一种。 ⑵ Speech _Index 是定义在 文件中资源表的偏移地址。 ⑶ 中断服务子程序中 F_FIQ_Service_SACM_S4800 必须放在TMA_FIQ 中断向量上。 4) API 格式 [2]: ASM: Call F_FIQ_Service_SACM_S480 功能说明:用作 SACM_S480 语音背景程序的中断服务子程序。 通过前台子程序(自动方式的 SACM_S480_ServiceLoop 及手动方式 SACM_S480_Decode)进行语音信息编码,然后将其送入DAC 通道播放。 参数: 无 返回值:无 备注: SACM_S480 语音背景子程序只有汇编指令形式,且应该将此程序安置在 TMA_FIQ 中断源上。 桂林电子科技大学毕业设计 (论文 )报告用纸 第 12 页 共 58 页 3 系统 硬件 方案设计 方案 总体 介绍 系统的结构框图如图 31 示。 图 31 系统结构框图 系统组成主要包括以下两部分: SPCE061A 精简开发板、语音小车控制电路板。 图中的语音输入部分 MIC_ IN、按键输入 KEY、声音输出部分的功率放大环节等已经做到了精简开发板 ——61 板上,为我们使用提供了很大的方便。 在电机的驱动方面,采用全桥驱动技术,利用四个 I/O 端口分为两组分别实现两个电机的正传、反转和停三态运行。 小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。 在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间到,中断服务程序会发出指令让小车停下来。 小车驱动电机一般利用现成的玩具小车上的配套直流电机。 考 虑到小车必须能够前进、倒退、停止,并能灵活转向,在左右两轮各装一个电机分别进行驱动。 当左轮电机转速高于右轮电机转速时小车向右转,反之则向左转。 为了能控制车轮的转速,可以采取 PWM 调速法,即由单片机的 IOB IOB9 输出一系列频率固定的方波,再通过功率放大来驱动电机,在单片机中编程改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。 左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。 桂林电子科技大学毕业设计 (论文 )报告用纸 第 13 页 共 58 页 61 板最小系统 SPCE061A 最小系统中,包括 SPCE061A 芯片及其外围的基 本模块,其中外围的基本模块有:晶振输入模块( OSC)、锁相环外围电路( PLL)、复位电路( RESET)、指示灯( LED)等。 61 板芯片电路图如图 所示。 它有 84 引脚并提供 32 个 IO 口,IOA0IOA15,IOB0IOB15 全部引出。 图 芯片电。基于凌阳单片机的语音小车设计
相关推荐
器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。 然而,定时器 2 的标志位 TF2 在定时器溢出的那个机器周期的 S2P2 状态置位,并在同一个机器周期内查询到该标志。 时钟振荡 器 : AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作
具体设计的要求: 1) 小横杆受力情况为简支梁,大横杆受力情况为三跨连续梁。 2) 除立杆自重为轴心荷载外,其他杆件自重和施工荷载均通过 点和立杆的轴线间距约会有 53mm 的偏心,设计时考虑偏心产生对立杆的影响。 3) 强度核算时,将恒载 的系数,活荷载 的系数,核算变形时需取标准值。 要求大小横杆的挠度不要大于L/200。 4) 计算立杆的稳定时,以无连墙杆的立杆为计算对象,当大横杆的间距为
均为 10710 m 3 /h 压头: 4 台泵分别为 23. 5 / 26 / 28 .5/31 m 功率: 4 台泵分别为 1000 / 1120 / 1250/1400 kW (3) 氧化风机 (2+2 台 ) 氧化风机是提供空气使亚硫酸钙在浆液池中氧化成石膏的设备。 氧化风机设计为罗茨风机,通过电动 V 型皮带驱动系统驱动。 各吸收塔系统配有 2 台容量 100% 的氧化风机,共四台
而此几种语言是面向操作人的语言,易学、易懂 、 易修改,深受电器工作人员的欢迎。 ( 3)、适应性好、具有柔性 PLC 编程简单易学,控制程序可变,使其有较好的柔性, PLC 都有相应的I/O 接口模块与工业现场控制器件和设备直接连接,适应性好,用户可以根据自己需要设置配置,可组成不同控制系统,即可控制一台单机 ,一条生产线,又可控制多机多条生产线,即可现场控制,又可远程控制。 ( 4)
/ CHS0:模拟输入通道选择, CHS2 / CHS1 / CHS0 ADC_START: 模数转换器 (ADC)转换启动控制位,设置为 “1” 时,开始转换 ,转换结束后为 0。 ADC_FLAG: 模数转换器转换结束标志位 ,当 A/D 转换完成后, ADC_FLAG = 1,要由软件清 0。 不管是 A/D 转换完成后由该位申请产生中断,还是由软件查询该标志位 A/D 转换是否结束 ,
..........................................................................13 图 310 PLC 的配置 ............................................................................................................