max355差动4通道模拟开关接4路热电阻信号转换电路,图中只画出第一路转换电路,接线方式为三线制,使能端en接高电平,使max355一直有效。a0、a1引脚接至mc9s12d64单片机的pp0和pp1端,用于选通某一路热电阻信号进行转换与测量。当max355选通某一通道后,该通道将与公共端接通,假设选通通道1,200ua恒定电流由no1a和no1b输出流经热电阻产生毫伏级电压信号,此信号在vin1和vin2处被ads1216采样。
ads1216组成4路全差分通道。单片机通过porta与ads1216通信,用于控制ads1216选通某一路模拟量输入通道并进行采样,每一个控制信号均通过光耦合器和两个施密特触发器进行数字隔离,这样做可有效抑制各种噪声干扰,提高传输通道上的信噪比。ads1216采样每一路通道之前均进行偏置与增益自校准。当/drdy变为低电平,标志着数据寄存器中数据已准备好,单片机便从24位数据输出寄存器(dor)读取转换结果。
2.3 can和rs-485通信电路
can和rs-485通信电路原理图如图4所示。
mc9s12d64单片机的can输入与输出引脚(rxcan0和txcan0)分别接至收发器pca82c250的txd和rxd引脚。pt2用来控制数据接收与发送,当pt2为低电平时,接收数据;当pt2为高电平时,发送数据。输入rs通过一电阻接地,使pca82c250工作在斜率控制模式下。sn65lbc184为具有瞬变电压抑制的rs485差分收发器,因此本智能节点可以接入采用canbus或rs485的测控系统,并方便的与各种组态软件进行通信。
3、热电阻智能节点软件设计
3.1概述
单片机程序用mc9s12汇编语言编写。在主程序首先完成各寄存器和存储单元的初始化,再通过调用读取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模块和ads1216初始化。随后调用e2prom中组态信息,对每一路组态通道进行信号转换,数字滤波及温度查表计算等,其主程序流程图如图5所示。[page]
由于现场的各种干扰很容易使信号失真,从而使a/d转换结果产生比较大的误差。因此在对信号进行有效的硬件滤波后还需进行软件滤波,本节点采用了数字中值滤波、算术平均、加权滤波等方式。