明德扬论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫一扫,快捷登录!

查看: 6193|回复: 0

明德扬PCIE系列开发板K7325T试用体验-第三篇

    [复制链接]
发表于 2023-12-20 10:36:32 | 显示全部楼层 |阅读模式

马上注册,看完整文章,学更多FPGA知识。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本文为明德扬原创文章,转载请注明出处!作者:Vito

第三周来完成低速协议-iic的工程
查看核心板原理图刚好有一片M24C02 EEPROM,采用的接口是iic,因此就以该器件作为上板验证的硬件基础了。
硬件连接如下图所示:
图片1.png
本次工程完成的目标:FPGA通过iic协议向24C02写入0-255个数据,然后再依次读出数据,比较和写入的数据是否一致。
iic协议看似简单,但是它的读写跳转状态还挺多的,很容易在写程序时就绕晕了。因此本次工程实现按照规划步骤,理清思路分步进行,主要分为以下部分:
n 1.数据手册协议理解,总结iic读写流程。
n 2.根据读写流程进行状态设计,明确接口。
n 3.编写iic驱动代码,连接i2c仿真模型进行仿真调试。
n 4.上板验证
1. 协议
M24C02的数据手册我没有在给我的硬件资料中找到,如下图,希望之后补充完整。
图片2.png
我在网上找到同型号的SPEC,如下图,ST公司的eeprom,i2c速率支持100K400K;本型号C02的容量是2Kbit的。
图片3.png
对于i2c设备,首先需要明确器件地址,如下图所示,器件地址是7位的,其中高4位是固定为1010bit3-bit1由硬件决定,结合核心板原理图设计及封装,所以器件地址为:1010_000, bit0为读写控制位,1为读操作,0为写操作。
图片4.png
下面是读写时序,
写时序总结:
开始->器件地址写->从机应答->寄存器地址->从机应答->写数据->从机应答->结束
注:
1.如果是页写,就是在一个字节写数据之后不接停止,紧接着发下一个字节的数据而已。寄存器地址从机会自动累加,但是不能超过一页(本器件是16字节),否则地址会回滚。
2.i2c设备容量为2k bit,换算成245个字节刚好是8位的寄存器地址,当然还有更大容量的i2c设备,所以为了兼容大容量的,寄存器地址分为16bit8bit的。
3.对于写保护就是写入数据无效,但器件地址匹配从机也会响应,本项目暂不考虑这种使用场景,波形忽略。
图片5.png
读时序如下图,读时序相对于写操作来讲会稍微复杂一点,针对最常用的随机写操作而言,需要先发起一次伪写,目的是将i2c设备内部的寄存器地址指针指到想要读的位置,然后再进行一次读操作。
读时序总结:
开始->器件地址写->从机应答->寄存器地址->从机应答->重新开始->器件地址读->从机应答->从机返回数据->主机不应答->结束
注:如果主机应答,那么从机就会继续返回下一字节的数据,直到主机不应答后从机才会停止进入待机模式。
图片6.png
2. 状态跳转
因为状态较多,所以采用状态机跳转,方式如下。
图片7.png
根据状态转移设计接口信号以及具体时序。这里以写时序为例
图片8.png
3.代码编写及调试
根据状态转移以及时序,编写i2c_dri模块接口以及代码
图片9.png
图片10.png
编写完i2c协议驱动之后就需要进行仿真,这里使用的是eeprom的仿真模型文件,见附件。在tb中编写从1写到255地址依次递增,数据和地址一一对应,写完之后再依次读回来,然后对比读写数据的结果。这里截取第一段写的过程的仿真波形
图片11.png
可见,依次完整的写操作波形符合协议规范,并且从设备在接收到数据后也应答了对应的请求,说明这一次写操作是ok的。
4.上板验证
仿真通过后就可以上板验证了,增加io约束,将对应的信号映射到实际板子上,时钟复位,eeprom的引脚。为了方便观察实验结果,使用了一个LED作为数据比较结果的示意,当读写eeprom的结果正常,那么led灯将常亮,如果结果不正常,那么LED灯将会闪烁。
如下图是上板结果,LED灯常亮结果正确。
图片12.png

  众所周知,XILINX-Kintex系列以性价比著称,在高性能低功耗的前提下,价格也相对较低,目前市场上不存在缺货的情况,所以当使用量大的时候,价格也会更有优势。所以在研发工作中。这个款核心板是非常适用于二次开发和产品使用的。明德扬推出0元试用核心板活动正在进行中,可以联系客服黄老师参加:13316124179(微信同号)

未命名.jpg

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|MDYBBS ( 粤ICP备16061416号 )

GMT+8, 2024-4-28 20:50 , Processed in 0.054561 second(s), 22 queries .

Powered by Discuz! X3.4

本论坛由广州健飞通信有限公司所有

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表