哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2011/01/19/6151797.aspx
IIC(Inter-Integrated Circuit,I2C)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微处理器及其外围设备,它的最主要优点是简单和有效。它只需要数据线SDA和时钟线SCL,就能够实现CPU与被控IC之间、IC与IC之间进行双向传送。
s3c2440内部有一个IIC总线接口,因此为我们连接带有IIC通信模块的外围设备提供了便利。它具有四种操作模式:主设备发送模式、主设备接收模式、从设备发送模式和从设备接收模式。在这里我们只把s3c2440当做IIC总线的主设备来使用,因此只介绍前两种操作模式。在主设备发送模式下,它的工作流程为:首先配置IIC模式,然后把从设备地址写入接收发送数据移位寄存器IICDS中,再把0xF0写入控制状态寄存器IICSTAT中,这时等待从设备发送应答信号,如果想要继续发送数据,那么在接收到应答信号后,再把待发送的数据写入寄存器IICDS中,清除中断标志后,再次等待应答信号;如果不想再发送数据了,那么把0x90写入寄存器IICSTAT中,清除中断标志并等待停止条件后,即完成了一次主设备的发送。在主设备接收模式下,它的工作流程为:首先配置IIC模式,然后把从设备地址写入接收发送数据移位寄存器IICDS中,再把0xB0写入控制状态寄存器IICSTAT中,这时等待从设备发送应答信号,如果想要接收数据,那么在应答信号后,读取寄存器IICDS,清除中断标志;如果不想接收数据了,那么就向寄存器IICSTAT写入0x90,清除中断标志并等待停止条件后,即完成了一次主设备的接收。在完成上述两个模式时,主要用到了控制寄存器IICCON、控制状态寄存器IICSTAT和发送接收数据移位寄存器IICDS。由于我们只把s3c2440当做主设备来用,并且系统的IIC总线上只有这么一个主设备,因此用来设置从设备地址的地址寄存器IICADD,和用于仲裁总线的多主设备线路控制寄存器IICLC都无需配置。寄存器IICCON的第6位和低4位用于设置IIC的时钟频率,因为IIC的时钟线SCL都是由主设备提供的。s3c2440的IIC时钟源为PCLK,当系统的PCLK为50MHz,而从设备最高需要100kHz时,可以将IICCON的第6位置1,IICCON的低4位全为0即可。寄存器IICCON的第7位用于设置是否发出应答信号,第5位用于是否使能发送和接收中断,第4位用于中断的标志,当接收或发送数据后一定要对该位进行清零,以清除中断标志。寄存器IICSTAT的高2位用于设置是哪种操作模式,当向第5位写0或写1时,则表示结束IIC或开始IIC通讯,第4位用于是否使能接收/发送数据。
分享到:
相关推荐
《S3C2440 IIC通讯协议详解与ADS1.2开发实践》 S3C2440是一款由Samsung公司推出的基于ARM920T内核的微处理器,广泛应用于嵌入式系统设计中。在这些系统中,IIC(Inter-Integrated Circuit)接口因其简单、低功耗的...
在嵌入式系统领域,S3C2440是一款广泛应用的ARM9微处理器,它集成了多种外设接口,其中IIC(Inter-Integrated Circuit)接口是常见的一种通信协议,用于连接各种低速外围设备,如EEPROM、温度传感器等。本知识点将...
标题"fft-2440-iic.rar_2440_2440 I2C_IIC_arm I2C_s3c2440"暗示了这个压缩包文件包含的是与S3C2440芯片相关的I2C通信的源代码。描述中提到的“32位arm9微处理器S3C2440的i2c测试源代码”进一步确认了这一点。标签...
【标题】:“S3C2440之IIC”涉及的是嵌入式系统中S3C2440处理器如何通过IIC(Inter-Integrated Circuit,也称为I²C)总线与外部设备,如AT24C08 EEPROM进行通信的知识。S3C2440是一款基于ARM920T内核的微处理器,...
标题"IIC.rar_2440 iic A_IIC_s3c2440_s3c2440 ads_s3c2440 iic"揭示了这个压缩包是关于S3C2440微处理器上的IIC(Inter-Integrated Circuit)通信协议的实现。IIC是一种两线接口,常用于微控制器与外部设备间的通信...
《S3C2440驱动程序详解:深入解析2440 ASM及CAMIF》 S3C2440是一款广泛应用于嵌入式系统的微处理器,由Samsung公司设计,以其高性能和低功耗而受到青睐。在非操作系统环境下,设备驱动程序是连接硬件与应用程序的...
而文件"iic"可能是C语言或其他编程语言的源代码文件,包含了实现S3C2440 IIC通信的具体函数和配置代码,尤其是与TEA5767的交互部分。 在实际应用中,使用S3C2440的IIC接口,开发者需要了解以下几点: - **IIC总线的...
首先需要搭建一个可以编译代码的环境。从一开始我就不想用ADS(安装完ADS后会产生一个CodeWarrior for ARM Developer Suite的工具,可以编译和调试代码),虽然它是个很好的工具,但是它却隐藏了很多的细节,不利于...
标题"IIC.rar_iic 24_s3c2440 i_s3c2440 iic"指的是一个与S3C2440微处理器的IIC(Inter-Integrated Circuit)接口相关的压缩文件。这个文件可能包含了针对S3C2440的IIC通信协议的测试代码或者驱动程序,帮助开发者...
该软件为基于s3c2440的IIC 测试程序
标题"‘S3C2440 IIC操作"表明我们将讨论如何在S3C2440上利用IIC接口与外部设备进行通信。在这个特定的案例中,我们关注的是与AT24C02这个EEROM(电可擦除只读存储器)的交互。AT24C02是一种常见的IIC接口的非易失性...
在压缩包的文件名称列表中,我们看到了"IIC.c",这通常是一个C语言编写的源代码文件,可能包含了实现S3C2440 I2C驱动的函数和逻辑。另一个文件"www.pudn.com.txt"可能是一个文本文件,其中可能包含关于源代码的说明...
在本文中,我们将深入探讨与"IIC.rar_TE2440_s3c2440 iic_s3c2440 test"相关的知识点,主要关注S3C2440微处理器上的IIC(Inter-Integrated Circuit)总线及其在TE2440开发板上的测试应用。 IIC(Inter-Integrated ...
【S3C2440 IIC源程序和bin文件】是针对三星S3C2440微处理器实现I2C(Inter-Integrated Circuit)通信协议的编程资源。S3C2440是一款基于ARM920T内核的微控制器,广泛应用于嵌入式系统设计,如开发板和小型电子设备。...
压缩包内的文件名"S3C2440裸奔之IIC"可能包含了实现这些步骤的C语言源代码或者汇编语言代码。这些代码可能包括初始化IIC控制器的函数,设置IIC时钟,发送和接收数据的函数,以及处理IIC协议的中断服务例程等。通过...
标题"IIC.rar_IIC_linux iic_s3c2440 iic"表明这是一个与IIC(Inter-Integrated Circuit)总线技术相关的资料,主要针对Linux操作系统和S3C2440 ARM微处理器。IIC是一种两线接口,常用于微控制器与各种外部设备之间...
本知识点将详细介绍S3C2440上的IIC开发过程,以及如何理解和使用提供的代码。 首先,我们需要了解IIC协议的基本原理。IIC协议由Philips(现为NXP)公司开发,采用两线制传输数据:SDA(数据线)和SCL(时钟线)。它...
《S3C2440 IIC与AT24C08在裸机程序中的应用》 S3C2440是一款广泛应用于嵌入式系统的微处理器,它集成了多种外设接口,其中IIC(Inter-Integrated Circuit)接口是用于与外部设备进行通信的一种常见方式。本篇文章将...
【标题】"iic.rar_s3c2440 iic" 涉及的核心知识点是S3C2440微处理器上的IIC(Inter-Integrated Circuit)接口的编程和应用。S3C2440是一款由Samsung公司推出的基于ARM920T内核的嵌入式微处理器,广泛应用于各种...
在本文中,我们将深入探讨与标题“ARM9 IIC.rar_ARM9 IIC_arm9 程序_iic测试指标_s3c2440 iic_s3c2440通讯”相关的知识点,主要涉及ARM9处理器、S3C2440芯片以及IIC(Inter-Integrated Circuit)通信协议的使用。...