本帖最后由 andery88 于 2012-10-18 16:54 编辑
项目说明:
从我看到STM32F0方案征集活动开始,我就开始了解STM32F051R8T6 ARM芯片的性能,发现其有多大16通道12位AD转换器,并且转换时间最低为1us满足语音采样的要求,因此,可以用其来作为该“苹果版MP3播放器”的声音的录制,STM32F051R8T6内部集成的USART可用作SPI通信驱动,从而实现以SPI模式读写SD卡,而SD卡里存储的正是准备播放的声音文件,具体声音文件的格式暂定位.wav格式,其它格式(mp3等)再做考虑。当苹果版MP3播放器播放时,STM32F0芯片从SD卡中读取出声音数据并做适当的解码处理,将其输出至芯片内部集成的1路12位的DA数模转换器端口,将数字声音信号转化为模拟声音信号,然后,模拟声音信号经过滤波、功率放大最终驱动耳机、喇叭等将声音播放出来;当苹果版MP3播放器录音是,声音经话筒、初级功放、滤波、二级功放、限幅电路最终送至一路12位的A/D转换器中将模拟声音信号转化为数字声音信号,然后,通过SPI通信接口将此声音数据存储到SD卡中,以备播放时使用。 说到这里大家也许会问,为什么这个播放器的名称叫:苹果版MP3播放器呢,是这样的,本播放器的控制功能(播放、停止、暂停、快进、后退、上一曲、下一曲等)不是有普通的机械按键来完成,而是采用电容式触摸屏来完成,这里就用我手头的一款TI的MSP430电容式触摸板(MSP430 Capacitive Sense BoosterPack)来实现,如下图所示:
电容式触摸屏
通过对MSP430的编程将获取到的电容式触摸板的信号经串口传至STM32F051芯片内,STM32F051芯片通过判读RS232串口数据来控制苹果版MP3播放器的工作。当然,虽然叫苹果版,单是这款mp3的音质肯定远不及正版啊,哈哈! 当然,一个播放器怎能离得了显示屏,就目前现状,手头咱只有LCD1602液晶,所以,播放器的显示器暂定为LCD1602液晶显示屏,如下图所示:
LCD1602液晶显示屏
对于STM32F051芯片来说,驱动TFT液晶屏是其强项,所以,后期拟采用TFT液晶屏来作为此播放器的显示屏。 苹果版mp3播放器的功能还相当简单,仅仅提供了一个语音处理平台,这其中的STM32F051芯片还远远没有发挥其应有的快速处理功能,我拟再以后的升级中,将简单的语音识别也植入进去,可能支持不了复杂的语音识别算法,但是对于孤立字或词的识别还是很容易实现的,到时,用来传输控制命令的就不是电容式触摸板了,而是声音信号,对着话筒就可以控制此装置执行相应的功能,到时,改名为智能声音识别器。。。
功能实现:
苹果版MP3播放器要实现的功能,在项目说明里也都有了详细的说明,这里我再汇总一下: 1) STM32F051芯片通过ADC采集外部模拟信号,并以SPI模式存储至SD卡中 2) STM32F051芯片以SPI模式从SD卡中读取声音文件,经内部解码后由DAC输出模拟声音信号 3) 由TI-MSP430电容式触摸板以RS232串口与STM32F051芯片进行通信,通过触摸板信号来控制STM32F051芯片执行相应的操作,从而实现播放器的播放、停止、暂停、快进、后退、上一曲、下一曲等功能 4) 播放器工作状态的显示在LCD1602液晶显示屏上 播放器升级为智能语音识别器后,新增功能: 5) 孤立字或词的识别,从而控制STM32F051芯片执行相应的功能 6) 显示采用TFT液晶屏显示 7) 配合上位机软件实现更强大的智能语音控制功能
方案流程:
苹果版mp3方案流程图
如上图所示,为播放器的方案流程示意图,包括: 1) 声音信号的采集模块(声音模拟量处理前端,如图左部分所示) 2) 数据的存储模块(SD卡的SPI模式读写,如图下部分所示) 3) 声音信号的播放模块(声音模拟量还原处理,如图右部分所示) 4) 控制信号输入模块(MSP430电容式触摸板RS232方式输入,如图左上部分所示) 5) 工作状态显示模块(LCD1602液晶屏显示,如图右上部分所示) 6) 处理器模块(STM32F0开发板,如图中部所示) 各模块之间数据的流向可参考图中箭头的指向。 可行性分析: 1) AD采样的可行性分析:
STM32F0的ADC转换时间
2) 硬件的可行性分析: 目前手头已经具备的硬件模块:MSP430电容式触摸板、LCD1602液晶显示屏、MIC放大调理电路、声音功放模块、SD卡及SD卡模块,如果能够申请到STM32F0开发板,那么整个硬件电路就可以组合完成,余下的就是编写程序,然后进行调试即可。 3) STM32F0芯片处理能力可行性分析: Cortex-M0处理器,是市场上现有的最小、能耗最低、最节能的ARM处理器。而STM32F0最大工作频率达48MHz,虽然其在复杂算法的实现上有些困难,但是对于本播放器来说要完成的运算功能很简单,比较复杂的只有声音的编解码,这种复杂度又取决于声音文件的类型,这里采用.wav文件格式,以使算法的复杂度降到最低,后期,考虑运行其它算法,进而也验证一下STM32F0芯片的处理能力。 4) STM32F0芯片人机交互可行性分析: STM32F0芯片还支持18位电容式感应通道,后期可尝试去掉MSP430,而直接由STM32F0芯片的电容式感应通道来驱动电容式触摸板。 好了,最后期待着能够申请到本次活动的STM32F0开发板,来实现苹果版mp3播放器! 谢谢! |