chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于微控制器STM32F105的雙CAN冗余設(shè)計方案

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 2018-04-09 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

控制器局域網(wǎng)( Contro llerA reaN etwo rk, CAN)是一種多主方式的串行通訊總線。CAN 總線具有較高的位速率, 很強的抗電磁干擾性, 完善的錯誤檢測機制, 在汽車、制造業(yè)以及航空工業(yè)領(lǐng)域中得到廣泛應用 。由于船舶機艙環(huán)境極為惡劣, 且船舶航行過程中維修條件不如陸上, 對CAN 通信的可靠性要求很高, 采取雙CAN 冗余總線提高通信可靠性。本文提出一種基于STM32F105微控制器的雙CAN 冗余設(shè)計方案。

1 硬件平臺組成

STM32F105是STM icroe lectron ics公司推出的一款基于ARM Co rtex- M3內(nèi)核的32位微控制器, 其內(nèi)核是專門設(shè)計于滿足高性能、低功耗、實時應用的嵌入式領(lǐng)域的要求。由于采用Thumb - 2指令集,與ARM7微控制器相比STM32運行速度最多可快35% 且代碼最多節(jié)省45% 。較高的主頻和代碼執(zhí)行效率使系統(tǒng)在進行CAN 總線數(shù)據(jù)收發(fā)的同時仍可運行總線冗余算法。STM32F105微控制器內(nèi)部集成2路獨立的CAN 控制器, 控制器集成在芯片內(nèi)部, 避免了總線外擴引入的干擾, 同時簡化了電路設(shè)計、降低成本。

系統(tǒng)使用兩條完全獨立的CAN 總線, 兩個CAN 總線收發(fā)器和總線控制器, 實現(xiàn)物理層、數(shù)據(jù)鏈路層的全面冗余。在初始化時兩個控制器被同時激活, 一個作為主CAN, 另一個作為從CAN, 為主控制器的備份。正常運作時, 數(shù)據(jù)通過主CAN 優(yōu)先發(fā)送; 當主CAN 總線繁忙時, 從CAN 總線分擔部分通信流量; 而當主CAN 總線發(fā)生故障時, 數(shù)據(jù)轉(zhuǎn)移至從CAN 控制器傳輸, 反之亦然。在任一總線發(fā)生故障時,數(shù)據(jù)都能經(jīng)由另一條總線傳輸, 而當兩條總線都正常時, 使用兩總線同時傳輸, 增加約1倍的通信帶寬,這樣在保證了通信可靠性的同時提高了實時性。

CAN 總線接口電路設(shè)計如圖1所示, 使用T JA1050作為總線收發(fā)器, 它完成CAN 控制器與物理總線之間的電平轉(zhuǎn)換和差動收發(fā)。盡管TJA1050本身具備一定的保護能力, 但其與總線接口部分還是采用一定的安全和抗干擾措施; T JA1050的CANH 和CANL與地之間并聯(lián)兩只10pF的小電容, 可以濾除總線上的高頻干擾; 另外, 為了增強CAN 總線節(jié)點的抗干擾能力, 總線輸入端與地之間分別接入一只瞬態(tài)抑制二極管, 當兩輸入與地之間出現(xiàn)瞬變干擾時, 收發(fā)器輸入端電壓被鉗位在安全范圍。

為防止總線過壓造成節(jié)點損壞, STM32F105內(nèi)置CAN 控制器的數(shù)據(jù)收發(fā)引腳并不與TJA1050直接相連, 通過ADuM1201磁隔離器實現(xiàn)信號隔離傳輸。與傳統(tǒng)光耦隔離相比, 磁隔離簡化了隔離電路設(shè)計, 并且磁隔離芯片的功耗很低, 大約相當于光耦隔離的1 /10。除了將CAN 數(shù)據(jù)信號隔離外,TJA1050T使用的電源和地也必須與系統(tǒng)完全隔離, 使用5V 隔離輸出的開關(guān)電源模塊IB0505LS提供隔離電源。由于CAN 總線數(shù)據(jù)傳輸率較高, 為了提高信號質(zhì)量, 網(wǎng)絡(luò)拓撲結(jié)構(gòu)應盡量設(shè)計成單線結(jié)構(gòu)以避免信號反射, 同時終端連接120歐姆左右的匹配電阻。

圖1 CAN 接口電路設(shè)計

2 軟件設(shè)計

