精华内容
下载资源
问答
  • 上拉带接口
    千次阅读
    2019-11-25 12:59:13

    在使用NXP的Kinetis系列的KV1X的MCU时,此款芯片只有SWD调试接口,在使用kei调试和下载过程中时不时会找不到SWD接口或者芯片被锁住,检查电源稳定纹波很小,NMI已上拉10k电阻,可以在jlink Command中找到内核并解锁。在恩智浦论坛上询问FAE,芯片内部DIO已上拉,SCK已下拉,可能是jlink到SWD接口的连接线较长导致信号不稳定,或者是Layout做的太差,引起芯片被锁,建议SWD_DIO上拉10k电阻,SWD_SCK下拉10K电阻保证信号的稳定性。按照建议做了第二版后,调试的稳定性增强,被锁或找不到接口的情况基本不再出现。 
    在画板时可预留上下拉电阻的位置,在出现这种情况后方便调试。
    ————————————————
    版权声明:本文为CSDN博主「有点小曹」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/cao202519/article/details/80808572

    更多相关内容
  • 电子政务-内部上下电阻的无极性RS-485接口芯片.zip
  • 在一些PCB的layout中,大家往往会看到在I2C通信的接口处,往往会接入一个4.7K的电阻,有的datasheet上面明确有要求,需要接入,有的则没有要求。
  • STM32F4 USB接口上下电阻

    千次阅读 2019-01-14 09:10:38
    根据《STM32F4XX中文参考手册》931页 USB部分的介绍: STM32F4 的OTG_FS模块集成了DP/DM的上下电阻,所以外部不再需要额外的上下电阻。    

    根据《STM32F4XX中文参考手册》931页 USB部分的介绍:

    STM32F4 的OTG_FS模块集成了DP/DM的上下拉电阻,所以外部不再需要额外的上下拉电阻。

     

     

    展开全文
  • RS485是一种常见的通讯接口方式,在我们的实际产品中也是多次使用。但我们平常并不会去过多考虑某一实现的细节问题,不过最近我们遇到了一个因如上下电阻的选择问题而造成的通讯故障,所以在这一片中我们来讨论...

    RS485是一种常见的通讯接口方式,在我们的实际产品中也是多次使用。但我们平常并不会去过多考虑某一实现的细节问题,不过最近我们遇到了一个因如上下拉电阻的选择问题而造成的通讯故障,所以在这一片中我们来讨论一下RS485总线上下拉电阻的选择问题。

    1、出现的问题

    前段时间在调试多个站点的Modbus通讯的时候出现了一个问题。在拥有6个节点的RS485总线上,主站发送给从站的报文能够成功接收,从站返回的报文主站却是接收不到。后来额外添加了上拉下拉电阻后,通讯恢复正常。这让我们注意到,上下拉电阻的选择对RS485总线通讯的影响问题。

    首先,我们来看看为什么会有接收不到报文的情况。根据RS485总线的相关标准,当RS485总线差分电压大于+200mV时,RS485收发器输出高电平;当RS485总线差分电压小于-200mV时,RS485收发器输出低电平;当RS485总线上的电压在-200mV~+200mV之间时,RS485收发器可能输出高电平也可能输出低电平,但对于某一特定的节点总是处于一种电平状态,若RS485收发器的输出处于低电平,这对于UART通信来说是一个起始位,此时通信会不正常,自然我们就接收不到正确的报文了。

    既然是因为RS485总线上A端和B端的电压差处于-200mV~+200mV之间而造成的错误,那么有没有办法防止它处于-200mV~+200mV之间呢?当然是有办法的,那就是利用上拉下拉电阻来钳位这一电压差值。这就引出了另一个问题,我们该如何选择适合的上拉下拉电阻呢?接下来我们将讨论这个问题。

    2、分析问题

    既然我们确认是上拉下拉电阻的匹配问题,那接下来我们就来讨论一下上拉下拉电阻的选择问题。我们先从简单的的情况入手,逐步的讨论更复杂的网络情况。首先我们来看一下只有两个节点的RS485网络,如下图所示:

    在上图的两个节点的网络中,我们规定两端都有终端电阻,两个节点所采用的收发器的输入电阻相同,在总线中只有一个节点配置有上拉下拉电阻。我们根据电路中流入流出同一节点的电流是相同的原理,可以得到如下的两个等式:

    在我们设计RS485总线电路时,如果添加有上拉和下拉电阻,我们一般会选择相同的阻值,我们记为R。那么我们根据上面两个等式可以推导出下的算式:

    有了这个式子我们可以计算出上拉下拉电阻的大小。因为我们加上拉下拉电阻的目的就是保证总线A端和B端的电压差能够符合不小于200mA的要求。所以我们以总线A、B的电压差200mA来计算就可以得到上拉下拉电阻的值。

    上面我们推导了两个节点的计算公式,但两个节点只是最简单的情况,而总线上往往存在多个节点。所以接下来我们来讨论总线上存在n个节点,总线两端存在终端电阻,每一个节点都拥有相同的输入电阻,只有主节点存在上拉下拉电阻,如下图所示:

    我们根据前面的推导过程可知,不同的只是因为增加节点而增加的输入电阻,所以我们根据上述电路可以推导出如下的公式:

    这一公式与两个节点的公式相比仅仅只是输入电阻部分并联引起的变化。同样的,我们可以依据总线A端和B端的电压差不小于200mA的要求来计算上拉下拉电阻的阻值。

    我们虽然推导了总线上有多个节点的计算公式,但我们只考虑了一个节点拥有上拉下拉电阻的情况。实际应用中,可能存在总线上有多个节点存在上拉下拉电阻的情况,所以我们来讨论一下所有节点均存在上拉下拉电阻的极限情况,如下图所示:

    从上图,我们不难看出与前一种多节点通讯的区别只是上拉下拉电阻的数量出现了变化。为了简化推导过程,我们同样假设每个节点拥有相同的上拉下拉电阻,以及同样的上拉电源和地。采用相同的电路原理我们可得到如下的计算公式:

    在这个公式中,n为节点的数量,总线A端和B端的差值我们定义为最小的200mA,这样我们就可以将这个公式简化为:

    到这里,我们就得到了比较具有使用价值的上拉下拉电阻阻值的计算公式了。我们只需要根据实际的总线使用情况选择n的值和电源的值就可以得到我们想要的上下拉电阻值。不过有一个问题需要注意,上下拉电阻的数量可能与节点的数量不同,但输入电阻的数量与节点数量相同,所以计算时要注意n的取值问题。

    3、求解思路

    我们已经推导了一个具有应用价值的上下拉电阻计算公式。接下来我们就来使用这一公式计算我们前面遇到的实际问题。

    在第1节中,我们提到了一个实际问题,是一个具有6个节点的RS485总线,我们来计算一下这个实际事例中上拉下拉电阻该如何选择。我们的主站采用的收发器是MAX3485,上拉下拉电阻选择了普遍的4.7K欧姆电阻,上拉电源采用了3.3V电源。从节点为其他厂商产品,所采用的收发器为SP3485和SP485,我们只考虑主节点有上拉下拉电阻的情况。

    从MAX3485和SP3485以及SP485的数据手册我们可以查到输入电阻均为12K欧姆。而在主站这边添加了终端电阻,而总线上的其他从站均为添加终端电阻。所以我们就可以将这些数据带入到上面的公式计算上拉下拉电阻:

    于是我们很容易得到上拉下拉电阻的阻值约为903欧姆。这是在只有主节点有上拉下拉电阻的情况下,如果每个节点都有上拉下拉电阻呢?在这一情况下,所需的上拉下拉电阻要大得多,6个节点的话,约为5417欧姆。如果两个终端都采用了终端电阻,则上拉下拉电阻需要更小一些,约为458欧姆左右。同样如果6个节点均采用上拉下拉电阻,则上拉下拉电阻的值约为2749欧姆。一般在设计电路时,我们均默认所有节点均有上拉下拉电阻,在不能确认最远端的距离及终端电阻时,选用5K欧姆左右的电阻是合适的。

    我们似乎解决了我们前面所遇到的问题,但还有一种情形我们需要考虑,那就是总线上拥有最多节点的情况。一般来说,总线上能够挂载多少个节点与采用的RS485收发器有关。同样以我们常用的MAX3485和SP3485为例,其理论上可以挂载包括自己在内的32个节点,所以我们就以32个节点、所有节点均有上拉下拉电阻,两端均有终端电阻为例来计算上拉下拉电阻的值。

    我们可得到上拉下拉电阻的值约为13778欧姆,但这个值是一个极限值,我们并不能选用它,因为我们不能保证所挂载的每个节点都配有上拉下拉电阻。所以我们再拉计算一下只有我们设计的主节点具有上拉下拉电阻的情况。这种情况下,上拉下拉电阻的值约为431欧姆。那是不是我们选用这个最小值就可以适应总线挂载2到32个节点的所有情况了呢?很遗憾,并不是这样的,还有其它的要求需要我们考虑。

    前述只考虑了上下拉电阻对RS485通讯的积极影响,而没有考虑上下拉电阻的选择对RS485通讯的消极影响。这个消极影响就是上下拉电阻以及终端电阻会影响RS485收发器的带载能力。因为根据RS485标准,收发器需要能够提供不低于1.5V的差分输出,此时对总线上A端与B端的差分负载要求为54欧姆。

    我们一如前面的推导过程来归纳差模负载的计算公式。我们依然按所有节点的输入电阻相同,上拉下拉电阻相同,终端电阻为两端都有的极限情况来推导公式。首先我们推导总线A端和B端的共模负载,得到公式如下:

    有了这个共模负载的计算公式,我们就可以推导出总线A端和B端差模负载的计算公式:

    根据这个差模公式我们可以来核算一下总线对上拉下拉电阻的要求。我们以32个节点,每个节点都使用了上拉下拉电阻,两端均有终端电阻,差模负载为54欧姆。我们依然以MAX3485和SP3485为例,其输入电阻为为12K欧姆,计算可得共模负载为270欧姆,而上拉下拉电阻约为30857欧姆。这是在假设32个节点均有上拉下拉电阻的情况下得到的,而我们能够确保有上拉下拉电阻的只有主节点,所以我们可以得到只有主节点有上拉下拉电阻时,电阻值约为964欧姆。

    所以综合上述计算过程,为了MAX3485和SP3485在2到32个节点的情况下均可用,理论上我们需要选择上拉下拉电阻的值大于964欧姆即可,但实际情况却不见得如此,因为其他节点也可能会采用上拉下拉电阻,所以上拉下拉电阻需要适当的选择大一点,才能保证通讯的可靠性。

    4、不是结论

    至此我们已经完成RS485总线中上拉下拉电阻选择的计算过程。但在实际使用中上下拉电阻的选择要复杂的多,因为它不但与所采用的收发器有关,还与总线上的节点数量有关。收发器的输入阻抗也决定了总线所能挂载节点的数量。如我们前述的MAX3485和SP3485两种收发器,其输入阻抗为12K欧姆,挂载32个节点时,共模电阻只有375欧姆,这时候如果我们想要利用上拉下拉电阻来保证通讯可靠,已经不会有太大效果了。所以象MAX3485和SP3485这种拥有单位负载阻抗的收发器,在电路设计时就需要考虑其挂载节点的数量。

    我们在前面的讨论中,有些条件是我们假定的,如我们默认所有节点的输入阻抗均为单位负载,但实际情况不一定如此,不同节点的输入电阻可能不一定相等。在RS485标准中规定了单位负载,输入电阻与节点的关系:

    所以我们选择输入电阻为12K欧姆来计算实际上是极小值,所以不同节点的输入电阻不相同也没关系,更大的输入电阻反而降低了驱动要求。

    在前面的讨论中我们都是按两端有终端电阻来计算的,在实际使用中可能并非两端都存在终端电阻,甚至没有终端电阻的情况。根据前面的公式,我们不难发现如果只有1端有终端电阻或者没有终端电阻的情况下,对上下拉电阻的要求更低一些,上下拉电阻可以适当增大,所以只要符合两端带终端电阻的情况,其它情形自然也可满足。

    还有在总线上,不同节点采用的上下拉电阻以及上拉电源并不一定相同。我们假定上拉电源为3.3V,实际已经是很低的情况,如果用更高的上拉电源,对上拉电阻的要求反而更低,所以用3.3V计算是能符合所有使用情况的。而至于上下拉电阻不同节点可能不同的问题,我们考虑的是最低情况,如果某一个或几个节点采用更大的电阻,由于电阻的并联作用,不会造成电阻更大的问题,即可保证压差限制,也能保证差分负载的要求。

    欢迎关注:

     

    展开全文
  • RS485使用注意事项(上下电阻)

    千次阅读 2021-01-14 13:14:22
    这两天主要做的是把Keller 30X系列工业用压力变送器的RS485接口和STM32单片机联通,并将数据通过USB口转发到PC。我首先直接使用Keller 30X连接电脑的RS485接口,这自然没有问题,用Keller自带的小软件直接就能看到...

    这两天主要做的是把Keller 30X系列工业用压力变送器的RS485接口和STM32单片机联通,并将数据通过USB口转发到PC上。

    我首先直接使用Keller 30X连接电脑的RS485接口,这自然没有问题,用Keller自带的小软件直接就能看到结果。

    其次让STM32的RS485接口和电脑连接,这步调试整整用了1天半,遇到了几个比较棘手的问题:

    发送时,由于RS485为半双工模式,发送时需要处理收发转换。发送前将T/NR线拉高,然后用串口发送一个字节的数据。发送完之后不能马上把T/NR线拉低,需要等待一会儿(大约发送1~2位的时间,视波特率而定),等接收方确认收到停止位后,再把T/NR拉低进入接收模式。

    接收时和发送同理,电脑向单片机发送数据时停止位起码要有2位,以保证单片机收到停止位,否则连续发送时会把后一位数据中的1->0跳变认作起始位,导致传输错误

    芯片选择方面,要认清MAX3485和MAX485的区别。MAX3485是CMOS电平的,用3.3V供电。MAX485是TTL电平的,用5V供电。STM32单片机的IO都是CMOS电平,所以理应使用MAX3485芯片。如果一定要做TTL和CMOS的电平转换,记住CMOS可以驱动TTL,而TTL驱动CMOS时需要上拉电阻。如果电平搞错了,最明显的状况就是发送正常而接收乱码。

    RS485的终端电阻不要乱接。RS485的终端电阻是接在总线最末端防止电波反射的,如果线很短干脆就不要接了,否则反而容易把差分信号拉小,使信噪比降低

    RS485的AB线上的上下拉电阻个人认为没有必要接。首先MAX3485内部有上下拉电路,本身就能够把AB线钳位在1上;其次,如果线缆很长,设备所处的地电位和主板所处的地电位很可能不一样,附加上下拉电阻反而会产生附加的暗电流,会把差分信号拉小,降低信噪比。

    STM32的Tx口要配置成推挽输出模式,Rx口要配置成内置上拉模式(当然也可以配置成悬空模式,在电路板上用电阻上拉)

    最后尝试将Keller 30X和STM32单片机连接,悲剧就发生了。Keller 30X的485接口完全是针对电脑设计的,(9600,n,8,1)的配置下一帧连续发送20多个字节。正如上文所述,单片机需要至少1位的安全时间用于处理中断程序,在接受Keller的快速连发时,下一字节的开始位到来时,单片机还处于中断处理程序中,所以直接将其忽略了,这导致单片机将数据中出现的1->0的跳变认作下一位的起始位,使后续传输全部出错。

    不幸的是,Keller 30X的通信芯片不能编程,所以也无法给它加入安全事件。最后我只能采用的模拟信号A/D转换的方式来采集Keller 30X的压力信号。这个故事告诉我们,以后设计面向单片机的UART接口时(不管是RS232,rs485还是TTL,CMOS),一定要考虑到目标单片机的性能。单片机不比电脑,处理一个串口接收中断一瞬间就可以完成,向单片机发送数据时,两字节之间一定要留足安全时间,以保证目标单片机有足够的时间处理中断,读取寄存器中的数据。STM32单片机已经算是快的了,处理一个中断尚且需要1位的时间,如果是51的话,相信这个时间还会更长。

    展开全文
  • uni-app实现上拉加载,下拉刷新(下拉动画)

    万次阅读 多人点赞 2018-12-05 13:55:47
    uni-app的上拉加载动画感觉还行,废话不多说了。。。 1在pages.json添加允许下拉刷新 { "path":"pages/lookuser/lookuser", "style":{ "navigationBarTitleText&...
  • IIC上拉电阻的注意事项

    千次阅读 2020-09-17 11:28:54
    1.IIC的接口一般都是OD或者OC门,芯片内部无上电阻时,外部需要加上电阻才能输出高电平。 2.上拉电阻的最小值受电源电压限制,最大值受负载电容(总线电容)限制。计算公式为: Rmin=(Vdd(min)-0.4V)/3mA ...
  • RS485通讯上下电阻的选择

    千次阅读 2022-03-03 13:47:11
    RS485通讯上下电阻的选择 RS485是一种常见的通讯接口方式,在我们的实际产品中也是多次使用。但我们平常并不会去过多考虑某一实现的细节问题,不过...后来额外添加了上拉下拉电阻后,通讯恢复正常。这让我们注意到
  • 刀闸接口箱用来控制隔离开关,其可靠性成为数字化站检修的关键部位,因此需要设计一种高可靠装置以防止负荷、合隔离开关,带电合接地刀闸,接地线(接地刀闸)合断路器(隔离开关)。装置还要满足智能控制、通讯以...
  • iic上拉电阻的阻值计算方法与特性

    千次阅读 2020-09-16 23:36:50
    相信有太多的同学和我一样,想研究为什么iic协议要有上拉电阻、上拉电阻如何取值以及上拉电阻的大小对电路的特性有哪些影响?本文将你了解这些,同时自我总结。 一、iic协议为什么一定要加上电阻? 1.IIC是...
  • 一丶效果图 二丶概述 RecyclerVIew的上拉加载,下拉刷新网上也有很多,包括github的开源也有非常好用的,这里整理demo作为一个开始
  • 上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“电阻”)最基本的作用是:将状态不确定的信号线通过一个电阻将其箝位至高电平(上拉)或低电平(下拉),无论它的具体用法如何,这个基本的作用都是相同的...
  • 1.1.1 接口相关电路及概念 1. 集电极开路输出 在电路中常会遇到漏极开路(Open Drain)和集电极开路(Open Collector)两种情形。漏极开路电路概念中提到的“漏”是指 MOSFET的漏极。同理,集电极开路电路中的“集...
  • (3)解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。   9 嵌入式系统中信息表示与运算基础...
  • ListView实现上拉加载&下拉刷新

    千次阅读 2018-10-11 21:38:12
    自定义的有下拉刷新和上拉加载的ListView开始时,跟系统的ListView一样。不过多了个header和footer只不过这两个布局以不同的方式隐藏起来了而已。(header是在手机屏幕外的上面,footer是直接隐藏起来了。因为下拉...
  • 电阻在回路中起到限流作用,上拉和下拉电阻使用频率也是十分频繁。但是经常会有人提出疑问:上拉电阻为何能上拉?下拉电阻为何能下拉?上拉、下拉电阻旁为何还要串联一颗电阻?如图简单来说:电源至元器件引脚的...
  • 前言:     &...纵观多数App,下拉刷新和上拉加载更多是很常见的功能,但是谷歌官方只有一个SwipeRefreshLayo
  • 第二种就是io方式,就是将它当作普通的io来用,这时它与其他的三个不同的是,它内部没有上拉电阻(也就是其他的三个口内部都有上拉),属于开漏输出(od),所以它的输出是低电平(0)和高阻态(z)两种状态,你只...
  • Android下拉刷新和上拉加载更多

    万次阅读 多人点赞 2018-01-31 11:06:29
    Android下拉刷新和上拉加载更多 下拉刷新 通过android系统提供的组件:SwipeRefreshLayout 一、基本使用 1 xml中 添加 SwipeRefreshLayout 组件 该组件包含着要操作下拉刷新的控件 如ListView RecyclerView...
  • 一文搞懂HUB75接口(附带LED单元板驱动介绍)

    万次阅读 多人点赞 2021-03-29 17:38:11
    导读:HUB75接口是一种常用的LED单元板驱动接口,本文就常见的HUB75接口知识点进行整理。 A/B/C/D 4根地址线,所以是16扫(24=162^4=1624=16) A/B/C/D/E 5根地址线,所以是32扫(25=322^5=3225=32)
  • 你了解1-Wire接口

    千次阅读 2020-04-11 17:09:29
    你了解1-Wire接口 一、概述 1-Wire总线是一个简单的信号传输电路,可通过一根共用的数据线实现主控制器与一个或一个以上从器件之间的半双工双向通信。 二、硬件结构 设备(主机或从机)通过一个漏极开路或三态端口...
  • 用于将TypeScript接口转换为OpenRPC接口描述的命令行实用程序。 注意:早期MVP。 许多待办事项。 用法 首先,回购和yarn link或npm link 。 程序输出到标准输出: ts-to-open-rpc METHOD_NAME TYPESCRIPT_FILE...
  • 一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码,不仅增加了项目的冗余程度,...
  • 来自于编码器接口电路Encoder1和Encoder2经过510电阻和一个上拉10k电阻后输入到最小系统中。问题在于,为什么要接上拉电阻。之前的知识仅理解到了拉高电压一项,但原因不明。在单片机引脚作为输入端时,为避免因为...
  • 在STM32的引脚配置中,我们经常看到:推挽输出,开漏输出,上拉,下拉,浮空等术语,这些都是什么意思?应用场合有何不同?本文将尝试解答这些问题。
  • 1,首先在/src/api中创建一个接口 2,接口编写模仿其他页面即可,url地址是把host去掉的部分, 3,在vue.config.js中找到devServer,找到代理所在,把url出来,单独...4,在使用接口的组件页面引用该接口,要带上{...
  • 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_...
  • SPI接口详解

    千次阅读 2021-09-25 19:21:56
    一、SPI接口简介 SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器定义的。 SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,949
精华内容 24,379
热门标签
关键字:

上拉带接口