摘 要: 论述了一种容错采集系统的设计方法,通过在串行A/D转换器MAX110的中断服务程序中使用软件定时器,实现了对MAX110意外停止转换的故障恢复,确保了MAX110自动连续转换功能的容错性,可提高数据采集系统的可靠性。
在工业过程控制系统的设计中,与工业现场环境相联系的接口电路的设计在保证性能的同时,要求有较高的可靠性和性能价格比。对于模拟输入通道的设计,串行接口的模拟数字(A/D)转换器愈来愈受到设计者们的关注。串行接口A/D转换器接口电路设计简单、芯片体积小、信号线大大减少、易于采取隔离措施,而且许多串行接口芯片的工作模式可编程、设计灵活。其中,MAXIM公司的二通道±14bit串行ADC MAX110在从串行接口读取数据的同时还完成下一转换过程控制方式数据的写入(包括转换启动控制),这样便可实现数据的自动采集;在程序设计时,数据采集进程独立设计,数据按预先设定的方式自动存储到循环队列中,完成和主进程的数据交换,给系统程序的设计提供了很大的方便。但由于系统受环境的干扰,A/D转换器控制数据可能会出错,导致ADC意外停止转换,使数据采集进程停止,本文提出了针对这种故障的容错[1]设计方法。
1 基于串行A/D转换器MAX110的数据采集系统的结构
工业过程控制的许多慢过程,对A/D转换器转换速度要求较低,所以选用慢速A/D转换器便可以满足设计要求。±14bit串行ADC MAX110BCPE转换时间可达到10ms,且可编程控制,精度和速度也可以满足如温度控制对象的数据采集要求。作者在设计适用于温度控制的模糊智能调节器的过程中,数据采集部分使用了基于串行ADC MAX110的具有容错功能的数据采集设计方法。系统结构如图1所示。
模拟信号隔离可选两种方法:选用模拟隔离放大器或在A/D的数字接口采用光电隔离。模拟隔离放大器价格较高,所以选择数字隔离方法,而采用串行A/D可大大减少数字信号隔离路数。如图1所示,串行A/D转换器MAX110的数字侧与微处理器全部采用了光电隔离器件,将MAX110的数据输入输出信号、时钟信号、转换结束中断请求信号由PC817实现电气的隔离。在后续的模拟通道中采用了多路开关CD4051选通输入的各路模拟信号,其中通道选择信号也采取光电隔离的方法,这样使A/D转换器之后的所有电路都与微处理器部分隔离。
2 A/D异常停止转换故障的自动恢复原理
2.1 串行ADC MAX110的控制与数据传递
串行ADC MAX110的转换方式和标定由芯片控制字确定,控制字确定了MAX110 A/D转换的通道、速度等各种工作方式。MAX110 的控制字包含:转换时间控制,SCLK与过采样频率的比率控制、输入通道选择、增益标定控制、内部振荡器掉电控制、模拟部分掉电控制。每次转换按新送入的控制字工作。控制字格式及控制字作用见表1。
MAX110采用与Microwire SPI QSPI 串行接口通讯协议SPI: Serial Peripheral Interface, QSPI Quick SPI)兼容的串行接口标准[3]。其时序实现如图2所示。当微处理器检测到MAX110转换完标志 变高时,AD中断产生,中断服务程序首先将串行时钟信号SCLK初始化为0,再将MAX110片选信号 低,开始串行数据的全双工传输:送MAX110转换命令字,同时接收MAX110转换结果。数据的发送和接收过程是:首先,微处理器将要送命令字的最高位送到MAX110接收命令字的引脚DIN,然后将SCLK置高,MAX110利用SCLK时钟信号的上升沿将命令字最高位读入;这时微处理器将MAX110的转换结果最高位读入。微处理器再将SCLK置低,使SCLK出现下降沿;MAX110在下降沿将转换结果的第二位送到DOUT引脚,微处理器将命令字的第二位送到DUN引脚,再将SCLK置高,MAX110利用SCLK 的上升沿读入命令字的第二位;微处理器读入MAX110转换结果的第二位。如此循环直到将十六位数据接收完毕,命令字写完毕,完成数据交换,最后将 引脚置高。当MAX110的 引脚被置高时,MAX110开始新的转换,转换的工作方式由刚接收到的命令字确定。微处理器A/D中断结束,直到MAX110下一次转换结束时间的到来。
2.2 A/D异常停止转换故障的检测及自动恢复
A/D转换器MAX110的启动包括标定和转换控制字的设置,耗时较长,设计时将MAX110设置为连续转换方式,本次转换启动下次转换,下次转换的转换控制字由本次提供,这样MAX110就可以连续产生采集数据中断,实现数据的自动采集。但这种转换方式有可能出现A/D转换停止的故障。因为系统受到外界干扰时,可能会影响到某些数据线信号波形的偶然畸变,而串行A/D MAX110每次转换都建立在收到正确转换命令的基础上,如受到干扰,转换命令字错误,有可能导致MAX110停止转换,或者进入休眠方式或模拟电路电压切离的低功耗方式,这样系统将停止数据采集。
解决这种停止转换故障的方法如图3所示。在数据的自动采集过程中,下次转换的正常工作建立在本次正确送入控制字的基础上,所以在微处理器的软件定时器中设置一个按一定时间间隔不停增长的计数器ADRUN,在A/D转换中断服务程序中将ADRUN计数器值清零。若A/D正常转换,ADRUN计数器的值将保持在某一范围内;若A/D停止正常转换,ADRUN计数器的值将超出预先设定的范围。在系统程序的主循环中每次判断ADRUN计数器的值,若ADRUN计数器超限,说明MAX110停止转换,随即将MAX110重新初始化,使数据采集模块恢复正常工作,同时在系统的故障数据库中做出记录以备分析。这种设计方法保证了数据采集模块的稳定运行,使系统具备了一定的容错功能。
本文论述的容错数据采集系统已在自行设计的以Intel 80C196为微处理器的智能调节器中使用和测试。测试时,给数据采集系统注入故障,使AD采集进程停止工作,实验证明,在预先设定的时间内,故障得以排除并记录了故障情况,数据采集正常进行。但这种容错设计方法的可靠性依赖于探测故障时所使用的定时器的可靠性,若定时器异常停止工作,系统将不能检测到A/D转换的故障。
关键字:容错 软件定时器
编辑:赵思潇 引用地址:基于MAX110的容错数据采集系统的设计
推荐阅读最新更新时间:2023-10-12 20:11
Vicor辐射容错 DC-DC 转换器电源模块,具备抗单粒子干扰功能
日前,Vicor 公司(NASDAQ:VICR)宣布推出其首款辐射容错 DC-DC 转换器电源模块,该模块采用 Vicor 最新电镀 SM-ChiP™ 封装。ChiP 可从 100V 的标称电源为高达 300 瓦的低电压 ASIC 供电,其经过波音公司测试,不仅能够抵抗50 krad 电离总剂量,而且还具备抗单粒子干扰(single-event upsets)的功能。凭借冗余架构实现对单粒子干扰(single-event upsets)免疫,将两个具有容错控制 IC 的相同功率模块并联,封装于高密度 SM-ChiP模块中实现抗干扰功能。 先进的通信卫星要求具备高功率密度和低噪声特性。Vicor 采用金属外壳 ChiP 封装的软
[电源管理]
KST-STM32学习之PWM实现的各种途径(软件硬件+通用高级定时器)
一、STM32的通用定时器介绍 STM32F103ZE 拥有 TIM2、TIM3、TIM4 和 TIM5 共 4 个通用定时器。 STM32F103C8拥有TIM2/TIM3/TIM4这三个通用定时器 通用定时器除了具备基本定时器的向上计数器功能外,还可以向下、向上/向下计数。 此外还具备独立通道,能够实现输入捕获、输出比较、PWM 输出、单脉冲输出的功能。 二、输出比较产生PWM 1、产生PWM的几种方式 ①、硬件实现。比如STM32 自带的 PWM 输出功能。 注意了,硬件实现的时候,外部接线需要接到通用定时器的外部通道上! ②、通用定时器的输出比较实现软件的PWM,这个软件产生的PWM要比
[单片机]
一个定时中断产生N个软件定时器
#include reg52.h //三个LED灯并行处理,分别闪烁0.5、1、2S #define BLINK_TIME1 25//定时时间0.5S,每20MS中断一次 #define BLINK_TIME2 50//1S #define BLINK_TIME3 100//2S sbit led1=P1^0; sbit led2=P1^2; sbit led3=P1^4; volatile unsigned int count1=0,count2=0,count3=0;//volatile是一个前缀的修饰关键词,用来保护主函数和中断函数公用的全局变量volatile unsigned char timeflag1=0,timef
[单片机]
基于双DSP的磁轴承数字控制器容错设计
引言 电磁轴承(AMB)是利用可控电磁吸力将转子悬浮起来的一种新型高性能轴承,具有无接触、无摩擦、高速度、高精度、不需润滑和密封等一系列特点,在交通、超高速超精密加工、航空航天等高科技领域有着广阔的前景。 由于磁悬浮系统本征不稳定,控制系统的好坏将会直接决定磁轴承的性能。近年来国内外在数字控制方面发展很快,数字控制器将是未来的磁轴承控制的主流,图1为数字磁轴承控制系统结构框图。本文从工业应用的要求和成本考虑,对图1虚线方框内的控制器进行了容错设计,提出了双DSP容错控制器的方案,而对于传感器、线圈和功率放大器部分的容错设计本文不进行讨论。 磁悬浮控制器的容错设计分析 冗余是实现容错和提高可靠性的一种有效方法,对于磁轴承DSP控
[嵌入式]
容错控制的冗余技术
容错控制的研究虽然面临着空前的挑战,但近些年来,相关研究领域,如鲁棒控制理论,模糊控制,神经网络控制研究的不断深入和发展,也给容错控制的研究带来了良好的机遇,提供了充分的条件。 而计算机控制技术、人工智能等技术的飞速发展,使得容错控制技术在实际工程中应用的可能性变得越来越大。 容错概念的由来 所谓容错:就是容许错误,是指设备的一个或多个关键部分发生故障时,能够自动地进行检测与诊断,并采取相应措施,保证设备维持其规定功能,或牺牲性能来保证设备在可接受范围内继续工作。 错误一般分为两类:第一类是先天性的固有错,如元器件生产过程中造成的错、线路与程序在设计过程中产生的错。这一类的错误需对其拆除、更换或修正,是不能容忍的
[嵌入式]
英飞凌推出单片集成线性霍尔传感器 用于开发满足ASIL D的容错系统
(图片来源:英飞凌官网) 据外媒报道,半导体供应商英飞凌科技将推出单片集成线性霍尔传感器XENSIV™TLE4999I3。该传感器完全按照汽车应用安全标准ISO26262开发,有助于开发满足最高功能安全级别(ASIL D)的容错系统,包括电动转向系统、电子节气门控制系统和踏板应用程序。 ISO26262要求系统在发生单一故障时,例如一个组件发生故障,仍能正常工作。因此,TLE4999I3能保证系统不间断运行。该装置为单片设计,由两个独立的霍尔元件组成。这两个霍尔元件的信号路径彼此独立。内部控制机制对芯片内已有传感器数据进行可信性检查。此外,新的线性霍尔传感器还为系统提供一系列状态信息。 TLE4999I3还具有极
[汽车电子]
stm32-学习经验总结 ———UCOSIII-软件定时器
一、软件定时器简介 UC/OS-III提供了软件定时器服务,定时器的本质就是一个递减的计数器,当计数器减到0的时候可以触发某种动作的执行,这个动作通过回调函数来实现,回调函数是用户自己定义的,可以是简单的打开一个LED灯,或者开启电机等。当定时器计时完成时,定义的回调函数就会被立即调用,应用程序可以有任意数量的定时器。 注意!一定不要在回调函数中使用阻塞调用或者可以阻塞或删除定时器任务的函数,比如:OSTimeDly() OSTimeDlyHMSM() 等等一些函数。 UCOSIII的软件定时器服务的相关代码是在OS_TIMR.c文件中,当设置OS_CFG.H中的OS_CFG_TMR_EN置为1的时候软件定时器服务被使能。 UCO
[单片机]
基于双DSP的磁轴承数字控制器容错设计
摘要:分析并提出了应用于磁轴承的双DSP热备容错控制方案,本方案采用时钟同步技术,由总线表决模块实现系统的容错处理,由硬件判决实现硬件故障判断。再根据以上两个判决模块的结果由中心仲裁模块进行复杂的仲裁,并完成切换和完善的报警逻辑,从而实现容错功能,较大地提高了磁轴承控制系统的可靠性。以上所有逻辑均由VHDL语言在CPLD上实现。
关键词:容错 磁轴承控制器 CPLD DSP
电磁轴承(AMB)是利用可控电磁吸力将转子悬浮起来的一种新型高性能轴承,由于其具有无接触、无摩擦、高速度、高精度、不需润滑和密封等一系列的优良品质,在交通、超高速超精密加工、航空航天等高科技领域有着广泛的应用。
由于磁悬浮系统本征不稳定,控制
[应用]