第十三章S3C2410的I2C总线控制_第1页
第十三章S3C2410的I2C总线控制_第2页
第十三章S3C2410的I2C总线控制_第3页
第十三章S3C2410的I2C总线控制_第4页
免费预览已结束,剩余36页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十三章第十三章 S3C2410的的I2C总线控制总线控制 主要内容:主要内容:v13.1 I2C接口和接口和EEPROMv13.2 EEPROM读读/写操作写操作v13.5 I2C实验程序实验程序v13.4 S3C2410 I2C总线读总线读/写参考程写参考程序编写序编写v13.3 S3C2410处理器处理器I2C接口接口13.1 I2C接口和接口和EEPROM v1C总线的主要特点总线的主要特点vC总线是由总线是由PHILIPS公司开发的一种简单、双向二公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即在连接于总线制同步串行总线。它只需要两根线即在连接于总线上器件之间传送信息。这

2、种总线的主要特点有:线上器件之间传送信息。这种总线的主要特点有:v(1) 总线只有两根线,即串行时钟线(总线只有两根线,即串行时钟线(SCL)和串)和串行数据线行数据线 (SDA),这在设计中大大减少了硬件接口。,这在设计中大大减少了硬件接口。v(2) 每个连接到总线上的器件都有一个用于识别的每个连接到总线上的器件都有一个用于识别的器件地址,器件地址由芯片内部硬件电路和外部地器件地址,器件地址由芯片内部硬件电路和外部地址引脚同时决定,避免了片选线的连接方法,并建址引脚同时决定,避免了片选线的连接方法,并建立了简单的主从关系,每个器件既可以作为发送器,立了简单的主从关系,每个器件既可以作为发送器

3、,又可以作为接收器。又可以作为接收器。v(3) 同步时钟允许器件用不同的波特率进行通同步时钟允许器件用不同的波特率进行通信。信。v(4) 同步时钟可以作为停止或重新启动串行口同步时钟可以作为停止或重新启动串行口发送的握手信号。发送的握手信号。v(5) 串行数据传输位速率在标准模式下可达串行数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达,快速模式下可达400Kbit/s,高,高速模式下可达速模式下可达3.4Mbit/s。2C总线的基本结构总线的基本结构vC总线是由数据线总线是由数据线SAD和时钟线和时钟线SCL构成的构成的串行总线,可发送和接收数据。各种采用串行总线,可发送和接

4、收数据。各种采用C总线标准的器件均并联在总线上,每个器件总线标准的器件均并联在总线上,每个器件内部都有内部都有C接口电路,用于实现与接口电路,用于实现与C总线的连总线的连接,结构形式如图接,结构形式如图13-1所示所示。 3C总线信息传送总线信息传送 C总线没有进行信息传送时,数据线总线没有进行信息传送时,数据线SDA和和时钟线时钟线SCL都为高电平。当主控制器向某个都为高电平。当主控制器向某个器件传送信息时,首先应向总线传送开始信器件传送信息时,首先应向总线传送开始信号,开始信号和结束信号规定如下:号,开始信号和结束信号规定如下:v开始信号:开始信号:SCL为高电平时,为高电平时,SDA由高

5、电平由高电平向低电平跳变,开始传送数据。向低电平跳变,开始传送数据。v结束信号:结束信号:SCL为高电平时,为高电平时,SDA由低电平由低电平向高电平跳变,结束传送数据。向高电平跳变,结束传送数据。 v具体情况如图具体情况如图13-2所示所示。v主控制器每次传送的信息的第一个字节必须主控制器每次传送的信息的第一个字节必须是器件地址码,第二个字节为器件单元地址,是器件地址码,第二个字节为器件单元地址,用于实现选择所操作的器件的内部单元,第用于实现选择所操作的器件的内部单元,第三个字节是读三个字节是读/写命令,从第四个字节开始为写命令,从第四个字节开始为传送的数据。其中器件地址码格式如下:传送的数

