国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于MB90F543微控制器的雙CAN冗余設計

發布時間:2010-3-22 20:33    發布者:蹦蹦
關鍵詞: CAN , 控制器 , 冗余 , 設計
雖然CAN協議本身具有較強的檢錯糾錯能力,但在工業控制現場,插頭連接的不牢固、傳輸介質的損壞或總線驅動器的損壞等都會破壞CAN的可靠通信。在要求高可靠性的應用系統中,這些故障如不能自動檢測到并采取相應措施克服,將使系統部分甚至完全失去通信能力。解決這一問題的有效途徑是采用冗余通信控制。從而保證通信系統主要功能正常運行,以此提高系統的可靠性。

1  系統硬件組成

MB90F543是Fujitsu公司推出的一款帶2個CAN控制器的16位微控制器。系統使用兩套總線(CAN0、CAN1),每一套包含獨立的總線電纜、總線驅動器和總線控制器,可以實現物理介質、物理層、數據鏈路層及應用層的全面冗余。兩套總線采用熱備份方式運行:一個CAN控制器作為系統上電后默認的CAN(可稱為主CAN);另一個為系統的備用CAN(稱之為從CAN),作為主CAN的冗余。系統正常工作時,主CAN總線(CAN0)投入運行。當主CAN總線發生故障時,從CAN總線(CAN1)投入運行。如上電檢測到主CAN總線故障,則從CAN總線自動投入運行。這樣在一套總線發生故障時,另一套總線自動繼續工作,保證整個系統的通信功能正常運行,大大提高了系統的可靠性,實現了CAN總線的全面冗余設計。另外,也可以根據需要,由軟件設定采取冗余方式或非冗余方式。對于非冗余方式只采用主CAN總線運行。本系統的結構方案如圖1所示。


圖1  系統結構框圖

RT為總線終端匹配電阻,用于抑制信號發射干擾,RT =100Ω或120Ω。網絡采用屏蔽雙絞線作為通信介質。

CAN控制器集成了CAN協議的物理層和數據鏈路層功能,可完成對數據通信的成幀處理,包括位填充、數據塊編碼、CRC校驗和優先級判別等工作。

CAN控制器具有以下主要特點:
  ◇ 符合CAN2.0A和CAN2.0B協議;
  ◇ 支持數據幀和遠程幀的發送和接收;
  ◇ 16個收發信息緩沖器,支持11位或29位標識符,支持多級信息緩沖器結構;
  ◇ 支持滿位比較、滿位屏蔽和位屏蔽驗收三種驗收標 識選擇方式;
  ◇ 兩個驗收標識寄存器支持標準幀或擴展幀格式;
  ◇ 波特率從10Kbps~1Mbps可編程。

總線驅動器采用PCA82C250作為CAN控制器與物理總線間的接口,以提升總線的差動發送和接收能力。

CAN驅動電路如圖2 所示。


圖2  CAN驅動電路

2  系統軟件設計

2.1  實現雙CAN冗余控制功能

在雙CAN冗余系統中,較之硬件結構而言,軟件設計相對復雜得多。一般的CAN總線通信程序必須包括 CAN初始化程序、CAN發送程序和CAN接收程序三個基本部分。在本冗余系統軟件設計中,上面三部分作為三個最基本的模塊,供系統其它軟件模塊調用。

MB90F543可以處理256種中斷源,與CAN控制器相關的硬件中斷有四個:CAN0 RX(CAN0 接收完全中斷)、CAN0 TX /NS(CAN0 發送完全/節點狀態改變中斷)、CAN1 RX(CAN1 接收完全中斷)、CAN1 TX /NS(CAN1 發送完全/節點狀態改變中斷)。在本軟件設計中,采用查詢發送,中斷接收。節點狀態改變中斷子程序,用于對節點狀態改變的處理。這是因為在CAN2.0協議中規定節點處于下面三種狀態之一:錯誤激活態、忽略錯誤態、脫離總線態。在MB90500系列中還多規定了一種警告態,它表明發送/接收錯誤計數器的值超過96。節點狀態改變會引起相應中斷。

