A5系列
ZC1 Cat.1,500MHz,AWorksLP
ARM9系列
M1106/M1107 双核,四核800MHz,1GHz HDMI
M7系列
M1052 528MHz,ZigBee,Mifare,WiFi,LoRa
M1062 528MHz,WiFi,双网口,三路CAN
A7系列
M6G2C 528MHz,双网口,8串口,双CAN
A6G2C系列无线IoT核心板 528MHz,ZigBee,Mifare,WiFi,蓝牙
M6Y2C 800MHz,8串口,双网口,大容量
A6Y2C系列无线IoT核心板  800MHZ,8串口,WiFi,蓝牙
M1126 瑞芯微四核,1.5GHz,GPU
A8系列
M335x-T 800MHz,6串口,双网口,双CAN
A3352系列无线IoT核心板 800MHz,WiFi,蓝牙,RFID
A9/A9+FPGA系列
M6708-T 双核/四核,800MHz/1GHz HDMI
M7015 双核Cortex®-A9 + FPGA,766MHz
A35系列
M1808  瑞芯微双核A35,1.6GHz,AI核心板,NPU
A53系列
M62XX 1.4GHz,3路CAN FD,2路千兆,9路串口
M65XX 1.1GHz,扩展18串口或6路千兆网口
M6442 1.0GHz,5路TSN千兆网口,支持EtherCAT,GPMC
A55系列
M3568 

瑞芯微四核A55,2GHz,NPU,GPU,
VPU,Android,ubuntu,debian,鸿蒙

MD9340/MD9350 

芯驰多核,1.6GHz,
2路千兆,4路CAN FD

Risc-V系列
MR6450/MR6750 15路串口,4路CAN FD,2路千兆
MIPS系列
MX2000 1.2GHz,快速启动,实时系统

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完全可以满足视频应用的需求。