0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将两个PSI2C控制器通过EMIO接口互连起来?

电子工程师 来源:XILINX开发者社区 作者:XILINX开发者社区 2021-05-20 15:46 次阅读

I2C 总线的两根信号线 SCL 和 SDA 需要上拉才能正常工作,当板卡上没有合适的硬件设置或者没有合适的 I2Cslave 设备,我们就无法进行 I2C 软件测试。那么是否可以将两个 PSI2C 控制器通过 EMIO 接口互连起来呢?

因为在 PL 内部无法设置信号线上拉,所以不能直接将 I2Cmaster 控制器的 scl_o/sda_o 连接到 I2C slave 控制器的 scl_i/sda_i。有另一种方法来实现上拉的效果,就是通过在顶层 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所示,

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

附件是个例子工程 (附件可点击阅读原文 输入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 里检查相关信号。下面是 i2c0_scl_i/i2c0_sda_i/i2c1_scl_i/i2c1_sda_i 波形 :

原文标题:开发者分享 | 如何在 Versal 平台实现两个 PS I2C 控制器的回环

文章出处:【微信公众号:XILINX技术社区】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15239

    浏览量

    171224
  • Versal
    +关注

    关注

    1

    文章

    151

    浏览量

    7535

原文标题:开发者分享 | 如何在 Versal 平台实现两个 PS I2C 控制器的回环

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN如何将双通道ADC连接到FX3控制器

    我想用 FX3 控制器直接连接具有 250MSPS 的 14 位双通道 ADC 的并行 LVDS 输出。 从器件的数据表中可以清楚地看出,我 CAN ADC输出连接到GPIFII接口的引脚
    发表于 02-27 06:25

    如何将数字电位与微控制器隔离控制

    请问,如何将数字电位与微控制器隔离控制,我想用数字电位控制外部设备。
    发表于 12-12 08:12

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

    ,10k都试过了,还是不行。 看到论坛上说LDO输出能力不足,所以使用了1.8V外部供电,但是有一问题,LDO_OUT和DVDD是在芯片下面连起来的,割不开,所以没法分开。测到不使用外部1.8V
    发表于 11-29 07:38

    可以把AD6645的VREF引脚直接和AD8331的VCM引脚连起来吗?

    ADI工程师: 您好!我在使用AD6645的时候有点问题,向您请教一下。 AD8331和AD6645交流耦合,AD8331的VCM引脚输出共模电压2.4V,AD6645的VREF引脚输出2.5V,可以把AD6645的VREF引脚直接和AD8331的VCM引脚连起来吗?
    发表于 11-16 06:34

    通过两个不同的定时控制PWM的输出,如何让者同步?

    通过两个不同的定时控制PWM的输出,希望两个PWM可以同步,该如何处理?
    发表于 11-06 06:47

    PCB中的GND一定要都连起来吗?PCB的GND需要怎么弄?

    PCB中的GND一定要都连起来吗?PCB的GND需要怎么弄? 在PCB (Printed Circuit Board)设计中,地线(GND)是非常重要的一个部分。在电路板中,GND 相当于电流的归宿
    的头像 发表于 09-22 16:25 5517次阅读

    如何在M031/M032系列微控制器中运行I2C/ SPI接口ISP桥

    应用程序:本示例代码演示如何在 M031/M032 系列微控制器中运行 I2C/ SPI 接口 ISP 桥。 BSP 版本:M031系列CMSIS BSP V3.01.001 硬件
    发表于 08-29 07:59

    用于配置两个QSPI序列数据比特传输到其它设备

    : NuMaker-M483KKG V1.1 此示例代码用于配置两个 QSPI 序列数据比特传输到其它设备。 通过 2 位传输模式, 两个
    发表于 08-29 06:38

    GICv2中断控制器与ARM Cortex-A5x和Cortex-A72处理集成

    版(GICv2)的一些内在限制,例如随着系统规模的增加可扩展性有限。 它还增加了几个新功能。 例如,GICv2体系结构规范支持的处理数量限制在最多8
    发表于 08-23 07:21

    设计一带有PN7160的NFC主机控制器板,对天线接口的疑问求解

    我正在设计一带有 PN7160 的 NFC 主机控制器(阅读)板,并且对天线接口有疑问。 天线接口有我正在使用的引脚 RXN、TX1、
    发表于 06-02 06:14

    如何提高GDB下断点数量?

    导入到了eclipse下,GDB能与目标板连起来正常调试,但仅支持两个断点(HPM6750支持两个),想问贵方有没有方法可以利用CMSIS-DAP的六断点?
    发表于 05-26 07:54

    如何将TCA9535与LPC55S16微控制器连接?

    我正在使用带有 LPC55S16 微控制器的 TCA9535(I/O 扩展接口。我们使用 I2C 通信与 I/O Expander 进行通信。使用给定的设备地址、寄存
    发表于 05-22 08:19

    如何将TDA8026 CAKE子板与主机控制器连接起来

    我正在尝试 TDA8026 CAKE 子板与主机控制器连接起来。起初,我试图通过连接 I2C 引脚和 VDd、VDDintf 引脚来检测设
    发表于 05-19 06:25

    如何将ESP连接到微控制器

    你好! 我有一问题:这是 ESP 的最小电路。 我想用微控制器驱动它。我的问题是: 1) RST 和 EN 引脚通过电阻连接到 Vcc。如果我想将它连接到 STM32(连接到 STM32 的 GPIO),我是否仍应使用相同的
    发表于 05-15 08:30

    如何将LCD显示连接到电路板并配置驱动程序以使用示例Qt示例对其进行测试?

    。 我们找到了所用 LCD 控制器的 linux 驱动程序。 https://github.com/sirinsoftware/lcd-drivers/blob/master/ssd1963.c 但是,我们如何将 LCD 显示
    发表于 05-06 06:34