论文部分内容阅读
32位微控制器(MCU)诞生于上世纪90年代,时至今日,其支持的应用已从简单的工业控制扩展至复杂的电子通讯设备。其中,音频播放是很多电子产品必须的功能且其应用领域越来越广。为了降低存储空间的使用,音频数据都是采用压缩的方式保存的,播放前需进行解码工作。音频模块已在工业、军事、医疗以及通讯设备中取得了广泛运用。本文围绕着双核ARM MCU微处理器,开发一套优化的音频解码方案,希望其能应用于MCU应用中的音频播放。双核处理器可以让数据的读取和解码工作分别在不同的核上同时进行,这将大大提高系统的性能。其中,Cortex-M4具有很强的数字处理能力,能很好的完成音频解码工作。而Cortex-M0作为协处理器主要用来分担Cortex-M4的负担,负责I/O处理工作。本文主要完成的工作如下:1)选用全球首款非对称双核微处理器lpc43xx作为系统核心,并完成周边模块的电路设计和选型。2)实现了一种改进的基于优先级的双核通信机制。即双核之间通信时,会选择优先级较高的消息进行传输,而不是简单的执行先到先服务策略。不同优先级的消息存放在不同链表中,优先级相同的消息存放在同一链表中。3)提出了一种双核调试的方法,为开发双核应用提供了方便。完成周边外设模块LCD、触摸屏、音频芯片的驱动程序,为主程序的实现做准备。4)移植emWin图形库到硬件平台上,用以绘制音频播放器的界面。运用Helix解码库完成音频文件的解码,并为用户提供友好的操作界面。本文的最后对系统的整体功能进行了验证,并对性能进行了测试。测试结果表明,在取得同等播放效果下双核处理器与单核处理器相比,功耗降低了,性能获得了明显提升。