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

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

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

如何將兩個(gè)PSI2C控制器通過EMIO接口互連起來?

電子工程師 ? 來源:XILINX開發(fā)者社區(qū) ? 作者:XILINX開發(fā)者社區(qū) ? 2021-05-20 15:46 ? 次閱讀

I2C 總線的兩根信號(hào)線 SCL 和 SDA 需要上拉才能正常工作,當(dāng)板卡上沒有合適的硬件設(shè)置或者沒有合適的 I2Cslave 設(shè)備,我們就無法進(jìn)行 I2C 軟件測(cè)試。那么是否可以將兩個(gè) PSI2C 控制器通過 EMIO 接口互連起來呢?

因?yàn)樵?PL 內(nèi)部無法設(shè)置信號(hào)線上拉,所以不能直接將 I2Cmaster 控制器的 scl_o/sda_o 連接到 I2C slave 控制器的 scl_i/sda_i。有另一種方法來實(shí)現(xiàn)上拉的效果,就是通過在頂層 wrapper 里 scl_T 和 sda_T 的組合邏輯來模擬 scl_i 和 sda_i,具體邏輯如下,

assign i2c0_scl_i = i2c1_scl_t && i2c0_scl_t;

assign i2c0_sda_i = i2c1_sda_t && i2c0_sda_t;

assign i2c1_scl_i = i2c0_scl_t && i2c1_scl_t;

assign i2c1_sda_i = i2c0_sda_t && i2c1_sda_t;

這些信號(hào)都是兩個(gè) PS I2C 控制器的 emio 信號(hào)從 block design 導(dǎo)出到頂層 wrapper,其中四個(gè) emio 信號(hào)在從 block design 導(dǎo)出到頂層 wrapper 之前需要做邏輯反相。

i2c0_scl_t、i2c0_sda_tn、i2c1_scl_t、i2c1_sda_tn

反相操作如圖中 util_vector_logic_0~3所示,

5e2744a4-b558-11eb-bf61-12bb97331649.png

