哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在恩智浦LPC55S36平臺(tái)上如何處理I3C協(xié)議中的Hot-Join事件

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 2026-04-27 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I3C協(xié)議與Hot-Join簡介

I3C(Improved Inter Integrated Circuit)是由MIPI聯(lián)盟推出的新一代串行通信協(xié)議,旨在替代傳統(tǒng)的I2C協(xié)議。相比I2C,I3C提供了更高的數(shù)據(jù)速率、更低的功耗以及更豐富的功能特性,如動(dòng)態(tài)地址分配、In-Band Interrupt(IBI)、Hot-Join、節(jié)能模式等。

與傳統(tǒng)的I2C協(xié)議不同,I3C支持動(dòng)態(tài)地址分配和更高效的事件通知機(jī)制。Hot-Join是I3C的關(guān)鍵特性之一,適用于系統(tǒng)運(yùn)行過程中新增傳感器或外設(shè)的場景。控制器必須識(shí)別該IBI為Hot-Join類型,并決定是否接受該設(shè)備加入。

Hot-Join是I3C協(xié)議中的一種機(jī)制,允許新的目標(biāo)設(shè)備在總線運(yùn)行過程中加入通信。目標(biāo)設(shè)備通過拉低SDA線并發(fā)起In-Band Interrupt (IBI)請(qǐng)求,通知控制器其加入意圖。

本文將詳細(xì)介紹在LPC55S36平臺(tái)上如何處理I3C協(xié)議中的Hot-Join(熱插拔)事件,包括控制器寄存器配置、協(xié)議流程解析、目標(biāo)設(shè)備代碼實(shí)現(xiàn),以及邏輯分析儀截圖輔助說明。

硬件環(huán)境:

開發(fā)板:LPC55S36 EVK

軟件環(huán)境:

IDE:MCUXpresso IDE v25.06.0

SDK:SDK Builder | MCUXpresso SDK Builder (nxp.com)

基礎(chǔ)工程:

lpcxpresso55s36_i3c_interrupt_b2b_transfer_master; lpcxpresso55s36_i3c_interrupt_b2b_transfer_slave

I3C協(xié)議中的Hot-Join流程圖

根據(jù)I3C spe中的Hot-Join流程圖,Hot-Join流程概述:

f49a194a-3eae-11f1-90a1-92fbcf53809c.png

2.1 總線空閑(Bus Idle)

總線處于空閑狀態(tài),目標(biāo)設(shè)備檢測到總線空閑后嘗試發(fā)起Hot-Join。

2.2發(fā)送Hot-Join請(qǐng)求

設(shè)備發(fā)出START條件,并發(fā)送Hot-Join地址(固定為0x7E)。

RnW=0(寫操作),表示Hot-Join請(qǐng)求。

2.3主機(jī)響應(yīng)

主機(jī)根據(jù)當(dāng)前總線狀態(tài)和策略,可能:

2.3.1 ACK:接受Hot-Join

主機(jī)發(fā)送STOP,表示請(qǐng)求完成。

后續(xù)執(zhí)行DAA(Dynamic AddressAssignment)流程,為新設(shè)備分配動(dòng)態(tài)地址。

2.3.2 NACK:拒絕Hot-Join(暫時(shí)不允許加入)

設(shè)備會(huì)稍后重試。

目標(biāo)設(shè)備(Slave) Hot-Join關(guān)鍵代碼

i3c_slave_config_tslaveConfig;
I3C_SlaveGetDefaultConfig(&slaveConfig);
slaveConfig.staticAddr = I3C_STATIC_ADDRESS;
slaveConfig.vendorID = I3C_VENDOR_ID;
slaveConfig.offline =false;
I3C_SlaveInit(EXAMPLE_SLAVE, &slaveConfig, I3C_SLAVE_CLOCK_FREQUENCY);
i3c_slave_handle_tslaveHandle;
I3C_SlaveTransferCreateHandle(EXAMPLE_SLAVE, &slaveHandle, i3c_slave_callback,NULL);
I3C_SlaveTransferNonBlocking(EXAMPLE_SLAVE, &slaveHandle, kI3C_SlaveAllEvents);
I3C_SlaveRequestEvent(EXAMPLE_SLAVE, kI3C_SlaveEventHotJoinReq);
g_requestSent =false;
while(!g_requestSent)
{
}
I3C_SlaveRequestEvent(EXAMPLE_SLAVE,kI3C_SlaveEventHotJoinReq);

