基于PIC16F876A单片机的轨道压力测试仪的实现
本系统以
PIC16F876A单片机为核心,通过软件编程实现其对数据处理、系统实时控制。由主控MCU模块、A/D采样模块、电源管理模块、显示模块和传感器组成。
电源管理电路设计
电源管理主要是对电池电压进行升压和稳压,同时还能够进行过压保护和低压报警功能。采用
TPS60230芯片组成升压电路,TPS60230是TI公司生产的一种新型电荷泵DC/DC转换器。其应用原理如图2所示。电池的电压2~5.4V接入TPS60230输入脚IN,为电荷泵电容,采用等效电阻小的电容。R1、R2分压来确定低电压报警门限,当低于R1、R2的分压值时,LBO输出低电平,单片机查询到有低电平后就控制模拟开关切断后续电路电源;输出5V接后面的模拟开关和单片机。
单片机与采样电路设计
根据精度要求,本系统采用ADI公司的16位A/D
芯片AD7705,AD7705芯片将放大、滤波和A/D转换单元集于一体,是一种低成本、宽动态范围、高分辨率的A/D转换芯片。AD7705与单片机通过SPI进行数据通信,连接如图3所示,其中,CH1和CH2为差模输入通道,REF为满量程电平,通过调节RP1来设置满量程电平。单片机作为主机,通过四线SPI与AD7705相连,DRDY为数据转换完成信号,低电平有效,与单片机RC2口相连,单片机查询到RC2口有低电平时,就开始向AD7705发读寄存器指令来获取AD值。CH1+和CH1-为来自压力传感器的压力信号,CH2+和CH2-为调零电位器送来的信号。
采样和数据处理
①AD7705的读写时序
AD7705通过四线SPI与单片机通信所示,读写过程中串行数据高位在前,低位在后。DRDY为低电平说明A/D已经转换完毕,数据已准备好,可以启动读写指令。任何时候要对AD7705进行读写操作都须检查DRDY是否为低。
②AD7705的寄存器
第一个是通信寄存器,选择采集通道、下一次操作是读还是写,以及下一次读写哪一个寄存器。
第二个是设置寄存器,决定校准模式、增益设置、极性设置以及缓冲模式。
第三个是时钟寄存器,设置滤波器记忆时钟控制位。
软件编程思路也是按这个顺序写的,先设置通信寄存器,其次写设置寄存器,最后设置时钟寄存器。设置完之后,只要检测到DRDY为低电平,就可以启动时钟来读取AD7705数据寄存器中已转换好的数据。