<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 現(xiàn)場總線CAN 在監(jiān)控系統(tǒng)網(wǎng)絡中通信協(xié)議設計

          現(xiàn)場總線CAN 在監(jiān)控系統(tǒng)網(wǎng)絡中通信協(xié)議設計

          作者: 時間:2010-12-02 來源:網(wǎng)絡 收藏

            3.2 控制

            控制中產(chǎn)生的控制命令一般是猝發(fā)式的,對于控制系統(tǒng)而言必須確??刂泼畋患皶r并且成功的發(fā)送,控制報文標識符定義如下表所示:

             中非破壞性仲裁技術,是從幀標識符的最高位開始,即BIT.28 逐位比較下去,當出現(xiàn)參加仲裁的雙方在某一位第一次出現(xiàn)顯隱性不同時,為顯性位的那個幀贏得仲裁。根據(jù) 的這一特性,即標識符值越小發(fā)送優(yōu)先級越高,根據(jù)系統(tǒng)總線流程以及控制網(wǎng)絡中各網(wǎng)絡節(jié)點優(yōu)先級的高低從小到大設置各個模塊的網(wǎng)絡節(jié)點號,如表3 所示:

            當控制網(wǎng)絡數(shù)據(jù)發(fā)送頻繁時,可能導致部分控制命令幀由于標識符優(yōu)先級的原因而丟失SJA1000 控制器的仲裁,雖然SJA1000 具有丟失仲裁后的自動重新發(fā)送該報文的功能,但該控制命令幀仍然存在發(fā)送失敗的可能性,最終導致控制功能的失效。 協(xié)議幀優(yōu)先晉升方案能夠大大降低上述情況發(fā)生的可能性,為實現(xiàn)控制命令幀發(fā)送時在丟失仲裁后重發(fā)的優(yōu)先級晉升,則必須禁止MAC 子層的自動重發(fā)功能,由應用層來實現(xiàn)報文的重發(fā)。該系統(tǒng)采用Philips 公司的SJA1000 作為CAN 網(wǎng)絡控制器,可以通過在報文發(fā)送時設置其命令寄存器的第0、1 位禁止其自動重發(fā)功能,改為單次發(fā)送。

            起動發(fā)送報文之后,MCU 須判斷該網(wǎng)絡節(jié)點是否已經(jīng)成功發(fā)送了一條報文或者報文發(fā)送失?。菏紫龋擲JA1000 中斷寄存器出現(xiàn)了仲裁丟失中斷或者發(fā)送中斷,表明該節(jié)點已經(jīng)處理完了一條報文,但是仍然不知道是否發(fā)送成功。如果成功,中斷寄存器就沒有仲裁丟失中斷,但是會產(chǎn)生發(fā)送中斷,因為發(fā)送成功后發(fā)送緩沖區(qū)會釋放。如果發(fā)送不成功,一定是與較高優(yōu)先級的協(xié)議幀競爭的結果,所以會有仲裁丟失中斷。但是改為單次發(fā)送后,發(fā)送失敗以后也會釋放緩沖區(qū),因此將同時產(chǎn)生仲裁丟失中斷以及發(fā)送中斷。在得到節(jié)點已經(jīng)處理完一條報文后,只要用以上的規(guī)則進行判斷就能知道上一條報文是否發(fā)送成功,也就是用來判斷是否需要晉升節(jié)點所發(fā)送信息幀的優(yōu)先級并重發(fā)該幀。

            控制網(wǎng)絡的標識符劃分為三個部分,其中標識符的第 21 至28 位用于協(xié)議幀優(yōu)先晉升,這部分標識僅表示協(xié)議幀的優(yōu)先級,它由調度機制分配給協(xié)議幀的優(yōu)先級的變化而變化,設Pi=(2n-1)-kt,Pi 項為當前控制命令協(xié)議幀的優(yōu)先級,(2n-1)代表其優(yōu)先級隊列的初始值,即為隊尾;n 為優(yōu)先級隊列的二進制數(shù),BIT28:21 共有8 位數(shù),所以這一項數(shù)值為0FFH。kt表示優(yōu)先級晉升項,t 為首次發(fā)送以來協(xié)議幀丟失仲裁的次數(shù),k 為晉升權重,k 取值越大協(xié)議幀優(yōu)先晉升速度就越快(該系統(tǒng)中取k=1)。由此可見,當某協(xié)議幀第一次發(fā)送時,Pi=0FFH,當它在發(fā)送時與其他協(xié)議幀碰撞并失去仲裁時,退出發(fā)送并且置Pi=0FEH 重新發(fā)送,因為此時其優(yōu)先級高于其他協(xié)議幀,在整個網(wǎng)絡中如果沒有其他和它具有相同優(yōu)先級的協(xié)議幀同時發(fā)送時,即使與其他第一次發(fā)送的協(xié)議幀碰撞,也會贏得仲裁,所以增大了該幀發(fā)送成功的概率。下圖為報文優(yōu)先級晉升控制流程:

          圖 2 報文優(yōu)先級晉升控制流程

            除此之外,系統(tǒng)具有控制參數(shù)在線修改的功能(如修改系統(tǒng)參數(shù))。參數(shù)修改命令由上位機發(fā)出修改幀,能量管理控制器接收后進行操作執(zhí)行。當進行在線控制參數(shù)修改時,能量管理控制器將發(fā)出廣播消息通知控制網(wǎng)絡所有節(jié)點禁止所有控制動作的輸出,以防止意外情況的發(fā)生。

            在進行參數(shù)的下載修改過程中,為避免修改幀發(fā)送失敗或丟失,從而導致系統(tǒng)參數(shù)混亂,甚至導致系統(tǒng)癱瘓的情況發(fā)生,使用幀標識符的第11、12 位表征修改幀的結構類型:單幀、非結束多幀和結束多幀。當待修改的參數(shù)數(shù)量較少,單個協(xié)議幀能夠包含所有修改信息時,能量管理控制器接收到來自上位機的修改幀,并判斷該修改幀為單幀標識后,則立即進行參數(shù)存儲空間的修改;若待修改的參數(shù)較多,單個協(xié)議幀無法包括所有待修改數(shù)據(jù)時,上位機首先發(fā)出部分修改幀使用非結束多幀標識,發(fā)送至最后一個修改幀時,標記為結束多幀。功率管理模塊只有在將全部待修改的參數(shù)接收完畢(即收到結束多幀標識)之后,才開始對相應參數(shù)存儲空間進行數(shù)據(jù)修改的操作。完成操作之后,能量管理控制器再將相應存儲空間修改完畢的數(shù)據(jù)發(fā)送反饋至上位機,進行握手確認。采用以上系統(tǒng)參數(shù)修改機制同時結合協(xié)議幀優(yōu)先晉升方案,大幅提升了電站重要參數(shù)修改的可靠性。

            4 結束語

            船舶電站網(wǎng)絡的實現(xiàn),節(jié)省了大量的線纜,整個系統(tǒng)便于調試。網(wǎng)絡數(shù)據(jù)傳輸過程中使用的協(xié)議幀優(yōu)先級晉升算法機制等處理方案以及雙冗余的網(wǎng)絡硬件結構,提高了總線網(wǎng)絡的可靠性和穩(wěn)定性。同時,此網(wǎng)絡適應力及擴展力強,可根據(jù)不同船舶電站系統(tǒng)的結構差異靈活配置系統(tǒng)的設備,并且隨時能加入新的站點及第三方設備。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();