附件是個(gè)例子工程 (附件可點(diǎn)擊閱讀原文 輸入0513獲?。?vck190 es1 board 和 Vivado2020.2。里面包含 block design tcl腳本、頂層 wrapper、prebuilt xsa 文件和 vitis application 源碼。Vitis application 把i2c0 配置為 master、i2c1 為 slave,然后做讀寫校驗(yàn)測(cè)試??梢酝ㄟ^串口輸出信息來判斷是否測(cè)試成功,block design 里也介入了 ila,可以在 hardware manager 里檢查相關(guān)信號(hào)。下面是 i2c0_scl_i/i2c0_sda_i/i2c1_scl_i/i2c1_sda_i 波形 :

原文標(biāo)題:開發(fā)者分享 | 如何在 Versal 平臺(tái)實(shí)現(xiàn)兩個(gè) PS I2C 控制器的回環(huán)

文章出處:【微信公眾號(hào):XILINX技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    112

    文章

    16132

    瀏覽量

    177137
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    152

    瀏覽量

    7624

原文標(biāo)題:開發(fā)者分享 | 如何在 Versal 平臺(tái)實(shí)現(xiàn)兩個(gè) PS I2C 控制器的回環(huán)

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TPA6130A2如果不需要I2C功能,是否可以I2C兩個(gè)引腳懸空?

    如果不需要I2C功能,是否可以I2C兩個(gè)引腳懸空。 2.如果I
    發(fā)表于 11-01 08:16

    如何將自定義邏輯從FPGA/CPLD遷移到C2000?微控制器

    電子發(fā)燒友網(wǎng)站提供《如何將自定義邏輯從FPGA/CPLD遷移到C2000?微控制器.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 12:36 ?0次下載
    <b class='flag-5'>如何將</b>自定義邏輯從FPGA/CPLD遷移到<b class='flag-5'>C</b>2000?微<b class='flag-5'>控制器</b>

    ths3001和buf634組成功放,為什么連起來之后不正常了?

    昨天單獨(dú)測(cè)試了ths3001做的反比例放大,和三個(gè)buf634并聯(lián)組成的緩沖,測(cè)試效果正常,ths3001的增益為20db,緩沖的增益為-1.5db。 然后今天早晨我把級(jí)
    發(fā)表于 09-19 07:16

    TPA3112/TPA3116通過兩個(gè)引腳GAIN01控制增益,可以兩個(gè)引腳懸空可靠嗎?

    TPA3112TPA3116款D類功放芯片通過兩個(gè)引腳GAIN01控制增益。實(shí)際使用TPA3112時(shí)發(fā)現(xiàn)將引腳懸空也能起到給高電平的功能,但是芯片手冊(cè)沒有說明,實(shí)際運(yùn)用的時(shí)候
    發(fā)表于 08-12 07:09

    三菱plcFx2N2AD可以接兩個(gè)壓力傳感

    三菱PLC FX2N-2AD是一款具有模擬輸入功能的可編程邏輯控制器,可以接收模擬信號(hào)并將其轉(zhuǎn)換為數(shù)字信號(hào),以便進(jìn)行進(jìn)一步的處理和控制。在某些應(yīng)用場(chǎng)景中,可能需要同時(shí)接入兩個(gè)壓力傳感
    的頭像 發(fā)表于 06-20 10:13 ?622次閱讀

    兩個(gè)PLC之間如何交互信號(hào)

    在工業(yè)自動(dòng)化系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制器)是核心的控制設(shè)備。在許多復(fù)雜的應(yīng)用場(chǎng)景中,需要兩個(gè)或多個(gè)PLC之間進(jìn)行信號(hào)交互,以實(shí)現(xiàn)更高
    的頭像 發(fā)表于 06-14 16:57 ?3479次閱讀

    通用串行總線Type-C?端口控制器接口規(guī)范

    隨著USB供電的持續(xù)成功,有必要定義一個(gè)共同的USB Type-C 端口管理和簡(jiǎn)單的 USB Type-C? 端口控制器之間的
    發(fā)表于 03-27 15:36 ?1次下載

    arcgis中如何關(guān)聯(lián)兩個(gè)屬性表

    在ArcGIS中,關(guān)聯(lián)兩個(gè)屬性表是一個(gè)重要的操作,可以通過此操作兩個(gè)表中的數(shù)據(jù)關(guān)聯(lián)起來,以便進(jìn)
    的頭像 發(fā)表于 02-25 11:01 ?3922次閱讀

    兩個(gè)電位控制個(gè)變頻,如何接線?

    兩個(gè)電位控制個(gè)變頻,如何接線? 接線方式如下: 1. 首先,明確需要使用的電器設(shè)備。在
    的頭像 發(fā)表于 02-05 10:13 ?4739次閱讀

    為什么要橋接無線路由?如何通過網(wǎng)線兩個(gè)路由進(jìn)行橋接?

    為什么要橋接無線路由?如何通過網(wǎng)線兩個(gè)路由進(jìn)行橋接?臺(tái)路由
    的頭像 發(fā)表于 02-04 14:07 ?2531次閱讀

    如何給C語言中的函數(shù)定義兩個(gè)不同的名字?

    最近有位哥問我,如何給C語言中的函數(shù)定義兩個(gè)不同的名字?就是這兩個(gè)名字都是指向同一個(gè)函數(shù),同一個(gè)地址,而且
    的頭像 發(fā)表于 12-19 16:21 ?716次閱讀

    如何將數(shù)字電位與微控制器隔離控制?

    請(qǐng)問,如何將數(shù)字電位與微控制器隔離控制,我想用數(shù)字電位控制外部設(shè)備。
    發(fā)表于 12-12 08:12

    SSM2529的I2C接口無法通信是怎么回事?

    ,10k都試過了,還是不行。 看到論壇上說LDO輸出能力不足,所以使用了1.8V外部供電,但是有一個(gè)問題,LDO_OUT和DVDD是在芯片下面連起來的,割不開,所以沒法分開。測(cè)到不使用外部1.8V
    發(fā)表于 11-29 07:38

    兩個(gè)硬盤2個(gè)系統(tǒng)開機(jī)切換

    切換兩個(gè)硬盤上的系統(tǒng)是一種常見的行為,可以讓用戶在不同的操作系統(tǒng)之間進(jìn)行切換,以滿足不同的需求。在本文中,我們詳細(xì)介紹如何配置和使用兩個(gè)硬盤上的系統(tǒng)進(jìn)行切換。本文分為以下幾個(gè)部分進(jìn)
    的頭像 發(fā)表于 11-28 15:08 ?7194次閱讀

    可以把AD6645的VREF引腳直接和AD8331的VCM引腳連起來嗎?

    ADI工程師: 您好!我在使用AD6645的時(shí)候有點(diǎn)問題,向您請(qǐng)教一下。 AD8331和AD6645交流耦合,AD8331的VCM引腳輸出共模電壓2.4V,AD6645的VREF引腳輸出2.5V,可以把AD6645的VREF引腳直接和AD8331的VCM引腳連起來嗎?
    發(fā)表于 11-16 06:34