3.2 数据采集控制单元的实现
数据采集系统(DAS)控制单元是整个系统的核心,其输入端口及其功能:DAS_STS用于接收AD1674的STS状态信号;DAS_IN(12位)用于接收AD1674并行12位转换输出;CLK,RST用作系统时钟和RESET的信号。输出端口DAS_RC接AD1674的R/C端,用以控制A/D转换器的启动和读数;DAS_A用作控制AD7502的A1A0通道选通信号;DAS_OUT(加通道的序号为16位)用作DAS控制单元的16位输出数据。
DAS控制单元的有限状态机(FSM)有4个状态,分别为St0,St1,St2,St3。St0为选择通道,启动A/D转换,进入St1状态;St1为等待转换结束,若转换结束,进入St2状态,否则保持在St1状态;St2为发出读数据信号,进入St3状态;St3为输出转换数据;选择其他通道,返回St0状态。DAS控制单元采用VHDL语言进行开发,程序的部分代码如下所示:
DAS控制单元的仿真如图4所示。图中显示控制单元运行正确。
3.3 智能传感器系统软件工作流程
系统中误差校正和温度补偿由系统软件控制完成。系统软件由SoPC Builder工具中的软件开发工具(SDK)进行开发。系统软件流程如图5所示。
系统上电初始化并启动DAS控制单元,选通每个通道并消除每个通道的随机误差;然后根据校正过的0通道和1通道的数值,实时计算出误差校正因子,依据误差校正公式(1)实时校正零点漂移校准和增益误差,再根据测量得到传感器的工作温度,计算与标准温度的差值,通过查表获得传感器温度变化系数,最后依据温度补偿公式(5)校正测量压力数据,并将数据输出。
4 结 语
在系统的设计过程中,充分利用FPGA构建系统灵活,软、硬件开发相结合的特点,在满足系统性能的基础上,合理分配软硬件功能,简化系统设计。FPGA把过去由分立芯片实现的系统放在单个芯片中,这种单片系统的设计,大大提高了系统的稳定性和可靠性,同时提高了系统抗工业现场干扰的能力。