6、据。其中器件地址码格式如下:4C总线读、写操作时序总线读、写操作时序(1)指定单元读)指定单元读v该操作从所选器件指定地址读,读的字节数该操作从所选器件指定地址读,读的字节数不限,格式如下,见图不限,格式如下,见图13-3:v图图13-3中,只给出读一个字节中,只给出读一个字节SDA的时序,的时序,当当SCL为高,为高,SDA从高到低跳变时,启动从高到低跳变时,启动C,C向总线写第一个字节数据,向总线写第一个字节数据,1010是器件的是器件的类型,是类型,是EPROM,LSB=0是写命令,接到是写命令,接到ACK应答后,再发一字节数据,这个数据是应答后,再发一字节数据,这个数据是EPROM内的

7、单元地址,然后收到内的单元地址,然后收到ACK后就后就可以从可以从SDA线上串行读出数据,收到一个完线上串行读出数据,收到一个完整字节后不用等整字节后不用等ACK,直接发高电平结束本,直接发高电平结束本次操作,注意,读操作完后没有次操作,注意,读操作完后没有ACK。(2)指定单元写)指定单元写v该操作从所选器件当前地址写,写的字节数该操作从所选器件当前地址写,写的字节数不限,格式如下,见图不限,格式如下,见图13-4:13.2 EEPROM读读/写操作写操作13.2.1 AT24C04结构与应用简述结构与应用简述v目前,通用存储器芯片多为目前,通用存储器芯片多为EEPROM,其常用的协,其常用

8、的协议主要有两线串行连接协议议主要有两线串行连接协议(I2C)和和v三线串行连接协议。带三线串行连接协议。带C总线接口的总线接口的EEPROM有许有许多型号,其中多型号,其中AT24CXX系列使用十分普遍。产品包系列使用十分普遍。产品包括括AT24C01, AT24C02、AT24C04,AT24C08,AT24C16等,其容量等,其容量(字节数字节数页页) 分别为分别为1288,2568,5128,10248,20488,适用于适用于25V的低电压操作,具有低功耗和高可靠性等优点。的低电压操作,具有低功耗和高可靠性等优点。vAT24系列存储器芯片采用CMOS工艺制造,内置有高压泵,可在单电压

9、供电条件下工作。其标准封装为8脚DIP封装形式,如图13-5所示。各引脚的功能说明如下:各引脚的功能说明如下:vSCL:串行时钟。遵循:串行时钟。遵循ISO/IEC7816同步协同步协议,漏极开路,需接上拉电阻。在该引脚的议,漏极开路,需接上拉电阻。在该引脚的上升沿,系统将数据输人到每个上升沿,系统将数据输人到每个EEPROM器器件,在下降沿输出。件,在下降沿输出。vSDA:串行数据线。漏极开路,需接上拉电:串行数据线。漏极开路,需接上拉电阻。双向串行数据线,漏极开路,可与其他阻。双向串行数据线,漏极开路,可与其他开路器件开路器件“线或线或”。vA0、A1、A2:器件:器件/页面寻址地址输人端

10、。页面寻址地址输人端。在在AT24C01和和AT24C02中,做页面寻址地址。中,做页面寻址地址。vWP:读:读/写保护。接低电平时可对整片空间进行读写保护。接低电平时可对整片空间进行读/写,高电平时不能读写,高电平时不能读/写,受保护。写,受保护。vVcc/GND:一般输入:一般输入5V工作电压。工作电压。vAT24C04由输入缓冲器和由输入缓冲器和EEPROM阵列组成。由阵列组成。由于于EEPROM的半导体工艺特性写入时间为的半导体工艺特性写入时间为510ms,如果从外部直接写入如果从外部直接写入EEPROM,则每写一个字节都,则每写一个字节都要等候要等候510ms,成批,成批v数据写人时

