This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2652R7:有关 I2C 事务帧的澄清。

Guru**** 1829880 points
Other Parts Discussed in Thread: CC2652R7
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1350524/cc2652r7-clarification-regarding-i2c-transaction-frame

器件型号:CC2652R7

您好

我们使用 CC2652R7控制器、在这里我们 将传感器连接到 MCU、并在 MCU 和传感器之间使用 I2C 通信。

I2C 驱动器: #包括

//I2C 初始化

I2C_Params i2cParams;
I2C_Params_init (&i2cParams);
i2cParams.bitrate = I2C_400kHz;
handle_i2c = I2C_open (CONFIG_I2C_MS、&i2cParams);
如果(gcam_i2c == NULL)

{
返回 DEVICE_I2C_INIT_FAILED;

否则
{
返回 DEVICE_I2C_INIT_SUCCESS;

//数据读取

I2C_Transaction i2cTransaction;

i2cTransaction.writeBuf =(void*)Registered_address[0];
i2cTransaction.writeCount = 4;
i2cTransaction.readBuf =(void*)&readBuffer[0];
i2cTransaction.ReadCount = 4;
i2cTransaction。targetAddress = 0x28;

I2C_transferTimeout (handle_i2c、&i2cTransaction、0xFFFF)

我们正在使用上述产品  "I2C_transferTimeout"  API 从传感器读取数据。     

在这里、我们 将传输大约  根据400kHz I2C 速度、每个事务90位每位应该需要2.25微秒。 因此、整个此事务预计将在238.5微秒内完成。

但总共需要接近485微秒。 我们将在该事务中写入4个字节并读取4个字节。 在 I2C 事务期间、我们在该捕获的信号中捕获了信号、我们在每个 字节事务之间观察到了一些延迟、此外、我们还观察到、在延迟时间内时钟信号为低电平。 请澄清一下、因为该时钟信号变低、每次事务之间都会出现此延迟。  

这是否是单个事务中多字节读写的预期行为? 如果是,为什么?

这是什么原因呢?  

捕获的信号:  

紫色-时钟(SCL)

蓝色-数据线(SDA)

红色标记线-事务之间的延迟、还请观察时钟线处于低电平

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    通常、每个 I2C 事务都是一个多步骤的过程、包括启动、地址、确认、数据。

    这些步骤之间将有一些时间安排、这可以有效地增加整个事务的时间。 此开销大多与 位数无关、更取决于目标器件的响应时间。

    从传感器读取的数据是否在预期范围内?

    谢谢。
    托比

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Toby:

    我们收到了预期数据、但由于存在时钟扩展、事务时间会更长。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您确认正确数据。 这意味着两侧都在相对于 I2C 的预期范围内运行。

    时钟延展由 I2C 从器件和此串行协议的一项功能触发。

    请参阅 onlinedocs.microchip.com/.../GUID-5CCAB0DB-28BD-4095-B2E2-2F3CF0FC6966.html