基于单片机线性F/V转换系统的设计与实现
2010-04-11朱彩霞
朱彩霞
(淮安信息职业技术学院电子工程系,江苏淮安223003)
0 前言
信号源是电子产品设计、生产中不可缺少的部分。信号源通常作为基准信号,用来测试系统性能,调试系统的参数指标等,因此信号源要求准确、稳定。本课题信号源和常规的信号源不同,它是一个受正弦波频率控制的电压源,输出电压与频率呈线性关系,而且它们的线性关系是不经过原点的直线。现有的F/V转换的器件都不能满足要求,本文用单片机检测正弦波的频率,根据检测的频率确定D/A转换的数字量,控制TLC5615串行D/A芯片将频率信号转变为电压信号,使电压幅度与频率大小呈线性关系。且它们的线性关系是不经过原点的直线。用4片TLC5615和加法运算电路,实现D/A转换精度的提升。
1 方案选择
本课题研究的F/V转换是一种特殊线性F∕V转换,例如要求200Hz对应1V,2000Hz对应5V,F/V的关系曲线是一条不经过原点的直线,即F/V转换需要满足图1中的频率/电压的对应关系。
方案一:若采用F/V转换的专用芯片,如用现有的集成电路LM331构成的F/V转换电路。频率信号从Ui输入,Uo输出直流电压,F/V转换结果关系式如下:
显然这是一条经过原点的直线,与图1所示频率/电压对应关系不符。
方案二:采用单片机测量正弦波信号的频率,再根据测量的频率,控制D/A转换间接实现F/V的转换,即:频率→计算数字量→D/A转换。方法是:用单片机测量出信号的频率,按照图1的线性关系和转换精度的要求,计算出D/A转换的数字量,然后控制D/A转换得到直流电压。
比较两种F/V转换的方法,虽然专用芯片实现F/V转换简单容易,但它不能满足本课题的要求,本系统采用第二种方案。
2 硬件系统的构成
系统由信号处理电路、单片机基本系统、D/A转换、电源等部分组成,如图2所示。
图2 系统框图
2.1 信号处理电路
正弦波信号不能直接送给单片机测量,信号经过运放(运放工作电源为12V/-12V)构成的比较器,在输出端产生同频率的方波,方波信号的幅度为±12V,运放输出端的二极管将负电压钳位在0V(-0.7V),输出正电压为12V 经过7.5K 电阻和5.1K电阻分压,使信号的幅度小于5V,然后送给单片机测量。图3为信号处理电路。
图3 信号处理电路
2.2 单片机测量频率原理
由于200~2000Hz的频率较低,为了提高频率测量的精度,采用测量周期的方法求出频率。单片机采用AT89S51,系统振荡频率12MHz,则机器周期为1us,200~2000Hz信号的周期范围为5~0.5ms,以 2000Hz信号为例,周期为 0.5ms,即500 us,测量周期产生的误差时间为1us,相对测量误差为1/500=2/1000,完全满足测量精度要求。测量周期的方法是将同频率方波加到单片机的中断引脚,作为中断的触发信号,在单片机的中断函数中控制定时器启动和停止,前一次触发启动定时器数机器周期,下一次触发停止定时器计数,两次中断触发期间定时器计数的机器周期数即为被测信号的周期,通过计算求出频率。设测量出的机器为x(单位为us),则频率的计算公式为:
f=1000000/x
然后根据频率计算出所需要数字量,控制D/A转换输出对应的电压。
2.3 D/A转换接口电路
本设计采用10位的串行D/A TLC5615作为D/A转换芯片。芯片引脚少,与单片机接口简单,并且是电压输出型的D/A芯片,最大转换输出电压是参考电压的2倍。在片选有效的条件下,将10位的数字量依次输入芯片的串行数据输入端,高位在前,低位在后。
TLC5615最大的转换电压是参考电压的2倍,将它的参考电压设置为0.625V,则最大的十位数字量转换的电压为1.25V。这时的转换精度是参考电压为2.5V时,满量程转换输出5V的转换精度的4倍,相当于12位D/A转换精度。用4个这样的转换电路,将4路电压信号送给加法运算电路,就可以得到最大为5V的直流电压。图4为由4个TLC5615构成的达到12位精度D/A转换接口电路(D/A转换精度提升)。
2.4 D/A转换控制的数字量分配
满量程转换的数字量为:1111111111B(1023),对应输出电压为1.25V,相应的可以计算出输出1V电压所要的数字量为:1023/1.25=818。对测出的频率需要计出相应的12位数字量,将12位的数字量分为4个10位的数字量,分别控制4个TLC5615进行D/A转换。由图1的F/V关系得到D/A转换数字量转换数字量与频率对应关系如下:
data=(f-200)*(4092-818)/(2000-200)+818
图4 D/A转换接口电路
表1 各个D/A转换控制的数字量分配关系
图5 主程序框图
图6 中断服务程序框图
当DA<1023时,将数字量送1#芯片转换,其余芯片送0转换即可。4路D/A输出通过加法电路实现总的模拟电压的输出。
3 系统软件设计
该系统配合硬件电路的设计,编写程序测量正弦波频率,计算出控制D/A转换的数字量,控制TLC5615转换输出相应的电压。程序设计主要由主程序和外部中断的服务程序组成,分别如图5和图6所示。主程序主要完成对测量标准判断、由周期计算出被测信号的频率、计算出D/A转换的数字量、启动D/A转换等。外部中断的服务程序主要完成对周期信号的周期测量,并置标志,供主程序判断。
4 结束语
本文利用单片机测量信号频率,再控制D/A转换,间接地实现了频率/电压转换过程中特殊的线性要求,解决了一些课题中的特殊要求,同时通过设置串行D/A TLC5615的参考电压,运用加法电路等,实现了D/A转换精度的提升。
[1]张苑农.LM331及其应用[J].十堰职业技术学院学报,2004(2):9-10.
[2]王丽霞,程小辉,龚幼民.基于LM331的频率计[J].仪表技术与传感器,2007(9):23-26.
[3]李建新,李聚春.由LM331构成单片机V/F精密数据采集电路[J].湖北教育学院学报,2007(8):19-20.
[4]汪玉凤,赫飞,刘雨刚,等.LM331应用在A/D转换电路中的体会[J].电子器件,2004(3):31-33.
[5]赫飞,汪玉凤,刘雨刚,等.LM331在A/D转换电路中的应用[J].微计算机信息,2004(11):21.
[6]江冰,李致金,张金波.LM331压频变换器在步进电机驱动器中的应用[J].电子质量,2004(11):7-9.
[7]何献忠,凌云.单片机的数据采集控制[J].机电产品开发与创新,2006(6):6.
[8]林健.V/F电路调试中的若干问题分析[J].集成电路应用,2006(2):22-24.
[9]洪家平,高美珍.LM331在温度测控中的应用[J].微计算机信息,2004(9):11-13.