【黑金云课堂】FPGA技术教程Vitis开发:PS端IIC通信

Vitis 开发第 8 节 PS IIC ,选自ALINX 黑金云课堂 FPGA 免费直播课。该课程由 ALINX 资深工程师团队倾力打造,从 0 到 1 系统化教学,帮助每位工程师跨过 FPGA 开发门槛。

🔍 ALINX :关注 ALINX,进入视频号即可查看完整黑金云课堂 FPGA 视频教程。配合笔记学习效果更佳。


IIC 通信协议原理

概念

IIC 是一种半双工通信协议,其物理层和协议层的关键特征如下:

  • 空闲状态: SCL(时钟线)和SDA(数据线)均保持高电平。
  • 启动信号: SCL为高电平时,SDA由高电平拉低。
  • 数据传输: 传输8位数据,在SCL高电平期间,SDA必须保持电平不变。
  • 应答信号 (ACK/NACK):

主控器释放SDA,接收端将其拉低表示已收到数据(ACK)。 若为高电平则表示未收到(NACK)。

  • 特殊规则: 若主控器为接收方,收到最后一个字节后需发送NACK信号,通知从机结束发送并释放SDA,以便主控器发送停止信号。
  • 停止信号: SCL为高电平时,SDA由低电平拉高

💻️ 实验一:EEPROM 读写

  • 实验对象: IIC 接口的 EEPROM 存储器
  • 核心特性:
    • 容量: 4Kbit,分为2个Block,每个Block为256×8bit。
    • 速度: 最大频率400KHz。
    • 写操作: 支持16字节页写入模式。
    • 设备地址: 包含B0位用于选择Block,以及R/W位(1为读,0为写)。

关键注意点

  • 页写入环绕问题: 执行Page Write时,若写入数据跨页 ,地址会环绕回本页首地址,导致前面数据被覆盖
  • 读操作地址: 内部地址计数器自动加1,基于上一次读/写操作的地址,当前地址为address+1。ogetgpioinfo 等命令,是推荐的新一代接口

💻️ 实验二:LM75温度传感器控制

  • 实验对象: LM75温度传感器。
  • 设备地址: 7位器件地址为1001_A2A1A0。读取温度寄存器时,典型地址为1001000,即0x48。
  • 温度寄存器与计算: 温度值为2个字节,共11 位有效数据。
  • 标准精度: 0.125℃。
  • 简化方案: 若只取高9位 (D10-D2),精度为 0.125℃ × 4 =0.5℃

💡原理实验讲解可前往 ALINX 视频号进行直播回看。

更多细节欢迎关注我们黑金云课堂全年免费直播课黑金云课堂五月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!

系列 内容定位
Verilog开发 硬件描述语言基础、逻辑设计、仿真调试
Vitis开发 Zynq软硬件协同、外设驱动、网络协议栈
Linux开发 嵌入式Linux系统移植、驱动编写、应用开发
相关推荐
ALINX技术博客1 天前
AMD MoP 封装策略解读 | HBM 大热,为何 AMD Versal 系列反选 LPDDR5X?
fpga开发·fpga·amd·versal
zlinear数据采集卡1 天前
从万用表的6步调零到硅片级微秒自校准:硬核拆解LHAMP188的宽压轨到轨与零漂移实战
arm开发·stm32·单片机·嵌入式硬件·fpga开发
Rambo.xia1 天前
AXI-Stream反压与背靠背传输——TREADY反压丢帧、TDEST路由错误、反压死锁,流式数据一反压就出事
fpga开发
repokey-Yao1 天前
AI 如何看懂 FPGA 大工程?RepoKey Starter 使用记录
人工智能·chatgpt·fpga
国科安芯1 天前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
传感器与混合集成电路2 天前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构
Rambo.xia2 天前
10Gbps实时图像重采样:一个FPGA项目的完整交付复盘
fpga开发
zlinear数据采集卡2 天前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
小麦嵌入式2 天前
FPGA入门(八):一篇讲透跑马灯、闪烁灯、呼吸灯的原理与模拟波形分析
fpga开发
Rambo.xia2 天前
AXI4-Full突发传输掉数据——突发长度算错、WRAP边界、窄传输字节错位,调试一周才发现是协议理解错了
fpga开发