【应用】基于32位低功耗MCU EFM32系列的高效Speex解决方案
Speex做为一款开源的音频编解码器,提供高水平的语音编码和解码算法,而且同时具备良好的音质表现。 本应用基于32位低功耗MCU EFM32GG,展示高效的Speex解决方案。
Speex做为一种功能强大的语音引擎,能够实现高质量和低比特率的编码,除了具备CELP算法编/解码模块, 目前在较新的发布版本里还提供了声音预处理和声学回声消除模块,在一定程度上可以保障IP网络中的音频通信质量,比较适合当前流行的 VoIP系统。本应用基于Speex的1.2rc1版本开发,实现NB8K编码和解码,NB解码,WB解码和UWB解码。
图1 NB8K/NB/WB/UWB缩写说明
Speex编码。利用32位低功耗MCU EFM32GG中的内置12位ADC收集音频样本,进而送到后续的Speex语音编码模块。编码器的模块组成包括内置TIMER,PRS,ADC和DMA,如下图2所示。TIMER通过PRS每隔125us(8 kHz)触发ADC,通过DMA为Speex编码器采集一帧(20ms)ADC转换数据。其中 在ADC数据转换阶段无需MCU干预,EFM32GG可工作在EM1(休眠)模式。
图2 编码器流程框架
本应用中Speex编码器用于8 kHz的采样,该库可通过Speex编码器经过修改, 具体编码器库文件可参考目录为 \ speex \ libspeex。Speex空间占用情况如图3所示。
图3 空间占用数据图
Speex代码在IAR V6.40.2中使用“高速优化”选项进行编译,通过使用energyAware Profiler V1.01测量电流消耗情况,具体数据见图4所示。MCU的加载分析可通过speexfunc.c文件的配置完成。
图4功耗数据图
Speex解码。Speex解码由音频输出接口和语音解码模块组成。本应用利用了EFM32GG中的内置12位DAC。具体的解码框架结构与流程与编码类似,包括利用内置的TIMER, PRS, DAC and DMA模块等。具体流程见图5所示。
图5 解码器流程框架
Speex解码应用支持不同压缩比与比特率,其包括的五个项目可以支持EFM32GG上的不同Speex模式,见图6所示。 Speex库文件(IAR为* .a,Keil为* .lib)包含在\ speex \ libspeex的路径中。图7为解码空间占用情况说明。图8为功耗说明。
图6 Speex工程库说明
图7解码空间占用数据图
图8 功耗数据图
PC端工具。PC端pc_software文件夹中的speexenc.exe应用程序可以将WAV文件转换为头文件形式以供编译器使用,以便将Speex编码数据保存到内部闪存以进行音频播放。该系列工具可从其官网下载:http://www.speex.org/downloads/。
运行PC端应用程序,需要在DOS命令行中将文件夹路径更改为“pc_software”,然后输入speexenc。具体操作界面见图9所示。PC应用程序会自动检测输入WAV文件的采样频率,然后根据预定的品质因数进行Speex格式化编码。
图9 PC应用界面
Speex 应用中的API(包含在speexfunc.c中)函数可用于Speex编码器和解码器。例如:函数speexRecordFlash512()可用于将编码的Speex帧记录到高512 KB的闪存中(使用EFM32GGxxxF1024)。函数speexPlayBack()可用于从flash播放读取编码的Speex帧。
可以在数据手册中找到IAR和Keil相关的IDE设置来编译和运行Speex编解码器,包括编解码器具体的配置方式与参数优化等。
- |
- +1 赞 0
- 收藏
- 评论 2
本文由四月提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【应用】芯科科技提供内置16位ADC的低功耗32位MCU助力蓝牙耳机,主频高达80MHz
蓝牙耳机的系统设计需要选型一款MCU,要求尺寸小,效率高,待机功耗低。本文推荐SILICON LABS推出的低功耗32位MCU EFM32PG23B210F256IM48-C,主频高达80MHz,具有DSP指令和浮点单元,具有性能灵活的16位的数转换器。
【应用】32位低功耗MCU EFM32系列的电流数模转换器(IDAC)应用
本应用主要介绍了如何使用Silicon Labs EFM32电流数模转换器(IDAC),并通过部分示例工程来演示其功能。 IDAC常用于提供或吸收可编程电流,实用设计中可通过软件或使用PRS功能来完成IDAC的控制。
【经验】使用Eclipse开发基于32位MCU EFM32的代码编译和调试
本应用介绍了在Windows上安装、配置Eclipse的主要步骤,并通过简单的项目来演示EFM32的代码编译和调试等。
【经验】对使用SWD接口的32位MCU的内部闪存及用户画面进行编程
本文介绍Silicon Labs独立编程器的硬件与软件,以及详细的用户界面介绍,提供用户进行测试。
SILICON LABS 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,频率24MHz~80MHz,Flash存储4kB~2048kB,RAM存储2kB~512kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
Dig I/O Pins
|
ADC 1
|
DAC
|
USB
|
Cap Sense
|
LCD
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
EFM32GG290F512-BGA112
|
32位MCU
|
EFM32 Giant Gecko
|
48
|
512
|
128
|
1.98
|
3.8
|
BGA112
|
10x10
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
90
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
-
|
Cap Sense
|
-
|
Temp Sensor
|
4
|
7
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
选型表 - SILICON LABS 立即选型
【经验】EFM32系列低功耗32位MCU芯片加密详解
本文主要介绍以Silicon Labs EFM32系列低功耗32位MCU为核心的方案打造加密系统。
【应用】低功耗32位MCU EFM32,实现低成本医疗内窥镜
电子内窥镜少不了这一款逆天MCU-- EFM32,其集成的USB-HOST接口,结合Cortex-M4内核的高效运算能力以及DSP指令和浮点运算单元,能够很轻松执行图像处理任务,EFM32具有丰富的外设,为系统扩展功能及降低成本提供了条件。
【经验】32位MCU EFM32ZG使用FreeRTOS低功耗的处理过程
Silicon Labs 32位MCU EFM32ZG210芯片采用Cortex-M0+内核,使用了创新低能耗技术,低功耗模式的唤醒时间只有2us,多种外设可在低功耗模式下工作,是使用电池供电以及需要高性能、低功耗系统的最优选择。本文介绍在32位MCU EFM32ZG上运行FreeRTOS时的低功耗的处理过程。
【经验】用STK3700评估板采集EFM32GG低功耗32位MCU外部频率信号完整周期的经验
在调试EFM32GG低功耗32位MCU,想测试外部频率信号的周期,范例程序测试的是按键按下的时间,也就是对应的是半个周期,不是完整的周期信号。针对范例程序做了如下修改(修改部分用红色字体标识),实现了用STK3700评估板对外部频率信号周期时间的计算
【应用】休眠功耗低至1.4uA的32位MCU助力水表等低功耗应用
EFM32JG系列32位MCU是silicon Labs采用了新的工艺而设计,专门针对低功耗市场所推出的高性价比方案。
【经验】32位低功耗MCU EFM32LG232低温工作串口数据停止位报错问题经验分享
EFM32LG232是Silicon Labs推出的针对低功耗市场的高性价比方案,常用休眠模式下,开启RTC功耗为0.95uA,关断模式下仅为20nA,广泛应用于低功耗方案设计中,本文主要讲解在低温模式下串口数据通信出错的问题分析。
【应用】32位低功耗MCU EFM32LG232在故障指示器的应用,可实现采样精度温度补偿方案
世强推出的32位低功耗MCU EFM32LG232内部自带温度传感器,通过内部获取其温度值,温度偏差在2°以内,可实现其采样精度温度补偿方案,进而实现故障指示器的高精度测量功能。
【技术大神】32位低功耗MCU在故障指示器中的应用及设计注意事项
在环网配电系统中,故障指示器可以快速检测线路短路和接地故障。
【产品】基于Cortex-M4内核的低功耗32位MCU EFM32PG1
Silicon Labs推出的EFM32PG1是一款功能强大,基于Cortex-M4内核的32bit ARM芯片的低功耗32位MCU。它可扩展一系列外设,而且包括一个支持AES,ECC和SHA算法的独特的硬件加密模块,再加上该芯片在工作模式下电流功耗极低以及短时间内即可唤醒的节能模式。
【经验】如何使用32位超低功耗MCU外设反射系统功能?
外设反射系统(PRS)是 Silicon Labs EFM32系列MCU专有的外设互联总线,它允许不同的外设无需CPU干预即可直接相互通信。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可定制电感最大电流100A,尺寸最小7 x 7 x 3.0mm到最大35 x 34 x 15.5 mm,工作频率100KHZ ~ 2MHZ,感值范围:0.15 ~ 100uh;支持大功率电感,扁平线电感,大电流电感,高频电感,汽车电感器,车规电感,一体成型电感等定制。
最小起订量: 5000 提交需求>
登录 | 立即注册
提交评论