《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于STM32F1O5的CAN總線中繼器的設計與實現
基于STM32F1O5的CAN總線中繼器的設計與實現
莫瓊華 湛江機電學校
摘要: 提出了一種用MCU自帶的雙CAN接口實現CAN總線中繼器的設計方法,并給出了基于STM32F105的CAN總線中繼器的軟硬件實現方案。采用單CPU的設計可以很好地解決兩個CAN接口的主從狀態轉換,使系統具有結構簡單、性能穩定、實時性高等特點。
Abstract:
Key words :

0 引言
    CAN總線最初是為了解決汽車內部的信號傳輸問題而提出來的,目前廣泛應用于工業現場控制單元、智能樓宇單元、礦業控制通訊、遠程通訊節點等控制領域。受到CAN收發器的閑宣,總線上掛接的節點不能超過110個,兩個節點間的最大通訊距離為10km,掛在總線上的節點要通訊必須具有相同的波特率。
    為了能夠在總線上掛接更多的節點,增加通信距離以及使具有不同波特率的節點或網絡間進行通信,本文提出了一種使用具有雙CAN口的MCU實現的CAN總線中繼器。該中繼器可大大縮短采用兩個CPU時CAN接口的主從狀態切換和CPU間通信的時間,提高系統的實時性。

1 CAN中繼器硬件的設計
1.1 系統的硬件結構
    本文設計的CAN總線中繼器的系統框圖如圖1所示。此中繼器以帶有雙CAN接口的STM32F105為核心,外圍電路主要由光電隔離電路、DC /DC電路、CAN收發器、狀態顯示電路、波特率設置電路、ID設置電路和電源電路組成。光電隔離電路采用高速光耦將主控電路CPU的I/O口和收發器進行電氣隔離,可消除總線上的噪聲對主控電路的干擾;為了能使總線和主控電路完全的電氣隔離,用DC/DC隔離電源單獨對CAN收發器電路部分供電;狀態顯示電路指示當前各個CAN口的收發狀態;波特率設置電路可分別設置兩個CAN接口的波特率;ID設置電路可根據用戶需求設置當前CAN中繼器的ID;電源電路主要將輸入的9~36V的直流電壓轉成5V和3.3V兩種電壓,分別給DC/DC電路和主控電路供電。CAN總線A上的各節點發送的信息經過CAN收發器將差分信號轉換為TTL電平的報文,經過隔離后進入主控CPU,主控CPU將收到的CAN報文進行ID過濾后由另一個CAN接口經過光電隔離傳送到另一路的CAN收發器,CAN收發器將TTL電平的報文轉換為差分信號后發送到CAN總線B上。
    圖1 CAN總線中繼器系統框圖

a.JPG


1.2 STM32F105微控制器
    STM32F105是基于突破性的ARM V7.0內核Cortex-M3的32位閃存微控制器,這是一款專為嵌入式應用而開發的內核。使用THUMB-2指令集,與ARM7TDMI相比,Cortex-M3內核要快35%,代碼減少45%,大幅度提高了中斷響應,而且所有新功能都同時具有業界最優的功耗水平。STM32F105具有雙路CAN控制器,且內置CAN收發FIFO,可以降低采用外置CAN控制器的成本以及提高系統的穩定性。STM32F105具有較大容量的FLASH和RAM,以及豐富的外設,因此采用STM32F105作為主控電路的CPU可以方便地實現外部參數的設置,兩個CAN口收發狀態的轉換,工作狀態的顯示等。
1.3 CAN收發電路及光電隔離電路
    CAN收發器采用ST公司的L9616。終端匹配電阻采用跳線的方式供用戶安裝時自行選擇。在差分信號線上并上瞬態抑制二極管,可以對L9616的I/O起到保護作用。光電隔離部分采用最高轉換速率可達10Mbit/s的高速光耦6N137,電阻R2、R5起到限流作用。VCC5 1是由DC/DC隔離電源單獨產生的5V電壓。

b.JPG


1.4 電源電路及DC/DC電路
    用開關穩壓集成芯片LM2576代替傳統的三段穩壓器,僅需要極少的外圍器件即可構成高效的穩壓電路且不需加散熱片。LM2576產生的5V電壓供給光耦及DC/DC電路,主控CPU工作所需的3.3V電壓由LDO芯片LM1117-3.3產生。分別給每一路CAN收發電路單獨供電的DC/DC電路采用金升陽公司的BL0505-1W電源模塊,使總線和主控電路實現完全的電氣隔離。