CAN 協(xié)議規(guī)范定義的數(shù)據(jù)鏈路層和部分物理層并不完整, 雙CAN 冗余應用需要實現(xiàn)總線狀態(tài)監(jiān)控、網(wǎng)絡(luò)故障的診斷和標識, 這就要通過添加軟件冗余模塊來實現(xiàn)。冗余模塊在程序主循環(huán)中調(diào)用, 根據(jù)不同總線錯誤狀態(tài)執(zhí)行收發(fā)通道切換。CAN 總線錯誤狀態(tài)分為3類: 錯誤激活、錯誤認可、總線關(guān)閉??偩€正常工作時處于錯誤激活狀態(tài),控制器檢測到錯誤后將發(fā)送/接收錯誤計數(shù)器的值遞增, 當值大于127時進入錯誤認可, 大于255時總線關(guān)閉狀態(tài), CAN 總線錯誤檢測模塊通過讀取錯誤狀態(tài)寄存器作為總線故障的測試條件, 在錯誤狀態(tài)發(fā)生改變時調(diào)用冗余算法, 執(zhí)行總線切換操作。

通過實際調(diào)試發(fā)現(xiàn), 總線連接斷開且只有1個節(jié)點不斷發(fā)送報文時產(chǎn)生發(fā)送錯誤, 控制器進入錯誤認可狀態(tài), 但不進入總線關(guān)閉狀態(tài); 其它錯誤均使錯誤計數(shù)器增加, 依次進入錯誤認可狀態(tài)、總線關(guān)閉狀態(tài), 后兩種狀態(tài)表明總線被嚴重干擾, 需要采取相應措施。為簡化控制邏輯設(shè)計將錯誤認可和總線關(guān)閉合并為總線故障。

冗余算法使用狀態(tài)機實現(xiàn)發(fā)送模式的切換, 根據(jù)不同總線故障選擇發(fā)送使用的總線。狀態(tài)切換流程圖如圖2所示, 程序首先讀取錯誤狀態(tài)寄存器獲得總線錯誤狀態(tài), 判斷當前總線是否處于錯誤激活模式, 若檢測到總線故障程序置相應標志位向其他程序模塊指示錯誤。為提高報文發(fā)送效率, 發(fā)送程序一次將多個報文寫入發(fā)送郵箱由硬件控制自動發(fā)送, 在切換總線時, 需先把故障總線發(fā)送郵箱中的報文中回讀, 通過備份總線優(yōu)先發(fā)送, 這一機制保證報文不會因總線切換而丟失??刂破飨蚬收峡偩€發(fā)送數(shù)據(jù)域為空的測試報文, 每成功發(fā)送1報文, 總線發(fā)送錯誤計數(shù)器的值遞減, 直至其值小于128總線恢復到錯誤被動狀態(tài); 每隔一定時間冗余程序讀取錯誤狀態(tài)寄存器, 檢測故障總線是否恢復正常。

在2總線同時傳輸模式, 發(fā)送程序優(yōu)先寫入總線1郵箱, 當總線1郵箱滿時寫入總線2的郵箱, 由于報文按優(yōu)先級仲裁發(fā)送, 若某一路發(fā)送郵箱經(jīng)常為空, 說明該路總線通信流量較小, 發(fā)送程序?qū)⑤^多報文轉(zhuǎn)由空閑總線發(fā)送, 實現(xiàn)報文的負載均衡。

圖2 總線狀態(tài)切換流程圖。

3 雙總線冗余的可靠性分析與測試

對雙CAN 冗余系統(tǒng)的可靠性進行定量分析, 引入平均無故障運行時間(M ean T ime To Fa ilure, MTTF)的概念。MTTF描述一個系統(tǒng)從開始工作到發(fā)生故障的時間間隔, 也即平均壽命。為簡化分析作如下假設(shè): 每路CAN總線的故障率相同; CAN 總線的損壞屬于物理損壞, 即不可修復的損壞。指數(shù)分布可以很好地用來描述電子元器件的壽命, 假設(shè)CAN總線的壽命分布服從指數(shù)分布, CAN 總線的可靠性模型如圖3所示。

圖3 CAN 總線可靠性模型圖

模型1為單總線的可靠性模型, 因為總線壽命服從指數(shù)分布, 根據(jù)單一CAN總線無故障運行時間MTTF1 = 1 /λ。模型2為雙CAN總線冗余可靠性模型, 系統(tǒng)由兩條獨立的總線并聯(lián)而成, 即只有當這2條總線都失效時系統(tǒng)通信才會失敗, 于是系統(tǒng)的平均壽命MTTF2 = 3 /2。采用雙線冗余設(shè)計使CAN 通信的平均無故障時間增加了50%。

