爱普生压电喷头行业资讯
2024-05-03
图1 系统原理图 为简化系统,同时避免外部晶振对系统的影响,系统采用内部DCO作为时钟,系统利用差分传输数据,无需进行数据的隔离。本应用中配置传输速率为9600b/s,可以用串口设定匹配的波特率进行接收。 无论系统采用内部参考电压还是外部参考电压,输入电压都有相应的范围,所以前端模拟量的输入要用稳压管进行限幅。 系统可以根据外界信号的大小调节转换的精度,只需拉高P2.6同时调节外部输入的模拟量为所测量的最大值,这时系统将自动调整PGA(程控增益放大器)。 由于采用半双工的差分传输,系统很容易进行扩展,系统可以利用多个传感器组成一个传感器网络,通过总线控制传感器采集数据。系统软件 系统的软件流程图如图2所示。
图2 系统软件流程图初始化 初始化部分主要完成以下功能。 负责系统时钟的初始化,使系统工作频率为DCO指定的标准8MHz时钟。 配置系统的端口,由于芯片引脚功能复用,这一过程就显得尤为重要。通过设定SD16AE和SD16INCTL0,使得P1.0和P1.1的工作状态分别为 A0+、A0-。设定P2.6、P2.7为通用IO口,其中P2.6用作调整PGA的控制信号,P2.7用作数据传输的通道。 初始化系统的AD转换器,采用系统内部的参考电压,由于输入频率最多只能为1.1MHz,故将系统主频率8分频输入。MSP430F2013中ADC没有输入缓存,在缓存模式选择中关闭缓存。系统用来测量连续变化的物理量,设定系统为连续转换模式。测量 测量时打开中断,当有测量结果产生时,产生中断,中断标志位置位,测量结果存放在转换结果寄存器中,当从转换结果寄存器中读出测量结果后,中断标志位自动复位。所以读取转换结果时只需查询中断标志位即可。 测量结果滤波采用中位值平均滤波法,每个测量值采样10次,去除最大值和最小值,其余8个值取算术平均值。
这种算法能够有效地克服因偶然因素引起的波动干扰,尤其适用于温度、液位等变化缓慢的物理量。 测量时使用内部参考电压,测量信号的电压输入范围为0~500mV,当输入信号满量程输入,模数转换输出的最高位不为1时,可进行信号放大,最大放大倍数可达32。当输入信号的放大倍数为N时,输入信号的范围会相应地缩小为原来的1/N。例如,当选择PGA的放大倍数为2倍时,测量信号的电压输入范围为 0~250mV。 整个测量过程用伪代码表示如下。 int measure (void) { int i; if ( SET==1 ) { 调整增益; } For (i=0;i<10;i++) { 等待转换结果产生; 读取并保存转换结果; } 累加转换结果; 查找最大值与最小值; 中位值平均滤波; 返回测量结果; }数据传输 数据发送按帧发送,帧结构如图3所示。
图3 数据帧结构图 每帧数据包括同步码,AD转换结果和检验码,帧的同步可以采用特定的同步码或者间隙同步,这里采用第二种方法。在数据帧发送时,首先拉高数据发送线,拉高的时间为发送16个数据位的时间,帧头高电平的间隙用作数据帧的同步。 奇偶校验码作为一种检错码虽然简单,但是漏检率太高。在计算机网络和数据通信中用得最广泛的检错码,是一种漏检率低得多也便于实现的循环冗余码CRC。 CRC生成多项式阶数越高,误判的概率越小。本文采用CCITT-16,其生成多项式为g(x)=x16+x15+x5+1。实现CRC的方法一般有两种:直接计算和查表。由于查表法至少需要1kb的空间用来存储表值,所以这里采用直接计算的方法。 数据传输时使用单线串行输出,用口线模拟串行发送,发送字节时在口线上依次发送如图4所示数据(数据为0时拉低口线电平,数据为1时拉高口线电平),位持续时间根据波特率计算,本应用中设定波特率为9600b/s。当没有数据发送时,输出口线上维持高电平。
图4 发送字节的顺序示意图 数据发送最后通过光耦隔离,使得现场和数据的输出隔离,同时可以根据后级系统输入的需要简单地更改电路。结束语 经过实际应用,单片MSP430F2013可实现小信号传感器输出电平测量,转换时间小于1ms。并可实现低功耗测量,整机功耗不超过6mW。该系统特别适合于实现了一个智能传感器,当输入信号满辐度大于40mV时可以保证16位A/D转换分辨率。由于采用半双工的差分传输,可以方便地实现传感器的组网。



