本篇文章主要介绍,通过 MCU :S32K144 对 NSA9260 寄存器进行读写操作,并通过串口工具打印出读写寄存器的值。
一、 简介
1.1 Novosense NSA9260 Boost
1、NSA9260 是一个桥式汽车压力传感器调理芯片
2、支持 AEC-Q100 认证
3、专有的 OWI 通信模式
4、工作电压范围:4.5~5.5V
5、封装形式:SSOP16
1.2 NSA9260 应用场合
1、压力传感器及变送器
2、汽车制动系统
3、汽车空调系统
1.3 NSA9260 芯片框架图
二、 演示
2.1 设计思路
1、通过 MCU(S32K144) 给 NSA9260 Sensor 供电和通信
2、通过 OWI 协议读写 NSA9260 Sensor 寄存器
3、读取 NSA9260 Sensor 寄存器的值,串口打印出来
2.2 硬件资源
1) WPI Echoes(S32K144-Q100)
2) WPI LPClink2 Debugger
3) NovoSense NSA9260 Sensor
4) WPI USB Programming Dongle
下面是硬件连接图:
2.3 软件资源
1) 代码开发:S32 Design Studio for ARM v2.2
2) 串口工具:MobaXterm_Per
代码部分展示:
OWI 主机在发送开始条件后需要发送寻址和读写控制信息,包含 8 位的寄存器地址,2 位字节数控制位和 1 位读写控制位。寄存器地址指示读写寄存器的首地址( MSB 在前)。字节数控制位指示连续读写的字节数, 00 :读写 1 个字节, 01 :读写 2 个字节, 10 :读写 3 个字节, 11 :读写 4 个字节。读写控制位指示是读操作还是写操作,0 :写操作, 1 :读操作。
在读操作中,OWI 主机发送完读写控制位后,将 OWI 线拉高一段时间后(<1/4 OWI周期),再将引脚设为输入状态。芯片会在 OWI 为高后,开始连续发送指定寄存器地址开始的1/2/3/4(由字节数控制位决定)
字节的内容及其 2 位奇偶校验码(C1 和 C0),OWI 主机在接收到全部数据后重新获得总线控制权,如图所示。
其中,
C1 = Read_data[7] ^ Read_data[5] ^ Read_data[3] ^ Read_data[1];
C0 = Read_data[6] ^ Read_data[4] ^ Read_data[2] ^ Read_data[0].
OWI 主机可以根据该奇偶校验位判断读取的数据是否正确。
在写操作中,OWI 主机发送完读写控制位后,继续发送 1/2/3/4 个字节(由字节数控制位决定),数据将被依次写入指定的寄存器地址及其后续地址,如图所示。
2.4 串口显示
执行完代码,打开串口显示工具,按下按键,读写寄存器的值会显示如下图。
三、 注意事项
NSA9260 的 REG_LVL 寄存器默认值是 0,供电的电压范围是 4.5~5.5V ,给NSA9260 供电的电压需在这个范围之内,否则芯片不工作,通信失败。
四、 Reference
[1] NSA9260X Datasheet Rev1.2CN
欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com
作者:Naib Zhou / 周甜甜
评论