请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ISPU的运行原理

[复制链接]
guoyuli 发布时间:2023-9-15 10:28
在LSM6DSO16IS/ISM330IS的IMU内部框架中,传感器hub可以通过I2C连接外部磁力计和气压计等设备。ISPU可以通过内部的IMU传感链直接读取外部的传感器(地磁或气压计)和内部的加速度、陀螺仪和温度数据。ISPU支持运行最多30个算法,但由于ISPU是单核,它以串型的方式运行,每一个算法都可以产生一个中断信号,通知主控发生的中断事件。

, y2 s4 \; D: {# s
ISPU可以通过I2C与SPI与主控连接,同时通过多种寄存器跟主控交互。例如,如果主控需要配置参数,可以通过总线将参数写到ISPU的配置寄存器对ISPU进行配置,而标志寄存器可以通过总线实现主控和ISPU的数据交互。此外,ISPU输出数据寄存器可以在中断发生后将数据送出,告知MCU当前发生了什么事件。
640 (18).png

4 m5 q7 t  ~1 T+ D& @8 C
% s& X6 F9 _( z+ ?" e) V1 v9 m: g# o
ISPU开发流程
首先是基于ISPU代码进行编码,使用工具链将其编译成ISPU二进制文件。然后,将该ISPU二进制文件与传感器配置文件(configureTXT)传感器配置文件一起使用工具生成ISPU.h或者.UCF配置文件。将这些文件复制到MCU的应用程序代码中,加载ISPU程序并读取算法结果,使用ARM工具链进行编译,生成应用.bin文件,最后将应用.bin文件烧录到MCU中运行。
7 @- |" N+ [! B5 Y- G8 T0 v1 t
640 (19).png
3 E9 i) \, P8 d# D% @
1)基于命令行工具CLI
: k- z& {- y! x/ e) T
2 E+ h* g$ D- C3 {. g
命令行主要在Windows下使用,通过CMD输入命令来实现编译工作。
3 |- s+ q% O- s+ ^8 u
采用这种方法,开发之前需要先安装ISPU编译工具链,并在Windows里安装make工具。然后可以基于我们提供ISPU模版开发Norm算法,修改传感器配置,通过json输出文件进行编译,再通过GUI连接板子并连上电脑,使能ISPU。

+ [( Z2 c3 p4 d& Q/ ^, Y& v" s2)基于Eclipse的IDE
  {/ J( z1 T# _& c& t" U) Q/ }4 V$ D, ^0 r
如STM32CubeIDE,可以编辑代码及编译ISPU程序。开发时需要先下载安装Eclipse插件,然后导入工程进行编译。

$ n3 C. s8 B, c$ |1 D; T" b) i3)GUI' w- @' _  ~, B$ L, @& w$ T' V* f

9 k3 ~6 _( u# Y8 G- L! _
采用AlgoBuilder,无需编写代码,只需要在软件中拖拽不同模块进行连接,即可自动生成代码。用户需要先在ST官网上下载AlgoBuidler、STM32CubeIDE、STM32CubeProgrammer和Unico-GUI软件并安装,通过设置后即可实现零代码设计,基于模块固件编译和烧写以及调用Unicleo-GUI。
0 ^. E! Q' N2 f

( a4 Y; Y& K+ p* w8 d" O' V( F4 K  t2 ^" r. ^
; Z, d" {6 h4 m" {
转载自意法半导体中国公众号
6 H4 c# l+ i& Q& B/ i7 E
收藏 评论0 发布时间:2023-9-15 10:28

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版