MIMXRT685 I3C example waveform

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MIMXRT685 I3C example waveform

3,712 Views
AlicePXLin
Contributor II

你好

IDE:MCUXpresso IDE v11.4.1

SDK:SDK_2.10.1_EVK-MIMXRT685

Host: MIMXRT685-EVK

Q1:I3C_MasterProcessDAA 的 waveform 紅框處SCL正確嗎?是否有多一個clock?

1.png

Q2:Write respond NACK , bit 數正確嗎?為甚麼沒有回應NACK+STOP?

AlicePXLin_2-1637637154809.png

Q3:Read data 結束時,T-bit 時間很短,後面被判斷成Restart,這是什麼原因?

AlicePXLin_3-1637637673325.png

Q4:有I3C HDR-DDR sample code 嗎?

 

0 Kudos
21 Replies

3,429 Views
kerryzhou
NXP TechSupport
NXP TechSupport

我拔掉之后最后一个bit 为高,但是时间还是1.024us

RX_Err1.jpg

0 Kudos

3,489 Views
kerryzhou
NXP TechSupport
NXP TechSupport

关于Tbit的时间在读的最后一帧,你也可以用示波器读下看看。

我测试的就是SDK的:

SDK_2_10_1_EVK-MIMXRT685\boards\evkmimxrt685\driver_examples\i3c\polling_b2b_transfer

主从分别用两块MIMXRT685-EVK, 一个为主机,一个为从机。

 

Best Regards,

Kerry

0 Kudos

3,605 Views
AlicePXLin
Contributor II

Q1: 多一個clock 並不符合Spec,請問這部分之後會修正嗎?

AlicePXLin_0-1637914902427.png

 

Q2:邏輯分析儀的採集解析為200M Hz,SDK沒有修正過,code 如下

AlicePXLin_0-1637907145753.png

Q3: 邏輯分析儀的採集解析為200M Hz,T bit 為10nS

AlicePXLin_1-1637910912347.png

code

AlicePXLin_2-1637910990186.png

Q4:HDR-DDR sample code 大約什麼時候可以提供?

 

0 Kudos

3,495 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

   非常抱歉迟回复了!

   昨天我测了I3C波形。

  我这边情况如下:

Q2:Write respond NACK , bit 數正確嗎?為甚麼沒有回應NACK+STOP?

Answer: 注意,I3C 和I2C不一样,发送的数据第九位不是ACK/NACK,是Tbit,也就是前面几个数据bit的奇偶情况。用于校验传输中的干扰导致的错位u。具体查看I3C spec

kerryzhou_0-1639451984025.png

我这边看下来是正确的,请看我的前面一帧和最后一帧:

kerryzhou_2-1639452102374.png

 

kerryzhou_1-1639452039463.png

 

 你看我最后一帧,确实是9位+stop,只是最后一位有点长了。

 

 

Q3:Read data 結束時,T-bit 時間很短,後面被判斷成Restart,這是什麼原因?

Answer:

kerryzhou_3-1639452203253.png

你看我同样最后一帧,最后一个bit很长,1.272us

Best Regards

Kerry

 

0 Kudos

3,483 Views
AlicePXLin
Contributor II

Dear  kerryzhou

感謝你的回覆

不過附圖較小,看不太清楚

可以提供較清楚的圖片嗎?

謝謝!

 

 

0 Kudos

3,477 Views
kerryzhou
NXP TechSupport
NXP TechSupport

HI @AlicePXLin 

 你点击下图片,会变大,这样会比较清除,如果不行,我这边上传下源图。

RX_end.jpgTX_begin.jpgTX_last.jpg

Best Regards,

Kerry

3,467 Views
AlicePXLin
Contributor II

Dear @kerryzhou 
謝謝!圖是清楚的!
Q2: 我們是想測試在下Address 後回應NACK ,並非傳送data後

看到的波型應該要是 7-bits address + R/W + NACK + STOP

AlicePXLin_0-1639460675780.png

 


Q3: 我們發現read最後一筆 T-bit若為0,是沒有問題的(如你所提供的)
但是若最後一筆 T-bit若為1,

才會有T-bit 時間過短的問題(如下圖)

read last.png

謝謝!

0 Kudos

3,458 Views
AlicePXLin
Contributor II

Hi @kerryzhou 

關於Q3 我重新看了Spec 了解到應該本來就會有restart waveform 

不過T-bit 是否仍有過短? 

看Spec 寫 tCBSr 最小值為 tCASmin / 2 = 38.4/2 = 19.2 nS

但我測量到僅有10nS

AlicePXLin_0-1639464402128.png

AlicePXLin_1-1639465924775.pngAlicePXLin_0-1639465895788.png

謝謝!

0 Kudos

3,437 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

Q2: Address 後回應NACK 

我这边测试情况如下,到写数据时候,把从机拔掉,测试结果如下:

TX_NACK.jpg

是有第9位为NACK,

你说的应该有STOP,我觉得这个和代码有关,应该是SDK代码里面没有考虑到添加STOP,可以在检测到NACK之后,发一个STOP出去。这个我记录下,回头我上报给SDK 部门。

你现在截图的波形,是I3C的spec手册吗?版本多少?以为我发现我的和你有些区别。

Q3:但是若最後一筆 T-bit若為1

你那边是怎么去测试的呢?

是在什么时候拔掉从机,因为addr还是响应的,对吧?

 

 

0 Kudos

3,427 Views
AlicePXLin
Contributor II

Hi @kerryzhou 

感謝回覆!

是I3C spec 手冊

Version 1.1.1 – 11 June 2021

Q2:那麼我們是能自己添加STOP 訊號的嗎?該怎麼加入呢?

