点击上方 “ 意法半导体中国”,关注我们
10月17日st将在北京举行2023 st传感器大会,届时您可以前往会场观看演讲和演示,与我们的工程师面对面讨论。 欢迎扫码注册
阅读本文时,请先阅读:
技术干货 | 传感器的智能之路和实现之道(上)
以前人们讨论谈人工智能时主要关注云计算 — 数据上传到云端,利用其强大计算能力得到结果。然而,云计算的前提是所有的数据都要传到云端,对带宽要求极高,可能到6g时代才能真正实现。
现在我们将人工智能转移到边缘端进行边缘计算。通常情况下,边缘计算是将算法放置到mcu中,传感器只输出数据,mcu运行独立算法。然后,现在我们将算法下沉放到传感器中,有两种不同的方案:
1)基于mlc,采用rpu处理器进行重配置,能将部分算法(如决策树算法)运行于传感器中,再由传感器输出事件结果给mcu。这样就不需要mcu去处理运行全部算法。
2)基于我们今天的主角ispu,intelligent sensor processing unit,智能传感器处理单元。
ispu不是传感器,只是嵌入在传感器imu里面的功能模块。ispu本质上是一种微型c语言可编程处理器,可在传感器内执行信号处理和ai算法,与常见开发工具兼容,相当于传感器中嵌入了一个dsp,可以运行类似mcu的算法。因此,它拥有更强大的功能,可以运行标准的c指令,支持信号处理和ai推理、机器学习和深度学习,甚至二进制神经网络,同时以µa级的功耗提供广泛的编程灵活性,让传感器的智能程度更进一步!
目前带ispu的6轴惯性测量单元(imu)有两种。面向复杂动作手势识别、事件检测和运动追踪等消费应用的lsm6dso16is,以及面向机器人、空调和资产追踪,预测性维护等边缘工业应用的ism330is。除了基本的imu功能(如可配置陀螺仪量程,加速度量程,odr数据,spi/i2c接口),内部还集成了ispu用于人工智能算法和处理超低功耗可编程核心,运行频率最高可达到10兆赫兹,配备32kb用于程序的ram和8kb用于数据的ram,总40kb内存,支持浮点运算及32位整数运算。
st的ispu方案基于dsp架构。这种dsp面积很小,只有8k门;封装也很小,仅为3*2.5*0.83;支持浮点运算,同时也支持神经网络。基于32位的哈佛架构,最高主频可达10mhz,最大输出数据达到6.6khz。
ispu的优势很明显,首先在功耗方面,如果将传感器融合算法运行到ispu中,5mhz功耗仅为200µa。但是,如果运行在cortex-m0上,即使主频为4mhz,功耗也需要1300µa。可见,ispu传感器融合的功耗是比m0低5倍。此外,由于ispu是dsp直接集成在传感器中,可以直接获取类似加速度仪等传感器的处理数据,无需总线参与,从而降低系统的负载和功效。在104hz频率下读取数据时,ispu仅仅耗费1µa,而cortex-m0在4mhz时就已经需要94.4个µa。
当odr增大,ispu运行速率加快时,功耗差距越大。例如,当883hz去提取加速度数据时,ispu功耗仅为7.5µa,而context-m0为747µa,两者的差距已达百倍。当然,对于其他算法,如倾角检测,排气检测,传感器融合,手腕倾斜(比如手表穿带的翻腕亮屏功能),ispu的功耗也很低。
其次是ispu的ai优势 — ispu提供更多选择和更大自由的自学习方案:一方面,它可以支持机器学习,如决策树,scikit-learn;另一方面,它也支持深度学习算法,如常见的qkeras、tensorflow、onnx等,同时,我们采用ispu的编译器,将基于机器学习和深度学习算法模型进行编译,生成ispu可运行的ucf配置文件,通过mcu将该配置文件写入ispu,即可运行算法。这可以广泛应用于个人电子产品(如穿戴设备,头戴设备等)以及工业领域的事件监测等。
ispu的运行原理: 在lsm6dso16is/ism330is的imu内部框架中,传感器hub可以通过i2c连接外部磁力计和气压计等设备。ispu可以通过内部的imu传感链直接读取外部的传感器(地磁或气压计)和内部的加速度、陀螺仪和温度数据。ispu支持运行最多30个算法,但由于ispu是单核,它以串型的方式运行,每一个算法都可以产生一个中断信号,通知主控发生的中断事件。
ispu可以通过i2c与spi与主控连接,同时通过多种寄存器跟主控交互。例如,如果主控需要配置参数,可以通过总线将参数写到ispu的配置寄存器对ispu进行配置,而标志寄存器可以通过总线实现主控和ispu的数据交互。此外,ispu输出数据寄存器可以在中断发生后将数据送出,告知mcu当前发生了什么事件。
ispu开发流程: 首先是基于ispu代码进行编码,使用工具链将其编译成ispu二进制文件。然后,将该ispu二进制文件与传感器配置文件(configuretxt)传感器配置文件一起使用工具生成ispu.h或者.ucf配置文件。将这些文件复制到mcu的应用程序代码中,加载ispu程序并读取算法结果,使用arm工具链进行编译,生成应用.bin文件,最后将应用.bin文件烧录到mcu中运行。
ispu软件的开发工具有3种:1)基于命令行工具cli 命令行主要在windows下使用,通过cmd输入命令来实现编译工作。
采用这种方法,开发之前需要先安装ispu编译工具链,并在windows里安装make工具。然后可以基于我们提供ispu模版开发norm算法,修改传感器配置,通过json输出文件进行编译,再通过gui连接板子并连上电脑,使能ispu。
2)基于eclipse的ide 如stm32cubeide,可以编辑代码及编译ispu程序。开发时需要先下载安装eclipse插件,然后导入工程进行编译。
3)gui 采用algobuilder,无需编写代码,只需要在软件中拖拽不同模块进行连接,即可自动生成代码。用户需要先在st官网上下载algobuidler、stm32cubeide、stm32cubeprogrammer和unico-gui软件并安装,通过设置后即可实现零代码设计,基于模块固件编译和烧写以及调用unicleo-gui。
以下便是我们的一个演示视频,在unicleo-gui打开过程自动连接通过usb线插入电脑的硬件开发套件,当移动评估板的时候,3d头像会跟随展示对应的空间姿态。
在我们的视频课程里还包括了如何将ispu代码集成到mcu的更详尽的解说,各位可自行前往观看讲解。
end
相关阅读 ▷ 技术干货 | 传感器的智能之路和实现之道(上)
▷ st tmos热敏红外传感器: 精准检测人员存在和移动
▷ 意法半导体全新多区测距tof传感器:高达90度视场角堪比相机水准
长按二维码关注,了解更多信息专业 | 科技 | 有范▲ 长按关注意法半导体中国
原文标题:技术干货 | 传感器的智能之路和实现之道(下)
文章出处:【微信公众号:意法半导体中国】欢迎添加关注!文章转载请注明出处。
华为Mate 60 Pro:搭载麒麟9000S芯片,独立自主实现技术突破
PLC FB函数块和FB函数如何调用?
兆越通讯助力丽江开启梦幻轨交专线
Intel九代酷睿i9-9900KF性能实测 到底香不香
国产铝箔企业通过SKI供应审核
技术干货 | 传感器的智能之路和实现之道(下)
导电塑料在通信设备电磁屏蔽上的应用介绍
联发科宣布与OPPO合作,共建轻量化大模型端侧部署方案
危险——云计算并非万能,用于电网有危机
硬件终端市场已打牢,华为持续发力欲与苹果争夺开发者
电源抑制比是什么意思?电源抑制比怎么提高?
基于CPLD和VHDL实现时间控制器系统的设计
基于单片机的调光控制器设计
新视智科锂电池隔膜缺陷视觉检测系统,助力企业降本提质增效
货拉拉完成7轮融资:打造互联网物流商城
无线电波频谱是如何工作的?
松下与特斯拉合作获得即将盈利 目前仍处于亏损状态
iphone7plus什么时候上市
瑞萨电子高效电源管理IC应用于Google Coral AI产品中
Galaxy A60 元气版发布! 定位更精明,三星化身“外科医生”