<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于STM32F1O5的CAN總線(xiàn)中繼器的設計與實(shí)現

基于STM32F1O5的CAN總線(xiàn)中繼器的設計與實(shí)現

作者: 時(shí)間:2011-04-14 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

本文引用地址:http://dyxdggzs.com/article/162174.htm

d.JPG



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


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>