近年来随着传感器技术和信息处理技术的快速发展,工程应用中对传感器的测量精度、数据传输距离和信息处理能力都提出了更高的要求。为了克服普通力敏、光敏传感器抗干扰能力差、传输距离短、调零难、测量节点无法直接与上位机通信等缺点,本文设计了一种以 Freescale MC9S08SH4 单片机和 AD7705 为核心构成的智能传感器系统,在普通传感器上增加了软件调零、浮点数据处理、自动补偿、与上位机双向通讯、标准化数字输出等功能,可以很方便地实现上位机对数据的实时采集和处理,并具有测量精度高、结构紧凑、抗干扰能力强等特点。

 

1、系统组成
智能传感器系统由信号调理电路、A/D 转换电路、主控电路、调零电路、RS-485 通信电路和电源电路等模块组成。其中信号调理模块负责对传感器输出的 mV 级差分信号进行调理和放大;A/D 转换模块将信号调理模块输出的模拟信号转换为数字信号供 MCU 处理;调零模块可以在任意时刻将当前的输入值设置为参考零点;RS-485 通信模块实现主控电路与上位机之间的通信;电源模块为主控电路、传感器、信号调理模块和 RS-485 通信模块提供电源。系统结构如图 1 所示。

 

 

2、功能模块设计

2.1 信号调理和 A/D 转换模块

传感器的输出信号一般为 mV 级的差分信号,传统的信号调理电路是在 A/D 转换前加一级或多级高精度的放大电路,这样不但增加了成本,电路也较为复杂。而 AD7705 具有完整的模拟前端,内置增益可编程放大器(PGA)和可编程数字滤波器,能直接对传感器输出的 mV 级信号进行调理、滤波、放大和 A/D 转换,然后串行输出,无需使用外部仪表放大器,极大地简化了电路设计。

 

AD7705 的 A/D 转换功能也很强,其采用的Σ-Δ转换技术最高可实现 16 位无误码传输。在本次设计中,AD7705 的两个全差分模拟输入通道可以同时满足两路传感器输出信号的输入,通过软件编程可以方便地对信号增益、极性、输入通道、数据输出更新率和数字滤波器进行设置。AD7705 电路模块如图 2 所示。其中,传感器输出信号直接接入 AD7705 的差分模拟输入通道 AIN1 端。

 

 

2.2 主控模块

智能传感器系统的主控 MCU 选用的是 MC9S08SH4,属于 Freescale 公司 S08 系列 8 位单片机,具有体积小、速度快,片上资源丰富、数据处理能力强等特点。其最大时钟频率为 20 MHz,片上资源包括 4 KB Flash、512 B RAM、8 路键盘中断、SCI 接口、SPI 接口、IIC 总线等模块,采用 TSSOP16 封装,尺寸很小,非常适用于本系统。为了尽量减小电路板面积,本次设计中 MC9S08SH4 的编程接口没有使用标准的 6 芯 BDM 接口,而采用自定义的 4 芯接口,最小系统如图 3 所示。

 

 

2.3 调零模块

调零模块有两个作用,一是在每次测量前让传感器归零,二是在测量过程中即时设置参考零点。

 

传统的机械调零方法是在电路中增加一个电位器,利用改变分压值的方法进行调零。这种方法调节速度很慢,准确性也比较差。本设计中采用的是软件调零方法,首先利用键盘中断采集传感器零输入时的 A/D 转换结果作为参考零点,并存放到一个全局变量中;以后每次 A/D 转换的值都与全局变量中的参考零点相比较,即可得到校正后的结果。软件调零方法准确度高、调节速度非常快,特别适用于在测量过程中即时设置参考零点。

 

2.4 RS-485 通信模块

系统与上位机之间的通信采用 RS-485 通信协议。在实际应用中,一台上位机需要拖挂多个传感器,并且对传输距离有较高的要求。RS-485 串行总线接口采用平衡发送和差分接收的方式进行数据通信,较 RS-232 提高了抗共模干扰能力和传输距离;并且 RS-485 总线能用于多个带有 RS-485 接口的设备互连,实现数据的高速远距离传送。本系统中采用的 RS-485 通信芯片为 MAX1487,输入口 DI 和输出口 RO 分别和 MC9S08SH4 的串行数据发送端 TXD 和串行数据接收端 RXD 相连。读写使能端连接在一起,由 MC9S08SH4 的 PTA1 引脚控制。当 PTA1 输出高电平时,传感器系统向上位机发送数据;当 PTA1 输出低电平时,传感器系统从上位机接收数据,如图 4 所示。

 

 

2.5 电源模块

电源模块采用 24 V 直流输入,除了为传感器预留 24 V、12 V 供电接口外,还为 AD7705、MAX1487、MC9S08SH4 提供 5 V 工作电压。为使系统结构紧凑、体积小,电源模块中使用的稳压芯片为小电流的 78L12、78L05 和 LM1117(SOT-223 封装)各一片。经现场测试后发现,由于系统功率很小,所以电源模块发热量并不大,能够保证长时间稳定工作。

 

3、软件设计

软件设计部分主要包括 MC9S08SH4 初始化、A/D 转换结果的中值滤波和均值滤波、设置参考零点进行数据校正、数据的浮点化处理、校对数据帧格式、通过 SCI 模块和 RS-485 通信模块将数据帧发送到上位机。具体流程如图 5 所示。

 

 

上位机软件采用 LabVIEW 结合 SQL 编写,通过串口和 RS485 通信协议对智能传感器系统的运行状态进行监控,必要时上位机软件可以重新设置数字传感器的通信地址、A/D 转换位数、数据帧格式和串口波特率等参数,并将采集到的运行数据存储在数据库中,便于日后分析整理。

 

本设计实现的基于 Freescale MC9S08SH4 和 AD7705 的智能传感器系统,充分利用 MC9S08SH4 体积小、速度快,片上资源丰富、数据处理能力强等特点,结合 AD7705 内置的信号处理电路和高精度?撞 -?驻 A/D 转换器,在普通传感器上增加了软件调零、浮点数据处理、多点测量、RS-485 双向通信、标准化数字输出等功能,克服了普通力敏、光敏传感器数据传输距离短、零点调节困难、测量节点无法直接与上位机通信、抗干扰能力差等缺点。经现场测试,该系统具有体积小、测量精度高、运行稳定可靠等优点。