论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
引言
随着单片机集成化程度的不断提高,现代单片机已经具备了数字信号处理功能,使语音信号处理用单片机实现成为可能。台湾凌阳科技公司(SunPlus)推出的一款SPCE061A就是这样的产品。SPCE061A是以μ'nSP TM16位微控制器及信号处理器芯片为内核的16位单片机,采用模块式集成结构,片内集成了2KB RAM、32KB Flash、ADC、DAC、并行I/O等,特别适合语音信号处理。本文介绍如何实现用SPCE061A单片机采集语音信号,并传送到PC机中的方法。
1 硬件系统结构
1.1 SPCE061A结构
SPCE061A的内部结构如图1,其特点如下:
*16位μ'nSP TM微控制器;
*工作电压:VDD为2.6~3.6V(CPU),VDDH为VDD~5.5V(I/O);
*CPU时钟为0.32~49.152MHz;
*内置存储器:SRAM为2KB,内存Flash为32KB;
*可编程音频处理;
*2个16位可编程定时器/计数器;
*7通道10位ADC(内置麦克风放大和自动增益控制功能);
*2个10位DAC;
*32路可编程通用输入输出端口;
*串行输入输出接口;
*低电压监测/低电压复位功能;
*14个中断源可来自定时器、外部时钟输入、键唤醒等;
*内置在线仿真电路ICE。
1.2 SPCE061A开发方法
SPCE061A的开发是通过在线调试器PROBE实现的,如图2所示。它利用了SPCE061A内置的在线仿真电路ICE和凌阳公司的在线串行编程技术。如果读者想要使用该芯片及开发系统,可上网.cn查询,并寻求大学计划的免费支持。
1.3 语音采集的硬件电路
语音采集的硬件电路如图3所示。MIC采用驻极体电容话筒,这种话筒具有灵敏度高、无方向性、重量轻、体积小、频率响应宽、保真度好等优点。
与PC机的串行通信用SPCE061A的UART接口,用MAX232芯片进行电平转换,即可实现RS232通信。
2.1 语音信号的采集压缩与数据传输
(1)语音信号的采集压缩
语音信号处理的基础是对语音信号进行数字化,并采样存储。SRCE061A内置专门用于语音信号采集的自动增益控制放大器(AGC)的麦克风输入通道(MIC_IN)。语音信号经麦克转换成电信号,由隔离电容隔掉直流成分,然后输入至内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增器时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使谐波减至最小。
ADC初始化程序如下:
INT OFF;
R1=0x0030;
[P_TimerA_Ctrl]=R1;
//时钟频率为CLKA的fosc/2
R1=0xfa00;
[P_TimerA_Data]=R1;
//采样率为16kHz
R1=0x003d;
[P_ADC_Ctrl]=R1; //设置AGC功能
R1=0x00A8;
[P_DAC_Ctrl]=R1; //采用自动方式且通过MIC_IN通道输入,通过定时器A的溢出锁存数据,ADC为自动方式
R1=0x1000;
[P_INT_Ctrl]=R1; //开中断IRQ1_TM