综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章嵌入式系统正文
 
S3C2410X的I2C控制器及其应用开发
发布日期:2005-12-12 作者:胡 伟 来源:电子设计应用

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

关键词:S3C2410;AT24C04;I2C总线

引言

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

 

 

 

 

 

图1 S3C2410X的I2C总线读写方法

 

 

 

 

 

 

 

 

 

 

图2  I2C总线控制器内部框图

 

 

 

 

 

 

 

 

 

 

 

图3  连接电路图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图4 主发工作模式流程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图5  主收工作模式流程

S3C2410X的I2C控制器

工作特点

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

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

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

S3C2410X的I2C总线读写方法如图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 AT24C04。AT24C04是Atmel公司生产的4Kb的EEPROM存储器,其供电形式有2.7~5.5V和1.8~5.5V两种形式。这里采用的是2.7V的供电形式,最高传输频率可达400kHz。

  

S3C2410X的I2C控制器

应用编程

硬件连接

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

开发流程

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

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

 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
模块化LED大屏幕显示器的设计 (12-01)
USB接口的数字摄像系统设计 (12-01)
在屏显示器件MC141541及其接口技术 (12-01)
Blackfin531与PCF8576的接口设计及 I2C协议实现 (12-12)
PCF8563 I2C实时时钟/日历芯片 在8051系统中的应用 (12-13)
用汇编实现I2C BUS总线协议 (12-14)
用单片机实现通用存贮器IC卡的读写 (12-13)
在P87LPC674单片机I2C总线系统中扩展LCD显示器 (12-01)
I2C总线在单片机上的实现 (11-30)
基于MCU和CPLD系统中I2C总线控制器的设计与实现 (09-28)
具有I2C总线接口的A/D芯片PCF8591及其应用 (09-28)
基于CAN总线的数字式传感器群管理系统 (10-11)
ARM嵌入式系统软件实时时钟的设计 (11-21)
基于IIC1.0的时钟芯片应用程序设计 (11-29)
用户自定制LED驱动器的设计 (11-26)
基于I2C总线技术的USB接口设计 (12-18)
串行E2PROM 24LC65在单片机中的应用 (12-27)
基于S3C24104X的TSP开发与应用 (08-09)
嵌入式无线局域网设备的设计与实现 (08-08)
虚拟SPI时序在TC77与S3C2410通信中的应用 (08-25)
虚拟SPI时序在TC77与S3C2410通信中的应用 (08-28)
引导加载程序vivi 的分析和移植研究 (12-20)
基于S3C2410的TFT-LCD驱动电路设计 (09-12)
U-Boot在S3C2410上的移植 (07-19)
基于S3C2410的CAN总线通信设计与开发 (07-03)
模拟I2C总线多主通信研究与软件设计 (01-21)
I2C总线接口时钟芯片DS1307在坦克半主动悬挂电控单元中的应用 (01-05)
S3C2410X在无线宽带通信网中的应用 (03-07)
嵌入式系统中LCD驱动的实现原理 (08-13)
触摸屏在S3C2410上的应用实例 (02-22)
一个基于Linux操作系统的嵌入式网关的实现 (10-02)
基于AC48304的嵌入式多路语音记录器 (03-11)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号