资讯详情

上拉电阻的作用原理_电容触摸屏原理以及敦泰TP FT5X06驱动

微信公众号:关注可以了解更多的教程。请在微信官方账号留言。如有侵权,请联系删除。

0c7580a7126db3587b9d370d1b63f257.png

▲长按图片保存可分享至朋友圈

在驱动之前,我们可以先了解通信的基本原理:

数据通信的类型有:串行通信和并行通信。无论什么样的通信,无论多么复杂,它都来自这两种通信。

数据通信的传输方向又有:单工、半双工、全双工。它们之间各有什么样的特点,我举了车辆过道的实例,通俗易懂的跟大家讲明白了。

数据通信也可分为同步和异步。什么是同步?什么是异步?相信大家现在都有了概念吧?同步是根据一定的时钟周期做一些事情。这里我举了广场舞的例子。什么是异步?异步在任何时候都可以,但是如何区分开始、动作和结束呢?这就需要将开始传输位、数据内容和结束位插入一帧数据进行区分,然后需要一定的传输频率来发送数据。

串口协议是什么?串口协议是串行异步通信协议。有协议是不够的。必须有硬件接口。不要说具体是什么。然后双方都同意,比如通信双方设置波特率115200,一次发8bit数据,0个验证位,1个停止位。然后开始发送数据。此时,根据协议规范,发送端开始发送起始位置,通常为0,然后开始传输8bit如果需要验证数据,则传输验证位置,最后传输1bit停止位,这样一帧数据就完成了。

我们来谈谈这一节I2C协议,I2C什么是协议?I2C是(Inter-IntegratedCircuit)英文缩写,是的Philips公司开发的通信协议只有两条线用于通信。简单地说,如下图所示:

让我先谈谈上图的具体含义,然后再谈I2C如何操作数据。I2C通过总线SDA总线(数据)SCL为什么总线(时钟)传输数据?I2C总线上还要接两个上拉电阻呢?根据I2C从规格设计手册中了解到,因为I2C接口设计主要采用集电极开路或泄漏输出接口。当总线是空的时候,两条线都是高电平的,因为I2C的SDA和SCL都有线和功能,什么是线和?线与0为0,同1为1,这与数字电路逻辑有关。也就是说,只要有一个节点对总线有一个节点(SCL或者SDA)如果发送低电平,整条线将呈现为低电平。想想看。协议说,如果你有空,你应该有一个高电平。你突然给它一个低电平。这不会逗死人吗?还叫协议?这显然是乱搞,不是吗?所以既然是协议,那I2C肯定会有约束条件。这种上拉电阻的作用之一就在这里。给硬件电路IO口提供确定的电平信号。

说到这里,有人可能会问,我写代码,我不熟悉硬件,或者根本不懂?他们可能会问这样的问题开漏输出是什么?上拉电阻是什么?上拉电阻值取什么值?这个电阻取大取小对I2C通信的影响是什么?最合适的值是什么?既然有上拉电阻,有下拉电阻吗?为什么我看一些?I2C的外设接在MCU的IO口中,也没有看到接上拉电阻啊,那为什么通信也正常呢?

让我们来谈谈如何回答这些问题。什么问题容易解释?让我们从硬件电路开始,一步一步地分析上述问题。

让我们先看一个简单的电路:

想象一下,如果现在把B点上的部分去掉,变成以下几点:

学习数字电路后,我们知道有三种输出状态:

1、高电平 2、低电平 3、高阻态

如图(5)所示,无法确定电路状态是高电平还是低电平,即高电阻。

什么是高阻态?

答:在电路分析过程中,可以理解高阻态。您可以将其视为输出(输入)电阻非常大。其极限状态可视为悬空(开路)。换句话说,理论上,高阻态不是悬空,而是对地或电源电阻大的状态。实际应用与引脚悬空几乎相同。

