查看: 872|回复: 0

【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十二章 PS端I2C的使用

[复制链接]
  • TA的每日心情
    开心
    2021-1-12 14:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2021-1-18 15:52:57 | 显示全部楼层 |阅读模式
    分享到:
    原创声明:
    本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
    适用于板卡型号:
    AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

    vivado工程目录为“ps_hello/vivado”
    vitis工程目录为“ps_i2c/vitis”
    软件工程师工作内容
    以下为软件工程师负责内容。
    从原理图中可以看出,PS端的I2C接了EEPROM。
    1. Vitis程序开发
    1.1 EEPROM读写
    1) 导入emample工程
    2) 导入xiicps_eeprom_polled_example工程
    EEPROM 的程序比较简单,具体代码大家可以自己去看,这里不详细说了。下面只对程序
    的功能和一些要点做一下介绍:
    • EEPROM 的设备地址在程序的前面做了定义,这个地址就是系统访问外部 IIC 外设的设备地址,这里EEPROM地址为 0x54, 相当于 8bit 的 0xA8。
    EEPROM 的设备地址可以在 24LC04 的芯片手册上找的到,高 4 位是 A,后面 3 位是 Block地址,因为 24LC04 只有 2 个 Block, 所以高 2 位 Block Address 是无效的。
    • 由于EEPROM的地址为1个字节,在程序中修改如下,并保存编译
    3) 程序流程如下:
    ReadBuffer清0,WriteBuffer赋FF写16个字节到EEPROM读EEPROM的16个字节到ReadBuffer检验是否正确Readbuffer清0,WriteBuffer赋值10~25写16字节到EEPROM读16字节到ReadBuffer检验是否正确返回
    4) 下载程序
    5) 串口结果

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 12:13 , Processed in 0.110081 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.