|
由于開發(fā)板沒有裝有CAN的收發(fā)器,在CAN通訊調(diào)測時,是否能像TTL232一樣 交叉連接TX/RX進(jìn)行通信呢? CAN收發(fā)器將MCU的邏輯電平轉(zhuǎn)換為差分電平,同時將CAN總線上接收到的差分電平信號轉(zhuǎn)換回邏輯電平信號。正處理數(shù)據(jù)的是CAN核控制器,在共地的情況下兩個CAN-TX/RX在無收到器時是可以像TTL232一樣 交叉TX/RX直連的; 但這還不夠,因為CAN控制器的優(yōu)先仲裁機(jī)制還需要實時RX偵測總線信號,只交叉連接時TX的電平無法反饋到RX上,將發(fā)送端的Tx+Rx直接并接可以實現(xiàn)RX反饋TX信號,但接收端的Tx+Rx直接并接會壞TX電平,當(dāng)接收端轉(zhuǎn)為發(fā)送端時亦是如此。 參考了網(wǎng)上的方法,使用二極管對RX->TX進(jìn)行隔離,實際在STM32F4x上測試,發(fā)現(xiàn)不通,示波器波形發(fā)現(xiàn)TX根本無法將電平拉低到地,最多只能拉到一半VCC(3V3); 于是想到用三極管,于是做出如下改進(jìn)電路:
改進(jìn)后 實測效果OK,波形與帶收發(fā)器一致,完美通信;
此電路在20K~250K速率下短距離(10~20CM)測試沒問題; 如果需要較高速率時,應(yīng)將三極管更換為高頻管,并視情況降低其驅(qū)動電阻R1/R3的阻值,可以獲得更好的驅(qū)動效果。
|