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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 適用于變電站的CAN現(xiàn)場總線通信適配卡的設(shè)計

          適用于變電站的CAN現(xiàn)場總線通信適配卡的設(shè)計

          作者: 時間:2013-01-18 來源:網(wǎng)絡(luò) 收藏

          4、通訊適配卡的軟件設(shè)計
          適配卡主要承擔上位機和節(jié)點之間的報文轉(zhuǎn)發(fā)任務(wù)[8]。圖2給出了適配卡程序流程 。軟件設(shè)計包含兩部分:一部分是上位機的應(yīng)用程序設(shè)計,該程序采用VB6.0開發(fā),用 于完成上位機和雙口RAM之間的通信,主要包括上位機向適配卡上的雙口RAM發(fā)送控 制命令、數(shù)據(jù)命令、請求數(shù)據(jù)命令、請求狀態(tài)命令和接收數(shù)據(jù)等。另一部分是適配卡上的微 處理器的程序設(shè)計,使用KeilC編寫,下位機上的程序負責微處理器與雙口RAM以及 微處理器與SJA1000之間的通信。

          其軟件設(shè)計的主要任務(wù)是向控制器轉(zhuǎn)發(fā)來自PC機的命令,并由SJA1000進一 步轉(zhuǎn)發(fā)到節(jié)點,并將由控制器接受的來自節(jié)點的數(shù)據(jù)和狀態(tài)信息送到雙口RAM[9]。

          同時在程序開發(fā)中還包含對89C52的初始化,雙口RAM的初始化以及SJA1000的 初始化。SJA1000初始化主要是指設(shè)置模式、總線時序、中斷使能、屏蔽碼和ID信 號,這些設(shè)置是通過對芯片的內(nèi)部寄存器賦值來實現(xiàn)的,如表中SJA1000寄存器初始化 參考值。

          5、結(jié)語
          本文中的CAN總線通訊適配卡,不僅可用于測控系統(tǒng),而且適用于其它分布式現(xiàn) 場總線控制系統(tǒng)。它可以適應(yīng)不同的傳輸速率和距離,易于編寫接口程序。由于采用了EP LD技術(shù),可方便地設(shè)計適配卡的邏輯功能,且易于對適配卡進行擴展和升級。

          參考文獻
          [1]黃益莊(Huang Yizhuang).綜合自動化技術(shù)(Technology of Substati on Automation)[M].北京:中國電力出版社(Beijing:China Electric Power Press),200 0.

          [2]饒運濤,周繼軍,鄭勇蕓(Rao Yuntao,Zhou Jijun,Zheng Yongyun).現(xiàn)場總 線CAN原理與應(yīng)用技術(shù)(Principle of CAN Fieldbus and Application Technology)[M]. 北京:北京航空航天大學出版社(Beijing:BUAA Press),2003.

          [3]陽憲惠(Yang Xianhui).技術(shù)及其應(yīng)用(Fieldbus Technology and Its Application)[M].北京:清華大學出版社(Beijing:Tsinghua University Press),200 2.

          [4]鄔寬明(Wu Kuanming).CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(Principle of CAN Fie ldbus and Design of Application System)[M].北京:北京航空航天大學出版社(Beijin g:BUAA Press),1999.


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();