新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TTCAN在風力發電控制系統中的應用

        TTCAN在風力發電控制系統中的應用

        作者: 時間:2014-03-10 來源:網絡 收藏

        圖5 冗余流程


        而要實現冗余,can通道的故障判斷尤為重要。由于中,cpu模塊充當著控制器的核心,系統所有的采集輸入都在這里匯集,經過控制流程后又由它產生控制輸出。于是在can網絡中,cpu模塊同時充當著主節點的角色。所以系統設計在cpu模塊中進行can總線故障判斷處理。具體判斷流程如下:cpu模塊中預設定時器中斷(暫設1ms),對每個從節點都做時間計數,當每次收到從節點傳來的數據幀時,對相應節點的計數清零。也就是說,這個計數就是距上次正確收到該從節點傳來數據的延時(單位為ms)。當程序判斷這個計數超過一定值(暫定100ms),認為通信超時,該從節點的can通訊已經出錯或中斷,此時整個需要切換總線通道,激活canb,重新建立通訊,并進行報警。如下面流程圖6所示。

        圖6 can故障判斷流程圖

          5 實驗結果分析

          基于本方案所設計的這種通訊方式,當can節點發送數據時,在其待發送的數據幀最后補加上兩個字節的crc校驗碼,區別于twincan模塊自身所帶的crc容錯機制,補加的crc校驗是為了防止can傳輸多幀數據過程中出現數據丟幀的現象。于是,cpu模塊每次都將接收完成的數據進行crc判斷,以此驗證收到的該幀數據是否出錯。cpu模塊程序設計使其對它收到的每個從節點傳來的數據幀進行一個計數,每正確收到1幀,計數加1。設查詢時刻為t,can通訊周期為t,則t時刻計數值cnt=t/t。以通訊周期20ms為例,每隔1秒鐘,cpu模塊應收到的每個從節點所傳來的數據幀數cnt=50,即為32h,于是,我們每隔1秒鐘將這些計數通過串口發出來,就可以監視這些計數,以此驗證ttcan通訊周期長度,以及can總線切換機制。具體數據參見附表。
          附表 監視結果表

          附表中為20ms通訊周期下,系統上電運行10min的一個情況,據表分析,系統上電時,延時1秒鐘開始can通訊,正常情況下,每秒鐘包含50個通訊周期,故應正常收發數據50幀,t時刻計數值則剛好滿足cnt=(t-1)*50,相鄰兩秒之間計數基本相差32h。但偶爾會出現前后兩秒相差31h的情況,這種情況出現的原因則是因為在該發送時刻,該節點該次數據暫未接收完成所致。

          系統上電1min后,嘗試切斷總線上id號為1的節點,會發現該節點計數相對其他正常節點少5,則分析推斷該節點can通訊停頓了100ms后又重新建立,而此刻,系統已經完成can通道切換,轉用canb運行。

        6 結束語

          實驗效果表明,基于冗余ttcan的模塊化各模塊間的通信總線,相對于過去常用的查詢返回can通信方式,更具效率且更為可靠。它的應用,對于提高整個控制系統的可靠性和實時性極具意義。

        陀螺儀相關文章:陀螺儀原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 邵武市| 龙岩市| 泰和县| 绥芬河市| 西城区| 兴业县| 曲靖市| 温宿县| 三原县| 黔西县| 安丘市| 乌拉特中旗| 宁波市| 英吉沙县| 嘉禾县| 平和县| 兴城市| 兴仁县| 南宫市| 龙州县| 洪洞县| 阳新县| 丰都县| 松江区| 泸州市| 雷波县| 阜城县| 江西省| 韶关市| 咸丰县| 深圳市| 永昌县| 紫云| 石柱| 温泉县| 泸水县| 茂名市| 常州市| 富阳市| 且末县| 宣汉县|