后方格智能化观察网
首页 > 智能化方案 > 基于ADuC847的IF转换器的设计

基于ADuC847的IF转换器的设计

导语:本文鉴于模拟I/F转换器的转换精度有所限制,设计基于ADuC847的I/F转换器。

摘要:I/F转换器即电流频率转换器,是一种将输入电流信号按固定的线性比例关系转换为输出频率信号的设备或器件。本文鉴于模拟I/F转换器的转换精度有所限制,设计基于ADuC847的I/F转换器。该设计是将输入的双极性电流信号调理成单极性的模拟电压信号,并经ADuC847的片内集成24位Σ-Δ模数转换器转化为单极性的数字信号。滤波归零后的双极性数字信号通过计算线性比例系数得出输出频率值,频率信号由ADuC847单片机的PWM0输出。

关键字:ADuC847;I/F转换器;数字滑动滤波算法;频率合成算法

The design of the current-frequency converter based on the ADuC847

Yu Lei, Wang Yanping

(Qingdao University of Science and Technology College of Automation and Electronic Engineering, Qingdao 266042)

Abstract:I/F converter - the current frequency converter, is the equipment or device of putting an input current signal to convert the output frequency signal with a fixed linear proportional relationship. In view of the limit of the analog I/F converter in conversion accuracy, we design the I/F converter based on the ADuC847.First,we convert the bipolar current input signal into a unipolar analog voltage signal ,and ADuC847 chip with integrates 24 sigma-delta analog-to-digital converts the voltage signal into a unipolar digital signal. After digital signal filtering and zeroing, we get the bipolar output frequency value by calculating the coefficient of linear proportion, and the frequency signal output from the PWM0 of the ADuC847 microcontroller.

Key words:ADuC847; current-frequency converter; Digital slide filtering algorithm; Frequency synthesis algorithm

I/F转换器即电流频率转换器是一种将输入电流信号按线性的比例关系转换为输出频率信号的器件,它广泛应用在航空航天,遥感遥测,远距离数据采集通信[1],工业领域以及军事领域等方面,尤其是军事领域对I/F转换器的转换精度有较高的要求。以往的I/F转换器以模拟电路为主,由于模拟电路各种噪声温漂的影响,在转换精度提高方面有所限制,即使采用补偿方式[2],转换精度也才十万分之六七。随着数字电路技术的发展,国外已经有了专用的集成电流频率转换芯片。本文针对模拟I/F转换器在转换精度方面的不足,设计基于ADuC847单片机的I/F转换器,该I/F转换器大部分采用集成器件,通过软件实现I/F转换的功能。

1 I/F转换器的硬件设计

1.1 系统设计总体框图

该转换器由4部分组成:电流输入及调理电路、ADuC847主控电路、PWM频率输出电路以及供电电路组成。总体框图如图1所示。

图1 I/F转换器的总体框图

Fig.1 Overall block diagram of current-frequency converter

1.2 系统工作原理

本设计的设计目标是当输入电流信号为-60mA~+60mA时,输出频率信号为-100KHz~+100KHz,性能要求为转换精度要小于十万分之五,输出频率相对稳定,以及输出频率信号能够较快地跟踪输入电流信号。

1.2.1 电流输入及调理电路

输入电流(-60mA~60mA)流经精密电阻(R1和R2),转换为模拟电压信号(-6V~+6V)。该模拟电压信号为双极性的,AD8275可将该双极性电压信号转换为单极性电压信号Vout(0.05~2.45V)。R3和C1组成的积分电路起低通滤波作用。电流输入及调理电路的电路原理图如图2所示,图3为AD8275的内部电路结构[3]

图2 电流输入及调理电路

Fig.2 Current input and conditioning circuit

图3 AD8275内部结构

Fig.3 The internal structure of AD8275

由图2和图3可以计算出输入电流与单极性模拟电压Vout的关系:

Vout = 20 * Iin + 0.5 * Vref_2.5V = 20 * Iin + 1.25        (1)

