MCU能否勝任多媒體視頻應(yīng)用呢?
對(duì)于視屏應(yīng)用來(lái)說(shuō),當(dāng)處理器內(nèi)部不具備GPU單元時(shí),編解碼庫(kù)對(duì)視頻文件的解碼需要由CPU提供快速的運(yùn)算能力以及大量的內(nèi)存作為緩沖,這是傳統(tǒng)單片機(jī)無(wú)法勝任的主要因素,所以視頻應(yīng)用多采用M6Y2CCortex?-A7\M6708 Cortex?-A9這類(lèi)應(yīng)用處理器的核心板。
M1052作為Cortex?-M7核的跨界核心板,已兼?zhèn)淞梭w積小、低功耗、簡(jiǎn)單易用、低成本等優(yōu)點(diǎn),是否還能具備強(qiáng)勁的音視頻編解碼能力呢?
圖1 M1052跨界核心板
i.MXRT1052對(duì)視頻應(yīng)用的支持
i.MX RT1052雖然采用了MCU內(nèi)核,但基于應(yīng)用處理器的架構(gòu)方式,既能實(shí)現(xiàn)應(yīng)用處理器的高性能和豐富功能,同時(shí)又兼具傳統(tǒng)MCU的易用性和實(shí)時(shí)低功耗運(yùn)行特性,填補(bǔ)高性能與易用性之間的空白。
i.MX RT1052的內(nèi)核運(yùn)行速度高達(dá)600MHz,內(nèi)置高密度的512KB TCM SRAM,并能夠?qū)崿F(xiàn)超快的實(shí)時(shí)響應(yīng),中斷延遲低至20納秒。并支持SEMC接口,可掛載SDRAM作為內(nèi)存擴(kuò)充。eLCDIF外設(shè)可輕松實(shí)現(xiàn)顯示屏的驅(qū)動(dòng),并內(nèi)置的SAI音頻接口和MQS聲卡,為音視頻應(yīng)用提供了良好的支持。
圖2 RT1052框架圖
M1052核心板視頻應(yīng)用開(kāi)發(fā)
M1052核心板雖然以工業(yè)控制應(yīng)用為主導(dǎo),但也可以用于多媒體應(yīng)用,輔助產(chǎn)品多元化。M1052核心板板載16MB SDRAM,賦予數(shù)據(jù)極大的緩沖空間,可掛載TF卡、U盤(pán)、Nand,QSPI Flash,為系統(tǒng)應(yīng)用提供大容量的存儲(chǔ)擴(kuò)展。支持超高分辨率的1366X768 LCD顯示屏,支持硬件浮點(diǎn)運(yùn)算,刷圖速度可達(dá)80幀/S,豐富的資源和強(qiáng)勁性能為視頻應(yīng)用開(kāi)發(fā)打下了堅(jiān)實(shí)的
圖3視頻播放器示例
集成專(zhuān)業(yè)編解碼函數(shù)庫(kù)
libjpeg是一個(gè)開(kāi)源的JPEG壓縮/解壓縮函數(shù)庫(kù),具有穩(wěn)定性高,兼容性強(qiáng),解碼速度快等優(yōu)點(diǎn)。解碼庫(kù)全部由C語(yǔ)言實(shí)現(xiàn)的,非常容易移植到不同平臺(tái)上。對(duì)比i.MX RT1052的性能和資源,解碼庫(kù)使用libjpeg是個(gè)不錯(cuò)的選擇。因此,視頻播放器Demo程序中使用libjpeg實(shí)現(xiàn)對(duì)JPEG格式的AVI視頻解碼。
圖4 支持libjpeg編解碼函數(shù)庫(kù)
多元化視頻播放方式
視頻播放Demo程序?qū)崿F(xiàn)了一個(gè)比較完善的視頻播放器框架,GUI界面任務(wù)負(fù)責(zé)圖像顯示和觸屏處理,控制狀態(tài)機(jī)對(duì)播放邏輯進(jìn)行狀態(tài)轉(zhuǎn)換,音、視頻的解碼和播放任務(wù)協(xié)同工作,達(dá)到了良好的音視同步的效果,程序設(shè)計(jì)框架所示。
圖5 視頻設(shè)計(jì)框架
視頻播放器支持從的TF卡、U盤(pán)、Nand Flash讀取視頻文件,支持文件列表預(yù)覽,文件選取,播放進(jìn)度控制等功能。在音視頻同步的情況下,能流暢播放480 X 272分辨率的25幀/s視頻,CPU占用率約為35%,可見(jiàn)i.MX RT1052完全可以滿足視頻應(yīng)用的需求。