c.JPG


1.5 波特率設置及ID設置電路
    波特率設置電路由兩個4位撥碼開關構成,STM32F105通過讀取每個波特率撥碼開關的編碼值確定每一路CAN接口的波特率,每一路CAN接口可以選擇16種不同的波特率。由于兩個CAN接口是通過內部進行通信,因此它們的ID可設置為相同的值,ID設置電路由4位編碼的旋轉編碼開關構成,ID的值為編碼開關的編碼值加上0x190。

2 CAN中繼器軟件的設計
    CAN中繼器的主要作用是對接收到的CAN報文進行過濾轉發。中繼器的工作流程為:中繼器上電時通過讀取波特率設置電路和ID設置電路的狀態,設置好波特率和ID值。初始化完成后,STM32F105通過監聽兩個CAN接口的中斷完成數據的存儲轉發。當CAN接口A收到總線上的數據包時產生中斷,中斷處理程序根據標準標識符(StdId)和擴展標識符(ExtId)判斷該數據包是標準幀還是擴展幀,同時將該ID值和ID過濾表中的值進行對比,若符合過濾條件則不轉發,否則將數據包通過CAN接口B轉發出去。
    系統的主程序流程如圖4所示。系統上電時先初始化時鐘和端口,根據配置波特率設置電路和ID設置電路的狀態配置好CAN接口的參數,打開CAN1和CAN2接口的接收中斷。系統在主程序中不斷掃描波特率設置電路和ID設置電路的狀態是否有變化,若當前的讀取值和上次的讀取值不一樣,則重新配置波特率和ID。CAN數據包的存儲轉發在中斷服務程序中完成。為了避免系統若受到干擾死機后不能重啟,因此需打開STM32F105的內置看門狗,看門狗的復位由芯片內部的滴答時鐘每50ms喂狗一次。

d.JPG