由于系統采用雙CAN冗余熱備份方式運行,所以兩個CAN控制器必須都處于熱備份狀態。系統中所有節點的兩個CAN控制器經初始化后都隨時準備接收信息,但有且只有一個CAN控制器在發送信息。換言之,在一個時間點上,系統中有且僅有一路 CAN通道在工作,另一路處于監聽狀態(正常工作時),或故障狀態(發生故障時)。

雙CAN冗余控制系統較之單CAN控制系統在軟件設計上的復雜之處,關鍵在于CAN系統故障檢測及CAN系統自動切換。由于采用兩套完全獨立的傳輸介質、總線驅動器和總線控制器,因此它們能分別獨立檢測到自己通道的故障,比如CANH與CANL短路,CANH或CANL斷開、CANH與地短路、CANL與電源短路、總線驅動器損壞等。實際調試中發現, 如果CANH、CANL斷開或只有一個發送器在總線上,均會造成發送/接收錯誤計數器不斷增加到128,使節點處于忽略錯誤態;而CANH與CANL短路、CANH與地短路或CANL與電源短路均會造成發送/接收錯誤計數器不斷增加到256,使節點處于總線脫離態。所以,通過節點狀態改變中斷子程序中調用CAN冗余模塊,可以達到實現上述故障自動檢測及CAN系統自動切換的目的。CAN0節點狀態改變中斷子程序如下:
__interrupt void NodeStateTransmitInt0(void)
  {
    if (CSR0_NT) /*節點狀態改變*/
      {
        CSR0_NT = 0; /*中斷標志復位*/
        if ( (CSR0_NS = =2 ) (CSR0_NS = =3 ) ) /*斷路或短路引起*/
          {
             NoWaitFlg = 1; /*一個互斥標志*/
            Bus0Error( ) ; /* Bus0Error( )停止CAN0, 啟動冗余CAN1子程序*/
          }
      }
ICR00 =3; /*改變中斷優先級,使定時器0中斷優先*/
ICR03 =2;
}

此外,在CAN總線通信過程中,當某個信息緩沖器的數據發送完成后,發送完成寄存器中相應的位將被置為1。在查詢發送過程中,通過判斷這一寄存器可以知道該次發送是否完成。但如果發送不成功,則會使系統一直在等待,造成系統死機。所以軟件必須在這里設定一個等待時段,超過這一時段則調用CAN冗余系統,停止主CAN通道,啟用從CAN通道。

軟件設計中還要注意這樣一個問題,備用CAN切換完成后,如何恢復原來的通信任務。解決辦法是編制一個任務標志列表,備用CAN切換后,讀該表即可獲取系統原來進行的任務,實現原來通信任務的可靠切換。

2.2  實現總線管理功能

在本系統的軟件設計中,除了用于數據發送和接收的實時數據通信程序外,還包括用于對各個節點進行管理的通信管理程序。所有節點分為主節點和從節點。它們的區別在于主節點具有總線管理功能,可以進行在線節點統計,識別離線節點并采取處理措施;而從節點沒有這個功能。主節點只設一個,而允許多個從節點。總線管理功能程序供主節點每隔一段時間調用,來判斷所有的節點是否都在線:如果所有節點都在線,則認為總線正常;否則識別離線節點,并作相應處理。設計思路是系統主節點定時向總線上所有從節點發送一遠程幀,各個從節點收到后,將自己的節點編號放在一數據幀中發送給主節點,主節點根據收到的節點編號來判斷是否有節點故障離線。在本系統中,節點編號(模塊地址)由模塊上的DIP開關設定。主節點通信流程如圖3所示。


圖3  主節點通信流程圖

軟件調試過程中,雖然各個節點的硬件結構相同,但由于電路板布線和元器件分散性存在著差異,常會致使并非所有從節點能都收到主節點發送的信息,或者主節點并非都能收到所有從節點發送的信息,即存在幀丟失問題。通過軟件延時和優化接收中斷程序,這一問題已得到很好的解決。

3  開發環境及應用中應注意的幾個問題

Softune V3軟件工作平臺是針對富士通FFMC-8L、FFMC-16L/LX和FR系列微控制器程序開發的集成軟件開發環境,包括開發管理、仿真器調試、軟仿真和一個集成開發環境。其開發工具包包括Softune Workbench、C compiler、Assembler、Linker、C Checker、C Analyzer。Softune V3同時支持C語言和匯編語言。

