采用C8051F410设计的精确信号模拟电路
在对某型发射装置进行检测时.需要提供三组以11.50伏为基准的精确直流电压信号。为配合测试流程,这三组信号需要在不同的时段取18个不同的直流电压值,幅度分布在9.33-12.13伏范围之内。原有的测试仪采用22个精密电阻组成的分压器,配合波段开关选择来产生这18种不同的精确直流电压信号。这种设计方法价格昂贵,并且不能实现自动化检测,需要通过手工拨动波段开关来实现测试步骤的转换。为了实现对发射装置的自动测试。采用微机技术设计了新型的检测仪。新的检查仪以CPU模块为核心,通过程序控制D/A转换器来产生这三组精确直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。但是在检测仪的使用过程中发现经常出现重测合格(RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好.这种状况严重影响装备单位的使用和维护。后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。电压输出不稳定,从而导致测试状态不正确。为了解决这个问题,本文基于C8051F410单片机。采用PWM调制技术和负反馈测量技术设计了~种新的精确信号模拟电路,有效抑制了工作点漂移问题提高了模拟电路输出精度.解决了装备维护使用工作中存在的实际问题。 1 电路结构及原理 电路设计采用了闭环控制结构,如图l所示。电路以C8051F410单片机为核心.通过程序设定需要输出电压的初始参数,控制单片机内部的可编程计数器阵列(PCA)产生适当占空比的PWM波形,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。为了抑制-亡作点漂移并保证足够的输出精度,将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较.通过程序调节PWM波形的占空比.从而得到具有高可靠性和较高精度的直流电压输出信号。
本电路的基本思想就是利用单片机具有的PWM端口,在不改变PWM方渡周期的前提下.通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而得到所需要的电压信号。本电路所要求的单片机必须具有ADC端口和PWM端口这两个必需条件,ADC的位数要求尽鼍高,单片机的工作速度要求尽量快。在调整输出电压前,单片机先快速读取输出电压的大小.然后把设定的输出电压与实际读取到的输出电压进行比较,若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比:若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。经选型发现,C8051F410单片机处理器最高运行时钟可达50MHz:具有6个PCM模块.可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。
2 硬件设计 整个电路的硬件设计主要包括C8051F410单片机的外围电路设计、放大电路设计以及电压反馈测量前置电路设计三个部分。如图2所示。
图2硬件电路示意图 整个电路以C805IF410单片机为核心。C805IF410单片机具有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O引脚使用。输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。C8051F410单片机外围电路设计主要包括在线调试和下载电路、外部参考电压电路和滤波电路设计。本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。二级信号放大电路和推挽式输出电路均为经典电路,在此不再赘述。电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。由于设定C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。
3 软件设计 本电路中运用c语言编程来实现PWM控制,利用C8051F410芯片的可编程计数器阵列组成PWM发生器。C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成.捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。每个捕捉,比较模块的丁作方式都可以被独立配置。对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个: 1) PCAOCN可编程计数器阵列控制寄存器。该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。2) PCAOMD可编程计数器阵列方式寄存器。该寄存器用于设置可编程计数器阵列的工作模式及时钟源。3) PCAOCPMn可编程计数器阵列捕捉/比较寄存器。该寄存器可进行捕捉/比较模块n的工作方式。4) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。该寄存器用于设置捕捉/比较模块n的高低字节。
|