瑞萨
CPMG2UL 单核Cortex®-A55,1.0GHz,2路千兆,2路CAN FD
CPMG2L 双核Cortex®-A55,1.2GHz,2路千兆,2路CAN FD
TI
M62xx 1.4GHz,3路CAN FD,2路千兆,9路串口
M6442 1.0GHz,5路TSN千兆网口,支持EtherCAT,GPMC
M65xx 1.1GHz,扩展18串口或6路千兆网口
M335x-T 800MHz,6串口,双网口,双CAN
A3352系列无线IoT核心板 800MHz,WiFi,蓝牙,RFID
NXP
M6Y2C 800MHz,8串口,双网口,大容量
A6G2C系列无线IoT核心板 528MHz,ZigBee,
Mifare,WiFi,蓝牙
A6Y2C系列无线IoT核心板 800MHZ,8串口,WiFi,蓝牙
M6G2C 528MHz,双网口,8串口,双CAN
M6708-T 双核/四核,800MHz/1GHz,专注多媒体
瑞芯微
M3568 四核A55,2GHz,NPU,GPU,VPU
M1808 双核A35,1.6GHz,AI核心板,3 TOPs NPU
M1126 四核A7,1.5GHz,2.0 TOPs NPU
先楫
MR6450/MR6750 15路串口,4路CAN FD,2路千兆
芯驰
MD9340/MD9350 真多核异构A55+R5,1.6GHz,
2路千兆,4路CAN FD
MD9360 六核 Cortex®-A55,1.6GHz,2路千兆,4路CAN FD
君正
MX2000 1.2GHz,快速启动,实时系统
Xilinx
M7015 双核Cortex®-A9+FPGA,766MHz

MCU能否胜任多媒体视频应用呢?

对于视屏应用来说,当处理器内部不具备GPU单元时,编解码库对视频文件的解码需要由CPU提供快速的运算能力以及大量的内存作为缓冲,这是传统单片机无法胜任的主要因素,所以视频应用多采用M6Y2CCortex®-A7\M6708 Cortex®-A9这类应用处理器的核心板。

M1052作为Cortex®-M7核的跨界核心板,已兼备了体积小、低功耗、简单易用、低成本等优点,是否还能具备强劲的音视频编解码能力呢?

图1 M1052跨界核心板

i.MXRT1052对视频应用的支持

i.MX RT1052虽然采用了MCU内核,但基于应用处理器的架构方式,既能实现应用处理器的高性能和丰富功能,同时又兼具传统MCU的易用性和实时低功耗运行特性,填补高性能与易用性之间的空白。

i.MX RT1052的内核运行速度高达600MHz,内置高密度的512KB TCM SRAM,并能够实现超快的实时响应,中断延迟低至20纳秒。并支持SEMC接口,可挂载SDRAM作为内存扩充。eLCDIF外设可轻松实现显示屏的驱动,并内置的SAI音频接口和MQS声卡,为音视频应用提供了良好的支持。

图2 RT1052框架图

M1052核心板视频应用开发

M1052核心板虽然以工业控制应用为主导,但也可以用于多媒体应用,辅助乐动官方在线入口多元化。M1052核心板板载16MB SDRAM,赋予数据极大的缓冲空间,可挂载TF卡、U盘、Nand,QSPI Flash,为系统应用提供大容量的存储扩展。支持超高分辨率的1366X768 LCD显示屏,支持硬件浮点运算,刷图速度可达80帧/S,丰富的资源和强劲性能为视频应用开发打下了坚实的

图3视频播放器示例

集成专业编解码函数库

libjpeg是一个开源的JPEG压缩/解压缩函数库,具有稳定性高,兼容性强,解码速度快等优点。解码库全部由C语言实现的,非常容易移植到不同平台上。对比i.MX RT1052的性能和资源,解码库使用libjpeg是个不错的选择。因此,视频播放器Demo程序中使用libjpeg实现对JPEG格式的AVI视频解码。

图4 支持libjpeg编解码函数库

多元化视频播放方式

视频播放Demo程序实现了一个比较完善的视频播放器框架,GUI界面任务负责图像显示和触屏处理,控制状态机对播放逻辑进行状态转换,音、视频的解码和播放任务协同工作,达到了良好的音视同步的效果,程序设计框架所示。

图5 视频设计框架

视频播放器支持从的TF卡、U盘、Nand Flash读取视频文件,支持文件列表预览,文件选取,播放进度控制等功能。在音视频同步的情况下,能流畅播放480 X 272分辨率的25帧/s视频,CPU占用率约为35%,可见i.MX RT1052完全可以满足视频应用的需求。