11、则要等候更长的时间。具有数据写人时则要等候更长的时间。具有SRAM输人输人缓冲器的缓冲器的EEPROM器件器件,其写入操作变其写入操作变v成对成对SRAM缓冲器的装载,装载完后启动一个自动缓冲器的装载,装载完后启动一个自动写人逻辑将缓冲器中的全部数据一次写入写人逻辑将缓冲器中的全部数据一次写入EEPROM阵列中。阵列中。13.2.2 设备地址(设备地址(DADDR)vAT24C04的器件地址是的器件地址是1010。13.2.3 AT24CXX的数据操作格式的数据操作格式v在在I2C总线中,对总线中,对AT24C04内部存储单内部存储单元读元读/写,除了要给出器件的设备地址写,除了要给出器件的设

12、备地址(DADDR)v外,还须指定读外,还须指定读/写的页面地址写的页面地址(PADDR)。两者组成操作地址(两者组成操作地址(OPADDR)如下:)如下:v 1010 A2 A1A0-R/W 13.3 S3C2410处理器处理器I2C接口接口13.3.1 S3C2410 I2C接口简介接口简介vS3C2410处理器提供符合处理器提供符合I2C协议的设备连协议的设备连接双向数据线接双向数据线I2CSDA和和I2CSCL,在,在I2CSCL高电平期间,高电平期间,I2CSDA的下降沿启动,的下降沿启动,上升沿停止。上升沿停止。S3C2410处理器可以支持主发处理器可以支持主发送、主接收、从发送和

13、从接收送、主接收、从发送和从接收4种工作模式。种工作模式。在主发送模式下,需要使用到如表在主发送模式下,需要使用到如表13-113-4所列寄存器。所列寄存器。13.3.2 使用使用S3C2410 I2C总线读总线读/写方写方法法v开始条件开始条件(START_C):当:当SCL为高电平时,为高电平时,SDA由由高转为低。高转为低。v 停止条件停止条件(STOP_C):当:当SCL为高电平时,为高电平时,SDA由低转为高。由低转为高。v 确认信号确认信号(ACK):在做为接收方应答时,每收到:在做为接收方应答时,每收到一个宇节后便将一个宇节后便将SDA电平拉低。电平拉低。v 数据传送数据传送(R

14、/M):总线启动或应答后,:总线启动或应答后,SCL高电平高电平期间数据串行传送;低电平期间为数据准备,并允期间数据串行传送;低电平期间为数据准备,并允许许SDA线上数据电平变换。总线以字节线上数据电平变换。总线以字节(8位位)为单位为单位传送数据,且高有效位传送数据,且高有效位(MSB)在前。在前。13.4 S3C2410 I2C总线读总线读/写参考程写参考程序编写序编写1CAT24WCXX的器件地址的器件地址vCAT24WCXX的器件地址的具体情况见表的器件地址的具体情况见表13-5,表中,表中A0、 A1 和和A2对应器件的管脚对应器件的管脚1、2、和和3,a8、a9、a10对应为页地址

15、选择位。对应为页地址选择位。2页写页写vCAT24WCXX的按字节读的按字节读/写操作写操作13.1节中已做介绍,节中已做介绍,这里对这里对CAT24WCXX按页读写做简单介绍。按页读写做简单介绍。v按字节读按字节读/写操作模式下,写操作模式下,CAT24WXX一次可写入一次可写入1个字节数据,页写操作的启动和字节一样。不同的个字节数据,页写操作的启动和字节一样。不同的是在于传送了一个字节数据后并不产生停止信号,是在于传送了一个字节数据后并不产生停止信号,而是继续传送下一个字节。每发送一个字节数据后而是继续传送下一个字节。每发送一个字节数据后内部地址自动加内部地址自动加1。v接收到一页字节数据

16、和主器件发送的停止信号后,接收到一页字节数据和主器件发送的停止信号后,CAT24启动内部写周期将数据写到数据区。启动内部写周期将数据写到数据区。v3。 I2C总线编程总线编程vI2C总线编程主要完成二项工作,一是系统初总线编程主要完成二项工作,一是系统初始化,包括使能系统中断,设置中断向量等;始化,包括使能系统中断,设置中断向量等;二是对二是对I2C的相关寄存器进行设置:的相关寄存器进行设置:13.5 I2C实验程序实验程序vEmbest EDUKIT-II/III实验系统中,该实验电实验系统中,该实验电路设计如图路设计如图13-6所示:所示:v本实验的内容就是将本实验的内容就是将0F这这l6个数按顺序写人个数按顺序写人到到EEPROM(AT24C04)的内部存储单元中,的内部存储单元中,然后再依次将它们读出,并通过实验板的串然后再依次将它们读出,并通过实验板的串口口UART0输出到在输出到在PC机上运行的机上运行的Windows自带超级终端上。在本实验中自带超级终端上。在本实验中EEPROM被作被作为为I2C总线上的从设备来进行处理,其工作过总线上的从设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论