為目標(biāo)設(shè)備的hot join請(qǐng)求。

主設(shè)備(master) Hot-Join關(guān)鍵代碼

在LPC55S36中,控制器通過配置MCTRL寄存器來處理I3C總線上的Hot-Join請(qǐng)求。整個(gè)流程分為兩個(gè)階段:監(jiān)聽階段和響應(yīng)階段,確??刂破髂軌蜢`活應(yīng)對(duì)目標(biāo)設(shè)備的動(dòng)態(tài)接入。

4.1 配置MCTRL寄存器,進(jìn)入AutoIBI +Manual模式

mctrlVal = I3C0->MCTRL;
mctrlVal &= ~(I3C_MCTRL_REQUEST_MASK | I3C_MCTRL_IBIRESP_MASK);
mctrlVal |= I3C_MCTRL_REQUEST(kI3C_RequestAutoIbi) |
I3C_MCTRL_IBIRESP(kI3C_IbiRespManual);
I3C0->MCTRL = mctrlVal;

kI3C_RequestAutoIbi:

控制器進(jìn)入自動(dòng)監(jiān)聽模式,當(dāng)目標(biāo)設(shè)備拉低SDA發(fā)起IBI(如Hot-Join)時(shí),控制器自動(dòng)檢測

kI3C_IbiRespManual:

控制器在收到IBI后不立即響應(yīng),而是進(jìn)入等待狀態(tài),由應(yīng)用程序決定是否ACK或NACK

此階段的配置是為了確??刂破髂軌虿蹲降紿ot-Join請(qǐng)求,并將處理權(quán)交給軟件層

4.2輪詢MSTATUS寄存器,等待Hot-Join IBI到來

do{
mstatusVal = I3C0->MSTATUS;
}while(((mstatusVal & I3C_MSTATUS_NACKED_MASK) == I3C_MSTATUS_NACKED(1)) ||
((mstatusVal & I3C_MSTATUS_IBITYPE_MASK) != I3C_MSTATUS_IBITYPE(3)) ||
((mstatusVal & I3C_MSTATUS_SLVSTART_MASK) != I3C_MSTATUS_SLVSTART(1)) ||
((mstatusVal & I3C_MSTATUS_MCTRLDONE_MASK) != I3C_MSTATUS_MCTRLDONE(1)) ||
((mstatusVal & I3C_MSTATUS_COMPLETE_MASK) != I3C_MSTATUS_COMPLETE(1)) ||
((mstatusVal & I3C_MSTATUS_IBIWON_MASK) != I3C_MSTATUS_IBIWON(1)));

4.3手動(dòng)ACK Hot-Join請(qǐng)求

mctrlVal &= ~(I3C_MCTRL_IBIRESP_MASK | I3C_MCTRL_REQUEST_MASK);
mctrlVal |= I3C_MCTRL_IBIRESP(kI3C_IbiRespAck) |
I3C_MCTRL_REQUEST(kI3C_RequestIbiAckNack);
I3C0->MCTRL = mctrlVal;

kI3C_RequestIbiAckNack:發(fā)起手動(dòng)ACK/NACK請(qǐng)求

kI3C_IbiRespAck:明確表示接受該Hot-Join請(qǐng)求

此階段是對(duì)第一階段的補(bǔ)充,完成對(duì)目標(biāo)設(shè)備的響應(yīng)

4.4發(fā)送STOP

I3C_MasterEmitStop(I3C0,true);

4.5 執(zhí)行DAA(Dynamic AddressAssignment)流程

I3C_MasterProcessDAA(EXAMPLE_MASTER, addressList, 8);

邏輯分析儀截圖

邏輯分析儀顯示,目標(biāo)設(shè)備發(fā)起Hot-Join,主設(shè)備成功ACK并動(dòng)態(tài)分配地址。

f50419bc-3eae-11f1-90a1-92fbcf53809c.png

小結(jié)

本文基于LPC55S36平臺(tái),對(duì)I3C Hot Join機(jī)制進(jìn)行了實(shí)踐驗(yàn)證,完整梳理了Hot Join請(qǐng)求的發(fā)起流程以及主機(jī)側(cè)的處理邏輯,為I3C總線設(shè)備的動(dòng)態(tài)接入提供了可行的實(shí)現(xiàn)思路。

作者:Harry Zhang

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5620

    瀏覽量

    130428
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    3060

    瀏覽量

    91869
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    610

    瀏覽量

    37231

原文標(biāo)題:一鍵上車:LPC55S36 I3C Hot-Join處理流程詳解

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LPC55S16 MCU獲得了PSA 2級(jí)和SESIP 2級(jí)保證認(rèn)證

    LPC55S16 MCU屬于EdgeVerse?計(jì)算和安全產(chǎn)品組合,是基于Arm? Cortex?-M33內(nèi)核的通用LPC5500 MCU系列的成員。
    發(fā)表于 11-21 09:28 ?2197次閱讀

    當(dāng) I3C IBI 啟動(dòng)時(shí)如何刪除 MDB 后的停止條件LPC55S36?

    我正在嘗試對(duì) I3C IBI 進(jìn)行編程,強(qiáng)制字節(jié)數(shù)據(jù)之后沒有停止條件,并在之后連接重新啟動(dòng)條件以讀取數(shù)據(jù)。我該怎么辦? 下面是我用 MDB 做的 IBI 波形。 void
    發(fā)表于 03-02 07:16

    為什么無法 LPC55S36 使用 BLHost 轉(zhuǎn)儲(chǔ)代碼(兩塊板的 USB 連接問題)?

    。 設(shè)置詳細(xì)信息: 工具:BLHost 2.6.7 主機(jī)作系統(tǒng):Windows 10 連接:USB 電纜(設(shè)備管理器檢測到 COM 端口) 目標(biāo):LPC55S36 MCU 驅(qū)動(dòng)程序:已安裝并驗(yàn)證
    發(fā)表于 04-17 10:04

    I3C協(xié)議標(biāo)準(zhǔn)

    的缺陷如下:sensor等設(shè)備的增加,對(duì)控制總線的速度和功耗提出了更加嚴(yán)苛的要求;處于解決上述問題的原因,推出了I3C的接口總線和協(xié)議.
    發(fā)表于 10-26 09:35

    使用MCU鏈接調(diào)試器對(duì)LPC55s36板進(jìn)行編程,調(diào)試會(huì)話后它永遠(yuǎn)不會(huì)連接的原因?

    我正在嘗試使用 MCU 鏈接調(diào)試器對(duì) LPC55s36 板進(jìn)行編程。板子第一次連接,但在調(diào)試會(huì)話后它永遠(yuǎn)不會(huì)連接!我不同的板試過,現(xiàn)在我無法對(duì)它們的任何一個(gè)進(jìn)行編程。 有人對(duì)此有
    發(fā)表于 04-17 06:16

    如何使用LPC55S36目標(biāo)模式下實(shí)現(xiàn)讀取操作?

    我們正在嘗試使用 LPC55S36 目標(biāo)模式下實(shí)現(xiàn)讀取操作。為此,我們控制器模式下使用另一個(gè) LPC55S36,它初始化總線(處理 DA
    發(fā)表于 05-18 08:41

    請(qǐng)問LPC5536是否包含代碼看門狗 (CDOG) 外設(shè)?

    fsl_cdog.h 和 fsl_cdog.c)。 CDOG 外設(shè)[i]確實(shí)出現(xiàn)在 LPC55S36 的頭文件(例如 LPC55S36.
    發(fā)表于 05-29 08:56

    Samsung S3C2440平臺(tái)上的Vxworks BSP移植

    研究基于S3C2440平臺(tái)上的Vxworks BSP移植具有重要的意義。本文就BSP的概念、BSP移植過程重點(diǎn)修改的幾個(gè)文件、串口和網(wǎng)口驅(qū)動(dòng)以及BSP的調(diào)試和仿真做詳細(xì)的介紹。
    發(fā)表于 08-10 11:42 ?4634次閱讀
    Samsung <b class='flag-5'>S3C</b>2440<b class='flag-5'>平臺(tái)上</b>的Vxworks BSP移植

    I3C協(xié)議規(guī)范的詳細(xì)內(nèi)容

    本文講解 I3C 協(xié)議規(guī)范的詳細(xì)內(nèi)容,從規(guī)范可以看出,I3CI2C 復(fù)雜很多,硬件簡單帶來的是軟件的復(fù)雜。 對(duì)于 Linux 常用版
    的頭像 發(fā)表于 07-22 16:13 ?5633次閱讀
    <b class='flag-5'>I3C</b><b class='flag-5'>協(xié)議</b>規(guī)范的詳細(xì)內(nèi)容

    I3C Introduction是什么意思

    I3C Introduction I3C :Improved Inter Integrated Circuit ,是 MIPI(Mobile Industry Processor Interface
    的頭像 發(fā)表于 07-22 16:16 ?2007次閱讀
    <b class='flag-5'>I3C</b> Introduction是什么意思

    I2CI3C的區(qū)別有哪些

    I2CI3C 主要區(qū)別如下: I2C 雖然也是兩條線,但是很多時(shí)候傳感器需要一條額外的中斷線,來告訴主控?cái)?shù)據(jù)已經(jīng)準(zhǔn)備好。I3C 允許從設(shè)備直接在總線上產(chǎn)生中斷,不再需要一條額外的
    的頭像 發(fā)表于 07-22 16:20 ?1w次閱讀
    <b class='flag-5'>I2C</b>和<b class='flag-5'>I3C</b>的區(qū)別有哪些

    I2CI3C關(guān)于功耗和傳輸速率的對(duì)比

    斷支持 熱連接支持 I3C BASIC 不支持:同步計(jì)時(shí)支持和異步計(jì)時(shí)沖壓 secondary master support 不支持 I2C master 不支持從機(jī) clock st
    的頭像 發(fā)表于 07-22 16:24 ?3697次閱讀
    <b class='flag-5'>I2C</b>和<b class='flag-5'>I3C</b>關(guān)于功耗和傳輸速率的對(duì)比

    I3C接口通信基礎(chǔ)

    I 2 CI3C之間顯著的變化是時(shí)鐘速度。I 2 C 通常為 100 kHz、400 kHz 或 1 MHz,而
    發(fā)表于 05-03 10:22 ?7003次閱讀
    <b class='flag-5'>I3C</b>接口通信基礎(chǔ)

    推出多端口I3C集線器設(shè)備P3H2x4xHN

    P3H2x4xHN是一款多端口I3C集線器設(shè)備,一端通過I3C / I2C / SMBus總線連接主機(jī)CPU,另一端則連接多個(gè)外圍設(shè)備。
    的頭像 發(fā)表于 12-04 10:46 ?2138次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>推出多端口<b class='flag-5'>I3C</b>集線器設(shè)備P<b class='flag-5'>3</b>H2x4xHN

    探索P3S0200 I3C開關(guān):高性能硬件的卓越選擇

    、產(chǎn)品概述 P3S0200專為通信和服務(wù)器應(yīng)用的高速I3C信號(hào)切換而設(shè)計(jì),適用于I3C I/O有限的設(shè)備。其52MHz的寬帶
    的頭像 發(fā)表于 12-25 09:35 ?617次閱讀
    水富县| 高青县| 彭州市| 米林县| 贡嘎县| 田林县| 德安县| 北宁市| 甘孜| 肃南| 江津市| 宜章县| 达拉特旗| 锡林郭勒盟| 监利县| 金门县| 木里| 蒙山县| 乌海市| 开江县| 句容市| 沾益县| 伊川县| 巴楚县| 乐安县| 巴青县| 长春市| 河池市| 河曲县| 南康市| 施甸县| 延寿县| 团风县| 和政县| 曲沃县| 安阳市| 攀枝花市| 介休市| 沂水县| 福泉市| 屏东县|