I2C总线的数据传输过程如下:
(1)主机控制驱动SCL发送9个时钟脉冲,其中8个为传输数据所用,1个(第9个)为响应时钟脉冲。
(2)在传输数据所占用的时钟脉冲内,发送方作为发送器控制SDA向接收器输出8位数据。
(3)在数据传输所占用的时钟脉冲内,当处于输入状态时,接收方作为接收器检测接收SDA上的8位数据。
(4)在响应时钟脉冲内,发送方释放SDA后由发送器转换为接收器。
(5)在响应时钟脉冲内,接收方由接收器转换成发送器之后能控制SDA输出应答响应信号ACK。
(6)在响应时钟脉冲内,当处于输入状态时,发送方作为接收器检测接收SDA上的应答响应信号ACK。
(7)根据应答响应信号状态的不同,发送方和接收方最后确定其角色转换和后续动作。
应答信号有两个状态:ACK表示低电平,有应答;nACK表示高电平,无应答。
2.4 I2C总线的软件编写
I2C总线软件编写要明确数据的传输过程,其前后含有以下几个子程序:I2C总线的初始化子程序;延时子程序;起始、结束子程序;数据发送、接收子程序;应答子程序等等。
2.5 I2C总线的优缺点
I2C总线具有以下几个优点:1驱动能力强,功耗低;2总线连接方式简单,使单片机应用系统的设计的变为更简单了,同时降低了系统受外界环境因素的影响;3在单一主机的系统中, 每个与I2C总线连接的的芯片都有它唯一的地址, 各芯片之间不会互相影响,同时也不会互相传输数据。I2C总线还有许多其他的优点,同时,它也存在着一些不足的地方。由于I2C总线数据传输方式是串行传输的,它不是并行总线,所以我们不能将之运用在速率需求很高的应用系统中,我们在平常的实验中尤其要留意这一点。
2.6 I2C总线的研究现状
3 非易失数据存储器的研究现状
4 ATmega128单片机
4.1 ATmega128单片机的内部结构
ATmega128单片机是在一块小小的芯片中集中了中央处理器CPU、数据存储器RAM和EEPROM、程序存储器Flash、外围接口、多功能I/O口以及与之相关的数据、控制、状态寄存器等一台计算机所需要的基本功能部件。 ATmega128单片机I2C总线的非易失数据存储器设计+源代码(3):http://www.youerw.com/jixie/lunwen_22843.html