雙線CAN 冗余系統(tǒng)的另一關(guān)鍵指標是總線切換時間, 它等于檢測錯誤所需時間與處理故障總線未發(fā)送報文所需時間之和, 切換時間越短, 總線故障對報文傳輸造成的延遲就越小。檢測錯誤所需時間,即從總線錯誤出現(xiàn)到被冗余程序檢測到所需的時間。以總線斷開故障為例, 發(fā)送器每發(fā)送一個報文產(chǎn)生一次應答錯誤, 錯誤計數(shù)器每次加8, 需連續(xù)進行16次發(fā)送, 使錯誤計數(shù)器值達到128引起總線切換。在位速率125kbps情況下, 發(fā)送最長為128位的報文, 若忽略控制器重發(fā)間隔時間, 從故障發(fā)生到被檢測到的響應時間為:

為避免在總線切換時丟失報文, 冗余算法需回讀故障控制器中未發(fā)送報文, 由此產(chǎn)生額外的故障處理時間, 因為每個發(fā)送郵箱最多存儲3個報文, 假定位速率125kbps不變, 備份總線發(fā)送時即取得仲裁,最長故障處理時間為:

因此總線切換時間為16. 38+ 3. 07= 19. 45m s。

通過實驗測得在125kbps位速率下連續(xù)發(fā)送不同報文長度的總線切換時間如表1所示:

表1 總線切換時間

在125kbps位速率下切換時間為22. 80ms, 比理論計算值稍長, 這是由總線切換時運行冗余算法及讀取控制器錯誤寄存器( ESR)所額外消耗的, 但在實際應用中, 發(fā)送報文獲取仲裁所需的等待時間遠大于切換時間, 總線故障并不頻繁發(fā)生, 冗余切換算法對系統(tǒng)的運行并無顯著影響。

4 結(jié)束語

