基于STM32F1O5的CAN總線(xiàn)中繼器的設計與實(shí)現
摘要:提出了一種用MCU自帶的雙CAN接口實(shí)現CAN總線(xiàn)中繼器的設計方法,并給出了基于STM32F105的CAN總線(xiàn)中繼器的軟硬件實(shí)現方案。采用單CPU的設計可以很好地解決兩個(gè)CAN接口的主從狀態(tài)轉換,使系統具有結構簡(jiǎn)單、性能穩定、實(shí)時(shí)性高等特點(diǎn)。
關(guān)鍵詞:CAN總線(xiàn);中繼器:STM32F105;CAN控制器;
0 引言
CAN總線(xiàn)最初是為了解決汽車(chē)內部的信號傳輸問(wèn)題而提出來(lái)的,目前廣泛應用于工業(yè)現場(chǎng)控制單元、智能樓宇單元、礦業(yè)控制通訊、遠程通訊節點(diǎn)等控制領(lǐng)域。受到CAN收發(fā)器的閑宣,總線(xiàn)上掛接的節點(diǎn)不能超過(guò)110個(gè),兩個(gè)節點(diǎn)間的最大通訊距離為10km,掛在總線(xiàn)上的節點(diǎn)要通訊必須具有相同的波特率。
為了能夠在總線(xiàn)上掛接更多的節點(diǎn),增加通信距離以及使具有不同波特率的節點(diǎn)或網(wǎng)絡(luò )間進(jìn)行通信,本文提出了一種使用具有雙CAN口的MCU實(shí)現的CAN總線(xiàn)中繼器。該中繼器可大大縮短采用兩個(gè)CPU時(shí)CAN接口的主從狀態(tài)切換和CPU間通信的時(shí)間,提高系統的實(shí)時(shí)性。
1 CAN中繼器硬件的設計
1.1 系統的硬件結構
本文設計的CAN總線(xiàn)中繼器的系統框圖如圖1所示。此中繼器以帶有雙CAN接口的STM32F105為核心,外圍電路主要由光電隔離電路、DC /DC電路、CAN收發(fā)器、狀態(tài)顯示電路、波特率設置電路、ID設置電路和電源電路組成。光電隔離電路采用高速光耦將主控電路CPU的I/O口和收發(fā)器進(jìn)行電氣隔離,可消除總線(xiàn)上的噪聲對主控電路的干擾;為了能使總線(xiàn)和主控電路完全的電氣隔離,用DC/DC隔離電源單獨對CAN收發(fā)器電路部分供電;狀態(tài)顯示電路指示當前各個(gè)CAN口的收發(fā)狀態(tài);波特率設置電路可分別設置兩個(gè)CAN接口的波特率;ID設置電路可根據用戶(hù)需求設置當前CAN中繼器的ID;電源電路主要將輸入的9~36V的直流電壓轉成5V和3.3V兩種電壓,分別給DC/DC電路和主控電路供電。CAN總線(xiàn)A上的各節點(diǎn)發(fā)送的信息經(jīng)過(guò)CAN收發(fā)器將差分信號轉換為T(mén)TL電平的報文,經(jīng)過(guò)隔離后進(jìn)入主控CPU,主控CPU將收到的CAN報文進(jìn)行ID過(guò)濾后由另一個(gè)CAN接口經(jīng)過(guò)光電隔離傳送到另一路的CAN收發(fā)器,CAN收發(fā)器將TTL電平的報文轉換為差分信號后發(fā)送到CAN總線(xiàn)B上。
圖1 CAN總線(xiàn)中繼器系統框圖
評論