新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN物理層調試基礎知識及舉例

        CAN物理層調試基礎知識及舉例

        作者: 時間:2016-12-20 來源:網絡 收藏


          CAN物理層基礎知識

          一旦完成所有基礎檢查,就可以檢查CAN物理層的核心CAN總線了。收發器的兩個關鍵組件便是接收器和發射器。發射器被稱作CAN的驅動器。通過VCC/2共模點(約2.5V)對CAN物理層偏置,見圖4。

          CAN物理層調試基礎知識及舉例(電子工程專輯)

          圖4:簡易CAN總線收發器

          發收器將單端數字邏輯信號、TXD(或者D)和RXD(或者R)轉換為差分CAN總線所要求的電平。當總線為顯性時,在接收節點,其CAN標準定義的差分電壓(Vdiff(D))大于1.2V,并且處于邏輯低狀態。當總線為隱性時,在接收節點,其CAN標準定義的差分電壓(Vdiff(R))為 -120mV≤(Vdiff(R))≤ 12 mV,并且處于邏輯高狀態。兩種總線狀態均通過收發器內共模網絡偏置。圖5顯示了典型的總線層級。

          CAN物理層調試基礎知識及舉例(電子工程專輯)

          圖5:CAN總線狀態

          對總線進行調試時,最為有用的工具之一便是示波器。盡管單通道示波器便可看到信號,但最好還是用雙或者四通道。理想情況下,可同時看到TXD、RXD、 CANH和CANL,以確保收發器和總線性能如預期。進行初次調試時,只需一個低帶寬示波器,因為標準CAN被限定在1Mbps。(在不遠的將來,在引入擁有靈活數據速率的CAN以后,這種情況將有所改變。)如果該節點正發送數據比特流,則可在TXD輸入端看到輸入數據。差分CAN總線引腳(CANH/CANL)存在傳輸延遲,同時還存在RXD輸出傳輸延遲。在CAN中,這些延遲均為循環時間,或者說循環延遲。如果該節點正在接收,則TXD 閑置;但是總線和RXD輸出會顯示CAN幀。

          為了演示基礎CAN總線工作情況,圖6顯示了一個示波器,它擁有兩個模擬通道和兩個數字通道,以及一個函數生成器。CAN總線由兩個 SN65HVD255D EVM組成,每個在總線上的端接電阻均為120Ω。示波器函數生成器連接至頂部EVM的TXD輸入引腳。圖7中,數字通道1顯示了CANH信號(藍色);模擬通道2顯示了CANL信號(黃色);數字通道2顯示了RXD信號(綠色)。盡管該示波器的精確度很低,但這個簡單的測試表明,該CAN物理層的表現在總體上符合我們的預期。

          CAN物理層調試基礎知識及舉例(電子工程專輯)

          圖6:兩個EVM的CAN總線調試

         

          圖7:TI CAN EVM信號

          圖 8顯示了該示波器和用于調試TI CAN演示系統的探針裝置。該節點使用菊形鏈,并使用CANopen D-SUB 9針連接器。一個總線外接頭連接器位于圖8左上方。利用它,我們可以輕松地連接模擬示波器探針至CAN總線的CANH和CANL引腳以及GND。由于探針過大,無法抓住中間CAN節點的TXD和RXD IC引腳,因此可通過連接至探針的芯片鉤和一小段電纜,將這些引腳連接至示波器的數字通道。另一種方法是,給每個收發器焊接一小段線,這樣示波器探針便可更容易地連接。

          CAN物理層調試基礎知識及舉例(電子工程專輯)

          圖8:TI CAN演示系統調試

          圖 9顯示了示波器獲得的CAN信號詳細情況。盡管這些信號的分辨率和精度均不高,但它們可以幫助確定需要了解CAN節點工作的那些信息。中間節點的TXD觸發了示波器;CANH和CANL信號差異符合預期;在CAN構架端可清楚地看到高差分電壓的收到確認(ACK)位。該高壓為同時并行產生ACK位的多個 CAN節點的結果。輕松找出ACK位的另一個方法是其存在于RXD信號中而非TXD信號中,這意味著它由另一些節點產生。

         

          圖9:TI CAN演示系統的信號

          CAN調試例子

          圖10顯示了一個CAN演示系統,在PCB右邊,連接至菊形鏈輸出的CANH線路被損壞。出現這種情況的原因是,系統后面的一個固定螺栓摩擦PCB,而在幾年的時間里該系統被運輸至世界各地。當系統通過菊形鏈總線接口連接至其他CAN節點時,便故障無法工作。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 凭祥市| 泸水县| 北票市| 宁津县| 福安市| 辛集市| 淮阳县| 平原县| 天等县| 黎平县| 石嘴山市| 敦化市| 上饶县| 新宁县| 灵川县| 盐池县| 鲁甸县| 香格里拉县| 黄梅县| 南平市| 津南区| 康乐县| 建始县| 农安县| 庆阳市| 枣阳市| 阿克| 增城市| 霍州市| 开阳县| 平谷区| 上思县| 河西区| 大庆市| 五华县| 仁寿县| 舟曲县| 裕民县| 柞水县| 托克托县| 新安县|