CAN總線實(shí)現(xiàn)工業(yè)網(wǎng)絡(luò)分布式測控系統(tǒng)
ads1216組成4路全差分通道。單片機(jī)通過porta與ads1216通信,用于控制ads1216選通某一路模擬量輸入通道并進(jìn)行采樣,每一個(gè)控制信號(hào)均通過光耦合器和兩個(gè)施密特觸發(fā)器進(jìn)行數(shù)字隔離,這樣做可有效抑制各種噪聲干擾,提高傳輸通道上的信噪比。ads1216采樣每一路通道之前均進(jìn)行偏置與增益自校準(zhǔn)。當(dāng)/drdy變?yōu)榈碗娖?,?biāo)志著數(shù)據(jù)寄存器中數(shù)據(jù)已準(zhǔn)備好,單片機(jī)便從24位數(shù)據(jù)輸出寄存器(dor)讀取轉(zhuǎn)換結(jié)果。
2.3 can和rs-485通信電路
can和rs-485通信電路原理圖如圖4所示。
mc9s12d64單片機(jī)的can輸入與輸出引腳(rxcan0和txcan0)分別接至收發(fā)器pca82c250的txd和rxd引腳。pt2用來控制數(shù)據(jù)接收與發(fā)送,當(dāng)pt2為低電平時(shí),接收數(shù)據(jù);當(dāng)pt2為高電平時(shí),發(fā)送數(shù)據(jù)。輸入rs通過一電阻接地,使pca82c250工作在斜率控制模式下。sn65lbc184為具有瞬變電壓抑制的rs485差分收發(fā)器,因此本智能節(jié)點(diǎn)可以接入采用canbus或rs485的測控系統(tǒng),并方便的與各種組態(tài)軟件進(jìn)行通信。
圖4 can和rs-485通信電路
3 熱電阻智能節(jié)點(diǎn)軟件設(shè)計(jì)
3.1概述
單片機(jī)程序用mc9s12匯編語言編寫。在主程序首先完成各寄存器和存儲(chǔ)單元的初始化,再通過調(diào)用讀取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模塊和ads1216初始化。隨后調(diào)用e2prom中組態(tài)信息,對每一路組態(tài)通道進(jìn)行信號(hào)轉(zhuǎn)換,數(shù)字濾波及溫度查表計(jì)算等,其主程序流程圖如圖5所示。
圖5 熱電阻智能節(jié)點(diǎn)主程序流程圖
由于現(xiàn)場的各種干擾很容易使信號(hào)失真,從而使a/d轉(zhuǎn)換結(jié)果產(chǎn)生比較大的誤差。因此在對信號(hào)進(jìn)行有效的硬件濾波后還需進(jìn)行軟件濾波,本節(jié)點(diǎn)采用了數(shù)字中值濾波、算術(shù)平均、加權(quán)濾波等方式。
評論