分享

6.2.6 IIC 总线控制器工作原理

 chi_Andy 2017-05-24
功能描述(Functional Description)

S3C4510B 的 IIC 总线控制器为一个串行 IIC 总线主控器。可通过设置预分频寄存器
(Prescaler Register,IICPSR)对串行时钟频率进行编程。串行时钟频率可由下式计算: MCLK/(16×(预分频寄存器的值+1)+3) 可通过对控制状态寄存器(IICCON)的位[5:4]写入“01”发送启动码初始化串行 IIC 总线,
然后总线控制器发送 7 位的从设备地址并通过移位缓冲寄存器发送读/写控制位,接收器则在主控 器的 SCL 脉冲期间通过将 SDA 线从高电平下拉到低电平作为应答信号。
写数据的操作:先设置控制状态寄存器的 BF 位,然后写入数据到移位缓冲寄存器。移位缓冲 寄存器无论是被读还是写,BF 位均会自动清零。若要进行连续的读/写操作,必须设置控制状态寄 存器的 ACK 位。
读数据的操作:在设置控制状态寄存器的 BF 位以后,可以进行读数据的操作,当读/写完最后 一个字节时,可对 ACK 位进行复位通知发送器/接收器读数据操作的结束。
在读/写操作完成以后,可通过设置 IICCON[5:4]=“10”生成结束码。
IIC 总线概念(IIC-BUS Concepts)
基本操作(Basic Operation):IIC总线通过两根传输线,一根串行数据线 SDL,一根串行时 钟线 SCL,在连接到总线上的 IC 器件之间传递信息,每一个 IC 器件通过唯一的地址进行识别,根 据其特性,可作为发送器或接收器工作。
IIC 总线是一种多主控器总线,有多个 IC 器件具有控制总线的能力。 IIC 总线的数据传输过程描述如下:
第一种情况,一个主 IC 器件要传送数据到其他的从 IC 器件,可分为如下三个步骤:
1、主 IC 器件寻址从 IC 器件。
2、主 IC 器件发送数据到从 IC 器件(此时,主器件为发送器,从器件为接收器)。
3、主 IC 器件终止数据的传输。
第二种情况,一个主 IC 器件要从其他的从 IC 器件获取数据,可分为如下三个步骤:
1、主 IC 器件寻址从 IC 器件。
2、主 IC 器件从从 IC 器件接收数据(此时,主器件为接收器,从器件为发送器)。
3、主 IC 器件终止数据的传输。
即使是在第二种情况,也由主 IC 器件产生时序信号并终止数据的传输。
通用特性(GeneralCharacteristics):SDL 和SCL 均为双向传输线,各通过一个上拉电阻连 接到电源正端,当 IIC 总线空闲时,SDL 和 SCL 传输线均为高电平,连接在总线上的 IIC 接口在输 出阶段通过漏极开路(Open-drain)或集电极开路(Open-collector)的方式完成线与(Wired-AND) 功能。IIC 总线的数据传输速率最高可达到 100Kb/S。可连接到总线上的 IC 器件数目仅受到总线电 容的限制(400PF)。
位传输(BitTransfers):由于连接到 IIC 总线上的器件各不相同(如有 CMOS 器件,NMOS 器 件,TTL 器件等),逻辑 0 或逻辑 1 的电平会根据电源电压的高低发生变化,因此,每传输一个位 就产生一个时钟脉冲。
数据有效性(Data Validity):在时钟信号的高电平期间,SDA 传输线上的电平必须稳定,只 有在 SCL 传输线上的时钟信号为低电平时,数据线上的高低电平才允许发生变化。
开始与停止条件(Start and Stop Conditions):开始和停止条件总是由主器件产生。在开 始条件产生后,总线被认为处于忙状态,在完成数据传输产生停止条件后,总线被认为处于空闲状 态。
- 开始条件:当 SCL 为高电平时,SDA 产生由高电平到低电平的跳变。
- 停止条件:当 SCL 为高电平时,SDA 产生由低电平到高电平的跳变。 图 6.2.7 为开始与停止条件:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多