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