>
首页 » 技术文章 » S3C2410X的I2C控制器及其应用开发

S3C2410X的I2C控制器及其应用开发

作者:广州大学华软软件学院 胡 伟  时间:2005-08-14 14:21  来源:本站原创

:本文首先分别介绍了S3C2410X I2C总线控制器、AT24C04芯片的特点、I2C总线的特点,然后以S3C2410XAT24C04之间I2C总线通信为例,说明了S3C2410XI2C总线嵌入式的开发过程和方法。

关键词S3C2410AT24C04I2C总线

引言

S3C2410X系列芯片是韩国三星公司生产的以ARM公司的ARM920T处理器为内核的嵌入式ARM9芯片。该芯片主要针对手持设备和通用情况所设计,具有丰富的外围接口电路,仅芯片内部的外围扩展控制器就有10多个,为产品的开发应用提供了很高的性价比。本文将就其中的I2C控制器的原理和外围扩展连接Atmel公司的EEPROM器件AT24C04的应用为例,说明S3C2410XI2C控制器的应用开发。

1 S3C2410XI2C总线读写方法

2 I2C总线控制器内部框图

3 连接电路图

4 主发工作模式流程

5 主收工作模式流程

S3C2410XI2C控制器

工作特点

S3C2410XI2C总线控制器是通过芯片上的I2CSCLI2CSDA引脚和外围芯片进行通信的,如果这两脚没接芯片则应置高电平。当SCL保持高电平时,SDA信号从高变低可以初始化一个起始条件,从低变高可以初始化一个结束条件。

开始和结束信号是由主控制器完成的。启动条件初始化后第一个字节有710位的地址信号用于决定这次操作所选择的从控制器,第8位用于决定这次操作是读还是写。

起始条件可以在SDA上传输1个字节的串行数据,结束条件可以中止数据的传送。当主设备初始一个起始条件时,它应首先发送一个从设备的地址修改传输的从设备对象;主设备通过发送一个结束条件完成传输。如果主设备想继续利用总线发送数据,它就需再产生一个起始条件和从设备地址信号,并发送到SDA上。

S3C2410XI2C总线读写方法如图1所示。

S3C2410X的功能和寄存器

I2C总线控制器在S3C2410中的编址如表1所示。S3C2410X和一般的嵌入式微处理器一样采用统一编址,即芯片内外围扩展控制器中的寄存器和接口以及芯片本身的外围接口采用的是和存储空间统一编址的方法。对相应的寄存器或者接口的访问变成对相应的地址空间的访问。

各寄存器之间的关系如图2所示。

I2C总线控制寄存器I2CCON主要用于决定发送时钟频率、是否启动I2C总线应答功能、总线是处于挂起状态还是工作状态,即是否允许中断等功能。

I2C状态寄存器I2CSTAT处理4种传输模式(主发送模式、主接收模式、从发送模式、从接收模式)的选择、总线忙信号、总线输出是否允许、总线仲裁状态、作为从设备时的状态,以及最后接收位的状态。

I2C地址寄存器I2CADD的作用是,当S3C2410作为主设备时,用7:1位表明从设备的地址。当I2CSTAT中的串行数据输出使能位为1,则I2CDS写使能,I2CDS总为可读。

I2C数据移位寄存器I2CDS实际上相当于串行/并行输入/输出转换电路。

I2C EEPROM AT24C04介绍

文中测试I2C总线时使用的是I2C EEPROM AT24C04AT24C04Atmel公司生产的4KbEEPROM存储器,其供电形式有2.7~5.5V1.8~5.5V两种形式。这里采用的是2.7V的供电形式,最高传输频率可达400kHz

  

S3C2410XI2C控制器

应用编程

硬件连接

AT24C04S3C2410的连接电路如图3所示。从图中可以看出两者的硬件连接是很简单的,实际用到的主要是两块芯片间串行数据线的连接和相应的时钟端的连接,即实现双向2条总线的I2C总线连接。电源可以直接使用S3C2410的外围接口电路电源3.3V,其他端可以直接接地,也可通过电容和电源连接。

开发流程

I2C总线上连接的每个设备发既可作为主设备也可作为从设备,在S3C2410AT24CO4连接时,S3C2410只能作为主设备。这里主要以S3C2410作为主设备时和4Kb AT24C04 EEPROM通信的流程,即向AT24C04中写入相应的数据,再从中读出写入的数据这一过程,作为I2C总线开发测试的方法。

S3C2410XI2C控制器开发的流程图如图4和图5所示。

相关推荐

基于嵌入式系统的数据记录分析仪的硬件设计

S3C2410  以太网  2011-08-23

基于I2C总线的单主多从单片机之间的通信

I2C总线  Atmega  ADC  2011-04-01

基于S3C2410和MBF200的指纹采集系统设计

S3C2410  MBF200  指纹采集  2011-03-02

基于嵌入式Linux与S3C2410平台的视频采集

S3C2410  Linux  2011-01-13

嵌入式Linux下S3C2410的调色板彩色显示

Linux  调色板  ARM9  S3C2410  2010-06-11

PCA85133:通用LCD驱动方案

PCA85133  LCD驱动  I2C总线  AEC-Q100  2010-01-18
在线研讨会
焦点