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