知乎关于驱动负载的回答
https://zhuanlan.zhihu.com/p/149824232?utm_source=wechat_session&utm_medium=social&utm_oi=606539650190544896&utm_campaign=shareopn
模拟电子技术(童诗白)第四版77叶
带负载能力是指,外接负载器件后,输出的电压或者电流不受影响的能力。比如,如果一个单片机的引脚输出5V的电压信号,如果接上一个负载后,它的5V保持不变,那么,它可以带动这个负载,如果变小,那就说明无法带动这个负载。同样,对于输出电流如果能够满足负载的需要,那就说明带负载能力满足要求。
这就告诉我们,在实际电路分析,首先你要看它的输出端是想稳定输出电流还是想稳定输出电压(个人感觉根据驱动的负载看,如果负载是电流型驱动,如BJT或者TLL就等效为电流源和电阻比较方便直观),如果是想稳定输出电压,说它带负载能力强,表示其输出电阻比较小,如果是稳定输出电流,说它带负载能力强,表示其输出电阻比较大。
一般来说,所谓的驱动能力指的是电流,一些芯片手册会给出驱动电流是多大。对于负载来说,接上下级负载后,电流没有超出前级驱动能力则可以正常工作。
如果后级接上后,输入阻抗比较大(即后级这个负载小),同时还要求输入电流比较大,一般不会有这种芯片,不会有这样设计,因为本身就是矛盾的这样。
所谓的带负载能力强,电流驱动能力大,驱动能力强,这里的强或者说驱动能力大小由它本身这款芯片(或系统)手册上给出的值决定。
(后级系统)负载越大,那么需要的(前级输入)电流就越小,越有可能说明能前级能驱动得了后级。而负载小的话,那么电流就会很大,超出前级的工作范围,还极有可能烧掉前级的片子。
在FPGA内部结构中,对于时钟有buffer供使用,插入buffer能够增加驱动能力的原因展开说说。
buffer是啥
所谓增加buffer,buffer一般是几级器件尺寸逐步增大的反相器或类似结构的电路,以使得电阻在获得所需的驱动能力时,在功耗延时积上也达到最优。前后级的最佳驱动比例在2.718左右。buffer实际就是两个串联的反相器,常用于时钟路径中,用于增加时钟驱动能力,使得时钟clock具有良好的上升沿和下降沿。时钟buffer本身是输入负载较小,输出驱动能力较强。因此前级电路驱动buffer容易,而buffer驱动后级电路也比较容易。
不插buffer会怎么样
不插buffer会导致驱动能力不够,通常是两种情况
第一种是输出电流不够,导致信号状态异常,这常常发生在后级电路对输入电流有要求的时候,另一种则是输出电流不够,导致信号上升下降沿太差,这常常发生在后级电路的输入电容较大的情况。
驱动能力强:摆幅大,上升快
驱动能力弱:摆幅小,上升慢
驱动能力
前级电路的输出信号可以使得后级电路有效响应,这个有效的包含两层意思:第一是前级输出信号能被后级电路识别,第二是在规定的时间内被后级电路识别。
应用场景
场景一,如图所示,时钟驱动16个reg时,负载很大,时钟上升很慢,并且时钟摆幅小,此时插入4个buffer。加buffer之前你的时钟直接驱动寄存器或者很多个寄存器。加buffer以后你的时钟只驱动buffer,而你的buffer会去驱动寄存器。时钟buffer本身是输入负载较小,输出驱动能力较强的。而且通常会做成一个时钟buffer网络来驱动设计里面全部的寄存器,并保证整个时钟网络上的信号有很好的transition,以及平衡从时钟源到所有寄存器的insertion delay.寄存器的CK端接在时钟上面, 在时钟上加入buffer是在做时钟树的时候让时钟到每一个寄存器的CK端的SKEW尽可能的小,还有增加驱动的功能。(图中的16个寄存器为举例数字,实际IC设计中并不一致。)
场景二,当数据连线很长时,连线负载电容很大,导致存在很大的延时。此时插入buffer将连线分割成几个连线,每个buffer驱动的负载较小,因此能够有效减少延时,虽然buffer本身也具有延时,但是插buffer减少的连线延时明显大于buffer自身延时就可以采用插buffer的方式。
其他不变,插buffer减少延时的原理
通过插buffer的方式减少了电路的负载电容,负载电容减少后,同样电压的情况下,对电容充电速度快(上升沿陡峭),同样电容小时存储的电容小,放电所需的时间短(下降沿陡峭)。一句话来说就是: 插buffer的方式减少了电路的负载电容,从而增大了电路驱动能力。
关于Buffer,引用https://blog.csdn.net/icxiaoge/article/details/79995681
驱动能力
电源驱动能力 -> 输出电流能力 -> 输出电阻
指输出电流的能力,比如芯片的IO在高电平时的最大输出电流是4mA -> 该IO口的驱动驱动能力为4mA
负载过大(小电阻) -> 负载电流超过其最大输出电流 -> 驱动能力不足 -> 输出电压下降 -> 逻辑电路无法保持高电平 -> 逻辑混乱 XX
一般说驱动能力不足是指某个IO口/引脚无法直接用高电平驱动某个外设,需要加三级管(驱动脚由三极管的发射极或集电极提供)或者MOS管。
IO与输出电流
单片机的IO口用程序控制,输出0/1 -> 在引脚形成高低电平。
但程序不能控制引脚的输出电流 -> 输出电流很大程度取决于引脚上的外接器件。
单片机输出低电平时驱动能力ok,输出高电平时驱动能力就不ok了。
拉电流 sourcing current
高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”
对一个端口而言,如果电流方向是向其外部流动的则是“拉电流”,比如一个IO通过一个电阻和一个LED连至GND,当该IO输出为逻辑1时能不能点亮LED,去查该
器件手册中sourcing current参数。
灌电流 sink current
低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌电流”。
对一个端口而言,如果电流方向是向其内部流动的则是“灌电流”,比如一个IO通过一个电阻和一个LED连接至VCC,当该IO输出为逻辑0时能不能点亮LED,需查
该器件手册中sink current参数。
与驱动电路的关系
拉电流和灌电流是衡量电路的输出驱动能力。
灌电流负载 -> 合理
拉电流负载和上拉电阻 -> 产生很大的无效电流 -> 增大系统功耗
RR Model
并联R-R -> R下降 -> 驱动能力上升
RC Model
电阻电容R-C -> 充电模型 -> 接触释放电子
R design level
IO.drive 2mA~4mA nx 100 Ω级
IO.load RC model 无限大
IO.Board Pu nx 10k Ω级(应用->board)
IO.chip Pu nx 100k Ω级(应用->保护chip自己)