作者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/m.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