当前位置:文档之家› 飞思卡尔8位单片机-第10章 IIC

飞思卡尔8位单片机-第10章 IIC


(4) 重复的 重复的START信号 信号 • 图10-8所示,一个重复的 一个重复的START信号是不用首先产生 信号是不用首先产生STOP信号终止 - 所 信号是不用首先产生 信号终止 通信的START信号。 信号。 通信的 信号 (5) 仲裁程序 • 如果两个或更多的主器件试图在同一时间控制总线,一个时钟同步程 如果两个或更多的主器件试图在同一时间控制总线, 两个或更多的主器件试图在同一时间控制总线 序确定总线时钟 时钟。 序确定总线时钟。竞争的主器件之间相对优先级由一个数据仲裁进程 确定。丢失的主器件立即切换到从接收模式并停止驱动 的主器件立即切换到从接收模式并停止驱动SDA输出。 输出。 确定。丢失的主器件立即切换到从接收模式并停止驱动 输出 (6) 时钟同步
QG8的IIC特点
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 标准的IIC协议兼容 协议兼容; 与 标准的 协议兼容; 支持多主操作; 支持多主操作; 有64种不同的时钟频率可供选择; 种不同的时钟频率可供选择; 种不同的时钟频率可供选择 Software selectable acknowledge bit; ; 支持中断传输; 支持中断传输; 在总线仲裁中失败方可自动由主切换到从模式; 在总线仲裁中失败方可自动由主切换到从模式; 支持地址匹配中断; 支持地址匹配中断; 信号产生与检测功能; 有S和P信号产生与检测功能; 和 信号产生与检测功能 重新启动” 有“重新启动”(Repeated START)信号产生能力; )信号产生能力; 支持Ack信号的产生与检测; 信号的产生与检测; 支持 信号的产生与检测 具有总线忙检测能力; 具有总线忙检测能力;
• 数据字节没有限制,但每个字节后都必须跟随一个应答位 数据字节没有限制, 应答信号在第9个时钟位上出现, 应答信号在第9个时钟位上出现,主控发送器必须在被控 接收器发送应答信号前,预先释放对SDA线的控制。 SDA线的控制 接收器发送应答信号前,预先释放对SDA线的控制。接收 器在SDA线上输出低电平为应答信号( ),输出高电平为 SDA线上输出低电平为应答信号 器在SDA线上输出低电平为应答信号(A),输出高电平为 非应答信号( 非应答信号(A)。
图9-2 I2C总线的器件连接
I2C总线信号的时序
I2C协议
一个标准的通信由四部分组成: 一个标准的通信由四部分组成:
– – – – START信号 信号 从地址传输 数据传输 STOP信号 信号
(1)START信号 ) 信号 一个START信号定义为 信号定义为SDA的一个下降沿,同时 保持 的一个下降沿, 一个 信号定义为 的一个下降沿 同时SCL保持 为高。由主机产生。 为高。由主机产生。 (2)从地址传输 )
7位呼叫地址,紧接着一个读/写位,读写位告诉从器件数据传 位呼叫地址,紧接着一个读 写位 写位, 位呼叫地址 输的期望方向。 输的期望方向。 1 = 读传输,从发送数据给主。 读传输,从发送数据给主。 0 = 写传输,主发送数据给从。 写传输,主发送数据给从。 正好匹配主器件传输的呼叫地址的从器件通过送回一个应答位 响应。 响应。 从机地址由一个固定的和一个可编程的部分构成。例如, 从机地址由一个固定的和一个可编程的部分构成。例如,某些 器件有4个固定的位( 个可编程的地址位( 器件有4个固定的位(高4位)和3个可编程的地址位(低3位), 那么同一总线上共可以连接8个相同的器件。 那么同一总线上共可以连接8个相同的器件。
QG8
SDA SCL
1、电气特性; 电气特性; 寻址无需片选; 2、寻址无需片选; 3、多主和主从 MT、MR、ST、 4、MT、MR、ST、SR
I2C总线的特点
1、电气特性。各节点需共地,SDA和SCL需分别接上拉电阻。 2、寻址无需片选,主从方式中,从器件的地址包括器件编号地址和引脚地 址,器件编写地址由I2C总线委员会分配,引脚地址决定于引脚外接电平 的高低 3、多主和主从两种工作方式的总线 4、为主控发送器、主控接收器、被控发送器和被控接收器 5、起始和终止信号以及时钟信号都是由主控器提供 6、其总线传输速率为100 kb/s(改进后的规范为400 kb/s),总线驱动能 力为400 pF。QG8的最快速度为clock/20。 7、 I2C总线还具有仲裁功能,当一个以上的主器件同时试图控制总线时,只 允许一个有效,从而保证数据不被破坏 8、当主机发送寻址字节时,总线上所有器件都将该寻址字节中的高7位地址 与自己器件的地址比较,若两者相同,则该器件认为被主机寻址,并根据 读/写位确定是从发送器还是从接收器 9、具有I2C总线接口的单片机可以工作在上述4种工作状态中的任一状态,而 一些带有I2C总线接口的存储器(RAM或E2PROM)模块只能充当被控发送器 或被控接收器 10、在多主方式中,通过硬件和软件的仲裁主控制器取得总线控制权
I2C总线的接口电路结构
1、数据线SDA和时钟线SCL都是双向传输线,平时均处于高 数据线SDA和时钟线SCL都是双向传输线, SDA和时钟线SCL都是双向传输线 电平备用状态,只有当需要关闭I 总线时,SCL线才会箝 电平备用状态,只有当需要关闭I2C总线时,SCL线才会箝 位在低电平。 位在低电平。 2、 SCL线上为高电平时,SDA线上的数据信号才会有效, SCL线上为高电平时 SDA线上的数据信号才会有效 线上为高电平时, 线上的数据信号才会有效, SCL低时 SDA数据无效 因此,只有当SCL线为低电平时, 低时, 数据无效。 SCL线为低电平时 SCL低时,SDA数据无效。因此,只有当SCL线为低电平时, SDA线上的电平状态才允许发生变化 线上的电平状态才允许发生变化。 SDA线上的电平状态才允许发生变化。
内部集成电路IIC原理及应用 第十章 内部集成电路 原理及应用
第1节 IIC概述 节 概述 第2节 IIC管脚及相关寄存器 节 管脚及相关寄存器 第3节 IIC在系统扩展中的应用 节 在系统扩展中的应用
9.1
I2C 概述
• I2C总线是PHILIPS公司推出的串行总线。I2C总 线的应用非常广泛,在很多器件上都配备有I2C 总线接口,使用这些器件时一般都需要通过I2C 总线进行控制。这里简要介绍I2C总线的工作原 理及操作时序。
• 前提:总线时钟4MHz,IIC的时钟为 前提:总线时钟 的时钟为100KHz; , 的时钟为 ;
MULT = 01,对应 mul = 2; 对应 ; ICR = 0; 对应 SCL分频数 分频数=20; SDA保持值 7; 保持值= ; 分频数 保持值 = 总线频率 总线频率(Hz)/ (mul * SCL分频数 分频数) 则波特率 分频数 =4000000/(2*20) =100K; (周期 周期10uS) 周期 总线周期(s) 数据保持时间 = 总线周期 * SDA保持值 保持值 = 1/4000000 * 7 = 1.75uS 如果数据保持时间不够,可以修改ICR的数值 比如设置为7,对应的SCL 的数值, 如果数据保持时间不够,可以修改 的数值,比如设置为 ,对应的 分频数为40, 保持值为10, 修改为1,此时100KHz的波特率不 分频数为 ,SDA保持值为 ,将mul修改为 ,此时 保持值为 修改为 的波特率不 但数据保持时间为2.5uS了。 变,但数据保持时间为 了 配置: 配置: SDA hold time is the delay from the falling edge of the SCL (IIC clo ck) to the changing of SDA (IIC data).
(3)数据传输 • 数节为8位,高位在前,低位在后。每传输一位数据都有 数节为8 高位在前,低位在后。 一个时钟脉冲相对应。 一个时钟脉冲相对应。 • SCL线为低电平时,SDA线上数据就被停止传送。接收器可 SCL线为低电平时,SDA线上数据就被停止传送。 线为低电平时 线上数据就被停止传送 SCL线输出低电平而箝住SCL(SCL=0),迫使SDA 线输出低电平而箝住SCL ),迫使SDA线处于 向SCL线输出低电平而箝住SCL(SCL=0),迫使SDA线处于 等待状态,直到接收器准备好接收新的数据/地址字节时, 等待状态,直到接收器准备好接收新的数据/地址字节时, 再释放时钟线SCL SCL)=1), SDA线上数据传输得以 SCL( ),使 再释放时钟线SCL(SCL)=1),使SDA线上数据传输得以 继续进行。 继续进行。
IIC Control Register (IICC)
7-IICEN 6-IICIE 5-MST 4-TX
Iic模块的允许控制位,“1”时允许,此时对应的管脚不再是普通的 管脚 模块的允许控制位, 模块的允许控制位 ”时允许,此时对应的管脚不再是普通的I/O管脚 了。 IIC中断允许是否打开,“1”时打开,一般都要使用中断进行数据的传输。 中断允许是否打开, 中断允许是否打开 ”时打开,一般都要使用中断进行数据的传输。 主模式选择位,当从“0”到“1”改变时,会产生 信号,且器件改为主模式; 信号, 主模式选择位,当从“ ” ”改变时,会产生S信号 且器件改为主模式; 当从“ ”切换到“ ” 会产生P信号 且器件改为了从模式。 信号, 当从“1”切换到“0”时,会产生 信号,且器件改为了从模式。 数据传送的方向控制位, 数据传送的方向控制位,“1”表示发送,“0”表示接收;该位需要根据数 ”表示发送, ”表示接收; 据传输的模式分别设置。主模式下,寻址期间该位为“1”,对于从模式来说, 据传输的模式分别设置。主模式下,寻址期间该位为“ ” 对于从模式来说, 该位需要根据状态寄存器IICS中的 中的SRW位来决定。 位来决定。 该位需要根据状态寄存器 中的 位来决定 该位决定收到数据后是否发送ACK信号,无论是主还是从模式。 信号,无论是主还是从模式。 该位决定收到数据后是否发送 信号 “0”接收到一字节数据后发送应答信号,“1”未发送应答信号。 ”接收到一字节数据后发送应答信号, ”未发送应答信号。 Repeat START,在主模式下,对该位写“1”会产生“重新启动” 信号。 ,在主模式下,对该位写“ ”会产生“重新启动” 信号。
相关主题