当输入电流为-60mA~+60mA时,AD8275的输出Vout为:0.05V~2.45V。当输入电流为0mA时,Vout = 1.25V。

1.2.2 ADuC847主控电路

ADuC847是ADI公司高性能8052内核单片机[4],该单片机集成片上高性能、低漂移的10通道单极性或5通道双极性24位Σ-Δ模数转换器,3个16位定时计数器以及两通道16位PWM模块。ADuC847还具有高达62KB的片内Flash程序存储器和2304 Byte的片内数据RAM。大容量的存储器为I/F转换器的算法实现提供了保障。

ADuC847主控电路主要实现对模拟电压V_IN的AD转换,将单极性模拟电压信号V_IN(0.05V~2.45V)转换成24位单极性数字量,并实现对采样信号V_IN数字量的滤波和归零处理,使数字信号可靠稳定。通过计算线性比例系数K,使ADuC847的PWM0输出频率信号。图4只画出与本设计相关的部分。

图4 ADuC847相关电路连接

Fig.4 Relevant circuit connection of ADuC847

1.2.3 PWM频率输出电路

频率信号由PWM0引脚输出,T0起计数作用,/INT0即SIGN反映频率输出的通道。74LS00为4个2输入与非门。由图5得知,当SIGN = 1(高电平)时,Fout-始终为高电平,而Fout+输出频率,即正通道;当SIGN = 0(低电平)时,Fout+始终为高电平,而Fout-输出频率,即负通道,从而实现频率输出的双极性。

图6 PWM频率输出电路

Fig.6 PWM frequency output circuit

1.2.4 供电电路

外部输入直流IN_+5V电源,该电源除了提供给AD8275、ADuC847以及74LS00芯片外,还给ADR421供电,以产生低漂移的+2.5V基准参考电压,即Vref_2.5V。应当注意:应该在每个芯片的每对电源和地引脚间接1个0.1uF的电容,起到电源滤波作用。

图7 供电电路

Fig.7 Power supply circuit

2 I/F转换器的软件设计

软件设计包括初始化模块、AD采集及数字滤波模块、频率计算模块以及数字频率合成模块。

2.1 初始化模块

初始化模块包括ADC的初始化、T0、TIC以及PWM0、PWM1的初始化。ADC采用单极性模式,片内PGA = 1,即0~2.56V范围,以及设置SF = 82,具有50Hz和60Hz陷波作用[5],采样频率设为16.65Hz.。T0初始化为16位计数器模式,TIC初始化为1/16s时间间隔定时器模式,PWM0和PWM1初始化为模式1,可变占空比模式。

2.2 AD采集及数字滤波模块

该设计采用的是将双极性模拟电流信号转换为单极性模拟电压信号,该单极性模拟电压经AD采样变为数字量。由于AD转换采用单极性模式,所以需要进行AD值归零处理。即当输入电流为0mA时,获得的AD采样值为ZERO_OFFSET,进行计算时,需要将采集的AD值减去ZERO_OFFSET,以实现AD采样值的双极性。可以通过滤波后获得稳定的ZERO_OFFSET。

为了获得稳定的AD采样值,需要对采样值进行数字滤波,本设计采用的是数字滑动平均滤波算法[6]。所谓数字滑动平均滤波,就是新采样值和过去的N-1个采样值一起求平均,每新采集一个数据便存入暂存区,同时去掉一个最老的数据,保持这N个数据始终是最新的数据。本设计定义N+1个存储空间,新采样值存于第i%(N+1)个空间,每次采样都加上新采样值并减去第(i+1)%(N+1)个存储空间上的采样值,加和再除以N得平均值,即为滤波后的值。

2.3 频率计算

线性比例系数K的计算:当输入电流为0mA时,可以获得AD采样值为0(归零),当输入电流为60mA时,可以获得AD采样值为AD_60mA,则

K = 100000/(AD_60mA – 0) = 100000/AD_60mA

输出频率Fout = ADC_Value * K;

