色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于LPC2294控制器的CAN總線網狀冗余節點方案

電子設計 ? 來源:微計算機信息 ? 作者:范富榮;陳黎平 ? 2021-06-08 14:36 ? 次閱讀

一、概述

CAN(Controller Area Network)即控制器局域網,是一種串行數據總線,CAN總線是國際上應用最廣泛的現場總線之一。作為一種技術先進、可靠性高、功能完善、成本合理的遠程網絡通訊控制方式,CAN總線已被廣泛應用于各個自動化控制系統中。在汽車電子、自動控制、電力系統等領域中,CAN總線尤其具有不可比擬的優越性。但是,工業控制現場工況條件十分惡劣,電纜受拉、壓、砸、擠等造成故障的情況很多,這對于以總線為核心的CAN總線系統是一種極大的威脅。如何保證現場總線控制系統在惡劣環境下安全、可靠地工作是CAN應用中的一個重要課題。

解決可靠性問題的一個有效的辦法就是對總線進行不同程度的冗余,同時使用兩(多)條總線電纜。本文簡單列舉了目前CAN冗余的幾種方式,同時提出了網狀冗余的全新冗余結構。采用內置多路CAN總線控制器的LPC2294作為主控制器,設計給出了應用于電源模塊控制系統中的CAN總線網狀冗余節點方案。

二、目前幾種總線冗余方法

典型的CAN電路可分為4個環節,即單片機、總線控制器、CAN總線驅動器、總線。以下是目前從以上4個環節考慮的不同程度的冗余方法:

(1)總線驅動器的冗余

使用兩條總線電纜,每個節點內部使用兩個總線驅動器,但只有一個總線控制器,在總線控制器與兩個總線驅動器之間設置判斷電路。如果一個總線發生故障,則關閉它與總線控制器之間的信號通道,而正常總線上的報文仍能順利送往總線控制器。

(2)CAN總線控制器的冗余

該冗余的思路是同時使用兩條CAN總線,兩個CAN總線驅動器和兩個CAN總線控制器,單片機通過不同的端口和中斷同時控制兩個CAN控制器。

(3)全系統的冗余

該冗余的思路是對整個CAN系統的四個環節進行冗余。即同時使用兩套單片機、總線控制器、CAN總線驅動器、總線。

三、新的冗余方式:網狀冗余

在可靠性要求非常嚴格的場合,如電廠集散控制系統,基本采用網狀冗余結構。由于CAN節點對系統的構成不敏感,全系統的冗余在發現總線故障以及總線切換及時性方面反而不如部分冗余方法,有鑒于此,本文提出了新的CAN冗余方式:網狀冗余。

CAN網狀冗余是對整個CAN網絡、通訊節點進行冗余,如圖1所示。同時使用兩條CAN總線,兩個CAN總線驅動器和兩個CAN總線控制器,單片機通過不同的端口和中斷同時控制兩個CAN控制器,組成一個網絡節點,再對節點進行冗余設計。

由于總線故障可以及時通過正常總線通知用戶進行維護,網狀冗余在發現總線故障及時性方面要比全系統冗余后備方式好。對于工業控制,尤其是本質安全型系統來說,這一優點是十分重要的。網狀冗余兼有部分冗余和全系統冗余的優點,大大提高了系統的可靠性。當然,網狀冗余系統軟、硬件的復雜性和成本都提高了,但是,相對于在工作中系統可靠性的提高,這些犧牲是值得的。

四、電源模塊控制系統中網狀冗余節點設計

在電源模塊控制系統中,電源模塊控制儀的控制信號以毫秒量級速度向各電源柜發送控制指令,并獲得各機柜的工作狀態。各電源柜在獲得指令后,同步執行控制動作,并返回執行狀態。隨著電源個數的增加,各電源間的實時性、同步性等關鍵性能下降。

為提高系統在實時性、同步性、精確性、容錯性等各方面的性能,必須采用高精度同步通訊控制網絡,使電源模塊控制儀與電源模塊之間的信號傳輸滿足系統的技術性能要求。

本方案的CAN總線網狀冗余節點,正是為滿足電源模塊控制系統對于可靠性、實時性的嚴格要求而設計的。

