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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

兩個PS I2C控制器的回環(huán)測試

FPGA之家 ? 來源:XILINX開發(fā)者社區(qū) ? 作者:賽靈思開發(fā)者 ? 2022-04-13 08:35 ? 次閱讀

本文來自 XILINX產(chǎn)品應用工程師 Davis Zhang

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

因為在 PL 內(nèi)部無法設置信號線上拉,所以不能直接將 I2Cmaster 控制器的 scl_o/sda_o 連接到 I2C slave 控制器的 scl_i/sda_i。有另一種方法來實現(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;

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

i2c0_scl_t、i2c0_sda_tn、i2c1_scl_t、i2c1_sda_tn

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

兩個PS I2C控制器的回環(huán)測試

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

兩個PS I2C控制器的回環(huán)測試

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

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    112

    文章

    16361

    瀏覽量

    178050
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121410
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1487

    瀏覽量

    123754

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

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么I2C總線忙于兩個設備?

    晚上好,我正試圖通過PS2C作為主機來獲得兩個MPU-9250的工作。連接到總線只有一MPU-9250一切工作完美!使用兩個設備不能工作,并且I2
    發(fā)表于 11-14 11:31

    實現(xiàn)I2C總線控制器的VHDL源代碼

    I2C總線控制器 altera提供 The I2C Controller was designed for the MC68307 uC, provides a simplified
    發(fā)表于 05-20 10:25 ?251次下載

    基于I2C和雙ARM的PCB鉆床控制器設計

    本文介紹了一種基于;C 總線和雙ARM 微控制器的印刷電路板鉆床控制器。控制器兩個
    發(fā)表于 10-12 18:29 ?28次下載

    LM3S系列微控制器I2C應用文檔

    LM3S系列微控制器I2C應用文檔基于LM5749的I2C從機功能,模擬24C02傳輸協(xié)議操作。
    發(fā)表于 04-03 14:29 ?52次下載

    基于Verilog的I2C控制器的設計與綜合

    為滿足嵌入式系統(tǒng)中專用芯片功能不能達到系統(tǒng)要求的現(xiàn)狀,設計出一種功能可擴展的I2C slave控制器,這種控制器與傳統(tǒng)的專用I2C芯片不同。專用的I
    發(fā)表于 10-25 16:58 ?60次下載
    基于Verilog的<b class='flag-5'>I2C</b><b class='flag-5'>控制器</b>的設計與綜合

    Firefly-RK3128主板I2C控制器

    Firefly-RK3128 開發(fā)板上有 4 片上 I2C 控制器。本文主要描述如何在該開發(fā)板上配置 I2C。
    的頭像 發(fā)表于 11-29 08:47 ?1489次閱讀
    Firefly-RK3128主板<b class='flag-5'>I2C</b><b class='flag-5'>控制器</b>

    fireflyFace-RK3399主板I2C控制器介紹

    Face-RK3399 開發(fā)板上有 9 片上 I2C 控制器
    的頭像 發(fā)表于 12-04 09:17 ?2968次閱讀
    fireflyFace-RK3399主板<b class='flag-5'>I2C</b><b class='flag-5'>控制器</b>介紹

    i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程

    I2C總線控制器為微控制器或微處理提供控制I2C總線的接口,它
    發(fā)表于 11-24 14:16 ?7277次閱讀

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

    I2C 總線的根信號線 SCL 和 SDA 需要上拉才能正常工作,當板卡上沒有合適的硬件設置或者沒有合適的 I2Cslave 設備,我們就無法進行 I2C 軟件
    的頭像 發(fā)表于 05-20 15:46 ?1985次閱讀
    如何將<b class='flag-5'>兩個</b>PSI<b class='flag-5'>2C</b><b class='flag-5'>控制器</b>通過EMIO接口互連起來?

    硬件I2C與模擬I2C

    配置;而軟件I2C是沒有寄存這個概念的。 軟件I2C一般是使用GPIO管腳,用軟件控制SCL,SDA線輸出高低電平,模擬i2c協(xié)議的時序
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    如何在Versal平臺實現(xiàn)兩個PS I2C控制器回環(huán)

    I2C 總線的根信號線 SCL 和 SDA 需要上拉才能正常工作,當板卡上沒有合適的硬件設置或者沒有合適的 I2Cslave 設備,我們就無法進行 I2C 軟件
    發(fā)表于 08-02 09:23 ?573次閱讀
    如何在Versal平臺實現(xiàn)<b class='flag-5'>兩個</b><b class='flag-5'>PS</b> <b class='flag-5'>I2C</b><b class='flag-5'>控制器</b>的<b class='flag-5'>回環(huán)</b>

    使用I2C通信連接兩個Arduino

    電子發(fā)燒友網(wǎng)站提供《使用I2C通信連接兩個Arduino.zip》資料免費下載
    發(fā)表于 11-01 09:56 ?0次下載
    使用<b class='flag-5'>I2C</b>通信連接<b class='flag-5'>兩個</b>Arduino

    I2C控制器驅(qū)動介紹

    控制器驅(qū)動 I2C 總線驅(qū)動重點是 I2C 適配器驅(qū)動,這里要用到兩個重要的數(shù)據(jù)結(jié)構(gòu):i2c_adapter 和
    的頭像 發(fā)表于 07-22 15:38 ?1493次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>控制器</b>驅(qū)動介紹

    I2C設備驅(qū)動的兩個數(shù)據(jù)結(jié)構(gòu)

    設備驅(qū)動 I2C 設備驅(qū)動重點關(guān)注兩個數(shù)據(jù)結(jié)構(gòu):i2c_client 和 i2c_driver。i2c_client 就是描述設備信息的,
    的頭像 發(fā)表于 07-22 15:49 ?838次閱讀
    <b class='flag-5'>I2C</b>設備驅(qū)動的<b class='flag-5'>兩個</b>數(shù)據(jù)結(jié)構(gòu)

    I2C子系統(tǒng)SW Architecture

    適配器(控制器)驅(qū)動,這里用到兩個重要的數(shù)據(jù)結(jié)構(gòu):i2c_adapter 和 i2c_algorithm。其中,Linux 內(nèi)核將 SOC 的 I
    的頭像 發(fā)表于 07-22 16:01 ?955次閱讀
    <b class='flag-5'>I2C</b>子系統(tǒng)SW Architecture