還是需要等新的SDK版本提供呢?

 

Q3:您可以試著將最後一筆data傳送0xFF,T-bit 則為 1

此項測試沒有移除從機因此addr還是響應的,僅為read data,與Q2為分開的測試

謝謝!

0 Kudos

3,418 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

Q2:那麼我們是能自己添加STOP 訊號的嗎?該怎麼加入呢?

還是需要等新的SDK版本提供呢?

Answer: 建议考虑自己添加,因为SDK不知道什么时候会加,甚至是否会加进去,由SDK部门决定。

关于STOP的加入,我看的RT600 RM手册。

kerryzhou_0-1639472343091.png

 你看,当REQUEST=2的时候会发送STOP,所以你可以查看下底层代码,看看如果出现NACK的时候,添加下发送STOP出去。

Q3:您可以試著將最後一筆data傳送0xFF,T-bit 則為 1

此項測試沒有移除從機因此addr還是響應的,僅為read data,與Q2為分開的測試

你看我的

kerryzhou_1-1639472694879.png

还是0.

 

 

 

0 Kudos

3,395 Views
AlicePXLin
Contributor II

Hi @kerryzhou 

Q2:謝謝!之後我測試看看再回覆你

Q3:以Spec上寫的 Data 若為 0xFF,T-bit 應要 = 1才對

AlicePXLin_0-1639473320580.png

謝謝!

0 Kudos

3,386 Views
kerryzhou
NXP TechSupport
NXP TechSupport

HI @AlicePXLin 

咱俩可能聊太多,把问题给搞混淆了。

你的Q3,原题: Q3:Read data 結束時,T-bit 時間很短,後面被判斷成Restart,這是什麼原因?

说的是read,所以我测的一直是read,你看波形也是RxD。

根据I3C手册,是要接收read,最后一个T就是0用于结束的,所以不会是1的。

kerryzhou_0-1639475004503.png

所以,还请你确认下问题,到底是发送还是接收?

你后面给我指的代码也是read啊。

Best Regards,

Kerry

 

 

0 Kudos

3,357 Views
AlicePXLin
Contributor II

Hi @kerryzhou 

Q2:請問在code裡該怎麼判斷出現NACK讓我加上STOP呢?能提供範例嗎?謝謝!

Q3:是read 沒錯!

是我I3C Spec貼錯了

這部分看波型差異是我的SDA較慢拉Low,會跟baudrate設定有關嗎?附上我這邊的設定

AlicePXLin_0-1639536715133.png

Q5:再請教一個問題,在ENTDAA時,我們設定較快的速度,Repeated start 訊號會異常,如下圖

上方為正常訊號,下方為異常訊號導致認不出Repeated start 

下方的SDA falling 與SCL rising並沒有間隔符合spec 的38.4nS/2

AlicePXLin_0-1639550832603.png

AlicePXLin_1-1639550842419.png

 

設定如下時會異常

AlicePXLin_2-1639550270562.png

Spec 表示Repeated start 需間隔時間

AlicePXLin_3-1639550495698.png

 

 

0 Kudos

3,346 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

  Q2: 請問在code裡該怎麼判斷出現NACK讓我加上STOP呢?能提供範例嗎?謝謝!

Answer:

   我看了下code,发送stop是这个: 

if (result == kStatus_I3C_Nak)
{
(void)I3C_MasterEmitStop(base, true);
}

你可以试试看,我这边马上也测试下最新的内部SDK,如果还有这个问题,我直接上报。

 

Q3: 你如果不改代码,直接SDK,和我是否一样?我觉得你也可以用示波器看看,因为逻辑分析仪毕竟是数字波形,看看模拟波是不是已经正确了。

 

Q5,可以重新建个帖子吗?

因为我们支持是有时效还有工作量的,毕竟很多问题在list里面,通常是一个问题一个帖子,尽量不要一个帖子发很多问题而且还增加问题。

欢迎多建贴,一贴一问题。

你新建之后AT我,然后我给你回复新问题。

谢谢谅解。

Best Regards,

Kerry

 

0 Kudos

3,450 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

   不好意思,刚刚去开会了。

 关于问题2,先确认下情况,然后在测试下。

按照I3C协议,应该如下:

kerryzhou_0-1639467132295.png

你说的NACK,意思是我不接从机,让它NACK看是否會有restart waveform, 是这个意思吗?

也就是复现你这个情形的情况,因为我现在是接入从机测试的。

Best Regards,

Kerry

 

0 Kudos

3,443 Views
AlicePXLin
Contributor II

Hi @kerryzhou 

是的!我希望從機不回應

感謝!

0 Kudos

3,581 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Q1: 多一個clock 並不符合Spec,請問這部分之後會修正嗎?

Answer: 这个问题我很早就已经提给相关部门,目前还没有得到修正。

Q2:邏輯分析儀的採集解析為200M Hz,SDK沒有修正過,code 如下

Answer: 将会测试我这边的波形与你对比。请耐心等待!

Q3: 邏輯分析儀的採集解析為200M Hz,T bit 為10nS

Answer: 将会测试我这边的波形与你对比。请耐心等待!

Q4:HDR-DDR sample code 大約什麼時候可以提供?

Answer: 暂时还没有得到提供的计划。

Best Regards,

Kerry

0 Kudos

3,543 Views
AlicePXLin
Contributor II

你好,

請問Q2、Q3有測試結果了嗎?

謝謝!

0 Kudos

3,531 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @AlicePXLin 

 感谢你的提醒,真的很不好意思,这几天实在太多case在忙, 这两天,我就给你测试,还请耐心等待下,非常抱歉。

 

Best Regards,

Kerry

0 Kudos