SoC FPGA异构芯片在智能家电领域的差异化设计

智能家电的发展需求
随着技术的进步和信息化程度的提高,人们对智能家电的要求也越来越高。智能家电产品在升级进阶的过程中,针对家电产品的技术方面,包括电机运动控制、hmi的可视化控制、远程无线控制等诸多方面的多元化应用都有了高层次的需求。
多集成强算力soc fpga助力aiot快速发展
在aiot时代,智能家电的主控ic将不再只是负责核心控制,而是需要融合推理和运算等ai能力,更将图像分析、生物识别等多种人工智能算法融入家电领域,已经成为智能家电产品发展的必然趋势之一。
新一代soc fpga凭借其强大的并行处理数据的能力和实时性的特点在aiot领域发挥着独特的作用。随着集成电路的发展,soc fpga的性能不断提高,同时较为先进的控制理论和控制算法的成熟,使得bldc变频电机等运动控制的应用越来越广泛,各种先进的控制算法可以通过soc fpga中fpga部分高效实现。图像处理方面,相比使用单一mcu或cpu,fpga能够达到较高的实时性,可以进行实时流水线运算。在深度神经网络方面,fpga对卷积神经网络(cnn)、循环神经网络(rnn)和较复杂的并行神经网络算法的加速具有一定的优势。
在人机交互界面(hmi)方面,相比之前用低主频/小存储的单一mcu实现方案,基于强大处理能力的soc fpga异构芯片能够帮助客户快速实现定制化且精美的人机图形界面。
目前较为流行的嵌入式图形库包括:lvgl(little vgl)emwinqt和touchgfx等,比较而言,lvgl界面更加精美,支持更多图形控件,更重要的是消耗资源少,是一款轻量级的gui工具。lvgl对硬件和开发环境有如下要求:
应用于16、32或64位微控制器或处理器;
flash大于64kb,ram大于8kb(最小内存64kb flash,8kb ram);
推荐主频大于16mhz的微控制器;
lvgl的图形缓冲区大于水平分辨率像素;
使用c编写以获得最大兼容性(兼容c++);
需要c99或者更新的编译器。
soc fpga异构芯片在智能家电领域的优势
结合现代智能家电的发展和应用需求,一方面需要对电气做出快速、精准的控制,另一方面又要为消费者提供优质的人机交互界面(hmi),本文介绍的hme soc fpga异构芯片在性能、功耗、计算速度、人机交互处理等方面均具有一定的优势。这类新型的异构芯片更适用于新需求下智能家电领域的解决方案。
hme-m7的特点
hme-m7系列芯片是自主研发的国产soc fpga,集成了arm cortex-m3内核和高性能fpga,采用高达12k容量的新型lp结构,优化了fpga与cortex-m3内核的通信接口。设计者可根据设计需求在fpga上实现不同类型接口,如:usb2.0 host/device接口、pci(33m/66m)接口、ahb2apb bridge接口、sdr sdram controller接口、fifo/ahb接口、fifo接口、ahb接口、emb接口等,m7系列芯片将fpga、cpu、sram、asic、flash以及模拟单元等功能模块集成在单一芯片上,不仅极大地降低了工程师的设计难度,有效减小了所需要的板间面积,还成功降低了系统成本,具备超高的系统性价比。
在智能家电方案中,该芯片可利用硬件描述语言verilog进行电气控制各个模块的编写,同时通过内嵌的cortex-m3内核进行hmi方案的整体设计。表1是不同型号的hme-m7系列芯片的具体参数,由于hmi的开发需要较大的frambuffer来缓存图像数据,m7m12n5型号配置有64mb的sdram可用作图像的frambuffer。此外,还配有11,520个lut(look-up-table查找表),7,680个寄存器,emb(embedded memory block内嵌存储模块)容量最大值为648kb;在sram(static random access memory)方面,instruction区有128kb,data区有64kb,4路pll(phase-locked-loop),1个cortex-m3内核,3路uart,2路spi,用户i/o有310个,结合以上资源情况m7m12n5型号芯片适用于hmi的方案设计。因此完全适合在其上集成开发hmi方案与电气业务逻辑的功能处理。下面给出基于m7m12n5和hmi设计方案。
表1. hme-m7系列芯片具体参数
硬件方案
硬件架构如下图所示,该方案设计的屏幕选用tft lcd+touch 5寸屏,分辨率480*854,每个pixel为rgb888。使用到m7 arm部分的usb、rtc、nandflash、iic、uart等控制器。外设应用如下:
uart用作gui与电气控制的指令交互传输;
usb功能用于u盘下载图片和字库等资源到nandflash中;
norflash存储bootloader和app程序文件;
nandflash用于存储图片和字库等资源;
lcd的触控功能是通过iic信号控制gt911触控芯片实现;
buzzer用于音效设计,通过pwm来控制;
rtc为系统提供时间功能。
软件开发流程
1
python脚本生成图片和字体资源
通过python脚本对图片、字体、多语言的资源处理:
­­该方案中移植的lvgl支­持两种图片资源格式:背景图片和osd图片。其中背景图片只能是和屏幕一样大小,不支持透明度,像素格式为rgb888;osd图片不限制大小,像素格式为a8r5g6b5。通过python脚本将这些图片转化成像素值的二进制文件的格式。
字体资源是通过python脚本从标准的字体库文件里面提取文字,由于字体库包含了大量字体,所以没有将所有字体都存储成bin文件。为了节约nandflash的存储空间,需要根据实际用到的汉字进行字体选择,获取到字体形状的像素值保存至字体的二进制文件中。同时,方案的gui支持中文、英文、俄罗斯语、西班牙语等多种语言。
2
bootloader资源下载与app程序引导
bootloader主要有三个功能:
将u盘的图片资源和app执行程序下载到nandflash和norflash中;
初始化lcd及touch功能;
引导app程序启动运行。
3
app图形界面开发
在开发中可以使用pc端图形模拟器对gui进行测试和调试,能更快的设计gui和找出设计过程中的问题。模拟器配合不同的ide软件即可在不同的操作系统上运行,本设计采用windows系统下的visual studio。
visual studio模拟环境可以用来开发与硬件无关的gui功能,直接对gui的效果进行设计,并可与mdk工程的代码同步,便于加速板级程序开发。为了达到流畅的视觉效果,方案中利用sdram实现3 frambuffer作为图像界面的缓存,如设计一个日期和时间显示页面。示例代码和visual studio模拟器运行效果如下:
日期和时间显示中使用到6个roller,分别对应年、月、日、时、分、上/下午的设定,回调函数中将roller选择的相应日期和时间设定到rtc的时间里。visual studio工程的代码会同步到mdk工程中,对gui显示的设计完成后可编译app部分的mdk工程的代码。
总结
综上,hme soc fpga适用于智能家电的经济型产品中的hmi设计方案旨在为开发者提供简便/美观的人机交互与显示设计方案。此外,基于fpga平台的电机控制方案可将电机控制的时延做得更小和更精准,可以将电机的能效做得更高,这样就使得电机设备的差异化优势更大。
随着大数据及aiot的发展,具备低功耗/低延时/高性能/高并发处理能力的soc fpga异构计算变得愈发重要,而其最大的优点是具有比传统mcu/cpu并行计算更高效率和更低延时的计算性能。


Solacoat 隔热降温涂膜进军中国的通信机站
【技术大咖测试笔记系列】之九:新型SMU克服低电流容性设置的棘手测试挑战
游戏开发人员PowerVR图形SDK学习教程
康宁汽车玻璃解决方案业务将投资设立工厂
EtherCAT转EtherNET/IP协议网关采集EtherCAT设备数据的方法
SoC FPGA异构芯片在智能家电领域的差异化设计
SK创新为现代50万电动车提供锂离子电池
慧能泰重磅推出一款A+C双口快充芯片HUSB365
数模转换器如何将数字信号转换为模拟信号
浅谈LED太阳能灯技术原理
柯尼卡美能达成像式解决方案攻克显示检测痛点
高精地图之3D栅格地图的应用
保险业数字化转型是否会步入快车道?
雷达目标模拟器为自动驾驶提供可靠的测试解决方案
10月Honor Magic2/小米 Mix3/联想 Z5 Pro多款滑盖全屏扎堆上市
工业静电测试仪器一览
揭秘中兴Axon20屏下摄像的五大秘密
语音提示芯片在吸尘器上的应用方案!
微星不用AMD处理器根本原因是什么
视觉镜头基础知识:工业相机工作的精准与稳定如何保证?