工控网首页
>

应用设计

>

单片传感信号处理器的设计应用

单片传感信号处理器的设计应用

2006/12/6 9:04:00
关键词:MSP430F2003模数转换 智能数据采集 单线协议 0 引 言 本文介绍美国德州仪器公司新近推出的一款多功能的微控制器MSP430F2003,它内部集成了16位的∑-△模数转换器、1K的程序空间和128字节的数据存储空间。本文利用MSP430F2003设计一种智能数据采集系统,采用单线协议进行数据的传输。 1 MSP430D2003的结构特点 MSP430F2003是TI公司MSP430系列的一款微控制器,它具有以下结构特点: 1)16位的RISC CPU、16位的寄存器和常数发生器,可以获得很高的代码效率; 2)5种低功耗模式,在便携式的测量应用中可以延长电池的使用寿命; 3)数控振荡器(DCO)使得从低功耗模式切换到正常模式只要不到1µs; 4)一个16位的定时器; 5)10个IO口;
7)一个16位的∑-△模数转换器。 MSP430F2003的典型应用是传感系统捕获模拟信号,将模拟信号转换为数字信号,然后利用数字信号作屏幕显示或者将数字信号传输到一个主机系统中用作其他处理。 2 设计应用 2.1 系统介绍 这里利用进行智能数据采集,从前端传感器采集来的数据经过MSP430F2003的程控增益放大器进行放大,随后进入模数转换器进行模数转换,转换完成后以异步串行的方式输出。
系统可以根据外界信号的大小调节转换的精度,只需拉高P2.6同时调节外部输入的模拟量为所测量的最大值,系统将自动调整PGA(程控增益放大器)。 图1是系统的原理图。
2.2 系统软件 系统的软件流程如图2所示。 2.2.1 初始化 初始化部分主要完成以下功能: 负责系统时钟的初始化,使系统工作频率为DCO指定的标准8MHz时钟。 配置系统的端口,由于芯片引脚功能复用,这一过程就显得尤为重要。通过设定SDl6AE和SDl61NCTL0,使得P1.0和P1.1的工作状态分别为A0+、A0-。设定P2.6、P2.7为通用IO口,其中P2.6用作调整PGA的控制信号,P2.7用作数据传输的通道。
初始化系统的AD转换器,采用系统内部的参考电压,由于输入频率最多只能为1.1MHz,故将系 统主频率8分频输入。MSP430F2003中AD转换器没有输入缓存,在缓存模式选择中关闭缓存。系 统用来测量连续变化的物理量,设定系统为连续转换模式。 2.2.2 测量 测量时打开中断,当有测量结果产生时,产生中断,中断标志位置位,测量结果存放在转换结果寄存 器中,从转换结果寄存器中读出测量结果后,中断标志位自动复位。所以读取转换结果时只需查询中断 标志位即可。 测量结果滤波采用中位值平均滤波法,每个测量值采样10次,去除最大值和最小值,其余8个值取算术平均值。
这种算法能够有效地克服因偶然因素引起的波动干扰,尤其适用于温度、液位等变化缓慢的物理量。 测量时使用内部参考电压,测量信号的电压输入范围为0~500mV,当输入信号满量程输入,模数转换输出的最高位不为1时,可进行信号放大,最大放大倍数可达32。 整个测量过程用伪代码表示如下: int measure(void) { int i; if (SET = = 1 ) { 调整增益; } for(i=0;i<10;i++) { 等待转换结果产生; 读取并保存转换结果; } 累加转换结果; 查找最大值与最小值; 中位值平均滤波; 返回测量结果; } 2.2.3 数据传输 数据发送按帧发送,帧结构如下:
每帧数据包括同步码,AD转换结果和检验码,帧的同步可以采用特定的同步码或者间隙同步,这里采用第二种方法。在数据帧发送时,首先拉高数据发送线,拉高的时间为发送16个数据位的时间,帧头高电平的间隙用作数据帧的同步。 奇偶校验码作为一种检错码虽然简单,但是漏检率太高。在计算机网络和数据通信中用得最广泛的检错码,是一种漏检率低得多也便于实现的循环冗余码CRC。CRC生成多项式阶数越高,误判的概率越小。本文采用CCITT-16,其生成多项式为g(x)=x16+x15+x5+1。实现CRC的方法一般有两种:直接计算和查表。由于查表法至少需要1K的 空间用来存储表值,所以这里采用直接计算的方法。 数据传输时使用单线串行输出,用口线模拟串行发送,发送字节时在口线上依次发送如下数据(数据为。时拉低口线电平,数据为1时拉高口线电平),位持续时间根据波特率计算,本应用中设定波特率为9600bps。当没有数据发送时,输出口线上维持高电平。
数据发送最后通过光耦隔离,使得现场和数据的输出隔离,从而确保在复杂的工业环境下系统能够正常工作。 2.3 系统应用 应用该系统进行温度检测,前端用热电偶作传感器提取温度量,通过本系统进行模数转换,在PC机上用串口接收检测结果。测量锅炉的加热过程,用工业温度计测量加热温度作为标准温度,并通过MSP430F2003内部的温度传感器测量环境温度。 实验中采用K型热电偶(镍铬—镍硅),测量结果如表1所示。
实验程序设计时,PGA的放大倍数设定为16,设定SDl61NCH为0,选择通道0测量热电偶温度,测量完成后设定SDl61NCH为6,选择系统的温度传感器测量环境温度。当外界温度为0℃时,MSP430F2003内部的温度传感器的输出电压为360mV,而温度每变化1℃时,MSP430F2003温度传感器的输出电压会偏移1.32mV,根据偏移量,即可计算出环境温度。由于本系统的功耗很低,因系统发热引起的温度偏移可以忽略。 对于K型热电偶,电压变化率为41μV/℃,电压可由线性公式Vout=(41μV/℃)×(tR—tAMB)来近似热电偶的特性。上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度。由于本系统可与后续高档计算机通过串口通讯,计算温度的工作可在后级计算机上完成,计算温度的公式如下: tR=(AD转换值/0x7FFF)*(1.2)/41+tAMB 经过计算,可以发现测量所得温度和标准温度相差不大,可以满足一般工业测温的精度。 3 结束语 经过实际应用,单片MSP430F2003可实现小信号传感器输出电平测量,转换时间小于1ms。并可实现低功耗测量,整机功耗不超过6mW。该系统特别适合于实现了一个智能传感器,当输入信号满辐度大于40mV时可以保证16位A/D转换分辨率。由于实现数字通信输出,可直接与后续测量或控制系统连接。
投诉建议

提交

查看更多评论
其他资讯

查看更多

智光节能内蒙古阿拉善左旗瀛海建材余热发电机组首次启动成功

智光电气台州电厂给水泵系统节能改造项目成功投运

智光节能荣登2014年度全国节能服务公司百强榜第五位

索引程序编程凸轮表

奥越信300系列PLC手册