完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 eehome 于 2013-1-5 09:55 编辑
IIC串行总线接口设计与应用 I2C(Inter Intergrated Circuit)总线是一种用于IC器件之间连接的二线制总线。它通过两根线(SDA,串行数据线;SCL,串行时钟线)在连到总线上的器件之间传送信息,根据地址识别每个器件(不管是微控制器、LCD驱动器、存储器还是键盘接口)根据器件的功能可以工作于发送或接收方式。 SDA和SCL都是双向I/O线,通过上拉电阻接正电源。当总线空闲时,2根线都是高电平。连接总线器件的输出级必须是开漏或集电极开路,以具有线“与”功能。I2C总线上数据传诵的最高速率为100Kb/s,连到总线上器件数量仅受总线电容400pF的限制。 送到SDA线上的每个字节必须为8位,每次传送的字节数不限,每个字节后面必须跟1个响应位。数据传送时,先传最高位。如果接收器件不能接收下一个字节(例如正在处理一个内部中断,在这个中断处理完前就不能接收I2C总线上的数据字节),可以使时钟保持低电平,迫使主器件处于等待状态。当从机准备好接收下一个数据字节释放SCL线后继续传送。 数据传送过程中,确认数据是必须的。认可位对应于主器件的一个时钟,在此时钟内发送器件释放SDA线,而接收器件必须将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。 通常被寻址的接收器件必须在收到每个字节后作出响应,若从器件正在处理一个实时事件不能接收而不对地址认可时,从器件必须使SDA保持高电平,此时主器件产生一个结束信号使传送异常结束。 发生在SDA线上的总线竞争是这样进行的:如果一个主器件发送高电平,而另一个主器件发送一个低电平,此时其发送电平与SDA总线上电平不对应的器件自动关掉其输出级。当然,也可以有多个主器件参与竞争,这取决于I2C总线上主器件的数目。总线竞争可以在许多位上进行。第一级竞争是地址位的比较,如果主器件寻址同1个从器件,则下一步竞争进入数据位的比较,因为是利用I2C总线上信息进行仲裁,所以信息不会丢失。 在I2C总线上传送信息时的时钟同步是由连在SCL线上的器件的逻辑“与”完成的。SCL线上由高到低的跳变将影响有关的器件,使它们开始低电平期。一旦一个器件时钟跳为低电平,将使SCL线保持低电平直至该时钟到达高电平。 当所有器件结束它们的低电平期时,时钟线被释放返回高电平。这样使器件时钟之间没有差别,而所有的器件都同时开始它们的高电平期。之后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生1个同步时钟,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。 I2C总线还设有广播呼叫地址用于寻址总线上的所有器件。若一个器件不需要广播呼叫寻址中所提供的任何数据,该器件可以忽略该地址,不作响应。如果器件需要广播呼叫寻址中提供的数据,该器件应对地址作出响应。其表现为一个接收器。第二个和接着的数据字节为每个从器件所响应并接收处理。从器件对不能处理的字节应忽略,并不作出响应。
|
|
|
相关推荐
|
|
|
vxcvxvxvxc
|
|
|
|
|
|
|
|
|
bucuo ,kankan
|
|
|
|
|
|
|
|
|
学习ing!
|
|
|
|
|
|
|
|
|
学习中
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
4505 浏览 0 评论
9669 浏览 0 评论
6358 浏览 0 评论
4774 浏览 1 评论
5758 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
748浏览 2评论
1029浏览 2评论
12607浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
931浏览 1评论
1293浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:44 , Processed in 2.248271 second(s), Total 109, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