实验十四 SMbus串行EEPROM数据读写实验 (1) 下载本文

实验十四 SMbus串行EEPROM数据读写实验

一、实验目的

? ? ?

了解SMbus(I2C)总线的标准及使用。 熟悉24C01的芯片的功能。

掌握用I2C总线方式读写串行EEPROM 24C01的方法。

二、实验说明

1.串行EEPROM(24C01)接口方法

在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。串行器件不仅占用很少的资源和I/O线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,资料不宜丢失和支持在线编程等特点。目前,各式各样的串行接口器件层出不穷,如:串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。

串行EEPROM是在各种串行器件应用中使用较频繁的器件,和并行EEPROM相比,串行EEPROM的资料传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。所以,它特别适合于需要存放非易失性资料,要求速度不高,引脚少的单片机的应用。

2.串行EEPROM及其工作原理

串行EEPROM中,较为典型的有ATMEL公司的AT24CXX系列以及该公司生产的AT93CXX系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM产品。

AT24CXX系列的串行电可改写及可编程只读存储器EEPROM有10种型号,其中典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量分别是1024/2048/4096/8192/16384位,也就是128/256/512/1 024/2048字节。这个系列一般用于低电压,低功耗的工业和商业用途,并且可以组成优化的系统。信息存取采用2线串行接口。这里例举24C01的结构特点。

3.结构原理及引脚

AT24C01有地址线A0~A2,串行资料引脚SDA,串行时钟输入引脚SCL,写保护引脚WP等。

各引脚的功能和意义如下:

①VCC引脚,电源+5V。

② GND引脚,地线。

③ SCL引脚,串行时钟输入端。在时钟的正跳沿即上升沿时把资料写入EEPROM;在时钟的负跳沿即下降沿时把资料从EEPROM中读出来。

④ SDA引脚,串行资料I/O端,用于输入和输出串行资料。这个引脚是漏极开路的,故可以组成“线或”结构

⑤ A0,A1,A2引脚,是芯片地址引脚。在型号不同时意义有些不同,但都要接固定电平。

⑥ WP引脚,写保护端。这个端提供了硬件数据保护。当把WP接地时,允许芯片执行一般读写操作;当把WP接VCC时,则对芯片实施写保护。

4.24C01地址代码为1010,如下表所示:

三、实验内容

编程在指定地址写入数据,并读出数据验证。 四、实验电路

本实验所需电路请参见系统原理图的第一部分和图14-1存储器扩展接口。 五、实验步骤

1)系统各跳线器处在初始设置状态(参见附录四);将MCU模块的JT10跳线器的I2C_SDA、I2C_SCL二只短路帽置位右边。J2的P3.6,P3.7打在右边,WR,RD打在右边。

2)在所建的Project文件中添加“串行EEPROM.ASM”项目文件,打开项目中的文件,阅读、分析、理解程序。源程序,编译无误后,在VIEW菜单中打开MEMORY WINDOW数据窗口,输入D:30H,按程序提示设置断点,运行程序观查把地址30H~3FH的值的数据变化。

六、参考程序

见附件:实验指导参考程序