3 結束語
    本文采用了采用雙CAN接口的高性能的ARM處理器STMF105作為CAN中繼器的主控CPU,可以很好地解決兩個CAN接口的主從狀態轉換,具有結構簡單、性能穩定、實時性高等特點,有一定的社會效益和廣泛的推廣價值。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精美视频| 午夜激情综合网| 一本色道久久综合亚洲精品婷婷| 韩国av一区二区三区四区| 国产精品亚洲欧美| 欧美日韩中文字幕综合视频| 欧美高清视频一区二区| 可以看av的网站久久看| 久久精品91久久久久久再现| 亚洲欧美电影院| 亚洲女人小视频在线观看| 亚洲视频久久| 夜夜嗨av色一区二区不卡| 亚洲人成人77777线观看| 亚洲激情六月丁香| 亚洲高清在线观看| 欧美专区在线| 欧美在线关看| 欧美一区久久| 久久精品国产69国产精品亚洲| 午夜欧美电影在线观看| 亚洲制服少妇| 亚洲一区二区高清| 午夜精品久久久久久久99樱桃| 亚洲一区二区三区精品在线观看| 一区二区成人精品| 一区二区福利| 亚洲五月六月| 亚洲欧美成人精品| 欧美一级二区| 欧美中文在线观看国产| 久久激情网站| 亚洲欧洲精品成人久久奇米网 | 亚洲激情在线| 亚洲国产精品专区久久| 亚洲国产99| 亚洲美女区一区| 亚洲视屏在线播放| 午夜精品网站| 久久国产99| 美国十次成人| 欧美激情在线观看| 欧美三级视频在线观看| 国产精品家教| 国产欧美日韩视频一区二区| 狠狠狠色丁香婷婷综合久久五月| 在线成人激情视频| 亚洲美女诱惑| 亚洲欧美综合另类中字| 亚洲国产二区| 亚洲少妇在线| 久久狠狠婷婷| 欧美激情一区二区三区高清视频| 欧美午夜精品久久久久久超碰| 国产精品午夜国产小视频| 狠狠色丁香婷婷综合影院| 91久久精品国产| 亚洲一区免费网站| 亚洲高清在线观看一区| 亚洲夜晚福利在线观看| 欧美在线视频一区二区三区| 快播亚洲色图| 国产精品xnxxcom| 韩日成人在线| 日韩视频在线一区二区三区| 亚洲欧美另类在线观看| 亚洲国产精品电影| 亚洲午夜激情| 久久久爽爽爽美女图片| 欧美日本国产一区| 国产精品专区一| 91久久久久久久久久久久久| 亚洲免费在线视频| 亚洲激情网站免费观看| 亚洲综合色噜噜狠狠| 免费影视亚洲| 国产精品久久久久久影院8一贰佰| 国产综合色产在线精品| 99视频精品免费观看| 亚洲电影天堂av| 亚洲免费小视频| 欧美大香线蕉线伊人久久国产精品| 国产精品网曝门| 亚洲欧洲久久| 久久aⅴ国产紧身牛仔裤| 亚洲一区在线观看视频| 欧美大成色www永久网站婷| 国产亚洲aⅴaaaaaa毛片| 亚洲精品乱码久久久久| 久久国产精品99国产精| 亚洲欧美成人| 欧美日韩大陆在线| 亚洲第一福利社区| 午夜精品久久久久久久99水蜜桃 | 激情久久中文字幕| 亚洲欧美日本在线| 一二三四社区欧美黄| 久久野战av| 国产精品一区二区三区久久久| 亚洲精品女人| 亚洲国产精品久久久久秋霞不卡| 欧美在线免费播放| 欧美特黄a级高清免费大片a级| 在线日韩欧美视频| 欧美综合国产| 欧美在线视频在线播放完整版免费观看| 欧美日韩亚洲一区二区| 亚洲国产成人av| 久久精品动漫| 久久久久久久综合狠狠综合| 国产精品日韩一区二区三区| aa日韩免费精品视频一| 99国产精品久久久久久久| 久久综合电影| 国内揄拍国内精品少妇国语| 亚洲欧美一区二区三区在线| 亚洲欧美精品在线| 欧美午夜在线视频| 一本色道久久综合狠狠躁篇怎么玩| 99re6热只有精品免费观看| 美女视频网站黄色亚洲| 好吊妞这里只有精品| 欧美在线亚洲| 久久久久国内| 国产亚洲欧美一区在线观看| 香蕉成人久久| 久久av一区二区三区| 国产精品亚发布| 亚洲免费在线观看| 香港久久久电影| 国产欧美日本一区二区三区| 亚洲综合日韩在线| 欧美一区二区三区在线看| 国产精品一区2区| 亚洲欧美综合精品久久成人| 久久九九全国免费精品观看| 国产婷婷一区二区| 久久精品视频免费播放| 久久永久免费| 在线免费观看视频一区| 91久久精品日日躁夜夜躁国产| 欧美www视频在线观看| 亚洲国产精品尤物yw在线观看| 亚洲精品一区二区三区福利| 欧美激情中文字幕一区二区| 亚洲精品永久免费| 亚洲欧美日韩国产一区二区三区| 国产精品久久国产精麻豆99网站| 亚洲一区二区免费视频| 久久精品91| 在线观看亚洲精品视频| 日韩一级二级三级| 欧美亚洲成人精品| 午夜国产欧美理论在线播放| 久久综合狠狠| 亚洲精品一区二区三区av| 亚洲综合色在线| 国产人成一区二区三区影院| 久久精品视频网| 欧美精品一区二区三区蜜臀| 一区二区三区日韩在线观看| 小嫩嫩精品导航| 韩日视频一区| 日韩一区二区精品| 国产精品日韩欧美大师| 久久国产欧美精品| 欧美高清在线一区二区| 一本久道久久综合狠狠爱| 欧美中文日韩| 亚洲国产精品精华液网站| 亚洲一区二区不卡免费| 国产色产综合色产在线视频| 亚洲国产专区校园欧美| 欧美三区在线| 欧美一区久久| 欧美精品在线观看| 亚洲一区三区视频在线观看| 麻豆成人综合网| 一区二区三区日韩在线观看| 久久免费观看视频| 99re6这里只有精品视频在线观看| 欧美一区二区在线看| 亚洲成色999久久网站| 亚洲一区二区精品在线观看| 国产一区二区丝袜高跟鞋图片 | 欧美日韩免费看| 亚洲一二三四久久| 免费中文日韩| 亚洲男同1069视频| 欧美韩日一区二区三区| 亚洲欧美大片| 欧美精品激情| 久久成人精品电影| 欧美小视频在线观看| 亚洲福利视频在线| 国产精品区一区| 亚洲欧洲日韩在线| 国产区亚洲区欧美区| 中日韩美女免费视频网站在线观看| 国产亚洲欧美日韩精品|