4.1 節點設計思想

節點基本設計思想為:使用兩塊控制處理器組件,作為冗余的一對,冗余單元的硬件和軟件結構完全相同,在任何一塊組件發生硬件故障時,可提供連續的運行。單元的主備工作狀態由上電順序決定, 先上電的一方自動進入主機工作狀態,后上電者則進入備機狀態。主機在其工作過程中除實現應用功能外,定期向備機發送反映其工作正常的狀態數據并接收來自備機的狀態數據,當發生接收超時時,主機認為備機已經發生故障, 并通過總線向用戶給出通知信號,以便及時對備機進行維護。備機在工作過程中不完成應用功能, 但定期接收來自主機的狀態數據,當發生接收超時或接收到主機工作狀態不正常時,自動切換成主機工作狀態,并通過總線通知用戶對原主機單元進行維護。

進一步改進方案:在需要進一步提高系統的實時性的情況下,可以下載、上傳分別使用圖中A、B總線進行傳輸(如圖2),從而可以將半雙工類型的串行總線近似為全雙工總線,理論上將系統的傳輸速率提高一倍,有效減少系統數據的傳輸延遲。極端情況下,即使上層網絡或現場總線只有一個端口正常時,系統也不會崩潰,可以將該端口設成可收、發信息狀態,只是降低了系統傳輸的速度,增加了控制信息傳輸延時,但與系統崩潰造成的損失相比將顯得微不足道。

圖2 網狀冗余在電源模塊控制中的應用改進

4.2 節點硬件設計

設計選用PHILIPS公司新推出的一款功能強大的具有ARM7TDMI內核的32位微控制器LPC2294,內部集成有四路符合CAN規范CAN2.OB,ISO 11898-1標準的CAN控制器,總線數據波特率均可達1Mbps。

節點硬件電路組成:

CAN節點硬件電路如圖3所示,由ARM微控制器LPC2294,CAN總線收發器TJA1050,高速光耦6N137和電源隔離模塊B0505S等組成。由于四路CAN接口的外部電路完全一致,圖中只給出了CAN3、CAN4接口的外部電路。

CAN控制器和物理總線之間的接口選用收發器TJA1050,不上電時,總線呈現無源特性,在性能上大大優于以前的CAN總線收發器。

4.3 節點軟件設計

軟件調試環境采用ARM公司的ARM核處理器集成開發工具ADSv1.2。ADSv1.2集成了匯編、C、C++編譯器和調試器,編譯效率高,提供了功能強大的系統庫,支持軟件調試JTAG仿真調試及硬件調試。

對于一般的32位ARM應用系統,在運行主程序前必須初始化運行環境,即為ARM芯片編寫啟動代碼。啟動代碼包括異常向量表、堆棧初始化、存儲系統初始化和目標板初始化等,一般用匯編語言編寫。對于本設計關鍵是編寫CAN驅動程序,主程序通過調用驅動程序提供的接口來實現數據的接收和發送。驅動程序包括四部分內容:CAN控制器的初始化、接收數據、發送數據和總線異常處理。圖4為主程序流程圖。

圖4 主程序流程圖

4.3.1 CAN控制器初始化

初始化CAN控制器的操作包括:硬件使能、軟件復位、設置報警界限、設置總線波特率、設置中斷工作方式、設置驗收濾波器工作方式、設置工作模式并啟動CAN等。初始化程序如下:

HwEnCAN(CanNum); //硬件使能,CanNum=0-3,指四路CAN控制器

SoftRstCAN(CanNum); //軟件復位寄存器CANEWL(CanNum).BitsEWL_BIT=USE_EWL_CAN[CanNum]; //設置報警界限CANBTR(CanNum).Word=USE_BTR_CAN[CanNum]; //初始化波特率

VICDefVectAddr=(UINT32)CANIntPrg; //初始化中斷為非向量中斷CANIER(CanNum).Word=USE_INT_CAN[CanNum];

CANAFMR.Bits.AccBP_BIT=1; //設置驗收濾波器CANMOD(CanNum).Bits.TPM_BIT=USE_TPM_CAN[CanNum]; //初始化工作模式

