版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 I2C总线器件的扩展总线器件的扩展一、一、扩展电路扩展电路 基于IIC总线的E2PROM AT24C02特性特性 与与 400KHz IIC 总线兼容总线兼容 1.8 到到 6.0 伏工作电压范围伏工作电压范围 低功耗低功耗 CMOS 技术技术 写保护功能写保护功能 当当 WP 为高电平时进入写保护状态为高电平时进入写保护状态 页写缓冲器页写缓冲器 自定时擦写周期自定时擦写周期 1,000,000 编程编程/擦除周期擦除周期 可保存数据可保存数据 100 年年 8 脚脚 DIP SOIC 或或 TSSOP 封装封装 温度范围温度范围 商业级商业级 工业级和汽车级工业级和汽车级 串行串行E2P
2、ROM典型产品典型产品 AT24C01:128字节(字节(1288位);位); AT24C02:256字节(字节(2568位);位);AT24C04:512字节(字节(5128位)位)AT24C08:1K字节(字节(1K8位);位);AT24C16:2K字节(字节(2K8位);位); ATMEL公司的公司的AT24C系列:系列: AT24C02引脚分布引脚分布WP 写保护写保护 如果如果WP 管脚连接到管脚连接到 Vcc 所有的内容都被写保护所有的内容都被写保护,只能读。当,只能读。当 WP 管脚连接到管脚连接到Vss或悬空,允许器件进行正常的读或悬空,允许器件进行正常的读/写操作。写操作。A
3、T24C02读写时间周期读写时间周期 AT24WC01/02/04/08/16支持支持I2C总线数据传送协议总线数据传送协议和和I2C总线协议规定。总线协议规定。 任何将数据传送到总线的器件作为发送器,任何任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器。从总线接收数据的器件为接收器。 数据传送是由产生串行时钟和所有起始停止信号数据传送是由产生串行时钟和所有起始停止信号的主器件控制的,主器件和从器件都可以作为发送器的主器件控制的,主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据或接收器,但由主器件控制传送数据(发送或接收发送或接收)的的模式,通过器件地址输入
4、端模式,通过器件地址输入端A0、A1和和A2可以实现将可以实现将最多最多8个个24WC01和和24WC02器件,器件,4个个24WC04器件器件(仅使用仅使用A1A2 地址管脚地址管脚),2个个24WC08器件器件(仅使用地址仅使用地址管脚管脚 A2 A0)和和 1个个 24WC16器件连接到总线上器件连接到总线上(所有所有地址管脚地址管脚 A0 A1 A2 都未用都未用)。AT24C02功能描述功能描述I2C总线协议总线协议1、只有在总线空闲时才允许启动数据传送;、只有在总线空闲时才允许启动数据传送;2、在数据传送过程中,当、在数据传送过程中,当SCL=1时,数据线时,数据线SDA必须保持必
5、须保持稳定状态,不允许有跳变;稳定状态,不允许有跳变;SCL=1时,数据线时,数据线SDA的任何电的任何电平变化将被看作总线的起始或停止信号;平变化将被看作总线的起始或停止信号;起始信号起始信号 时钟线时钟线SCL保持高电平期间,数据线保持高电平期间,数据线SDA电平从高到低电平从高到低的跳变作为的跳变作为I2C总线的起始信号。总线的起始信号。 停止信号停止信号 时钟线时钟线SCL保持高电平期间,数据线保持高电平期间,数据线SDA电平从低到高的电平从低到高的跳变作为跳变作为I2C总线的停止信号总线的停止信号 器件寻址器件寻址1010A2A1A0 主器件通过发送一个起始信号启动发送过程,然后发送
6、它主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址:所要寻址的从器件的地址: 8 8位从器件地址的高位从器件地址的高4 4位固定为位固定为10101010,接下来的,接下来的3 3位位A2A1A0 A2A1A0 为器件的地址位,用来定义哪个器件以及器件的哪个部分被为器件的地址位,用来定义哪个器件以及器件的哪个部分被主器件访问。主器件访问。最低位作为读写控制位:最低位作为读写控制位: 1 1 表示对从器件进行读操作表示对从器件进行读操作 0 0 表示对从器件进行写操作表示对从器件进行写操作 在主器件发送起始信号和从器件地址字节后在主器件发送起始信号和从器件地址字节后24C
7、02监视总线监视总线并当其地址与发送的从地址并当其地址与发送的从地址相符时相符时,响应一个应答信号响应一个应答信号(通过通过SDA线线),24C02根据读写控制位根据读写控制位(R/W)的状态进行读或写操作的状态进行读或写操作 W/R应答信号应答信号 I2C总线数据传送时,每成功地传送一个字节数据后,接总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号,收器都必须产生一个应答信号,应答的器件在第应答的器件在第9个时钟周期个时钟周期时,将时,将SDA线拉低线拉低,表示其已收到一个,表示其已收到一个8位数据。位数据。 24C02在接收到起始信号和从器件地址之后响应一个应答在接
8、收到起始信号和从器件地址之后响应一个应答信号,如果器件已选择了写操作信号,如果器件已选择了写操作,则在每接收一个则在每接收一个8位字节之位字节之后响应一个应答信号;后响应一个应答信号; 当当24C02工作于读模式时,在发送一个工作于读模式时,在发送一个 8 位数据后释放位数据后释放SDA线并监视一个应答信号,一旦接收到应答信号,线并监视一个应答信号,一旦接收到应答信号,24C02继续发送数据,如主器件没有发送应答信号器件停止传送继续发送数据,如主器件没有发送应答信号器件停止传送数据且等待一个停止信号。数据且等待一个停止信号。应答时序应答时序主机时钟主机时钟发送器输出的数据发送器输出的数据接收器
9、输出的数据接收器输出的数据 (2)写入过程)写入过程 AT24C系列系列E2PROM芯片地址的固定部分为芯片地址的固定部分为1010,A2、A1、A0引脚接高、低电平后得到确定引脚接高、低电平后得到确定的的3位编码。形成的位编码。形成的7位编码即为该器件的地址码。位编码即为该器件的地址码。 单片机进行写操作时,首先发送该器件的单片机进行写操作时,首先发送该器件的7位地位地址码和写方向位址码和写方向位“0”(共(共8位,即一个字节),发位,即一个字节),发送完后释放送完后释放SDA线并在线并在SCL线上产生第线上产生第9个时钟信个时钟信号号;被选中的存储器器件在确认是自己的地址后,在被选中的存储
10、器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为相应,单片机收到线上产生一个应答信号作为相应,单片机收到应答后就可以传送数据了。应答后就可以传送数据了。 传送数据时,单片机首先发送一个字节的被写入器件的传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。发送各数据字节,但每发送一个字节后都要等待应答。 AT24C系列器件片内地址在接收到每一个数据字节地址后系列器件片内地址在接收到每一个数据字节地址后自动加自动加1,在芯片的,在芯片的“一
11、次装载字节数一次装载字节数”(不同芯片字节数不(不同芯片字节数不同)限度内,只需输入首地址。装载字节数超过芯片的同)限度内,只需输入首地址。装载字节数超过芯片的“一一次装载字节数次装载字节数”时,数据地址将时,数据地址将“上卷上卷”,前面的数据将被,前面的数据将被覆盖。覆盖。 当要写入的数据传送完后,单片机应发出终止信号以结束当要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入写入操作。写入n个字节的数据格式个字节的数据格式 :S1010 xxx0A字节首地址字节首地址AData1AData2A AData nAP写入时序写入时序S器件地址器件地址+0A字节首地址字节首地址ADat
12、a1AData2A AData nAP页写页写 页写操作的启动和字节写一样,不同在于传送了一字节页写操作的启动和字节写一样,不同在于传送了一字节数据后并不产生停止信号,主器件被允许再发送数据后并不产生停止信号,主器件被允许再发送 P=15个额个额外的字节;外的字节; 每发送一个字节数据后每发送一个字节数据后24C02产生一个应答位并将字节产生一个应答位并将字节地址低位加地址低位加 1 高位保持不变高位保持不变 ,如果在发送停止信号之前主,如果在发送停止信号之前主器件发送超过器件发送超过P+1个字节个字节 地址计数器将自动翻转,先前写地址计数器将自动翻转,先前写入的数据被覆盖。入的数据被覆盖。2
13、4C02可以一次写入可以一次写入 16 个字节的数据个字节的数据 接收到接收到P+1字节数据和主器件发送的停止信号后字节数据和主器件发送的停止信号后 24C02 启动内部写周期将数据写到数据区,所有接收的数据在一启动内部写周期将数据写到数据区,所有接收的数据在一个写周期内写入个写周期内写入24C02。页写时序页写时序S1010XXX0A字节首地址字节首地址AData1AData2A AData nAP 写保护操作特性可使用户避免由于不当操作而造成对存写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写。储区域内部数据的改写。 当当 WP管脚接高时,整个寄存器区全部被保护起来而变
14、管脚接高时,整个寄存器区全部被保护起来而变为只可读取;为只可读取;24C02可以接收从器件地址和字节地址,但是可以接收从器件地址和字节地址,但是装置在接收到第一个数据字节后不发送应答信号从而避免寄装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写存器区域被编程改写 。写保护写保护读操作读操作 24C02 读操作的初始化方式和写操作时一样读操作的初始化方式和写操作时一样,仅把仅把 位置为位置为 1 ,有三种不同的读操作方式:,有三种不同的读操作方式:立即地址读立即地址读、选择选择读读和和连续读连续读。 1010A2A1A0W/RW/R立即地址读立即地址读 AT24C02的地址
15、计数器内容为最后操作字节的地址的地址计数器内容为最后操作字节的地址加加 1。也就是说,如果上次读。也就是说,如果上次读/写的操作地址为写的操作地址为 N,则立,则立即读的地址从地址即读的地址从地址 N+1开始。如果开始。如果 N=E(这里对这里对24WC01, E=127;对;对 24WC02,E=255;对;对24WC04,E=511;对;对24WC08,E=1023;对;对 24WC16,E=2047)则计数器将则计数器将翻转到翻转到 0 且继续输出数据。且继续输出数据。 AT24C02 接收到从器件地址信号后接收到从器件地址信号后R/W 位置位置 1,它首,它首先发送一个应答信号,然后发
16、送一个先发送一个应答信号,然后发送一个8 位字节数据,主器位字节数据,主器件不需发送一个应答信号,但要产生一个停止信号。件不需发送一个应答信号,但要产生一个停止信号。 立即地址读时序立即地址读时序选择性读选择性读 选择性读操作允许主器件对寄存器的任意字节进行读选择性读操作允许主器件对寄存器的任意字节进行读操作,主器件首先通过发送操作,主器件首先通过发送起始信号起始信号、从器件地址从器件地址和和它想它想读取的字节数据的地址读取的字节数据的地址执行一个伪写操作。执行一个伪写操作。 在在24C02应答之后,主器件重新发送起始信号和从器件应答之后,主器件重新发送起始信号和从器件地址,此时地址,此时R/
17、W位置位置1,24C02响应并发送应答信号,然后响应并发送应答信号,然后输出所要求的一个输出所要求的一个8 位字节数据,主器件不发送应答信号位字节数据,主器件不发送应答信号但产生一个停止信号但产生一个停止信号 。选择性读时序选择性读时序 连续读连续读 连续读操作可通过立即读或选择性读操作启动,在连续读操作可通过立即读或选择性读操作启动,在24C02发送完一个发送完一个 8 位字节数据后,主器件产生一个应答信号来响位字节数据后,主器件产生一个应答信号来响应,告知应,告知24C02主器件要求更多的数据,对应每个主机产生的主器件要求更多的数据,对应每个主机产生的应答信号,应答信号,24C02将发送一
18、个将发送一个 8 位数据字节,当主器件不发位数据字节,当主器件不发送应答信号而发送停止位时结束此操作。送应答信号而发送停止位时结束此操作。 从从24C02输出的数据按顺序由输出的数据按顺序由 N 到到 N+1 输出,读操作时,输出,读操作时,地址计数器在地址计数器在24C02 整个地址内增加,这样整个寄存器区域整个地址内增加,这样整个寄存器区域在可在一个读操作内全部读出。当读取的字节超过在可在一个读操作内全部读出。当读取的字节超过E (这里对这里对24WC01, E=127;对;对 24WC02,E=255;对;对24WC04,E=511;对;对24WC08,E=1023;对;对 24WC16
19、,E=2047),计,计数器将翻转到零并继续输出数据字节。数器将翻转到零并继续输出数据字节。 连续读时序连续读时序 小结读出过程小结读出过程 单片机先发送该器件的单片机先发送该器件的7位地址码和写方向位位地址码和写方向位“0”(“伪伪写写”),),发送完后释放发送完后释放SDA线并在线并在SCL线上产生第线上产生第9个时钟信个时钟信号。号。被选中的存储器器件在确认是自己的地址后,在被选中的存储器器件在确认是自己的地址后,在SDA线线上产生一个应答信号作为回应。上产生一个应答信号作为回应。 然后,再发一个字节的要读出器件的存储区的首地址,收然后,再发一个字节的要读出器件的存储区的首地址,收到应答
20、后,单片机要重复一次起始信号并发出器件地址和读到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(方向位(“1”),收到器件应答后就可以读出数据字节,每),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后一个字节读出一个字节,单片机都要回复应答信号。当最后一个字节数据读完后,单片机应返回以数据读完后,单片机应返回以“非应答非应答”(高电平),并发(高电平),并发出终止信号以结束读出操作。出终止信号以结束读出操作。 S1010XXX0A字节首地址字节首地址AS1010XXX1AData1A AData nAP大赛大赛24C02部分电路图部分电路图 sbit
21、 SCL = P20;sbit SDA = P21;void iic_start(void) SDA = 1; _nop_(); SCL = 1; somenop; SDA = 0; somenop; SCL = 0;#define somenop _nop_();_nop_();_nop_();_nop_();_nop_();起始信号起始信号void iic_stop(void) SDA = 0; _nop_(); SCL = 1; somenop; SDA = 1; somenop; SCL=0;终止信号终止信号void iic_ack(bit ackbit) if(ackbit) SDA
22、 = 0; else SDA = 1; somenop; SCL = 1; somenop; SCL = 0; SDA = 1; 单片机向单片机向24C02的应答信号的应答信号单片机单片机24C02bit iic_waitack(void) SDA = 1; somenop; SCL = 1; somenop; if(SDA) SCL = 0;iic_stop();return 0; else SCL = 0;return 1; 单片机等待来自单片机等待来自24C02的应答信号的应答信号单片机单片机24C02void iic_sendbyte(unsigned char byt) unsign
23、ed char i; for(i=0;i8;i+) if(byt&0 x80) SDA = 1;else SDA = 0;somenop;SCL = 1;byt = 1;somenop; SCL = 0; 单片机向单片机向24C02发送一个字节发送一个字节unsigned char iic_recbyte(void) unsigned char da; unsigned char i; for(i=0;i8;i+) SCL = 1;somenop;da = 1;if(SDA) da |= 0 x01;SCL = 0;somenop; return da;单片机从单片机从24C02读取一
24、个字节读取一个字节void wrbyte_24c02(unsigned char add,unsigned char dat) / Device Address 1010 000 R/W iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_sendbyte(dat); iic_waitack(); iic_stop(); delay(10);S1010XXX0A字节首地址字节首地址AData1AData2A AData nAP单片机向单片机向24C02的的add地址上,写入
25、地址上,写入char型的数型的数datunsigned char rdbyte_24c02(unsigned char add) / Device Address 1100 000 R/W unsigned char da; iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_start(); iic_sendbyte(0 xa1); iic_waitack(); da = iic_recbyte(); iic_ack(0); iic_stop(); return da;S
26、1010XXX0A字节首地址字节首地址AS1010XXX1AData1A AData nAP单片机从单片机从24C02的的add地址上读取一个数地址上读取一个数temp = rdbyte_24c02(0 x00);/从从24C02的的0 x00地址上读取一个字节到地址上读取一个字节到temp中中主程序调用主程序调用 wrbyte_24c02(0 x00,a0);/向向24C02的的0 x00地址写入地址写入a0的内容的内容void wrbyte_24c02(uchar add, uchar dat0, uchar dat1,) / Device Address 1010 000 R/W iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_sendbyte(dat0); iic_waitack(); iic_sendbyte(dat1); iic_waitack(); iic_stop(); delay(10);S1010XXX0A字节首地址字节首地址AData1AData2A AData nAP单片机向单片机向24C02的的add开始的地址上,依次写入多个开始的地址上,依次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒体行业内容创作授权合同
- 城市智能交通管理系统建设合同
- 建材购销合同简单范本
- 协议酒店年度合同
- 标准体育场地租赁合同范文
- 技术开发委托合同范本
- 进出口合同的履行
- 员工借调服务合同
- 道路交通事故纠纷法律知识一本全-记录
- 基于膜解剖的腹腔镜与机器人结直肠肿瘤手术学-随笔
- 外观判定标准
- 江西上饶市2025届数学高二上期末检测试题含解析
- 脑卒中后吞咽障碍患者进食护理团体标准
- 工行人工智能风控
- 2023风电机组预应力混凝土塔筒与基础结构设计标准
- 小学语文阅读教学落实学生核心素养方法的研究-结题报告
- 一年级的成长历程
- 2024年南京铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 正月十五元宵节介绍课件
- 病毒性肺炎疾病演示课件
- 中考英语语法填空专项练习附答案(已排版-可直接打印)
评论
0/150
提交评论