TLI493D-W2BW-传感器诊断和状态寄存器中的总线奇偶校验位(奇数奇偶校验位)

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

你好,

我正在使用 TLI493D-W2BW A0 传感器来测量Bx,By和Bz值。 通信通过 Raspberry pi 400 通过 I2C 完成。

我正在用 Python 编码,灵感来自这段代码 (https://github.com/Infineon/TLI493D-W2BW/blob/master/examples/Raw_I2C_readout/Raw_I2C_readout.ino)。 传感器处于主控模式,无中断(/INT 禁用)。 然后,发送到寄存器 14H 以设置模式的字节为 0b00010101。

测量是通过 update_data 函数完成的(参见所附图片)。

bupib_0-1691074202983.jpeg

此函数使用 writeTriggerMeasuration 和 readCommand1ByteProtocol(见所附图片)。

bupib_1-1691074223339.jpeg

bupib_2-1691074232271.jpeg

 

WriteTriggerMeasurement 向传感器写入 1 个字节,包含触发位(05、06、07 位——用户手册第 18 页),写入帧完成后触发器是 " ADC 触发器。" 那么发送的字节就是 0b00100000。

在配置寄存器 (10H) 中,TRIG 位 (5:4) 设置为 " 01B:在第一个 MSB 之前读取时触发的 ADC。" (用户手册第9页)。

 

我现在的目标是检查所做的测量结果是否有效。 根据用户手册,这可以通过 Diag 寄存器 (06H) 中的总线奇偶校验位 P 来完成。 但是,我很难理解如何使用和编码。

 

有没有什么例子可以帮助我更好地了解何时以及如何检查测量结果的有效性?

 

在此先感谢,

最好

0 点赞
2 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @bupib

"传感器处于主控模式,无中断(/INT 禁用)。然后,发送到寄存器 14H 以设置模式的字节为 0b00010101。" 
如果你指的是 MOD1 寄存器,你需要写入寄存器 11H 而不是 14H

"TRIG " 位用于触发测量值的 ADC 转换。 因此,它们构成了您在 WRITE ACK 之后发送的寄存器地址的前三位"。"
 
假设你想写入寄存器地址 0x11(MOD1 寄存器):

"TRIG " 位将占用寄存器地址的 3 位,然后占用 5 位寄存器地址 0x11 = 0b10001
TRIG bits =
0b001 所以在 ACK 之后我们应该发送 0b00110001 = 0x31
请查看附件。

通常,我们使用 " TRIG " 位作为 " 0b000",因此最终等同于默认寄存器地址。

最后,如果你能够根据传感器附近磁铁的移动看到不同的输出,我想这证实了这个设置。 通常,当我们错误地配置传感器时,我们会在读取命令后获得 NACK,或者我们获得 0xFF 或 0x00 作为读取寄存器的输出。

请向 U M 查询 TLI493D-W2BW。

最好的问候,
Yashraj

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @bupib,由于没有活动,

我们正在锁定这个话题。
请创建一个新话题以供进一步查询。

最好的问候,
Yashraj

0 点赞