启动、停止逻辑单元 接收数据引脚 SDA 上的电平信号,判断是否进行启动和停止操作串行控制逻辑单元
根据 SCL,SDA 电平信号以及“启动、停止逻辑”部件发出的各种信号进行区分,并排列出有关的“寻址”、
“读数据”和“写数据”等逻辑,将他们传送到相应的操作单元。例如:当操作命令为“寻址”时候,他将通知地
址计数器加 1,并启动“地址比较”器进行工作。在“读数据”时,他控制“Dout/确认逻辑”单元;在“写数据”
时候,他控制“高压泵/定时”电路,以便向 E2PROM 电路提供编程所需要的高电压。
地址/计数器单元 产生访问 E2PROM 所需要的存储单元的地址,并将其分别送到 X 译码器进行字选,送
到 Y 译码器进行位选。
高压泵/定时单元 由于 E2PROM 数据写入时候需要向电路施加编程高电压,为了解决单一电源电压的供
电问题,芯片生产厂家采用了电压的片内提升电路。电压的提升范围一般可以达 12~21.5 V。
Dout/确认逻辑单元 地址和数据均以 8 位二进制码串行输入/输出。数据传送时,每成功传送一个字节
数据后,接收器都必须产生一个应答信号。在第 9 个时钟周期时将 SDA 线置于低电压作为应答信号。
AT24C02
中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对
下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8
个字节的数据。
I2C 总线是一种用于 IC 器件之间连接的二线制总线。他通过 SDA(串行数据线)及 SCL(串行时钟线)两根
线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02
正是运用了 I2C 规程,使用
主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串
行时钟信号(通过 SCL 引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机
还是从机,接收到一个字节后必须发出一个确认信号 ACK。
AT24C02
的控制字由 8 位二进制数构成,在开始信号发出以后,主机便会发出控制字,以
选择从机并控制总线传送的方向。控制字各位的具体作用见表 1。
由上表可知,控制字的高 4 位为 AT24C02
的识别位,是不能更改的;而第 A0,A1,A2 片选位,最后
是一位是读写控制位,当其为 1 时,进行的是读操作,反之将要进行的是写操作。
3 AT24C02
的读写操作
3.1 开始位、停止位和确认位的编程
总线 SCL 和 SDA 一般由上拉电阻拉为高电平,只有在 SCL 为低电平的周期内,SDA 引脚
上的数据才有效。而当 SCL 为高电平期间 SDA 引脚上产生的电平变化则表示 I2C 总线工作
的“开始”或“停止”两种状态:当 SCL 为高平时,SDA 由高电平转向低电平时表示“开始”状态,
而由低电平转向高电平时表示“停止”状态,其时序如图 3 所示。