找回密码
 注册
查看: 210|回复: 2
打印 上一主题 下一主题

学51单片机-IIC总线与时序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-11 09:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
IIC总线是飞利浦公司上世纪80年代设计出来的一种总线通信方式,主要用来连接整体电路,它可以一个总线结构上连接多个设备。( m$ v1 y% i# c3 @3 W5 h
       很多人听到IIC总线、SPI总线、485总线什么的就会晕,其实,数据传输的接线方式,大体上就是两种:一种是并行接口,一种是串行接口。
       并行接口是什么?用并行方式来传输数据的接口。假如我想传输几个8位的数据,那好,单片机上用8个IO传送数据,每次就能传送一个。假如想传输几个16位的数据呢?那就要用16个IO!优点是速度快,缺点是占用的IO太多了。
       串行接口是什么?是指数据在有限的几个IO上按照顺序,一位一位的进行传输。这类有很多:UART、IIC、SPI、CAN、USB等等,只要是串行传输的接口,都是串口的一种。但是由于早期人们都习惯把UART口称为串口,导致很多人都习惯了说串口的时候特指UART口。就好像很多人把晶体和晶振都统称为晶振一样,但实际上这两种器件是有区别的。
       什么是时序?时序是串行接口或者并行接口在进行数据传输的时候,传输线必须要遵守的时间的顺序!如果不按照时序来,数据传输肯定是会有问题的。
       最明显的体现就是,有串行接口的器件的datasheet里面经常会有时序图。以昨天提到的PCF8591为例,下图是位传输的时序图:
7 ]) @. _9 l9 R. h4 p
       下图是开始信号和结束信号的时序图:

% O  p# G" c8 A( W
       下图是应答信号的时序图:
       发送机在发送完一个8位数据字节后,会把DATA线拉高,接收机会在第九个时钟高电平到来前把DATA线拉低,SCL线拉低后,DATA线置一,完成应答的流程。
       以上,就是一个IIC总线传输的时序要求,大家可以对照昨天的代码,分别去看开始信号、结束信号、应答信号还是数据传输的时序,理解了,这些知识才变成自己的。
       理科男最怕的就是写作文。1、我写的不生动,2、字数写不够。所以上学的时候每次写作文都是拼命的凑字数。这导致我早期看datasheet的时候,也是挑挑拣拣的看,从来没认真研究过时序图。
       但是,厂家给我们提供datasheet不是当作摆设的,真的是有太多重要的信息在里面。datasheet里面几乎句句都有用。因为他们是想用最简单的语言完成最全面的描述,无论是表格还是图形,出现在这里都是有理由的!
       可能我已经说了很多遍了,但还是要重复一下:一定要学会看datasheet!
       然后,就是这套日志的事,不知不觉写了十多天,开始的很突然,准备的很仓促,由于工作原因,每天就那些时间去准备,有些地方没达到我想要的效果,不过总算把51内部的东西写完了。外设多种多样,而且我手里没有太多实物,讲起来云里雾里,大家会觉得听天书,所以今天,要划上一个句号了。
但是,学习的思路都已经包含在这套日志里面了,认真看的人自然就会懂了。后面的日子,会更正日志里的一些错误,丰满一些内容,再丰富一下自己的大脑。

5 Z! t0 A/ t' r1 J

该用户从未签到

2#
发表于 2022-10-11 11:18 | 只看该作者
I2C总线在传送数据过程中,共有三种类型信号:开始信号、结束信号和应答信号。* c( h& N# {1 Z" Z( v  h
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。' S+ E9 c% O, f6 Q; w8 [3 B, E
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
) m6 f: Z6 o$ m应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。这是重点!

该用户从未签到

3#
发表于 2022-10-11 13:48 | 只看该作者
IIC总线只有2根信号线,一根是数据线SDA,一根是时钟线SCL。
  ]* R2 Z* \4 {7 p& fSDA和SCL均为双向信号线,通过上拉电阻接正电源。) g5 J' \& a8 n2 S3 p/ `
当总线空闲时,两根线都是高电平。
2 I* n0 e. S; d. r1 M连接到总线上的任一器件,输出低电平,都将使总线的信号变低。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-3 15:22 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表