因此,我们可以认为,B当开关断开时,点相当于悬挂引脚,无法确定其状态。一般来说,为了确定电平,通常会给它IO在嘴上加一个上拉电阻,即图(4)看到的情况,即当按钮没有按下时,B点为高电平,MCU读取B点也是高电平。按下按钮时,情况相反,这是上拉电阻的作用之一——确定电路状态。所以下拉电阻也是这样一个功能,如何分析,不用说,事实是一样的。

所以,我们正在分析I2C其中一个原因是集电极开路输出和漏电极开路输出。让我们先了解第一个问题。什么是集电极开路输出?

什么是集电极开路输出?什么是集电极?

答:集电极是三极管的电极之一。在这里,我们生动地画出它:

那么如何解决不确定c点输出量的问题呢?上拉电阻闪闪发光!!!确定电路状态,这无疑是一个婴儿,可以在关键时刻使用我们看看如何改变它。

由此可见,当集电极开路时,如上所述,当三极管处于截止状态时。也就相当于bc当通路之间没有形成时,无法确定c点的电平,即将无法确定电平的线路连接起来I2C总线的SDA和SCL上,当I2C为了空闲,可以保证SDA和SCL输出高电平吗?不能?如果没有,假设输出低电平,因为I2C总线的线与关系,那不就相当于违背了I2C协议中提到的条件?所以这就是存在上拉电阻的必要性。集电极开路也叫OC开路,OC,就是OpenCollector英文缩写。

所以说到这里,有人可能会问,现在我输入1,最后输出1,不要逆转,我现在输入0,我将输出0,不要逆转,那么如何实现呢?这很简单,我们不能拿两个反向器吗?看看如何连接它:

但通常在MCU在中间,它不会这样连接,但最终的效果是相同的,原理仍然不同。因此,经过改造,有了图(10)所示的电路,由两个三极管共同控制。当电平不同时,总有一个三极管是向的。当我用开关替换上拉电阻时,这个电路称为推拉输出电路。

那么什么是漏极输出呢?漏极是什么?漏极是场效应管中的一个极:如图(11)所示,场效应晶体管(FieldEffectTransistor缩写(FET))简称场效应管。主要有两种类型(junctionFET—JFET)和金属-氧化物半导体效应管道(metal-oxidesemiconductorFET,简称MOS-FET)。多载流子参与导电,又称单极晶体管。属于电压控制半导体器件。输入电阻高(107~1015)Ω)、噪音低、功耗低、动态范围大、集成方便、无二次突破、安全工作区域宽等优点,已成为双极晶体管和功率晶体管的强大竞争对手。

场效应管(FET)是利用控制输入回路的电场效应来控制输出回路电流的一种半导体器件,并以此命名。

因此为什么I2C这就是为什么在总线外连接两个上拉电阻的原因。这时,问题来了。为什么会有一些?MCU不加拉电阻也能正常驱动I2C总线呢?

答:有些MCU内部有弱上拉电阻,也可以与之匹配I2C总线实现线与功能,可以保证I2C空闲时间是高电平。但考虑到驱动能力,芯片输出的驱动能力毕竟是有限的,所以在外部连接拉电阻可以增加驱动能力。

至于电阻的大小,请参考博客末尾的文章。

关于协议部分,常用参考以下博客,易于理解,也易于理解,以下文章只考虑主模式,多主机模式不涉及本文,建议阅读I2C官方的UserSpec毕竟官方是最标准的。

一位网友写的51单片机程序,很好理解,截取:

完整PPT:

另外推荐相关课程:

    韦东山老师优质嵌入式学习干货推荐:包括ARM裸机开发、Linux设备驱动程序、Linux应用程序开发、Android系统学习、Linux设备树等。

王争老师优秀数据结构算法学习课程推荐

长期商务合作服务:

     本公众号以及本人在圈子里有很多的人流量,如需定期产品推广,货源代销等可关注微信公众号<>,我们可以用这个公众号来帮你赚更多的钱。

联系人:

深圳安立顺技术研发事业群总经理 杨源鑫

    上个月去4S店提车的时候,抽奖抽到了一个净水器,原价2980元,京东可查,100%全新,现转手,有需要的可以直接微信联系我。

标签: 电阻metal4s三极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台