ZYNQ SOC I2C与EEPROM原理

1.I2C

I2C(Inter-Integrated Circuit)总线是一种由飞利浦(现恩智浦半导体)开发的简单、双向二线制同步串行总线,用于连接微控制器及其外围设备。I2C总线仅需要两根线(SDA和SCL)即可实现数据的传输,因此在嵌入式系统中得到了广泛的应用。

1.1ZYNQ PS 侧 I2C 控制器系统框图

[外链图片转存中...(img-HLKzekRE-1734887844399)]

如图,展示了I2C控制器在Zynq处理系统中的位置和与其他组件的关系。

  1. IRQ ID# [57, 80]: 表示I2C控制器产生的中断请求ID号,这些中断可以通知CPU有关I2C操作的完成或其他重要事件。
  2. Slave port: 这是I2C控制器的一个接口,允许其他设备将其视为从设备,并通过I2C总线与之通信。
  3. Interconnect: 这是一个内部互连线,用于连接不同的IP块,如I2C控制器和其他系统组件。
  4. I2C(0, 1) CPU1x reset: 这些是I2C控制器的复位信号,用于初始化或重置I2C控制器。
  5. I2C(0, 1) CPU_1x clock: 这些是提供给I2C控制器的时钟信号,决定了I2C总线的速度和定时。
  6. I2C Controllers: 这是I2C控制器的核心部分,负责管理和执行I2C通信协议。
  7. Control Registers: 这些寄存器用于配置和控制I2C控制器的行为,例如选择要通信的从设备地址、设置通信速率等。
  8. Clocking: 这个模块为I2C控制器提供了必要的时钟信号,以确保正确的时序和通信速度。
  9. MIO – EMIO Routing: 这一部分显示了如何将I2C控制器的SCL和SDA线路由到Zynq的物理引脚上。MIO(Multiplexed Input/Output)用于将I2C信号路由到PS引脚,而EMIO(Extended Multiplexed Input/Output)则用于将I2C信号路由到PL(Programmable Logic)区域。
  10. Device Boundary: 这表示I2C控制器与外部设备的接口边界。
  11. MIO Pins: 这些是Zynq PS侧的物理引脚,用于与外部I2C设备进行通信。
  12. EMIO: 这是另一个输出选项,可以将I2C信号路由到PL区域,以便在PL中进行进一步的处理或扩展。
  13. PL: Zynq的可编程逻辑区域,可以通过EMIO接口与I2C控制器进行通信。

通过官方提供的I2C控制器系统框图可以大致了解I2C的框架,对于后面的使用有很大的帮助,例如像IRQ ID# [57, 80]作为I2C的中断号,在使用中断时要打开这个端口、I2C Controllers 控制中断的产生、数据读写进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值