MB90F543實際使用過程中,應注意下面幾個問題。
①  驗收標識選擇寄存器(AMSR)的設置。每個信息緩沖器可以選擇一種驗收標識方式:滿位比較、滿位屏蔽或位屏蔽驗收。滿位比較是指節點接收到信息的ID需與該信息緩沖器設定的ID完全一致,信息才能通過驗收標識器;滿位屏蔽不用對信息的ID進行比較,可以理解為無條件通過驗收標識器;位屏蔽驗收方式可以指定需比較的ID位和需屏蔽的ID位,即部分比較驗收。實際應用中,這種驗收標識方式應用得最多,所以在MB90F543芯片的CAN控制器中,設定了兩種這一方式。AMSR的設置為開發人員處理緩沖器信息提供了極大的靈活性。
②  驗收標識寄存器(AMR)的設置。在AMSR設置為位屏蔽驗收方式后,必須設置AMR,來設定ID哪些位要比較,哪些位要屏蔽。AMR共有四個字節,支持29位ID符。但值得注意的是,對29位ID符,使用的是AM28~AM0;而對11位ID符,使用的是AM28~AM18。因此使用者在設置AMR時必須謹慎,否則會造成接收錯誤。筆者曾在這里吃過苦頭。
③  Fujitsu公司CAN控制器的一個特點是支持使用多級信息緩沖器。在接收頻繁發生,或者收到幾個不同ID信息幀的情況下,可能CPU沒有足夠的時間來處理收到的信息,因此可將多個信息緩沖器構成一個多級信息緩沖器,保證信息能夠得到及時、有效的處理。通過這種方式,可以1幀發送大于8個字節的信息。這種安排的另一好處是,CPU可以不需立即去讀某個信息緩沖器的信息,而不必擔心緩沖器信息被重寫和丟失。

4  結論

在CAN應用層協議的開發過程中,筆者借鑒了DeviceNet規范的一些機理,如支持多種形式的數據傳送(選通、輪詢、狀態變化等);但受開發周期等諸多因素的限制,設備的診斷功能以及與同類產品之間的互操作性都有待完善和擴展。雙CAN冗余通信系統在實驗階段工作穩定,數據傳輸可靠,冗余切換切實可行,總線管理可靠性良好;可以應用于要求高可靠性的機車控制系統或其它工業控制現場中。

參考文獻

   1. 鄔寬明 CAN 總線原理與應用系統設計 1996
   2. FUJITSU LIMITED F2MC-16LX 16-BIT MICROCONTROLLER MB90540/545 Series HARDWARE MANUAL 2001
   3. FUJITSU LIMITED F2MC-16LX 16-BIT MICROCONTROLLER MB90500 Series PROGRAMMING MANUAL 1998
   4. Open DeviceNet Vendors Association. DeviceNet Specification 1997

作 者:西南交通大學 莫傳孟 林彥凱 馮曉云  
來 源:單片機嵌入式系統應用 2003(11)
本文地址:http://www.qingdxww.cn/thread-9733-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: avove在线播放 | 国产成人综合洲欧美在线 | 欧美成人午夜视频在线观看 | 中文字幕美日韩在线高清 | 欧美黑粗硬大 | 日本三级网站在线观看 | 久久久黄色片 | 天堂动漫 | а天堂中文最新版在线官网视频 | 国产99er66在线视频 | 99精品在线播放 | 久久久精品2018免费观看 | 青青草免费看 | 美日韩视频| 国产成人手机视频 | 啄木乌欧美一区二区三区 | aⅴ免费在线观看 | 国产欧美大片 | 欧美成人一区亚洲一区 | 国产一区二区在线播放 | 在线免费观看h | 免费h福利动漫网站在线 | 天天久久狠狠色综合 | 中文字幕网址 | 1024亚洲| 色xx综合| 麻豆精品视频 | 欧美成人h版 | 亚洲高清一区二区三区久久 | 逃离韩国动漫免费观看 | 毛片基地免费视频a | 亚洲一卡二卡三卡四卡无卡麻豆 | 韩国精品一区二区 | 免费av片在线观看网站 | 91免费资源网站入口 | 日韩欧美亚洲国产 | 亚洲黄色一级毛片 | 青青青手机视频在线观看 | 亚洲小视频在线播放 | 国产高清在线精品一区 | 在线a毛片免费视频观看 |