对于正常的数字信号,就进入了o/p电阻的控制范围.上下拉电阻的作用又是什么,什么时候需要上下拉? 上拉电阻就是在信号和vdd直接接引ig电阻,经验值在10k左右.对于一个5v的信号,能够最大提供0.5ma的电流.首先聊一个开漏输出,就是iic使用的信号.这种信号的两个状态是Z高阻态和0低电平,无法提供高电平的.加入一个上拉电阻,就能在z态的时候,信号线为高电平vdd, 0态的时候信号线为0.上拉电阻承担整个vdd电压.也就是说z态的时候上拉电阻无电流通过,功耗基本为0,而0态的时候上拉电阻功率为vdd*vdd/r,在低功耗设计的时候这一个电阻的功耗需要考虑.默认状态需要保持电阻在功耗0的状态.当然对于stm32这种片内控制的上下拉,直接关掉,让其浮空.就会降低功耗.但是有可能信号也失去了意义无法唤醒cpu.慎重严肃考虑.上拉电阻的意义就是给总线灌入一定电流,提高总线从0到1跳变的速度.有些信号驱动能力不足的时候,会提供信号的高电平驱动能力.包括电压和电流.相反,减缓了下降沿的速度,降低了低电平的驱动能力.在设计的时候多用欧姆定律计算.包括功耗.电阻究竟该用多大.
K元件,呵呵.这个是个很有意思的东西.其实这里的每一个元件都有意思,否则 2个电阻2个二极管就不需要写上面的两大段了.首先名称是ttl肖特基触发器,不就是个带门限的触发器嘛.首先ttl是指他的参考是ttl电平不是cmos电平,这里写详细了大家也会混乱.ttl电平我解释一下,TTL输出高电平>2.4V,输出低电平<0.4V。最小输入高电平和最大输入低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。也就是说b模拟输入,是直接从io引入,并且与c数字部分进行了隔离.数字部分使用ttl电平的触发器进行了缓冲,这个缓冲有时候也被称为buff,但是buff并不全是触发器.触发器的延时在5-10ns之间.当然i和c会同时获取ttl肖特基触发器的输出,触发器也对信号的驱动能力进行了提高,至于是c还是d来消费掉这个信号,就看你io配置成什么功能了.
对于GPIO的o, output,就从左向右进行分析.首先是信号的生成,其一是寄存器,由cpu来操作.e和f共两种操作,e是单次操作只能设置寄存器的某些位为1,或者清除某些位为0,影响部分bit,而f是直接将输出寄存器改变,影响 全部bit.对于j是硬件控制器自动生成信号流,这里就不用详述了.控制输出前面的梯形是选择器,选择其中的一路有效.无效的一路cpu也可以操作.但是毫无意义.很多人都是在这个坑里出不来,我做了一些操作,但是io不听话.对于控制输出和m/n两个管子共同生成高低电平的切换.当然,这里会有一个死区控制.别看这芯片原理图这么画,就认为是这么简单设计.如果用桥电路控制电机就会掉坑里.因为图上的控制框是有死区控制的.并且能控制好.控制不好就会出现跳变的时候io功率很大.对于电机桥电路来说.就是直接烧坏驱动芯片.做输出的时候,上下拉电阻都是断开的.但是保护二极管没有断开.这里提出一个问题,虽然是输出,信号会过充吗?大家自己去考虑.嵌入式单片机学习交流群:305711544
|
|