SoftEnCAN(CanNum); //啟動CAN端口

4.3.2數據發送

將待發送的數據打包成符合CAN協議的幀格式后,便可寫入發送緩沖區,并啟動發送。

在寫發送緩沖區前應查詢其狀態。LPC2294中的每個CAN控制器有三個發送緩沖區,它們的狀態可通過查詢CANSR得知。只有當其中有空閑的發送緩沖區時才可將數據寫入。

4.3.3數據接收

接收數據可采用查詢方式或中斷方式。為了提高效率,常采用中斷方式。

在初始化程序中使能接收中斷,在中斷服務子程序中,讀取CANICR,判斷是否有接收中斷標志,有則讀取接收緩沖區數據。為了防止接收緩沖區數據溢出,可開辟一個循環接收數據隊列來暫時存儲數據,主程序通過查詢該隊列獲得數據。

4.3.4 異常情況處理

在總線發生嚴重故障的情況下,CAN節點有可能脫離總線,此時以下寄存器位被置位:CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CANMOD的RM位。

在應用中,若前面傳輸到CAN控制器的數據未被讀出,接收緩沖區沒有及時釋放,就有可能引起后面信息的丟失。這時必須通過寫命令寄存器來清除CANSR的數據溢出位。這種異常可通過異常中斷來處理,只要在中斷子程序中加入處理代碼即可。其它的總線異常處理可根據使用情況決定是否在軟件中處理。

五、結束語

本文設計的CAN網狀冗余節點應用于電源模塊控制系統,正常通訊時,下載/上傳分開網絡傳輸,實現CAN全雙工通訊,提高系統傳輸速率,減少了電源模塊的動作延時;在節點出現問題時,通過熱備節點進行通訊,實現了系統的完全冗余,大大提高了系統可靠性,滿足系統對CAN網絡節點的可靠性、實時性和同步性要求

本文作者創新點:借鑒過程控制中網狀冗余大大增強通訊可靠性的經驗,為增加CAN總線可靠性,提出了CAN總線控制系統的全新網狀冗余方式,及在電源模塊控制系統中的節點冗余設計思想。

責任編輯:gta

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634653
  • 控制器
    +關注

    關注

    112

    文章

    16332

    瀏覽量

    177812
  • CAN總線
    +關注

    關注

    145

    文章

    1946

    瀏覽量

    130727
