智能家電的發(fā)展需求
隨著技術(shù)的進(jìn)步和信息化程度的提高,人們對(duì)智能家電的要求也越來越高。智能家電產(chǎn)品在升級(jí)進(jìn)階的過程中,針對(duì)家電產(chǎn)品的技術(shù)方面,包括電機(jī)運(yùn)動(dòng)控制、HMI的可視化控制、遠(yuǎn)程無(wú)線控制等諸多方面的多元化應(yīng)用都有了高層次的需求。
(資料圖片)
多集成強(qiáng)算力SoC FPGA助力AIoT快速發(fā)展
在AIoT時(shí)代,智能家電的主控IC將不再只是負(fù)責(zé)核心控制,而是需要融合推理和運(yùn)算等AI能力,更將圖像分析、生物識(shí)別等多種人工智能算法融入家電領(lǐng)域,已經(jīng)成為智能家電產(chǎn)品發(fā)展的必然趨勢(shì)之一。
新一代SoC FPGA憑借其強(qiáng)大的并行處理數(shù)據(jù)的能力和實(shí)時(shí)性的特點(diǎn)在AIoT領(lǐng)域發(fā)揮著獨(dú)特的作用。隨著集成電路的發(fā)展,SoC FPGA的性能不斷提高,同時(shí)較為先進(jìn)的控制理論和控制算法的成熟,使得BLDC變頻電機(jī)等運(yùn)動(dòng)控制的應(yīng)用越來越廣泛,各種先進(jìn)的控制算法可以通過SoC FPGA中FPGA部分高效實(shí)現(xiàn)。圖像處理方面,相比使用單一MCU或CPU,F(xiàn)PGA能夠達(dá)到較高的實(shí)時(shí)性,可以進(jìn)行實(shí)時(shí)流水線運(yùn)算。在深度神經(jīng)網(wǎng)絡(luò)方面,F(xiàn)PGA對(duì)卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和較復(fù)雜的并行神經(jīng)網(wǎng)絡(luò)算法的加速具有一定的優(yōu)勢(shì)。
在人機(jī)交互界面(HMI)方面,相比之前用低主頻/小存儲(chǔ)的單一MCU實(shí)現(xiàn)方案,基于強(qiáng)大處理能力的SoC FPGA異構(gòu)芯片能夠幫助客戶快速實(shí)現(xiàn)定制化且精美的人機(jī)圖形界面。
目前較為流行的嵌入式圖形庫(kù)包括:LVGL(Little VGL)emWinQT和TouchGFX等,比較而言,LVGL界面更加精美,支持更多圖形控件,更重要的是消耗資源少,是一款輕量級(jí)的GUI工具。LVGL對(duì)硬件和開發(fā)環(huán)境有如下要求:
應(yīng)用于16、32或64位微控制器或處理器;
Flash大于64kB,RAM大于8kB(最小內(nèi)存64kB Flash,8kB RAM);
推薦主頻大于16MHz的微控制器;
LVGL的圖形緩沖區(qū)大于水平分辨率像素;
使用C編寫以獲得最大兼容性(兼容C++);
需要C99或者更新的編譯器。
SoC FPGA異構(gòu)芯片在智能家電領(lǐng)域的優(yōu)勢(shì)
結(jié)合現(xiàn)代智能家電的發(fā)展和應(yīng)用需求,一方面需要對(duì)電氣做出快速、精準(zhǔn)的控制,另一方面又要為消費(fèi)者提供優(yōu)質(zhì)的人機(jī)交互界面(HMI),本文介紹的HME SoC FPGA異構(gòu)芯片在性能、功耗、計(jì)算速度、人機(jī)交互處理等方面均具有一定的優(yōu)勢(shì)。這類新型的異構(gòu)芯片更適用于新需求下智能家電領(lǐng)域的解決方案。
HME-M7的特點(diǎn)
HME-M7系列芯片是自主研發(fā)的國(guó)產(chǎn)SoC FPGA,集成了ARMCortex-M3內(nèi)核和高性能FPGA,采用高達(dá)12K容量的新型LP結(jié)構(gòu),優(yōu)化了FPGA與Cortex-M3內(nèi)核的通信接口。設(shè)計(jì)者可根據(jù)設(shè)計(jì)需求在FPGA上實(shí)現(xiàn)不同類型接口,如:USB2.0 Host/Device接口、PCI(33M/66M)接口、AHB2APB Bridge接口、SDR SDRAM Controller接口、FIFO/AHB接口、FIFO接口、AHB接口、EMB接口等,M7系列芯片將FPGA、CPU、SRAM、ASIC、Flash以及模擬單元等功能模塊集成在單一芯片上,不僅極大地降低了工程師的設(shè)計(jì)難度,有效減小了所需要的板間面積,還成功降低了系統(tǒng)成本,具備超高的系統(tǒng)性價(jià)比。
在智能家電方案中,該芯片可利用硬件描述語(yǔ)言Verilog進(jìn)行電氣控制各個(gè)模塊的編寫,同時(shí)通過內(nèi)嵌的Cortex-M3內(nèi)核進(jìn)行HMI方案的整體設(shè)計(jì)。表1是不同型號(hào)的HME-M7系列芯片的具體參數(shù),由于HMI的開發(fā)需要較大的FramBuffer來緩存圖像數(shù)據(jù),M7M12N5型號(hào)配置有64Mb的SDRAM可用作圖像的FramBuffer。此外,還配有11,520個(gè)LUT(Look-Up-Table查找表),7,680個(gè)寄存器,EMB(Embedded Memory Block內(nèi)嵌存儲(chǔ)模塊)容量最大值為648Kb;在SRAM(Static Random Access Memory)方面,Instruction區(qū)有128KB,Data區(qū)有64KB,4路PLL(Phase-Locked-Loop),1個(gè)Cortex-M3內(nèi)核,3路UART,2路SPI,用戶I/O有310個(gè),結(jié)合以上資源情況M7M12N5型號(hào)芯片適用于HMI的方案設(shè)計(jì)。因此完全適合在其上集成開發(fā)HMI方案與電氣業(yè)務(wù)邏輯的功能處理。下面給出基于M7M12N5和HMI設(shè)計(jì)方案。
表1. HME-M7系列芯片具體參數(shù)
硬件方案
硬件架構(gòu)如下圖所示,該方案設(shè)計(jì)的屏幕選用TFT LCD+Touch 5寸屏,分辨率480*854,每個(gè)pixel為RGB888。使用到M7 ARM部分的USB、RTC、NandFlash、IIC、UART等控制器。外設(shè)應(yīng)用如下:
UART用作GUI與電氣控制的指令交互傳輸;
USB功能用于U盤下載圖片和字庫(kù)等資源到NandFlash中;
NorFlash存儲(chǔ)Bootloader和App程序文件;
NandFlash用于存儲(chǔ)圖片和字庫(kù)等資源;
LCD的觸控功能是通過IIC信號(hào)控制GT911觸控芯片實(shí)現(xiàn);
Buzzer用于音效設(shè)計(jì),通過pwm來控制;
RTC為系統(tǒng)提供時(shí)間功能。
軟件開發(fā)流程
1
Python腳本生成圖片和字體資源
通過Python腳本對(duì)圖片、字體、多語(yǔ)言的資源處理:
--該方案中移植的LVGL支-持兩種圖片資源格式:背景圖片和OSD圖片。其中背景圖片只能是和屏幕一樣大小,不支持透明度,像素格式為RGB888;OSD圖片不限制大小,像素格式為A8R5G6B5。通過Python腳本將這些圖片轉(zhuǎn)化成像素值的二進(jìn)制文件的格式。
字體資源是通過Python腳本從標(biāo)準(zhǔn)的字體庫(kù)文件里面提取文字,由于字體庫(kù)包含了大量字體,所以沒有將所有字體都存儲(chǔ)成bin文件。為了節(jié)約NandFlash的存儲(chǔ)空間,需要根據(jù)實(shí)際用到的漢字進(jìn)行字體選擇,獲取到字體形狀的像素值保存至字體的二進(jìn)制文件中。同時(shí),方案的GUI支持中文、英文、俄羅斯語(yǔ)、西班牙語(yǔ)等多種語(yǔ)言。
2
BootLoader資源下載與App程序引導(dǎo)
BootLoader主要有三個(gè)功能:
將U盤的圖片資源和App執(zhí)行程序下載到Nandflash和NorFlash中;
初始化LCD及Touch功能;
引導(dǎo)App程序啟動(dòng)運(yùn)行。
3
APP圖形界面開發(fā)
在開發(fā)中可以使用PC端圖形模擬器對(duì)GUI進(jìn)行測(cè)試和調(diào)試,能更快的設(shè)計(jì)GUI和找出設(shè)計(jì)過程中的問題。模擬器配合不同的IDE軟件即可在不同的操作系統(tǒng)上運(yùn)行,本設(shè)計(jì)采用Windows系統(tǒng)下的Visual Studio。
Visual Studio模擬環(huán)境可以用來開發(fā)與硬件無(wú)關(guān)的GUI功能,直接對(duì)GUI的效果進(jìn)行設(shè)計(jì),并可與MDK工程的代碼同步,便于加速板級(jí)程序開發(fā)。為了達(dá)到流暢的視覺效果,方案中利用SDRAM實(shí)現(xiàn)3 FramBuffer作為圖像界面的緩存,如設(shè)計(jì)一個(gè)日期和時(shí)間顯示頁(yè)面。示例代碼和Visual Studio模擬器運(yùn)行效果如下:
日期和時(shí)間顯示中使用到6個(gè)roller,分別對(duì)應(yīng)年、月、日、時(shí)、分、上/下午的設(shè)定,回調(diào)函數(shù)中將roller選擇的相應(yīng)日期和時(shí)間設(shè)定到RTC的時(shí)間里。Visual Studio工程的代碼會(huì)同步到MDK工程中,對(duì)GUI顯示的設(shè)計(jì)完成后可編譯APP部分的MDK工程的代碼。
總結(jié)
綜上,HME SoC FPGA適用于智能家電的經(jīng)濟(jì)型產(chǎn)品中的HMI設(shè)計(jì)方案旨在為開發(fā)者提供簡(jiǎn)便/美觀的人機(jī)交互與顯示設(shè)計(jì)方案。此外,基于FPGA平臺(tái)的電機(jī)控制方案可將電機(jī)控制的時(shí)延做得更小和更精準(zhǔn),可以將電機(jī)的能效做得更高,這樣就使得電機(jī)設(shè)備的差異化優(yōu)勢(shì)更大。
隨著大數(shù)據(jù)及AIoT的發(fā)展,具備低功耗/低延時(shí)/高性能/高并發(fā)處理能力的SoC FPGA異構(gòu)計(jì)算變得愈發(fā)重要,而其最大的優(yōu)點(diǎn)是具有比傳統(tǒng)MCU/CPU并行計(jì)算更高效率和更低延時(shí)的計(jì)算性能。
編輯:黃飛
標(biāo)簽: