当前位置: 首页 > news >正文

b2b平台网站建设沈阳网络优化培训

b2b平台网站建设,沈阳网络优化培训,安徽省建设工程信息网实名制,做任务赚钱的网站代码STM32----I2C通信协议 我们会发现I2C有两根通信线: SCL和SDA 同步 半双工 带数据应答 支持总线挂载多设备(一主多从,多主多从) 硬件电路 所有I2C设备的SCL连在一起,SDA连在一起 设备的SCL和SDA均要配置成开漏输出模式 …

STM32----I2C通信协议

在这里插入图片描述
我们会发现I2C有两根通信线: SCL和SDA
同步 半双工
带数据应答
支持总线挂载多设备(一主多从,多主多从)
硬件电路
所有I2C设备的SCL连在一起,SDA连在一起
设备的SCL和SDA均要配置成开漏输出模式
SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右
在这里插入图片描述
在这里插入图片描述
左边的CPU就是主机,他的权力很大包含了对SCL线的完全控制,任何时候都是主机完全掌控SCL线

从机的权利比较小,不允许任何时刻控制SCL总线

另外在空闲状态下,主机可以主动发起对SDA的控制.
从机 不允许主动发起对SDA的控制

只有在从机发送数据和从机应答的时候主机才会转交SDA的控制权给从机
在这里插入图片描述
就好比这些是挂在在I2C总线上的从机

我们在观察这个图中可以看出这几个特点

假设我们没有这两个电阻
在这里插入图片描述
对于SCL端 其实是非常容易控制的
因为主机掌控了对SCL端的完全控制权
但是对于SDA 并不是很好的处理
因为有些时候从机会发送 主机会接收
从机接收 主机发送
所以如果仅此而已 可能会在某些形式上
为了避免主线没协调好导致短路的问题
I2C的设计是禁止所有设备输出强上拉的高电平
采用外置弱上拉电阻和开漏输出的电路结构
就是怎么通俗易懂的解释呢 ,
在这里插入图片描述
这属于是强上拉和强下拉的输出模式
直接接入地和电源Vcc 那么直接接入的上拉 和下拉就会直接沟通电源或者是地 这样来说并不安全
那么我们如果把上拉的电源切断 换成浮空态的话 那么就会对我们的电路 产生一个保护作用
简称浮空态
在这里插入图片描述
我们会发现这样的做法会对我们的电路起到一定的保护作用

我们现在增加一个上拉电阻 就会实现其他不一样的功能
就像是一根杆子但是上面增加了一个弹簧
我们规定所有人只能向下拉杆子
或者放手(放手就相当于给置为低电位0)输出高电平 因为有根弹簧的存在它会自己回弹到悬空态 这相对于低电位0 肯定是高的,但是又不是很高 所以我们称其为弱上拉
这样就完全杜绝了短路的现象
第二 避免了引脚模式的频繁更换
在这里插入图片描述
起始条件:
SCL高电平期间,SDA从高电平切换到低电平
在这里插入图片描述
终止条件:
SCL高电平期间,SDA从低电平切换到高电平
在这里插入图片描述•发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节

在这里插入图片描述
因为就像是上面所说的 主机牢牢把控着SCL 在SCL低电平的时候 ( 主机控制的) 然后主机在将数据依次放到SDA线上 再释放SCL 像弹簧一样回弹到高电平 从机会自动读取SDA的数据 所以这里就要求我们SCL为高 SDA不允许有数据变化
在这种情况下,SCL与SDA全部由主机控制

接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位先行),然后释放SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节(主机在接收之前,需要释放SDA)
在这里插入图片描述
在我们这里是这个意思
首先我们需要明白一个道理 我们总是控制着主机的 考虑也是基本上只说主机
我们先把SCL拉至低电平(完全由主机控制) 然后从机会把数据依次放到SDA线上 再释放SCL 释放的意思就是我不用手拉着了 嗖的一声回弹上去了 变成了高电位 这就是所说的释放的概念 主机接着会在SCL高电平期间进行数据读取 在SCL为高 就是主机读取的阶段并不允许 数据有所变化
另外注意点是 主机在开始接收之前,需要提前释放掉SDA 因为对我们来说 因为是一根线线与的关系 你放手了 让别人拉这根杆子 他才会传递不同的信息给你

发送应答:主机在接收完一个字节之后,在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答
•接收应答:主机在发送完一个字节之后,在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)
在这里插入图片描述
怎么解释呢
我们首先需要明确的观点是
当SCL拉低时候 是在传输数据 (不管是主机把数据传送到SDA上,还是从机把数据放到SDA上 ,这里我们可以在具体实践中通过代码控制)
在SCL为高的时候 ,总是在读取数据(要么是主机读取SDA 要么是从机读取SDA)

我们现在以接收应答为例
就像是我们发送一个东西 之后马上判断是否有人收到了
就是这样我们先把SCL拉低(主机 开始操作发送数据) 接下来需要释放掉SDA 因为只有释放掉SDA 从机才能操作SDA 接下来SCL为高进入读取阶段 那么我们如果SDA响应了被拉下那么是不是 相当于我们读取到的是数据0 应答成功 如果是没有接收到就会处于拉高模式就是1 表示非应答

http://www.yidumall.com/news/23098.html

相关文章:

  • 温州市手机网站制作多少钱国内好的seo网站
  • 英文专业的网站建设西安网站seo技术厂家
  • 世安建设集团有限公司网站注册公司流程和费用
  • 百度搜不到自己的网站苏州网站优化排名推广
  • 宠物网站建设需求分析nba最新消息交易
  • 人力资源和社会保障部职业资格证书seo是什么技术
  • 利用js做网站起名最好的网站排名
  • 上海互联网公司北京网站优化技术
  • 做网站上传照片的尺寸临沂做网站建设公司
  • 外卖网站设计全能优化大师
  • 杭州手机网站建设网站百度权重查询
  • 湖南汽车软件网站建设网络推广怎么赚钱
  • 医院为什么要做门户网站建设企业软文怎么写
  • 怎样做家普网站热门关键词查询
  • 淘宝客推广网站怎么做武汉seo招聘网
  • 如何做网站庆祝她生日快乐网络关键词优化方法
  • 做现货需要关注的网站seo销售
  • 建设银行网站打不开怎么办端点seo博客
  • 保险微网站制作微信crm
  • 二 建设电子商务网站的必要性百度权重4网站值多少钱
  • Wordpress动图主题网站性能优化的方法有哪些
  • 做网站要哪些架包百度今日数据统计
  • 如何做推广麦当劳的网站搜索引擎优化营销
  • 网站开发能从事那些职业网站收录情况
  • 做百度网站电话号码网络营销岗位技能
  • 网站的动态是什么意思技能培训有哪些
  • 临沂网站建设怎么样资源
  • 公司注册网站有安全风险怎么注销深圳优化seo排名
  • 手机网站开发 图库类四川seo整站优化费用
  • 虹口建设机械网站推广发帖网站