收藏 人收藏

    評論

    相關推薦

    未知多節點CAN總線網絡,如何準確識別?

    CAN網絡中,所有節點的數據收發共享一條總線。當面對未知的多節點CAN總線網絡時,如何準確分析
    的頭像 發表于 02-27 09:29 ?1.6w次閱讀
    未知多<b class='flag-5'>節點</b><b class='flag-5'>CAN</b><b class='flag-5'>總線網</b>絡,如何準確識別?

    控制器LPC2294相關資料分享

    控制器LPC2294資料下載內容主要介紹了:LPC2294功能和特性LPC2294引腳功能LPC2294內部方框圖
    發表于 03-31 07:45

    怎么實現基于ARM控制器LPC2294CAN/PCI智能通信卡設計?

    怎么實現基于ARM控制器LPC2294CAN/PCI智能通信卡設計?
    發表于 05-21 06:56

    分享一款不錯的LPC2294 CAN總線節點設計方案

    本文提出一種基于LPC2294控制器,使用μCLinux作為操作系統的CAN節點軟硬件設計方案。主
    發表于 05-25 06:59

    CAN網狀冗余及基于ARM節點設計

    本文簡單介紹了目前CAN冗余的幾種方式,提出了網狀冗余的全新冗余方式;給出了應用在電源模塊控制
    發表于 05-26 16:02 ?1次下載

    CAN網狀冗余及基于ARM節點設計

    本文簡單介紹了目前CAN冗余的幾種方式,提出了網狀冗余的全新冗余方式;給出了應用在電源模塊控制
    發表于 05-26 16:02 ?28次下載

    CAN網狀冗余及基于ARM節點設計

    本文簡單介紹了目前CAN冗余的幾種方式,提出了網狀冗余的全新冗余方式;給出了應用在電源模塊控制
    發表于 05-26 16:02 ?10次下載

    基于ADG663的CAN總線網絡擴展方案設計

    由于受CAN收發的限制,在一個CAN總線網絡中最多只能有110個CAN節點,或達到10km的通
    發表于 11-26 16:16 ?12次下載

    基于ARM的CAN總線智鹺節點的i殳計

    CAN總線是一種應用廣泛的實時性現場總線,提出了基于具有ARM7TDMI內核的32位微控制器CAN總線
    發表于 12-01 14:27 ?18次下載

    基于LPC2294CAN總線節點設計

    為引入CAN總線技術以實現運動控制系統的網絡化,提出了基于LPC2294CAN總線
    發表于 06-21 15:17 ?61次下載
    基于<b class='flag-5'>LPC2294</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>主<b class='flag-5'>節點</b>設計

    LPC2294設計的分布式數據采集

    本文設計了一種基于ARM的獨立CAN總線,基于LPC2294的分布式 數據采集 系統。
    發表于 06-29 14:59 ?51次下載
    用<b class='flag-5'>LPC2294</b>設計的分布式數據采集

    基于LPC2294CAN總線智能節點設計

    CAN總線是一種應用廣泛的實時性現場總線。本文提出了一種基于具有ARM7DMI內核的32位ARM微控制器LPC2294
    發表于 05-29 09:27 ?3870次閱讀
    基于<b class='flag-5'>LPC2294</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>智能<b class='flag-5'>節點</b>設計

    基于CAN總線的運動控制系統設計

    節點采用的LPC2294基于ARM7TDMI內核的32位處理,帶有256kB高速FLASH、16kB靜態RAM,內部集成4路CAN控制器
    發表于 09-18 15:50 ?4624次閱讀
    基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的運動<b class='flag-5'>控制</b>系統設計

    采用LPC2294四路CAN控制器實現智能通信卡系統的設計

    LPC2294是PHILIPS公司推出的一款功能強大、超低功耗且具有ARM7TDMI內核的32位微控制器。它具有豐富的片上資源,完全可以滿足一般的工業控制需要,同時還可以減少系統硬件設計的復雜度,提高系統的穩定性。
    發表于 01-18 09:28 ?2306次閱讀
    采用<b class='flag-5'>LPC2294</b>四路<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>實現智能通信卡系統的設計

    基于LPC2294CAN總線節點的電路原理圖

    電子發燒友網站提供《基于LPC2294CAN總線節點的電路原理圖.pdf》資料免費下載
    發表于 10-11 09:47 ?1次下載
    基于<b class='flag-5'>LPC2294</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>主<b class='flag-5'>節點</b>的電路原理圖
    主站蜘蛛池模板: 最近中文字幕完整版免费高清| 嗯啊好爽视频| 手机在线播放成人亚洲影院电影| 中国女人hd| 激情内射亚洲一区二区三区 | 国产亚洲精品久久精品69| 热思思| 91久久偷偷做嫩草影院免| 久久国产伦子伦精品| 亚洲成人精品久久| 国产精品毛片在线视频| 日本全彩黄漫无遮挡| 99热在线播放| 女同志videos最新另| 91麻精品国产91久久久久| 久久偷拍国2017的| 中文无码熟妇人妻AV在线| 黄色三级视频在线| 亚洲综合国产精品| 花蝴蝶在线直播观看| 亚洲视频中文字幕| 花蝴蝶高清影视视频在线播放| 亚洲第一国产| 黄瓜视频苹果直接安装| 一区二区中文字幕在线观看 | 欧美乱妇狂野欧美在线视频| 6080伦理久久亚洲精品| 免费观看久久| japanese色系free日本| 人曽交Z00Z0OA片| 国产传媒18精品免费观看| 玩弄放荡人妻一区二区三区| 国产免费看片| 性插图动态图无遮挡| 国产老肥熟xxxx| 免费韩国伦理2017最新| 8x8x我要打机飞在线观看| 欧美精品熟妇乱| 国产精品青草久久福利不卡 | 国产美女视频一区二区二三区| 性生生活大片又黄又|