作者ccbruce (今、そこに いる仆)
看板Electronics
标题[问题] bjt反应慢要如何解决
时间Thu Mar 28 01:56:24 2019
我要用stm32控制74hc595。
因为stm32是3.3V供电而595是5V供电,我怕准位不够所以用2N2222做准位转换如下图。
https://i.imgur.com/SVaMBud.jpg
不料在输出波形时bjt慢半拍。
https://i.imgur.com/FR67bHe.jpg
蓝的是来自stm32的推挽输出,黄的是bjt的输出,如参考线所示,在stm32下拉时,BJT并
没有同时上拉,而是过了680ns才慢慢往上。这样严重限制了stm32的输出频率(要是SPI频
率太高, bjt根本就不会变化)。同样的问题并未出现在上升缘。
我本来认为是寄生电容造成的,所以试着降低R10 (->470ohm)跟R12(->1kohm), 并取消
R11以求快速放电,但这延迟依旧存在,请问如何解决呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.239.99
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1553709387.A.9DA.html
※ 编辑: ccbruce (122.116.239.99), 03/28/2019 02:18:56
1F:→ kameng: 换BJT 那是因为BJT的Storage time03/28 06:29
2F:推 god145145: 插在面包板上?03/28 07:45
不是面包板喔
3F:推 jeffic0730: 不好意思,取消R11怎麽加速放电@@?不是要缩小R11吗03/28 08:38
因为stm32端是设为pp输出的,当它处在pull时B极会透过pp下臂接地,我想反正大部份电
流不会流向R11,就把它拆了。
4F:推 vacuo: 可以考虑用 mosFET03/28 08:42
5F:→ MasterChang: STM32 io设成open drain ,外部上拉到5V即可03/28 09:03
6F:→ MasterChang: BJT多余了03/28 09:04
看一下文件,我想可以用GPIO_Mode_AF_OD来做到,的确就不需要这组电路了。但板子就
要重洗了。总之先跳线试试看
※ 编辑: ccbruce (110.28.40.19), 03/28/2019 10:21:31
※ 编辑: ccbruce (110.28.40.19), 03/28/2019 10:35:37
7F:推 mmonkeyboyy: 话说 bjt没在慢的 慢的要嘛是拉不够 要嘛是电路错了 03/28 10:48
8F:→ mmonkeyboyy: 类比其他东西 bjt很快很快很快03/28 10:48
9F:推 HiJimmy: 有人是用GPIO_Mode_AF_PP正常 OD不行03/28 12:10
10F:推 HiJimmy: 是用3.3V直接喂给595,不过应该不是每一颗595都可以@@03/28 12:21
11F:推 yiting428: 一个是用5楼说的用控制器本身的OD输出脚,一个是换MOS03/28 13:02
12F:→ yiting428: ,BJT跟MOS比起来最致命的缺点就是储存时间太长,高频 03/28 13:02
13F:→ yiting428: 建议用MOS03/28 13:02
14F:→ yiting428: 7楼说的推动能力也可以试试看 看IO脚的fan out极限在哪 03/28 13:04
15F:推 Archer55b6: 你用哪颗BJT啊?只是做logic buffer的话用3904就很够 03/28 14:15
16F:→ Archer55b6: 了,而且根本不可能delay680ns,可能要检查看看是否03/28 14:15
17F:→ Archer55b6: 有其他问题03/28 14:15
18F:→ Archer55b6: 也可以试试楼上说的用O.D. 把BJT R11拿掉,用0欧姆把B 03/28 14:16
19F:→ Archer55b6: JTBC接起来就可以,量产的话问看看打件厂能不能这样上 03/28 14:16
20F:推 furio: R11改150~220ohm就可以03/28 17:16
21F:→ furio: 糟糕,没注意到input是3.3V那试试330~470ohm03/28 17:19
请问这样作是为了别让BJT太饱吗?
※ 编辑: ccbruce (110.28.40.19), 03/28/2019 17:54:38
22F:→ furio: yes,但是小心极限跟BJT特性敏感,量产不能逼太紧 03/28 18:34
23F:推 Schottky: 74HC595 接收 3.3V 输入没问题的,不用提升准位 03/29 02:20
24F:推 Schottky: 当然如果是 open drain 输出还是要加个 pull up 电阻 03/29 02:23
25F:→ Schottky: 74HC系列高低电位的门槛只在1V上下,可以翻翻Datasheet 03/29 02:24
26F:→ furio: stm32 IO pad Vin_max= Min(VDD + 3.6, 5.5),更简单的做法 03/29 11:35
27F:→ furio: 是关掉内部pull电阻,用外部电阻接5V用OpenDrain模式 03/29 11:37
28F:→ furio: 也不怕595 Vih-min这项有问题,Tpd也比较好 03/29 11:40
29F:→ furio: oops!S大已经说了 03/29 11:47
30F:推 disap: 虽然IO能耐5V 但超过VDD後内部会启动另一组保护电路 爬升时 03/30 14:18
31F:→ disap: 间会变慢 如果要跑高速讯号 建议洗板前先实验看看 03/30 14:18