找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2539|回复: 1
打印 上一主题 下一主题
收起左侧

Quartus Signaltap IIC协议EEPROM学习感悟

[复制链接]
跳转到指定楼层
楼主
学习感悟
——八月第二周
  第一天学习通过串口发送图片数据,存储到 ram里边,然后用 vga在电脑上显示出来,其实做起来不是很困难,但是由于自己的大意不认真,导致最后结果没出来,却浪费了三个小时去找错误,我觉得不值。这本是不应该犯的错误,所以以此为警戒,在以后的学习过程中不能投机取巧,还有就是里边的位置一定要把握好,尤其是数据附近,
只要错一点就会出现错误。结构图如下:

第二天学习了 IIC协议,就是一种串行的通信协议。利用片外存储器EEPROM,它是一个可读可写的存储器。靠的是严紧的时序来完成
这个协议的,错一个周期就会出现问题。在这里锻炼了时序的掌控技巧,由于  IIC  总线协议启动和停止信号都是在  SCL  高电平期间发生跳变,这就决  定了我们其他数据的改变只能发生在  SCL  低电平期间,在  SCL  为高电平期间,数  据必须保持稳定。即在  SCL  低电平改变数据,在  SCL  高电平采集数据。画时钟分析还有点问题,单个的发送还差不多,以后得多练习。
  第三天学习了从 EEPROM 中读数据,然后和昨天的连接起来,练习了一下 IIC 协议的写法,熟悉了它的流程,接下来打算把按键加上去,进行控制EEPROM的边写边读。还学习了怎么去验证,学了三种方法,一种是屏蔽 ACK 应答信号,一种是加一个厂家写的仿真程序,进行模拟,最后一种就是用 signalTap 对数据进行采集然后看波形,这里边需要注意的是采样的时钟频率。
下来学习了添加按键来控制 EEPROM 的写和读,按键需要经过消抖,否则在signaltap中仿真时会接收不到应答信号,加按键需要注意位置,并且不能产生多余的时钟周期,要不然就会影响结果。最后将数码管显示模块也加上去了,通过按键让写入的数据在数码管上显示出来,直接在 iic 协议模块输出一个数据变量就能完成。用 modelsim仿真需要注意时间,写完之后要等一段时间,否则后边读操作就完成不了,而在signaltap中仿真就会方便一点,直接在 quartus II中全编译然后下板,设置采样时钟和触发条件后进行采集数据,最后将数据用波形显示出来,以此来验证 EEPROM的读写是否成功,查看按键能否改变波形,顺带练习一下 signaltap工具的使用。 最后学习了 EEPROM 的页写与页读,通过前边几天的学习已经初步掌握了 iic 协议的基础,对 EEPROM 的存储原理也明白了,然后对
页写与页读进行练习,进一步去掌握iic协议。 在本周主要学习了 EEPROM 存储器,前俩天完全处于迷糊状态,
到后来才勉强理解了那么一点,还需要常练习,然后慢慢的去深入了解一下, 难点是对时序的要求很高, 稍微错一点就会出现错误的结果,所以对时序的把握很有帮助。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:808940 发表于 2020-8-12 18:18 来自手机 | 只看该作者
大佬可以分享一下关于IIC的应答的理解不
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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