I2C之AT12C512存储芯片
2012-02-09 13:06
169 查看
I2C:(基于存储器AT24C512)
使用过程:
MCU---发送启始信号和从器件地址---从器件应答之后。。。
1、启停信号
启动:SCL保持高电平,SDA电平由高到低。
停止:SCL…………….,SDA电平由低到高。
2、设备选址。
MCUaction:发送启动信号再发送从器件地址(高5位固定为10100,“1010表示E2ROM”,接下来的2位A0A1为器件地址位,最后一位为读写控制字,“1”为读“0”写)
Slave action:检测总线,当其地址与发送的从地址相符时,通过SDA发出应答信号。
AT24C512控制字:1-0-1-0-0-A0-A1-R/W
3、应答信号。
I2C总线传输数据时,每成功传送1B,接收器必须产生一个ACk信号,应答器件(接收端)在第9个时钟周期将SDA拉低表示已接收。
如果接收器件选择写操作:则每接收1B之后发送一个ACK信号。
工作于读模式:在发送一个8位数据后,释放SDA,并监测1个应答信号,一旦接收到ACK则继续发送数据,若主器件没有发送ACK,器件停止传送数据并等待产生一个停止信号。
4、写操作。
AT24C512分为字节写和页写。(没有缓冲器,写需要一定的时间)
在字节写模式下:主器件首先给从器件发送启‘信号和从器件地址,在从器件回应答信号后,主器件再发送两字节的地址信息到AT24C512地址指针,主器件在收到应答信号后,再发送1B的数据到被寻址的存储单元,从器件再次应答,并在主器件产生停止信号后开始内部数据擦写(擦写过程中,从器件不再接收应答主器件的任何请求。)
在写页方式时:AT24C512可以一次性写入一页128B。(初始化过程与字节相同,不同的是,当写入一个数据字节后,单片机不发停止状态,而是在应答信号后接着输入127B,每一B接收完毕后,AT24C512则照样输出一个应答信号)
5、读操作。
读操作有当前地址读、随机读、读串。(初始化过程与写的基本相同,只是在设备选择字的最低位改为读而已。)
当前地址读操作方式:内部数据的地址将保持在最后的读写操作地址加一,直到读到最后字节后又回到最开始的位置。
随机读模式:读之前要向AT24C512写入1B地址,然后才能读。
读串操作模式:既可以当前地址读,也可以是随机地址读。(当单片机接收到一个数据字后,会回应一个应答信号。AT24C512在接收到应答信号后会将地址加一,接着输出1B。当单片机接收到数据但不送应答信号时,读过程结。)
AC(小波)编写,这几天,心情特别不舒畅,因为,前天,自己把电脑的硬盘资料都丢失了,整理了三年的资料库说没有就没有,心情特别地惆怅,所以,现在,需要网络来维持自己的数据库,且有感而发。
座右铭:求知若渴,虚心若愚!
使用过程:
MCU---发送启始信号和从器件地址---从器件应答之后。。。
1、启停信号
启动:SCL保持高电平,SDA电平由高到低。
停止:SCL…………….,SDA电平由低到高。
2、设备选址。
MCUaction:发送启动信号再发送从器件地址(高5位固定为10100,“1010表示E2ROM”,接下来的2位A0A1为器件地址位,最后一位为读写控制字,“1”为读“0”写)
Slave action:检测总线,当其地址与发送的从地址相符时,通过SDA发出应答信号。
AT24C512控制字:1-0-1-0-0-A0-A1-R/W
3、应答信号。
I2C总线传输数据时,每成功传送1B,接收器必须产生一个ACk信号,应答器件(接收端)在第9个时钟周期将SDA拉低表示已接收。
如果接收器件选择写操作:则每接收1B之后发送一个ACK信号。
工作于读模式:在发送一个8位数据后,释放SDA,并监测1个应答信号,一旦接收到ACK则继续发送数据,若主器件没有发送ACK,器件停止传送数据并等待产生一个停止信号。
4、写操作。
AT24C512分为字节写和页写。(没有缓冲器,写需要一定的时间)
在字节写模式下:主器件首先给从器件发送启‘信号和从器件地址,在从器件回应答信号后,主器件再发送两字节的地址信息到AT24C512地址指针,主器件在收到应答信号后,再发送1B的数据到被寻址的存储单元,从器件再次应答,并在主器件产生停止信号后开始内部数据擦写(擦写过程中,从器件不再接收应答主器件的任何请求。)
在写页方式时:AT24C512可以一次性写入一页128B。(初始化过程与字节相同,不同的是,当写入一个数据字节后,单片机不发停止状态,而是在应答信号后接着输入127B,每一B接收完毕后,AT24C512则照样输出一个应答信号)
5、读操作。
读操作有当前地址读、随机读、读串。(初始化过程与写的基本相同,只是在设备选择字的最低位改为读而已。)
当前地址读操作方式:内部数据的地址将保持在最后的读写操作地址加一,直到读到最后字节后又回到最开始的位置。
随机读模式:读之前要向AT24C512写入1B地址,然后才能读。
读串操作模式:既可以当前地址读,也可以是随机地址读。(当单片机接收到一个数据字后,会回应一个应答信号。AT24C512在接收到应答信号后会将地址加一,接着输出1B。当单片机接收到数据但不送应答信号时,读过程结。)
AC(小波)编写,这几天,心情特别不舒畅,因为,前天,自己把电脑的硬盘资料都丢失了,整理了三年的资料库说没有就没有,心情特别地惆怅,所以,现在,需要网络来维持自己的数据库,且有感而发。
座右铭:求知若渴,虚心若愚!
相关文章推荐
- stm32笔记2—读写I2C存储芯片
- 超高频进口芯片存储区对比
- eeprom AT24C512 i2c总线的特点 来自eeleader的博客
- IPC需要用到的小容量128MB NAND存储芯片
- FT232H USB转串口,I2C,JTAG高速芯片
- 使用I2C操作AT88加密芯片
- 如何在mtk andorid6.0上添加一个I2C驱动(这里是添加一个FM 芯片驱动)
- IIC存储芯片应用
- 嵌入式系统学习(三)-S5P4418 芯片存储空间分布说明
- IPC需要用到的小容量128MB NAND存储芯片
- LM75温度芯片I2C驱动
- linux下i2c与时钟芯片pcf8563的通信
- linux下i2c与时钟芯片pcf8563通信(二)
- Linux 下 i2c switch(选路芯片mux) — pca9548
- 树莓派的I2C - AT24C02 EEPROM 芯片
- 谢源:计算存储一体化,在存储里做深度学习,架构创新实现下一代AI芯片
- 用SASx28 Expander芯片设计SAS扩展卡和存储扩展机箱背板
- Linux下读写芯片的I2C寄存器
- 表情存储异常--mybatis抛出异常(java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1)
- NIOS 2 软核中EPCS配置芯片的存储操作