I3C custom on RA4E2/RA6E2

Hi

我們有一個 I3C 協議 客製化的相關問題. 請問以下 的 規格 有可能在 RA4E2/RA6E2 上面實現嗎 ?

感謝支援

1. 下圖 (1) 是標準 I3C Private Read 協議

2. 我們想要 客製化 I3C Protol 的需求 如圖 (2):

    a. 不需要 打出 Daynamic & Broadcast Address 的 Header. 如圖 (2) Part A

    b. 打出 Read Protol 之後, 如圖 (2) Part B, 可以繼續 掌控 Bus 控制權, 發出 所需要的命令 如圖 (2) Part C

(1)

(2)

  • Hi Slash,

    針對您的問題,簡短的回答是RA4E2/RA6E2 I3C Peripheral 可以做這樣的配置。

    再麻煩您提供電子郵件信箱,我會直接跟你聯繫確認專案的細部內容,謝謝

    Best Regards,

    CP

  • Hi CP,

    感謝幫忙...  我的 信箱 : slash.huang@regulus.tw

    感謝

    下面是 更新的 I3C 規格資料. 給你參考一下 

    由上一封 提供的 訊號圖 ..

    Orange mark means Mater transferBlue mark means Slave transfer.

     
    CMD1: Start bit + 0x7E + Write bit + Ack, Repeated Start bit + 0x11 + Write bit + Ack, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, Stop bit
     
    CMD2: Start bit + 0x7E + Write bit + Ack, Repeated Start bit + 0x11 + Read bit + Ack, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, Stop bit
     
    CMD3: Start bit + 0x7E + Write bit + Ack, Repeated Start bit + 0x11 + Read bit + Ack, 0xXX, 0xXX, 0xXX, 0xXX, Stop bit. 
    (0xXX is don't care bytes)
  • Hi Slash,

    不好意思,讓我先詳細解釋和整理一下你剛提出的問題

    你的問題1 - I3C Broadcast Dedicated Byte 0x7E 是否可以不嵌入?

    答案: 可以,透過 BCTL.INCBA 你可以做這樣的配置。在MIPI-I3C 的規格定義裡面就有提到這個byte 在 I3C SDR Private Transfer 是optional 的。所以我個人的理解是這並不是你所謂的 "客製化" 協議。

    你的問題2 - 是否可以把I3C Private Read Transfer 改成Write 

    答案: ....不行... 如果可以,slave端如何分辨是否可以在slave address ACK 之後拿到BUS的掌控權開始丟資料?

    *** RnW bit *** 是Master 告知slave 在ACK之後BUS 的掌控權,尤其在I3C更為重要,因為Slave 在掌握bus之後可以改成Push Pull output ,如果在bus 轉移沒有定義清楚,會造成衝突甚至可能master 和 slave SDA 同時操作在push pull output。 如果這個是所謂的客製化I3C 協議明顯已經violate MIPI I3C basic specifications.