首页 > 版块 > STM32 > 帖子正文

24C02存储细节规范

黄忠 发布于 2021-11-11 14:31
收藏 0 回复 0 浏览 190 原创

大家好,我是张飞实战电子黄忠老师;前面文章分享了I2C的一个标准规范,只是知道这些标准规范,还不能和目标器件进行正常通信,我们以24C02(EEPROM)为例来做一个简单说明,想要和EEPROM通信,就得遵从EEPROM的通信规范因为EEPROM是一个不可编程器件,它的规范是固定的。
    那么它都有哪些规范需要我们去注意呢?比如数据传输的时候拉高拉低要保持多长时间才有效通信的时候要按照什么格式写,先发高位还是低位等等。在这里一共有4个时间需要注意,分别为数据建立时间,保持时间,时钟高电平时间,时钟低电平时间,手册上对这几个时间都是有要求的。
图片9.png
    从图中我们看出,当我们在SCL为低电平期间,把SDA数据改变,这个时候SCL时钟还是要保持一段时间才能拉高发送,这个保持的时间就是数据建立时间
图片10.png图片10.png

1                                图2
    从图1箭头处可以看出,当我们把SCL拉低之后,SDA数据是不可以立马去改变的,SCL时钟拉低还是要保持一段时间才能去改变SDA数据线电平的,这个时间就是保持时间

从图2箭头处可以看出,当我们把SCL拉高发送数据的时候,这个SCL时钟保持高电平,是要持续一定时间的,这个时间就是时钟高电平时间,时钟低电平时间也是同理

图片12.png
  这个是24C02器件在400K高速通信4个时间的要求,那我们在进行单片机编程的时候,我们需要根据这几个C间设置相关寄存器24C02操作时,不光有这几个时间,它还有自己的通信协议规范我们以字节写为例,来进行说明。
  下图就是24C02通信协议我们先看对24C02写数据,是1个字节写指令根据这个写一个字节对应的定义我来一个一个进行解释
图片13.png图片14.png
1表示启动
2表示设备地址也就是我们说的从机地址设备地址为7位),发地址时,先发地址的高位,再发低位(MSB为高位,MSB在前,表示先发),可以通过24C02器件某几个特定的引脚接不动的电平状态来设置地址。
3表示是对从机如何操作,是读还是写(一个位)这里是写操作
4表示要读写数据的地址
5表示要读写的数据内容

6表示停止
7表示每进行一次传输从机的应答每次传送1个字节,也就是8个bit也就是每8个bit一个ACK信号

以上就是一个字节的写,当然还有多字节写,单字节读,多字节读等操作,原理都是一样的,知道了这些之后,我们才可以对应的去写程序代码。赶快去试试吧!


0 0
发表评论 侵权投诉
评论 (0)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表乌云踏雪网立场。

文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。