2.4 数字频率合成

计算得到的输出频率Fout,若Fout>=0,则SIGN = 1,频率从Fout+输出;若Fout < 0,则SIGN = 0,频率从Fout-输出。

由于T0是16位计数器,最大计数值为65536,故输出100KHz的频率至少需要分2次计数,本设计采用1/16s即16次计数方式。算法描述如下:

计算得到的输出频率Fout,除以16,取整为Fre,精确值为Fre_P,每1/16s时间内PWM0发Fre个脉冲,T0计数,当T0计数值达到Fre时,停止PWM0,并计算修正值。因为每1/16s发Fre个脉冲,少发了Fre_P – Fre个脉冲(小于1个),当多次累加到1个脉冲时,Fre+1,从而可以精确控制输出脉冲的个数。

2.5 系统软件设计流程图

程序执行一次循环需要1/16s,在这1/16s的时间内,单片机需要采集AD值,并进行滤波和归一化处理以及计算输出频率值和每次循环所需要发的脉冲值及其精确值,等T0计数值达到Fre是,停止PWM,并计算修正值,然后等待1/16s时间到,重新开始新的循环,滤波阶数设为16,输出脉冲能够较快的跟踪输入电流的变化。

图8 系统软件流程图

Fig.8 System software flow chart

3 实验测试结果

结合模拟I/F转换器的计算非线性度的公式,测试计算得出I/F转换器的非线性度,如下表所示:

表1 I/F转换器的转换精度测试计算数据

Tab.1 Conversion accuracy test data of I/F converter

4 结论

本设计采用的滤波算法可以实现转换精度要求,当提高输出频率时,对应的比例系数K将会增大,即1Hz对应的AD值将会减小,因此需要采用更好的数字滤波算法,方能保证转换精度达到要求,以后的重点工作是设计好的数字滤波算法,以提高输出了频率。

参考文献:

[1] 张亚薇,张志文.一种高精度I/F变换器的研究[J].生命科学仪器,2009,7(12):52-54.

[2] 赵彤,姜建伟,禹小姣,翟亚伟.一类电流频率转换芯片的补偿[J].青岛科技大学学报(自然科学版),2012,33(1):93-98.

[3] Analog Devices.G=0.2,Level Translation 16-Bit ADC Driver AD8275 DataSheet Rev.0[M]. America:Analog Devices,2008.

[4] 李刚,林凌,何峰.ADuC845单片机原理开发方法及应用实例[M].北京:电子工业出版社,2006:20-65.

[5] Analog Devices.MicroConverter Multichannel24-/16-Bit ADCs with Embedded 62 kBFlash and Single-Cycle MCUADuC845/ADuC847/ADuC848 DataSheet Rev.B[M].America: Analog Devices,2005.

[6] 赵毅.数字滤波的滑动平均法和低通滤波法[J].仪表技术,2001(5):40-46.

标签:

上一篇 目录 下一章

猜你喜欢

智能化方案 科技追踪者用何...
科技追踪者:用何种方法可以确定手机上的应用程序正在使用多少内存资源? 在现代智能手机的日常使用中,内存资源的合理分配和管理对于用户体验至关重要。随着移动设...
智能化方案 主题我眼中的中...
在科技的高速发展中,存储芯片作为计算机系统不可或缺的一部分,其重要性不言而喻。中国三大存储芯片公司——海思、联发科和中芯国际,不仅是国内科技领域的领军企业...
智能化方案 未来驾驭新能源...
一、新能源汽车技术的兴起与挑战 随着全球气候变化和环境保护意识的提高,传统燃油车辆正逐步被新能源汽车所取代。电动车、氢燃料电池车以及插电式混合动力车等新能...
智能化方案 芯片巨擘台积电...
一、技术领先:台积电芯片的研发优势 台积电在全球半导体产业中占据领先地位,原因之一是其在研发方面的巨大投资。公司不断投入大量资金用于新技术的研究与开发,这...

强力推荐