了解 CAN 總線驅動程序的內部工作原理以及如何調試系統(tǒng)
CAN是一種用于實時應用的串行通訊協(xié)議總線,CAN能夠使用雙絞線來傳輸信號,是國際上應用最廣泛的現(xiàn)場總線之一。CAN總線的傳輸方式是串行數(shù)據(jù)傳輸,能夠在1Mb/s的速率40m的雙絞線上運行,還能夠使用光纜連接。CAN在細節(jié)上很多地方與I2C總線差不多,不過也有一些區(qū)別比較明顯。CAN總線用報文形式廣播的方式從一個節(jié)點向另一個節(jié)點發(fā)送數(shù)據(jù)。對于節(jié)點來說,不管這個數(shù)據(jù)是發(fā)到哪里的,自己都要接收。
當一個節(jié)點要發(fā)送數(shù)據(jù)的時候,這個節(jié)點將要發(fā)送的數(shù)據(jù)和標識符發(fā)送給本節(jié)點的CAN芯片,并且會進入準備狀態(tài)。當這個CAN小品收到總線分配后,會改變成發(fā)送報文狀態(tài)。CAN芯片將數(shù)據(jù)組成報文格式發(fā)出后,其他的節(jié)點都會處于接收狀態(tài)。全部節(jié)點都會對這段報文進行接收檢測來判斷這些報文是不是發(fā)給自己的。
在這篇文章中,我將重點介紹用于驅動這些總線電壓的 CAN 驅動器輸出級的典型拓撲。對于曾經(jīng)在 CAN 網(wǎng)絡中遇到過發(fā)射問題或輸出差分電壓問題的任何人,本文描述了驅動器的工作原理以及您可以在數(shù)據(jù)表中查看哪些電氣參數(shù)來識別良好的收發(fā)器。我相信對 CAN 驅動程序的基本了解也有助于調試出現(xiàn)的 CAN 問題。
像TCAN332這樣的 CAN 收發(fā)器通常具有等效的雙輸出結構,如圖 1 所示。高側輸出結構由串聯(lián)二極管和 P 溝道晶體管組成,而低側輸出結構由串聯(lián)二極管組成和一個N溝道晶體管。在高端,如果 CANH 總線電壓在任何瞬態(tài)或共模干擾期間超過 V CC,則串聯(lián)二極管阻止電流流入 V CC網(wǎng)絡。如果總線電壓在瞬態(tài)和共模干擾期間降至收發(fā)器的本地接地以下,則低端上的串聯(lián)二極管會阻止電流從接地流出到 CAN 總線。
圖 1:CAN 收發(fā)器的等效輸出原理圖
根據(jù) ISO 11898 CAN 標準,CAN 總線的兩種有效狀態(tài)是:
· 顯性狀態(tài)——最小 1.5V 輸出差分電壓 ( VOD) 進入 50-65Ω 差分負載(TXD = 低)。
· 隱性狀態(tài)——最大 50mV V OD進入 50-65Ω 差分負載(TXD = 高)。
如圖 2 所示,當高端和低端晶體管都關閉并處于高阻抗狀態(tài)時,驅動器是隱性的。當高側和低側晶體管都打開并處于低阻抗狀態(tài)時,驅動器占主導地位。
圖 2:隱性和顯性狀態(tài)
由于兩個晶體管都在隱性狀態(tài)下關閉(參見圖 2 的左側),因此從 V CC流向地的電流可以忽略不計。負載電阻 (R L ) 上的 V OD非常接近 0V。在主導狀態(tài)(圖 2 的右側),兩個晶體管都處于導通狀態(tài)并處于低阻抗狀態(tài)。因此,電流將從 V CC流經(jīng) R L到地并產(chǎn)生 V OD。
正如我在之前的博客中所說,CANH 和 CANL在隱性狀態(tài)下弱偏向 V CC /2。為避免在器件在隱性和顯性狀態(tài)之間切換時產(chǎn)生共模干擾,重要的是使 CANH 的驅動強度與 V CC和 CANL 與地相匹配。查看圖 3,您可以看到 P 溝道和 N 溝道晶體管的良好匹配的漏源導通電阻 (R DSON ) 將V CC和 GND之間的 R L上的電壓降集中在 V抄送/2。
如果驅動器的一半具有比另一半低得多的導通電阻,則總線共模電壓將在顯性狀態(tài)下從 V CC /2拉開,在隱性狀態(tài)下拉回到 V CC /2 . 這將導致總線狀態(tài)的每次轉換都發(fā)生共模轉換,從而導致更高水平的傳導和輻射發(fā)射。
圖 3:使用 R DSON電阻值的等效原理圖
在查看驅動器電氣規(guī)格時,要尋找的兩個最重要的事情是在給定負載電阻的顯性和隱性狀態(tài)下保證的輸出電壓(更強的驅動器將保證具有更低電阻的輸出電壓)以及顯性和隱性之間的驅動器對稱性狀態(tài)。