当前位置:首页 > 嵌入式 > 嵌入式硬件

  引言

  在数据采集系统中,前级放大器的零点漂移是探测误差的主要来源,特别是在环境恶劣的条件下。

  例如,用于铁路轴温检测的红外探头,要在环境温度—40℃至+55℃的范围内可靠的工作,其零点的温漂范围很大,是很难采用简单的软件修正和硬件补偿技术完全解决的。本文介绍利用C8051F007单片机,在进行温度数据采集和处理的同时,通过片上DAC对前级放大器进行零点自动调整,采用“软硬兼施”的闭环调整方法,补偿了系统的零点漂移。

  根据本课题的特点,由于环境温度变化的速度十分缓慢,当采集时间相对环境温度变化较短时,可以认为在采集过程中零点的漂移量是相对固定的。那么,当传感器差动放大器的输入端上产生零点漂移时,我们可以在非数据采集时间内动态地调整放大器的输出参考点,抵消掉零点漂移带来的影响。

  此种方法同样可用于其它传感器零点漂移范围较大、信号变化较慢的情况。

  零点误差的产生

  传感器输出电压VS由零点电压VZ和信号电压VR组成,

  VR是与被测量物理量直接相关的电压,要通过ADC转换成数字量。VZ是零点电位,从长时间来看,VZ往往是随环境温度缓慢变化的,但在较短的采集时间内,也可以近似看作不变。

  为了只将VR进行放大采集,我们将另行提供一个补偿电压VN,并且使VN=VZ,将VS和VN输入到一个差模放大器的两输入端。设放大器的增益为G,则放大器输出为(VZ+VR-VN)G。如果VN=VZ,则输出为VRG,直接得到我们需要的电压。但实际中,VZ会随时间缓慢变化,我们无法时刻做到VN=VZ。而一旦VN≠VZ,输出就会产生零点误差(VZ-VN)G,尤其是在G很大的时候,误差会十分明显。

  根据探测现场的实际情况,平时无列车通过,探头暂停采集的时候,我们可以利用ADC不停地捕捉零点漂移,并通过DAC输出补偿电压VN,随时去掉零点误差。而当列车通过探头的时间内,单片机停止校正并锁存DAC调零输出,探头以此刻DAC调整的输出状态作为探测零点开始进行工作。

  主要器件介绍

  仪表放大器AD620

  仪表放大器是一个双端输入的差动放大器,除了高精度,高稳定性的特点外,其输出零点参考电压可以通过REF管脚的电压任意设置,这就为我们调整零漂提供了可能。

  AD620的输入端有着高达109Ω的输入阻抗;输入失调电压30uV,输出失调电压400uV。输入偏置电流很低,通常在0.5nA最高不超过2nA;增益为100时,增益误差0.15%;增益100时的共模抑制比高达130dB;输入噪声,输出噪声。除此以外,AD620的温度稳定性也十分优异:增益大于1时,增益的温度系数为-50ppm,输入失调电压和输出失调电压的平均温度系数分别为0.3uV/℃和5.0uV/℃。

  与通用运放不同的是,通用运放大多用连接在输入与输出间的外部电阻控制自身闭环增益,而仪表放大器采用内部反馈网络,它的增益控制电阻是不与输入、输出端连接在一起的,有专门用来连接增益设置电阻的引脚。AD620通过接在1、8脚之间的电阻来设置增益大小,增益G与增益设置电阻之间的关系如公式1。

  一般通用运放的输出都是对地输出,而仪表放大器的输出是相对于放大器的输出参考引脚电位的。通过在输出参考引脚施加不同的电压可以设置对地输出电压的输出零点。仪表放大器的对地输出电压公式如公式2。

  C8051F007单片机

  本设计方案需要用到高速MCU和高精度ADC、DAC,Silicon Laboratories公司的高性能单片机C8051F007正好满足这一需要。该单片机集成了8051内核,但时钟频率更高,处理能力更强。片上集成8通道12位ADC和2个12位DAC,除了完成采集和处理任务之外,还有足够的模拟部件进行零漂调整。比用分离元件既提高了可靠性,又简化了电路,也降低了成本。

  片上集成DAC

  C8051F007片上集成的两个DAC使用方法十分简单,DAC可以用单片机内部提供的2.43V参考电压,也可以外部提供。我们在这里使用内部参考电压。参考电压配置寄存器是REF0CN,地址是0xD1。无论使用DAC0还是DAC1,都需要将寄存器的0、1位置“1”。

  在本应用中,bit2到bit0设置成“000”,也就是12位转换数值的MSB到LSB存在DAC0H的bit3到DAC0L的bit0。

  DAC1的设置过程与DAC0相同,不再赘述。

  片上集成ADC

  C8051F007片上集成了一个8通道12位ADC。8个通道既可以单独设置成单通道,也可以两两设置成双端差动采集。在ADC的输入端还有一个前端放大器,放大倍数可以编程。ADC参考电压可以外部提供,也可以使用内部参考电压。内部参考电压2.43V。可以选择多个ADC转换开启信号。

  ADC使用前,也要先设置参考电压,内部参考电压的设置过程可以参考DAC。

  接着设置ADC的输入方式寄存器AMX0CF(地址0xBA)和通道选择寄存器AMUX0SL(0xBB)。8个输入通道两两分成一组(通道0和通道1、通道2和通道3、通道4和通道5、通道6和通道7)。AMX0CF的bit0到bit3可以分别设置这四组输入的方式。置“1”将该组两个输入设置成双端输入方式,清0则该组两通道各自为单端输入方式。AMUX0SL的bit3到bit0为输入端口选择位,控制多路器是外部某一输入端口与ADC相连。具体设置方式可以参考C8051F007的数据手册。

  寄存器ADC0CF,用来设置ADC的转换速率和输入增益。地址0xBC,复位初始数值0x60,表1给出了寄存器ADC0CF的配置说明。

  Bit7- Bit 5: ADC转换时钟设定,通过设定000至1xx来控制ADC的转换周期分别为1、2、4、8和16倍时钟。   Bit4- Bit 3: 无用   Bit2- Bit 1: ADC内部前置放大器增益设置,通过设定000至1xx来控制放大器分别为1、2、4、8和16倍的增益。  ADC0CN寄存器,用于控制ADC的各种转换功能。地址0xE8,复位初始数值0x00,表2给出了ADC0CN寄存器的配置说明  Bit7: ADC开启位  0:ADC进入掉电状态  1:ADC进入激活状态,可以随时进行转换  Bit6: 采样跟踪模式设定  0:在下一次采样之前,ADC一直在跟踪  1:按照ADSTM1-0(Bit3-2)设定的方式跟踪 ADSTM1-0(Bit3-2)  00:向ADBUSY写入1时开始跟踪,需要3个转换周期  01:定时器3溢出开始跟踪,需要3个转换周期  10:管脚CNVTS上升沿开始跟踪,需要3个转换周期  11:定时器2溢出开始跟踪,需要3个转换周期  Bit5: 转换完成中断标志  0:自上次中断标志清除后,没有转换完成  1:ADC完成一次转换  Bit4: ADC忙碌位  读:  0:转换完成或自复位后无转换;当中断开启时,该位由1变到0时触发中断  1:ADC正在忙于转换  写:  0:无效果  1:如果ADSTM1-0(Bit3-2)=00b时,触发一次转换  Bit3-2: 转换触发模式:  00:向ADBUSY写1触发转换  01:定时器3溢出触发  10:管脚CNVTS上升沿触发  11:定时器2溢出触发  Bit1: 窗口比较中断标志(软件清零)  0:窗口比较不满足匹配条件  1:窗口比较满足匹配条件  Bit0: 数据寄存器左对齐设置位  0:数据寄存器右对齐  1:数据寄存器左对齐

  零漂校正过程

  首先我们设定在某一环境下,探头输出没有零点漂移,那么根据公式2,我们得到初始状态仪表放大器输出为(V+-V-)G+VREF。DAC0输出中点电位1.2V,即VREF=1.2V。我们可以调节放大器反相输入端的可调电位器,使放大器输出电压VC,该电压在零到ADC最大采集电压之间,略高于0V即可,这样为的是使ADC可以采集到放大器输出在这个电压上下变化的情况。由于ADC不能采集0V以下的电压,所以该电压不能选择0V。在这里我们选择0.5V,太高了会缩小电压采集的范围。此时

  当环境改变时,设此时传感器产生零点漂移为DVS。放大器输出(V+-V-)G+DVSG+VREF,零点漂移DVS·G。此时通过ADC采集放大器输出电压,如果输出大于VC,则减小DAC0的输出,即减小VREF;相反,如果输出小于VC,则增大DAC0的输出,即增大VREF,这样如此采集->调整->采集.......使放大器输出电压稳定在

  比较式3和式4可以看出,我们完全是靠DAC0的变化量DVREF将DVS·G抵消掉。

  消除零点漂移是一个逐渐逼近的过程,每次逼近的步长可以通过软件设定,但由于受到DAC分辨率的影响,最小步长是DAC的1LSB代表的电压,所以我们最小只能将零漂控制在0到最小步长之间。受DAC输出范围的限制,初始时DAC0输出1.2V,若设此时的零漂为VD(通常我们认为是零),那么,我们能够调节的最大零点漂移范围是[VD-1.2/G,VD+1.2/G]。当单片机的系统时钟为16M时,完成一个采集,调整的周期最多用数百uS。列车通过时间一般在十分钟以内,在此时间内完成的数据采集,对缓慢的零点漂移来说影响是不大的。

  硬件、软件实现

  放大器零点校正的硬件原理图如图1所示。

  仪表放大器的同相输入端接红外传感器输出电压;反相输入端输入调零电压。放大器1、8脚间接入增益设置电阻。5脚的参考电压输入,连接单片机C8051F007片上DAC0的输出,通过DAC的输出来自动校正放大器的零点。实际电路中VREF也可通过电位器分压来取得调整电压,以提高调整细度。放大器输出电压经AIN0送至单片机片上的ADC转化为数字量。

  单片机C语言编程框图如图2所示。

  系统在不采集传感器输出电压的时候自身进行系统调零,先将放大器参考点电压设置为0.5V,也就是让DAC0输出0.5V。然后采集放大器的输出电压,如果输出电压大于0.5V,可以减小参考电压抵消漂移;相反,如果输出电压小于0.5V,说明有负向零点漂移产生,则要增大参考电压抵消漂移。

  结语

  根据仪表放大器的输出公式我们可以看出,当放大倍数很高时,零点漂移也会同时被放大。这样,如果零点漂移本身范围过大时,有可能超出DAC的调节范围。通常有效调节零漂的跨度要略小于DAC的输出范围,可在DAC输出范围的两头各划出一段数据区作为超限标志。程序中每次调节DAC0输出后,要随时检测被转化数字量的大小,一旦发现DAC输出值超出调节范围,可以及时对外发出超限警告。

  实际设计中,零点的调整只是解决本传感器的一个问题,其它例如不同环温下的非线性问题还需要另行解决,好在采用C8051F007高性能单片机,其功能和速度均可同时满足上述要求。

  参考文献:

  1 .C8051F00x datasheet http:///public/documents/tpub_doc/dsheet

  2.AD620 datasheet http:///UploadedFiles/Data_Sheets/897653854AD620_g.pdf

  3.王铁流等,“红外轴温监测系统中列车信号的计算机模拟”,《电子技术应用》,1995.9

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