<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)工業(yè)網(wǎng)絡(luò)分布式測控系統(tǒng)

          CAN總線實現(xiàn)工業(yè)網(wǎng)絡(luò)分布式測控系統(tǒng)

          作者: 時間:2011-09-12 來源:網(wǎng)絡(luò) 收藏
          max355差動4通道模擬開關(guān)接4路熱電阻信號轉(zhuǎn)換電路,圖中只畫出第一路轉(zhuǎn)換電路,接線方式為三線制,使能端en接高電平,使max355一直有效。a0、a1引腳接至mc9s12d64單片機的pp0和pp1端,用于選通某一路熱電阻信號進行轉(zhuǎn)換與測量。當(dāng)max355選通某一通道后,該通道將與公共端接通,假設(shè)選通通道1,200ua恒定電流由no1a和no1b輸出流經(jīng)熱電阻產(chǎn)生毫伏級電壓信號,此信號在vin1和vin2處被ads1216采樣。

          本文引用地址:http://www.ex-cimer.com/article/150230.htm

            ads1216組成4路全差分通道。單片機通過porta與ads1216通信,用于控制ads1216選通某一路模擬量輸入通道并進行采樣,每一個控制信號均通過光耦合器和兩個施密特觸發(fā)器進行數(shù)字隔離,這樣做可有效抑制各種噪聲干擾,提高傳輸通道上的信噪比。ads1216采樣每一路通道之前均進行偏置與增益自校準(zhǔn)。當(dāng)/drdy變?yōu)榈碗娖?,?biāo)志著數(shù)據(jù)寄存器中數(shù)據(jù)已準(zhǔn)備好,單片機便從24位數(shù)據(jù)輸出寄存器(dor)讀取轉(zhuǎn)換結(jié)果。

            2.3 can和rs-485通信電路

            can和rs-485通信電路原理圖如圖4所示。

            mc9s12d64單片機的can輸入與輸出引腳(rxcan0和txcan0)分別接至收發(fā)器pca82c250的txd和rxd引腳。pt2用來控制數(shù)據(jù)接收與發(fā)送,當(dāng)pt2為低電平時,接收數(shù)據(jù);當(dāng)pt2為高電平時,發(fā)送數(shù)據(jù)。輸入rs通過一電阻接地,使pca82c250工作在斜率控制模式下。sn65lbc184為具有瞬變電壓抑制的rs485差分收發(fā)器,因此本智能節(jié)點可以接入采用canbus或rs485的測控,并方便的與各種組態(tài)軟件進行通信。

            

          can和rs-485通信電路

            圖4 can和rs-485通信電路

            3 熱電阻智能節(jié)點軟件設(shè)計

            3.1概述

            單片機程序用mc9s12匯編語言編寫。在主程序首先完成各寄存器和存儲單元的初始化,再通過調(diào)用讀取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模塊和ads1216初始化。隨后調(diào)用e2prom中組態(tài)信息,對每一路組態(tài)通道進行信號轉(zhuǎn)換,數(shù)字濾波及溫度查表計算等,其主程序流程圖如圖5所示。

            

           熱電阻智能節(jié)點主程序流程圖

            圖5 熱電阻智能節(jié)點主程序流程圖

            由于現(xiàn)場的各種干擾很容易使信號失真,從而使a/d轉(zhuǎn)換結(jié)果產(chǎn)生比較大的誤差。因此在對信號進行有效的硬件濾波后還需進行軟件濾波,本節(jié)點采用了數(shù)字中值濾波、算術(shù)平均、加權(quán)濾波等方式。

            



          評論


          相關(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); })();