與傳統(tǒng)單片機總線外擴兩片CAN 控制器的冗余方案相比, 本設(shè)計充分利用STM32F105微控制器內(nèi)置的兩路CAN 控制器, 簡化電路設(shè)計, 相對降低了成本, 同時雙CAN 冗余通信系統(tǒng)的采用提高了系統(tǒng)整體可靠性。所使用雙總線負載均衡技術(shù), 可以提高總線帶寬, 平衡通信負荷。系統(tǒng)船舶機艙監(jiān)控系統(tǒng)的圖像和數(shù)據(jù)信號的傳輸中取得很好的效果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    8370

    瀏覽量

    164503
  • 單片機
    +關(guān)注

    關(guān)注

    6076

    文章

    45492

    瀏覽量

    670128
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    2043

    瀏覽量

    135202
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Microchip PIC18F2458/2553/4458/4553系列微控制器深度解析

    Microchip PIC18F2458/2553/4458/4553系列微控制器深度解析 在電子設(shè)計領(lǐng)域,選擇一款合適的微控制器對于項目的成功至關(guān)重要。Microchip的PIC18F
    的頭像 發(fā)表于 03-03 17:15 ?457次閱讀

    STM32L072xx系列微控制器:低功耗設(shè)計的優(yōu)選之選

    STM32L072xx系列微控制器:低功耗設(shè)計的優(yōu)選之選 在當今的電子設(shè)備設(shè)計中,低功耗、高性能的微控制器是眾多工程師追求的目標。STMicroelectronics推出的STM32L
    的頭像 發(fā)表于 02-28 11:35 ?226次閱讀

    STM32F070CB/RB/C6/F6:高效低功耗32位微控制器的卓越之選

    STM32F070CB/RB/C6/F6:高效低功耗32位微控制器的卓越之選 在當今電子設(shè)備飛速發(fā)展的時代,高性能、低功耗的微控制器需求日益增長。ST公司推出的
    的頭像 發(fā)表于 02-10 15:35 ?137次閱讀

    STM32 STR750F系列微控制器深度剖析:特性、應用與設(shè)計考量

    STM32 STR750F系列微控制器深度剖析:特性、應用與設(shè)計考量 在電子工程師的設(shè)計工具箱中,微控制器無疑是核心組件之一。今天,我們聚焦于意法半導體(ST)的
    的頭像 發(fā)表于 02-10 10:40 ?207次閱讀

    PIC16F818/819微控制器深度剖析:特性、應用與設(shè)計要點

    PIC16F818/819微控制器深度剖析:特性、應用與設(shè)計要點 在電子設(shè)計的領(lǐng)域中,選擇合適的微控制器是實現(xiàn)項目成功的關(guān)鍵一步。Microchip公司推出的PIC16F818/819
    的頭像 發(fā)表于 02-09 14:05 ?230次閱讀

    探索Microchip PIC12/16(L)F161X系列微控制器:小身材大能量

    )F161X系列微控制器以其豐富的特性和出色的性能,為小型電機控制和通用應用提供了卓越的解決方案。今天,我們就來深入了解一下這個系列的微控制器
    的頭像 發(fā)表于 02-09 11:35 ?202次閱讀

    基于靈動MM32F0140微控制器的汽車傳感控制

    基于靈動MM32F0140微控制器的汽車傳感控制方案憑借其高性能內(nèi)核、豐富外設(shè)、車規(guī)級可靠性及寬溫寬壓支持,成為汽車傳感控制應用的理想核心部
    的頭像 發(fā)表于 02-06 16:51 ?893次閱讀
    基于靈動MM32<b class='flag-5'>F</b>0140<b class='flag-5'>微控制器</b>的汽車傳感<b class='flag-5'>控制</b>

    深入解析Microchip PIC16F872微控制器

    深入解析Microchip PIC16F872微控制器 在電子工程師的日常工作中,微控制器的選擇和應用至關(guān)重要。今天,我們就來深入探討一下Microchip的PIC16F872這款28
    的頭像 發(fā)表于 02-05 15:20 ?156次閱讀

    MSP430F2619S-HT混合信號微控制器深度解析

    MSP430F2619S-HT混合信號微控制器深度解析 在當今的電子領(lǐng)域,微控制器的性能和功能直接影響著產(chǎn)品的競爭力。MSP430F2619S-HT作為一款混合信號
    的頭像 發(fā)表于 02-05 14:25 ?279次閱讀

    中微半導體高集成觸摸顯示驅(qū)MCU微控制器方案

    近日,中微半導體正式發(fā)布其新一代高性能觸控顯示驅(qū)MCU微控制器——CMS80F762x系列。該MCU微控制器系列產(chǎn)品基于增強型1T 8051內(nèi)核設(shè)計,以“觸控+顯示”高度集成為主要特
    的頭像 發(fā)表于 01-19 14:20 ?232次閱讀

    OBD診斷儀方案MCU微控制器應用

    診斷儀解決方案,該方案以CH32F103、CH32V203等高性能微控制器為核心,實現(xiàn)對車輛數(shù)據(jù)的采集、處理與交互。
    的頭像 發(fā)表于 01-09 16:50 ?727次閱讀
    OBD診斷儀<b class='flag-5'>方案</b>MCU<b class='flag-5'>微控制器</b>應用

    基于靈動MM32F0010微控制器的空氣炸鍋應用方案

    英尚的智能空氣炸鍋應用方案以靈動MM32F0010作為主控芯片,構(gòu)建了一套完整、高效的空氣炸鍋智能控制系統(tǒng)。該方案主控采用靈動MM32F00
    的頭像 發(fā)表于 12-18 15:54 ?305次閱讀
    基于靈動MM32<b class='flag-5'>F</b>0010<b class='flag-5'>微控制器</b>的空氣炸鍋應用<b class='flag-5'>方案</b>

    AT32F415CBT7通用微控制器現(xiàn)貨庫存

    AT32F415CBT7通用微控制器現(xiàn)貨庫存AT32F415CBT7是 Artery(雅特力)出品的一款 32-bit ARM Cortex-M4通用微控制器(MCU),LQFP-48
    發(fā)表于 12-17 08:59

    靈動微MM32F3270微控制器的音頻設(shè)備參考方案

    音頻設(shè)備系統(tǒng)的主控芯片采用靈動微MM32F3270微控制器。微控制器內(nèi)核采用高性能的Arm?Cortex-M3 32位處理,最高工作頻率可達120MHz,內(nèi)置高速存儲
    的頭像 發(fā)表于 11-04 16:09 ?356次閱讀

    國產(chǎn)MCU-靈動微MM32F0050系列微控制器的簡單分享

    在當今智能設(shè)備蓬勃發(fā)展的時代,微控制器(MCU)作為電子產(chǎn)品的"大腦",正朝著更高性能、更小體積的方向快速演進。靈動微電子推出的MM32F0050系列微控制器,將72MHz
    的頭像 發(fā)表于 11-04 14:54 ?394次閱讀