温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
嵌入式
视频
播放
系统
设计
2023.6电脑编程技巧与维护1概述近年来,伴随着科技的不断进步和人民生活水平的不断提高,人们对多功能电子设备的需求也在日益增长。嵌入式设备凭借其功能专用和结构精简等特点受到人们的关注,广泛应用于消费电子产品、网络通信、工业控制和仪表测量等领域。目前,已有众多科研人员展开了对嵌入式开发板的研究与设计,开发多种多媒体播放器。邹捷等1采用STM32F103VET作为主控芯片,采用COS-II嵌入式实时操作系统设计出一种具备歌词显示功能的MP3播放器,并设计了可扩展接口供用户进行功能扩展;罗金生等2采用STM32F103ZET6为系统核心,设计出一款可通过手机蓝牙连接播放音乐的多功能播放器,用嵌入式技术实现了音乐的无线畅享;颜锐3同样采用STM32F103ZET6做为系统核心,设计出一款带有计算器、照相机等功能的多功能播放器;张志伟4采用STM32F103VCT6为核心,结合温度传感器、TFT触摸屏等硬件设计出一款带有温度显示的多功能播放器,其同时具有电子书和画板功能。为带给用户丰富的使用体验,在播放音频的基础上添加播放视频、录制音频等额外功能。因此,将嵌入式技术与视频媒体技术结合,设计出一款用户界面友好、支持音频播放与录制等功能的触摸式音视频播放器,该播放器具有实用价值和市场前景。2总体设计方案通过嵌入式系统实现音频解码的方式有2种:软解码和硬解码5。软解码是通过高性能微处理器进行软件解码,解码得到的数据经过数模转换生成用于播放的音频信号,使输入功放模块发出声音。软解码对处理器性能要求较高,不适用于STM32板的开发。硬解码则是借助专用的解码芯片完成对音频信号的流畅解码。硬件解码相比于软解码运算量更少、解码速度更快,可大大降低解码过程的运算开销。在此设计采用硬件解码方式。基于STM32F407搭建系统,其设计包含硬件电路和系统软件两部分。硬件电路设计主要包含电源模块、显示模块、储存模块及音频处理等。系统电源采用3.3 V和5.0 V,选择响应速度快的3.2寸的TFT液晶触摸屏作为系统的显示模块,选用低功耗的WM8978音频处理模块作为系统的数字信号编译码器,存储模块用于储存视频、音乐等文件。硬件总体结构如图1所示。系统软件设计基于占用资源小、可靠性高的COS-II进行构建,可满足系统多任务、多功能的需求。3系统硬件电路硬件电路设计包括电源电路、微控制器电路、数据储存模块电路、音频编解码器电路及TFT_LCD液晶显作者简介:于云昊(1982),男,硕士,中级工程师,研究方向为5G网络通信;樊松(1997),男,本科,研究方向为嵌入式技术应用;焦文潭(1982),男,硕士,副教授,研究方向为嵌入式及机器视觉技术。嵌入式视频播放器系统设计于云昊1,樊松2,焦文潭2(1.中国电信焦作分公司,河南 焦作454000;2.洛阳理工学院,河南 洛阳471000)摘要:采用 ARM Cortex-M4 为内核的 STM32F407 处理器,设计了一套多功能嵌入式视频播放系统。该系统包含主控部分、音频处理器 WM8978、外部 Flash 存储器、SD 卡存储器及液晶触摸屏等组件。对硬件系统及印制电路板(PCB)进行了系统设计,并结合内存管理、libjpeg C 语言、FAT 文件操作、COS-II 和 GUI 完成了系统软件设计。调试完毕后进行测试,可实现视频播放、音乐播放、音频录制、数码相框、计算器、时钟、记事本等相关功能,实物运行表明,该视频播放器工作稳定、运行流畅,可满足用户的多种应用需求。关键词:嵌入式系统;C/OS-系统;视频播放;录音;音频播放图1硬件总体结构Flash电源SD卡按键SDIOSPISTM32F407I2SWM8978LCDSRAMFSMCFSMC149DOI:10.16184/prg.2023.06.0032023.6电脑编程技巧与维护示屏接口电路的设计6。3.1主控芯片STM32F407是由ST(意法半导体)开发的一种高性能微处理器,使用ARM Cortex-M4的32位RISC内核,最大频率为168 MHz,拥有1 MB内置Flash以及192+4 kB的运行内存。拥有3个12位精度的快速ADC和2个12位DAC,内置I2C、I2S、USART、SDIO、SPI、CAN等通信协议接口,可利用SRAM静态存储控制器扩展其存储容量。3.2WM8978 音频处理模块WM8978是一款低功耗的音频多媒体数字编译码器,用于播放器音频信号的编解码过程。带有I2S接口,最高可支持192 kHz,24 bit音频播放,支持无电容耳机驱动和扬声器输出。该系统通过I2S接口接收PCM数据,转为模拟信号输出,完成放音过程。将接收到的模拟信号转为数字信号后,通过I2S接口传输给微控制单元(MCU),完成录音过程。3.3SD 卡模块SD卡模块为MicroSD卡提供硬件接口,MicroSD存储卡是一种体积小、读写速度快的大容量存储介质,提供SPI/SDIO两种通信接口,用于存储音乐、视频、图片等文件。为保证视频文件的流畅读取,设计使用SDIO总线操作模式与主控芯片连接。3.4液晶显示电路液 晶 显 示 电 路 包 含ILI9341液 晶 屏 控 制 芯 片 和XPT2046触摸芯片。ILI9341是一个支持分辨率240320点阵的262144单色驱动器,包含一个320通道的栅极驱动器和一个720通道的源极驱动器。XPT2046是一款4导线制的触摸屏控制器,内置12位分辨率为125 kHz的A/D转换器。系统采用一块3.2寸的TFT_LCD液晶显示屏,实时显示当前播放歌曲的时长、歌词、音量大小等信息。点击触摸屏后会得到模拟电压值,通过XPT2046触摸控制模块将该电压值转换为坐标,完成触摸点击过程。3.5W25Q128 闪存外部Flash选用W25Q128闪存芯片,W25Q128是华邦一款存储空间为128 Mbit的串行NOR Flash存储器,支持10万次以上的数据擦写,可通过标准SPI方式与主控芯片通信。3.6IS62WV51216 模块STM32F407内部配置有192 kB运行内存,防止出现内存不足的情况。系统采用IS62WV51216进行RAM外扩。IS62WV51216是一种高速8 MB静态随机存取储存寄存器(SRAM),采用高性能CMOS工艺制造,具备速度快、功耗低的优势,不需要刷新电路就能保存内部的存储数据,使用片选引脚和输出使能引脚即可实现简单的存储器扩展。系统处理器STM32F407由兼具过流保护的RT9193-3.3提供,该系统通过I2C来配置WM8978的寄存器7,通过I2S接口与MCU进行音频数据传输。I2S采用独立时钟,通过将数据和时钟信号分离,避免了因时差诱发的失真8。数据存储模块电路包括基于FSMC总线接口的SRAM(IS62WV51216),使 用SPI串 行 通 信 的 外 部Flash(W25Q128)电路,通过SDIO接口进行数据读取的SD卡电路及基于I2C总线的EEPROM(AT24C02)电路9。I2S音频编解码器电路如图2所示。该系统显示采用3.2寸的TFT-LCD触摸屏,分辨率为320240。液晶屏控制芯片和触摸芯片分别采用ILI9341和XPT2046。液晶屏的控制芯片电路较复杂,TFT-LCD的每一个像素点都对应着GRAM中一个存储单元,其控制信号是通过芯片内集成电路从GRAM存储单元的数据转化而来的,控制每个点呈现的亮度和颜色,这些点汇聚成显示界面10。为了提高数据传输速度,在系统硬件设计中,采用16位并行方式连接主控与TFT-LCD模块。4系统软件COS-II是一个开源的多任务实时操作系统,包含中断管理、内存管理、多任务管理、定时管理、通信和图2I2S音频编解码器电路WM8978(I2S通信)电源信号隔离耳机咪头电源信号隔离R32ORGNDVCC_3.3VAVCC_3.3VORR33SVCC_5VC33C34104ORR34VCC_5VAGNDSVCC_5V10F10FC35VCC_3.3VGNDC39104C37AGNDAVCC_3.3V10410FL2ROUT1SW5PHONE1R2PHONELOUT1SW6AGND123LIPC43 1FMICRIPC44 1FMIC1LINC48 1F1FRINC4912MICR40ORAGNDSVCC_5VAVCC_3.3VVCC_3.3VGNDAGND26311314124328R354.7K7891011I2S LRCKI2S SCLKI2S SDOUTI2S SDINI2S MCLKR36 4.7KIIC SCLIIC SDA1617R3910KGNDVCC_3.3VWM8978U10ROUT1LOUT1SPKVDDAVDDDCVDDDBVDDROUT2LOUT2OUT3OUT4DGNDSPKGNDGNDPADAGNDL2/GPIO2R2/GPIO3LIPLINRIPRINLRCBCLKADCDATDACDATMCLKAUXLAUXRSCLKSDINMICBIASVMIDCSB/GPIO1MODE29302325222136124519203227C38220F/16VROUT1G40220F/16VLOUT1SPEAKER12L2R2C411FC421FLIPLINRIPRINR37MIC680RC45C46C47R3847K10F 10FAGND1518220pF1502023.6电脑编程技巧与维护图5系统主界面同步等诸多功能。各任务独立工作,很容易实现多任务的准时无误执行,其大部分代码是用C语言编写的。用户只需要使用标准的ANSI的交叉编译器和汇编器,便 可 轻 松 地 将COS-II移 植 到 各 种 微 处 理 器 中。COS-II具有可靠性高、移植性好、可剪切的特点,在多种数字处理芯片和微控制器中应用广泛,是RTOS的典型代表11。系统采用COS-II操作系统支持255个任务书,通过操作系统调用这些任务,进而实现并行任务执行功能,能够满足系统设计要求。该操作系统的基本工作原理是运行就绪任务中优先级最高的任务。(1)初始化所有的全局变量、数据结构,创建最低优先级空闲任务等;(2)创建一个高优先级别TaskStart任务,任务调度后,在这个任务中再创建其他任务,初始化硬件并打开中断;(3)进入多任务管理阶段,将就绪表中最高优先级任务的栈指针加载到SP中,并强制中断返回;(4)在多任务调度开始后,启动时钟节拍源开始计时,此节拍源给系统提供周期性的时钟信号,实现延时和超时确认。基于COS-II系统的软件设计主要包括主任务和监控任务。主任务有系统参数初始化、音频播放任务、视频播放任录音任务等,监控任务有按键检测、GIF图片解码检测、SD卡在位检测等。主任务和监控任务的内部框如图3所示。当系统上电后,先进行向量复位和寄存器状态的初始化,通过设置时钟控制器来确定微处理器的工作频率,设置中断控制寄存器屏蔽中断,并完成地址的分配和C环境的初始化。执行COS-II系统的OSInit()初始化函数,完成优先级列表初始化和全局变量的初始化。当GIF解码检测、SD卡槽检测、USB设备检测等监控任务执行完毕后,进入系统的主界面,播放器进入监听状态。用户双击触摸屏中的App图标后,system_task_re-turn变量置1,执行相应的App程序。当App程序执行完毕后,再将system_task_return变量置1,播放器再次回到系统主界面进入监听状态,等待用户的下一次触摸命令。软件设计主流程如图4所示。5系统实现经调试,该系统可实现音乐播放、音频录制、视频播放、电子图书、数码相框、计算机、时钟、FC游戏机、记事本等功能。系统主界面如图5所示。5.1音乐播放音乐播放任务支持播放.wav/.mp3/.flac及.ape格式的文件。播放器先从SD存储器中读取音乐文件,将读到的数据发送至解码器中转化为数字信号,随后将数字信号转化为模拟信号,最后将其输送至信号放大器进行放大和滤波输出。此过程的关键在于STM32F407对音频文件的解码,解码过