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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 發(fā)動機測試系統(tǒng)中can總線的應用

          發(fā)動機測試系統(tǒng)中can總線的應用

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

            CAN橋接器的軟硬件設計

            CAN橋接器的設計是將RS-422電平與CAN標準的邏輯電平能夠相互轉換,同時使得RS-422和CAN的幀格式能夠相互轉換。系統(tǒng)采用了SJA1000控制接口芯片,SJA1000有BasicCAN模式和PeliCAN模式兩種工作模式,本系統(tǒng)中選擇了工作模式為基本型。SJA1000作為微控制器的片外擴展芯片,其片選引腳CS接在微控制器的地址譯碼器上,從而決定了CAN總線控制器各寄存器的地址。SJA1000通過CAN控制器接口芯片82C250連接在物理總線上。82C250器件提供對總線的差動發(fā)送能力和對CAN控制器的差動接受能力,完全和ISO11898標準兼容。其引腳8允許選擇高速、斜率控制和待機三種不同的工作方式。

            在圖2所示的電路中實現(xiàn)了RS-422電平和CAN標準邏輯電平的相互轉換,同時系統(tǒng)軟件也實現(xiàn)了RS-422和CAN幀格式的相互轉換,系統(tǒng)中CPU為AT89C52單片機。

            

            芯片MAX1490B完成了RS-422和TTL邏輯電平的相互轉換,而芯片SJA1000則完成了TTL邏輯電平和CAN邏輯電平的相互轉換,在MAX1490B中TTL側和RS-422側實現(xiàn)了完全電隔離,A、B為其RS-422側輸入端,Y、Z為RS-422側輸出端,DI為隔離的TTL側驅動輸入,RO為隔離的TTL輸出端,MAX1490B內部的DCPDC 變換器在不需要外部隔離電源的情況下實現(xiàn)了輸入輸出的電隔離。82C250是CAN總線通信控制器,由其實現(xiàn)CAN的物理層和數(shù)據鏈路層,是CAN總線收發(fā)器,可支持多達110個節(jié)點的CAN總線負載。

            測控設備的改造

            原有的系統(tǒng)采用了下位控制,即將控制權限和管理權限在每一獨立的系統(tǒng)中單獨實現(xiàn),數(shù)據的輸出,給定控制目標以及各種工況的信息打印均由前端機控制,上位機只是用來對系統(tǒng)進行簡單的數(shù)據匯總通訊。在原系統(tǒng)中每個測控設備是孤立的,是信息孤島,在改造過程中上位機中配置CAN適配器,用雙絞線與CAN總線相連,在原測控設備上利用預留RS-422與CAN橋接器相連。在軟件編程中,增加了單獨的通信單元,不增加原有的控制系統(tǒng)的其他功能和軟件開銷,經過簡單的軟硬件改造后,形成了一個具有數(shù)據交互功能的測控系統(tǒng)。改造后的系統(tǒng)能夠通過上位機對前置機進行控制工框的設定、數(shù)據采集匯總等,可以通過上位機對前置機進行控制,突破了原有系統(tǒng)的信息交互的障礙。系統(tǒng)拓撲結構如圖4所示。

            

            結束語

            經過改造后的測控設備連成了一個CAN總線系統(tǒng),突破了原有的信息孤島的模式,原系統(tǒng)中的各種工作模式、各種控制目標給定由上位機管理,下位機通過接收廣播、點對點方式和上位機通信,接受工況狀態(tài)的轉換以及控制給定等參數(shù),同時定期上傳其工作狀態(tài)、測試數(shù)據等,上位機對其進行統(tǒng)一管理,實現(xiàn)了“分散控制,集中管理”的模式。上位機通訊管理軟件的編制采用DELPHI5.0,在WIN2000下編譯完成。

            通過對原有系統(tǒng)進行總線升級改造,針對原有進行現(xiàn)場總線改造的嘗試,也具有積極的實際意義。


          上一頁 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); })();