Download presentation
Presentation is loading. Please wait.
1
计算机控制系统 主讲教师:路飞 山东大学网络教育学院
2
第4章 过程输入输出通道接口技术 本章要点 1.多路开关、采样保持等环节的功能作用 2.模拟量输入通道的结构组成
3.8位A/D转换器ADC0809芯片及其接口电路 4.模拟量输入通道的结构组成 5.8位D/A转换器DAC0832芯片及其接口电路
3
本章主要内容 4.1 概述 4.2 模拟量输入通道 4.3 8位A/D转换器及其接口技术 4.4 12位A/D转换器AD574A
4.1 概述 4.2 模拟量输入通道 4.3 8位A/D转换器及其接口技术 位A/D转换器AD574A 4.5 模拟量输出通道 4.6 8位D/A转换器及其接口技术 位D/A转换器DAC1208 4.8 过程通道的抗干扰与可靠性设计 本章小结 思考题
4
4.1 概述 4.1.1 信号和采样定理 4.1.2 采样/保持器 4.1.3 模拟开关 4.1.4 32 通道模拟量输入电路设计
4.1 概述 本节主要介绍采样定理、采样/保持器和多路模拟开关。 4.1.1 信号和采样定理 4.1.2 采样/保持器 4.1.3 模拟开关 通道模拟量输入电路设计
5
4.1.1 信号和采样定理 信号类型: 在计算机控制系统中常用的三种信号是: 模拟(连续)信号 离散模拟信号 数字(离散)信号
6
4.1.1 信号和采样定理 信号类型: 采样器 A/D 计算机 D/A 保持器 时间信号 连续模拟 离散模拟 离散数字
模拟信号 信息输入 信息处理 信息输出 时间信号 连续模拟 离散模拟 离散数字 图4-1计算机前后的信息转换 模拟信号
7
4.1.1 信号和采样定理 采样过程的数学描述: 离散系统或采样数据系统--把连续变化的量变成离 散量后再进行处理的计算机控制系统。
离散系统的采样形式--有周期采样、多阶采样和随机采样。应用最多的是周期采样。 周期采样--就是以相同的时间间隔进行采样,即把一个连续变化的模拟信号y(t),按一定的时间间隔T 转变为在瞬时0,T,2T,…的一连串脉冲序列信号 y*(t),如图4-2所示。
8
采样的常用术语: 图4-2 信号的采样过程 采样器或采样开关--执行采样动作的装置 采样时间或采样宽度τ--采样开关每次闭合的时间
图4-2 信号的采样过程 采样的常用术语: 采样器或采样开关--执行采样动作的装置 采样时间或采样宽度τ--采样开关每次闭合的时间 采样周期T--采样开关每次通断的时间间隔 在实际系统中,《T ,也就是说,可以近似地认为采样信号y*(t)是y(t)在采样开关闭合时的瞬时值。
9
4.1.1 信号和采样定理 采样定理: 由经验可知,采样频率越高,采样信号 y*(t)越接近原信号y(t),但若采样频率过高,在实时控制系统中将会把许多宝贵的时间用在采样上,从而失去了实时控制的机会。为了使采样信号y*(t)既不失真,又不会因频率太高而浪费时间,我们可依据香农采样定理。香农定理指出:为了使采样信号y*(t)能完全复现原信号y(t),采样频率f 至少要为原信号最高有效频率fmax的2倍,即f 2fmax。 采样定理给出了y*(t)唯一地复现y(t)所必需的最低采样频率。实际应用中,常取f (5~10)fmax。
10
4.1.2采样/保持器 采样/保持器的作用—在采样时,其输出能够跟随输入变化,而在保持状态时,能使其输出值不变.保持器是在两次采样的间隔时间内,一直保持采样值不变直到下一个采样时刻。它的组成原理电路与工作波性如图4-3(a)、(b)所示。
11
图4-3 采样保持器 S/H V V t V t 采样 保持 ( a ) 原 理 电 路 ( b ) 工 作 波 性 工作方式 IN IN
OUT 工作方式 t V OUT t 采样 保持 ( a ) 原 理 电 路 ( b ) 工 作 波 性 图4-3 采样保持器
12
4.1.2采样/保持器 采样/保持器的工作原理 采样/保持器主要由模拟开关、保持元件C、缓冲放大器组成。 控制 图4-4 采样/保持器电路
13
4.1.2采样/保持器 采样/保持器的工作原理 当开关K闭合时,输入信号通过电阻向电容C充电,使输出跟随输入变化此时为采样状态;要求充电时间越短越好,以使电容电压迅速达到输入电压值。 当开关K断开时,由于电容具有一定的容量,仍能够使输出保持不变,此时为保持状态;电容维持稳定电压的时间越长越好,电容容量的大小将决定采样/保持器的精度。
14
4.1.2采样/保持器 常用的采样/保持器 采样保持器的用途: 保持模拟量信号不变,以便完成A/D转换;
常用的采样/保持器有:AD582、AD583、LF198/298/398等 采样保持器的用途: 保持模拟量信号不变,以便完成A/D转换; 同时采样几个模拟信号,以便进行数据处理和测量; 减少D/A转换器的输出“毛刺”; 把一个D/A转换器的输出分配到几个输出点,以保证输出电压的稳定性
15
4.1.3模拟开关 在用计算机进行测量和控制中,经常需要有多路和多参数的采集与控制,如果每一路单独采用各自的输入回路,会造成成本高、体积庞大等问题,因此通常采用公共的采样/保持及A/D转换电路,为实现这种设计,往往采用多路模拟开关; 由于计算机的工作速度远远快于被测参数的变化,因此一台计算机系统可供几十个检测回路使用,但计算机在某一时刻只能接收一个回路的信号。所以,必须通过多路模拟开关实现多选1的操作,将多路输入信号依次地切换到后级。
16
4.1.3模拟开关 目前,计算机控制系统使用的多路开关种类很多,并具有不同的功能和用途。如集成电路芯片CD4051(双向、单端、8路)、CD4052(单向、双端、4路)、AD7506(单向、单端、16路)等。所谓双向,就是该芯片既可以实现多到一的切换,也可以完成一到多的切换;而单向则只能完成多到一的切换。双端是指芯片内的一对开关同时动作,从而完成差动输入信号的切换,以满足抑制共模干扰的需要。 本节主要讲解CD4051。
17
INH为禁止端,高电平时,八个通道全部禁止;INH为低电平时,由A、B、C决定选通的通道,COM为公共端。
4.1.3模拟开关 4 6 COM 7 5 INH VEE VSS VDD 2 1 3 A B C 图4-5 CD4051引脚图 INH为禁止端,高电平时,八个通道全部禁止;INH为低电平时,由A、B、C决定选通的通道,COM为公共端。
18
4.1.3模拟开关 输入 接通通道 INH C B A 1 2 3 4 5 6 7 × 禁止 CD4051真值表
19
当采样通道多至24路时,可以将3个8路4051并联起来,组成1个24路开关。
通道模拟量输入电路设计 当采样通道多至24路时,可以将3个8路4051并联起来,组成1个24路开关。 例题3-1 试用3个CD4051扩展成一个24路的模拟开关。 例题分析:图4-6给出了三个CD4051扩展为1×24路模拟开关的电路。数据总线D2~D0作为通道选择信号,D4~D3用来控制哪个CD4051被选中。如此,组成一个24路的模拟开关。
20
图4-6 24通道模拟量输入电路 74HC273 +5V D0~D7 A/D 转换器 74HC138 CD4051 10KΩ +12V
VEE A B C INH OUT VSS +12V -6V AIN0 AIN1 AIN2 AIN3 AIN4 AIN5 AIN6 AIN7 VCC 1D Q 2D Q 3D Q 4D Q 5D Q 6D Q 7D Q 8D Q CLK CLR GND +5V D0~D7 CHSEL A Y0 B Y1 C Y2 G Y3 G2A G2B A/D 转换器 74HC138 CD4051 10KΩ 图4-6 24通道模拟量输入电路
21
D7 D6 D5 D4 D3 D2 D1 D0 假设选中AIN12通道,则通道控制字为4CH 选中通道 控制字
AIN H AIN H AIN H AIN H AIN H AIN H AIN H AIN H AIN H AIN H AIN AH AIN BH AIN CH AIN H
22
图4-14 32通道模拟量输入电路 CD4051 74HC273 +5V D0~D7 +12V VDD 0 VEE 1 A 2 B 3
INH OUT VSS AIN0 AIN1 AIN2 AIN3 AIN4 AIN5 AIN6 AIN7 VCC 1D Q 2D Q 3D Q 4D Q 5D Q 6D Q 7D Q 8D Q CLK CLR GND -6V D0 D1 D2 D3 D4 D5 D6 D7 A Y0 B Y1 C Y2 G Y3 G2A G2B GND CD4051 CHSEL +12V VDD VEE A B C INH OUT VSS AIN8 AIN9 AIN10 AIN11 AIN12 AIN13 AIN14 AIN15 -6V 10kΩ 74HC138 +5V CD4051 +12V VDD VEE A B C INH OUT VSS AIN16 AIN17 AIN18 AIN19 AIN20 AIN21 AIN22 AIN23 -6V A/D 转换器 CD4051 +12V VDD VEE A B C INH OUT VSS AIN24 AIN25 AIN26 AIN27 AIN28 AIN29 AIN30 AIN31 -6V 图4- 通道模拟量输入电路
23
图4-15 通道控制字 D7 D6 D5 D4 D3 D2 D1 D0 选中通道 控制字 未用为0
AIN H AIN H AIN2 42H AIN3 43H AIN4 44H AIN5 45H AIN6 46H AIN7 47H AIN8 48H AIN9 49H AIN10 4AH AIN11 4BH AIN12 4CH AIN13 4DH AIN14 4EH AIN15 4FH AIN16 50H AIN17 51H AIN18 52H AIN19 53H AIN20 54H AIN21 55H AIN22 56H AIN23 57H AIN24 58H AIN25 59H AIN26 5AH AIN27 5BH AIN28 5CH AIN29 5DH AIN30 5EH AIN31 5FH G1 C B A C B A 74HC CD4051 图4- 通道控制字
24
4.2 模拟量输入通道 4.2.1 模拟量输入通道的组成 4.2.2 A/D转换器的工作原理 4.2.3 量化
4.2 模拟量输入通道 4.2.1 模拟量输入通道的组成 4.2.2 A/D转换器的工作原理 4.2.3 量化 4.2.4 A/D转换器的技术指标
25
4.2.1模拟量输入通道的组成 模拟量输入通道的任务是把被控对象的过程参数如温度、压力、流量、液位、重量等模拟量信号转换成计算机可以接收的数字量信号。 结构组成如图4-7所示,来自于工业现场传感器或变送器的多个模拟量信号首先需要进行信号调理,然后经多路模拟开关,分时切换到后级进行前置放大、采样保持和模/数转换,通过接口电路以数字量信号进入主机系统,从而完成对过程参数的巡回检测任务。
26
过程参数 检 测 模拟开关 图4-7 模拟量输入通道的组成
信号处理 模拟开关 放大器 采样-保持 A/D 接口 CPU总线 控制 图4-7 模拟量输入通道的组成 显然,该通道的核心是模/数转换器即A/D转换器,通常把模拟量输入通道称为A/D通道或AI通道。
27
4.2.2 A/D转换器的工作原理 1 逐次逼近式A/D转换原理
一个逐次逼近式A/D转换器是由逐次逼近寄存器SAR、D/A转换器、运算比较器、时序及控制逻辑电路、等组成。现以4位A/D转换器把模拟量9转换为二进制数1001为例,说明逐次逼近式A/D转换器的工作原理。如图4-8(a)所示。
28
D/A转换 SAR 时序及控制逻辑 图4-8 (a) 逐位逼近式A/D转换原理图 Vx VC 比较器 基准电压 数字量 状态线 转换命令
输出 基准电压 Vx VC 转换命令 状态线 图4-8 (a) 逐位逼近式A/D转换原理图
29
当启动信号作用后,时钟信号在控制逻辑作用下,
首先使寄存器的最高位D3 1,其余为0, 此数字量1000经D/A转换器转换成模拟电压即VC 8,送到比较器输入端与被转换的模拟量Vx = 9进行比较,控制逻辑根据比较器的输出进行判断。当Vx VC ,则保留D3 = 1; 再对下一位D2进行比较,同样先使D2 1,与上一位D3位一起即1100进入D/A转换器,转换为 VC 12再进入比较器,与 Vx 9比较,因 Vx VC ,则使D2 0; 再下一位D1位也是如此,D1 1即1010,经D/A转换为 VC = 10,再与Vx 9比较,因 Vx VC ,则使D1 0; 最后一位D0 1-即1001经D/A转换为 VC 9,再与 Vx 9比较,因 Vx VC ,保留D0 1。比较完毕,寄存器中的数字量1001即为模拟量9的转换结果,存在输出锁存器中等待输出。
30
逐次逼近式A/D转换器的优点: 精度高;转换速度较快;转换时间固定。因而特别适合于计算机数据采集系统和控制系统的模拟量输入通道。 缺点:抗干扰能力弱,信号变化率较高时,会产生较大 的线性误差。
31
4.2.2 A/D转换器的工作原理 2 双积分式A/D转换原理
该方法的基础是测量两个时间:一个是模拟输入电压向电容充电的固定时间;另一个是在已知参考电压下放电所需要的时间。模拟输入电压与参考电压的 比值就等于上述两个时间值之比。
32
图4-8 (b) 双积分式A/D转换器组成框图 控制逻辑 时钟 计数器 输入模拟电压VX 积分器 比较器 基准电压 转换结束 转换开始
数字量输出 转换结束 基准电压 输入模拟电压VX 积分器 比较器 图4-8 (b) 双积分式A/D转换器组成框图
33
积分输出 t A B T 固定积分时间 T1 正比于输入电压 T2 图4-8 (c) 双积分式A/D转换器原理图
34
优点:消除干扰和电源噪声的能力强,精度高;
缺点:转换速度慢; 在信号变化缓慢,模拟量输入速率要求较低,转换精度要求较高且现场干扰比较严重的情况下,有时可以采用这种A/D转换器。
35
4.2.3 量化 量化与量化误差 将时间连续、幅值连续的模拟量转换为以二进制数码表示的数字量过程是一个采样和量化的过程。
量化:用有限字长的一组数码和二进制数码去整量化或逼近时间离散幅值连续的采样信号。 对n位字长的A/D转换器,若满度(满量程)输入的模拟量值表示为FSR,则量化单位q: q=FSR/2n 量化误差:由量化引起的误差,表征为
36
4.2.3 量化 编码 在计算机控制系统中使用的编码形式有多种。选用不同的编码形式,不仅影响到A/D转换器的结构和性能,而且影响到处理这一数字量时的编码变换操作。常用的编码有: 单极性编码:最常用的单极性编码是二进制数码。 双极性编码:常用的双极性编码有:符号-数值码;偏移二进制码;补码表示法。
37
4.2.4 A/D转换器的技术指标 (1)分辨率 分辨率是指A/D转换器对微小输入信号变化的敏感程度。分辨率越高,转换时对输入量微小变化的反应越灵敏。通常用数字量的位数来表示,如8位、10位、12位等。分辨率为n,表示它可以对满刻度的1/2n的变化量作出反应。即: 分辨率 = 满刻度值/2n
38
4.2.4 A/D转换器的技术指标 (2)转换精度 A/D转换器的转换精度可以用绝对误差和相对误差来表示。
相对误差是指绝对误差与满刻度值之比,一般用百分数来表示,对A/D转换器常用最低有效值的位数LSB(Least Significant Bit)来表示: 1LSB = 1/ 2n 。
39
例如,对于一个8位0 ~ 5V的A/D转换器,如果其相对误差为±1LSB,则其绝对误差为±19. 5 mV,相对百分误差为0
例如,对于一个8位0 ~ 5V的A/D转换器,如果其相对误差为±1LSB,则其绝对误差为±19.5 mV,相对百分误差为0.39%。一般来说,位数n越大,其相对误差(或绝对误差)越小。
40
4.2.4 A/D转换器的技术指标 (3)转换时间 A/D转换器完成一次转换所需的时间称为转换时间。如逐位逼近式A/D 转换器的转换时间为微秒级,典型值为1.0 ~ 200us;双积分式A/D转换器的转换时间为毫秒级。
41
4.2.4 A/D转换器的技术指标 (4)电源灵敏度:用相当于同样变化的模拟输入值的百分数表示;
(5)对基准电源的要求:基准电源的精度将对整个系统的精度产生影响,因此在选片时应考虑是否外加精密参考电源等。
42
4.3 8位A/D转换器及其接口电路 主要知识点 1、ADC0809芯片介绍 2.ADC0809接口电路 3. 8位A/D转换器的程序设计
43
4.3.1 ADC0809芯片介绍 1、ADC0809芯片介绍 8位逐位逼近式A/D转换器 分辨率为1/ 28 ≈0.39 %
模拟电压转换范围是 V 标准转换时间为100s 采用28脚双立直插式封装
44
图4-9 ADC0809内部结构及引脚
45
各引脚功能如下: IN0~IN7:8路模拟量输入端。允许8路模拟量分时输入,共用一个A/D转换器。
ALE:地址锁存允许信号,输入,高电平有效。上升沿时锁存3位通道选择信号。 A、B、C:3位地址线即模拟量通道选择线。ALE为高电平时,地址译码与对应通道选择见表3-2 。 START:启动A/D转换信号,输入,高电平有效。上升沿时将转换器内部清零,下降沿时启动A/D转换。 EOC:转换结束信号,输出,高电平有效。 OE:输出允许信号,输入,高电平有效。该信号用来打开三态输出缓冲器,将A/D转换得到的8位数字量送到数据总线上。 D0~D7:8位数字量输出。D0为最低位,D7为最高位。由于有三态输出锁存,可与主机数据总线直接相连。
46
CLOCK:外部时钟脉冲输入端。当脉冲频率为640kHz时,A/D转换时间为100s。
VREF(+),VREF(-):基准电压源正、负端。取决于被转换的模拟电压范围,通常VREF(+)= 5V DC, VREF(-)= 0V DC。 Vcc:工作电源, 5VDC。 GND:电源地。
47
被选通道和地址的关系 C B A 选中通道 IN0 1 IN1 IN2 IN3 IN4 IN5 IN6 IN7
48
ADC0809的内部转换时序 ALE C.B.A START EOC OE DO7~DO0 图4-10 ADC0809的转换时序
49
其转换过程表述如下:首先ALE的上升沿将地址代码锁存、译码后选通模拟开关中的某一路,使该路模拟量进入到A/D转换器中。同时START 的上升沿将转换器内部清零,下降沿起动A/D转换,即在时钟的作用下,逐位逼近过程开始,转换结束信号EOC即变为低电平。当转换结束后,EOC恢复高电平,CPU可以用查询方式或中断方式判断A/D转换过程是否结束。此时,如果对输出允许OE输入一高电平命令,则可读出数据。OE为低电平时,数据输出线为高阻态。
50
4.3.2 ADC0809的接口电路 A/D转换器的接口电路主要是解决主机如何分时采集多路模拟量输入信号的,即主机如何启动A/D转换,如何判断A/D完成一次模数转换,如何读入并存放转换结果的。ADC0809与CPU的接口可以采用如下方式: 直接方式 通过8255 通过三态缓冲器 本节重点介绍直接连接方式。
51
1 直接连接 当A/D转换器具有三态输出锁存缓冲器时,可以直接与CPU相连。其连接电路如图4-11所示。
VIN0 ~ VIN7为8路0 ~ 5V的模拟量输入,8088CPU的地址线A15 ~ A3经过译码器译码产生片选信号CS,CS与控制信号线IOW逻辑组合接至ADC0809的START和ALE引脚,在8088CPU低3位地址线A2 ~ A0的配合下,用于选择某一模拟量输入通道,并启动A/D转换,当A/D转换结束后,发出转换结束信号EOC,通过8259A中断控制器向8088CPU申请中断。片选信号CS和控制信号IOR相组合接至ADC0809的输出允许信号OE端,在中断服务程序中读取A/D转换结果。
52
图4-11A/D转换器ADC0809与CPU直接连接电路
ADD A IN0 ADD B IN1 ADD C IN OE VREF(+) START VCC ALE D7~ D0 VREF(-) EOC GND CLK 640kHz 8259A ≥1 译码器 A0 A1 A2 IOR A15-A3 IOW D7~D0 INTR 8088CPU ADC0809 CS 74HC02
53
2 A/D转换器硬件接口注意问题 (1)数字输出的方式 A/D转换器的输出有两种方式: 具有可控的三态门:
输出线允许与微机系统的数据总线直接相连,在转换结束后,利用读信号控制三态门,将数据送上总线; 数据输出寄存器不具备可控的三态门电路: 输出线不允许与CPU直接相连,必须通过I/O通道与CPU交换信息。
54
2 A/D转换器硬件接口注意问题 (2)片选、启动及读写信号的设置
以上信号主要由三-八译码器的通道号及微处理器的IOR、IOW等信号经适当的逻辑电路连接而成 (3)时钟CLK的产生 使用转换器内部时钟 用外接电阻电容产生 由定时电路供给 (4)参考电平
55
位A/D转换器的程序设计 根据A/D转换器与CPU连接方式以及控制系统本身要求的不同,实现A/D转换所需要的软件也不同。常用的控制方式有: 程序查询方式 定时采样方式 中断方式
56
(1)程序查询方式 程序查询方式首先由CPU向A/D转换器发出启动脉冲,然后读取转换结束信号,根据转换结束信号的状态,判断A/D转换是否结束,如结束,可以读取A/D转换结果,否则再继续查询,直至A/D转换结束。 特点:程序设计简单,可靠性高,但实时性差。
57
(2)定时采样方式 定时采样方式是向A/D发出启动脉冲后,先进行软件延时,延时时间取决于A/D转换器完成A/D转换所需要的时间(ADC0809为100s),经延时后可以读取数据。 特点:为了确保转换完成,经常要延长延时时间,因此转换速度慢,应用较少。
58
(3)中断方式 CPU启动A/D转换后,即可转而处理其它事情。一旦A/D转换结束,由A/D转换器发出一转换结束信号到8088CPU的INTR引脚,CPU响应中断后,便读入数据。 特点:CPU与A/D转换器并行工作,效率高。在多回路数据采集系统中常采用该方式。 A/D 转换采用什么方式,要视具体情况而定。
59
4.4 12位A/D转换器AD574A 主要知识点 1 AD574A芯片介绍 2 AD574A接口电路
60
8位A/D转换器的分辨率约为0.0039,转换精度在0.4%以下, 这对一些精度要求比较高的控制系统而言是不够的,因此要采用更多位的A/D转换器,如10位、12位、14位等A/D转换器。下面以AD574A为例介绍12位A/D转换器及其接口电路。
61
4.4.1 AD574A芯片介绍 1.AD574A芯片介绍 AD574A是一种高性能的12位逐位逼近式A/D转换器
分辨率为1/212 = 0.024% 转换时间为25μs,适合于在高精度快速采样系统中使用 内部结构大体与ADC0809类似,由12位A/D转换器、控制逻辑、三态输出锁存缓冲器与10V基准电压源构成,可以直接与主机数据总线连接,但只能输入一路模拟量 AD574A也采用28脚双列直插式封装
62
图 4-12 AD574A原理框图及引脚
63
各引脚功能如下: Vcc:工作电源正端,+12VDC或+15VDC。 VEE:工作电源负端,12VDC或15VDC。
VL:逻辑电源端,+5VDC。虽然使用的工作电源为12VDC或15 VDC, 但数字量输出及控制信号的逻辑 电平仍可直接与TTL兼容。 DGND,AGND:数字地,模拟地。 REF OUT:基准电压源输出端,芯片内部基准电压源为+10.00V1%。 REF IN:基准电压源输入端,如果REF OUT通过电阻接至REF IN,则可用来调量程。
64
:转换结束信号,高电平表示正在转换,低电平表示已转换完毕。
DB0-DB11:12位输出数据线,三态输出锁存,可与主机数据线直接相连。 CE:片能用信号,输入,高电平有效。 :片选信号,输入,低电平有效。 R/ :读/转换信号,输入,高电平为读A/D转换数据,低电平为启动A/D转换。 12/ :数据输出方式选择信号,输入,高电平时输出12位数据,低电平时与A0信号配合输出高8位或低4位数据。12/ 不能用TTL电平控制,必须直接接至+5V(引脚1)或数字地(引脚15)。
65
A0:字节信号,在转换状态,A0为低电平可使AD574A产生12位转换,A0为高电平可使AD574A产生8位转换。在读数状态,如果12/ 为低电平,A0为低电平时,则输出高8位数,而A0为高电平时,则输出低4位数;如果12/ 为高电平,则A0的状态不起作用。 CE、 、R/ 、12/ 、 A0各控制信号的组合作用,见下表。 注:× 表示1或0都可以。
66
10VIN,20VIN,BIP OFF:模拟电压信号输入端。单极性应用时,将BIP OFF接0 V,双极性时接10 V。量程可以是10 V,也可以是20 V。输入信号在10 V范围内变化时,将输入信号接至10 VIN;在20V范围内变化时,接至20VIN。模拟输入信号的几种接法如表3-3所示,相应电路如图3-18所示。 模拟输入信号的几种接法
67
图 4-13 AD574A的输入信号连接方法
68
AD574A接口电路 12位A/D转换器AD574A与PC总线的接口有多种方式。既可以与PC总线的16位数据总线直接相连,构成简单的12位数据采集系统;也可以只占用PC总线的低8位数据总线,将转换后的12位数字量分两次读入主机,以节省硬件投入。
69
& 图4-14 AD574A 与80C196CPU的接口电路 A0 A1 A15~A2 D0 D1 D2 D3 D4 D5 D6 D7 RD
WR P07 R/C VL A VCC CS VEE DB DG DB AG DB6 DB7 REFIN DB8 REFOUT DB9 BIPOFF DB10 DB IN DB IN DB1 DB2 DB3 CE /8 STS 译码器 & +5V +10V -15V -5V ~ +5V -10V ~ +10V 100Ω 1F20H 80C196 AD574A 图4-14 AD574A 与80C196CPU的接口电路
70
AD574A接口电路 在AD574A转换器片内有时钟,故无需外加时钟信号。该电路采用双极性输入方式,可以对±5V或±10V模拟信号进行转换。当AD574A与80C196CPU接口时,由于AD574A输出12位数码,所以当CPU读取转换结果时,需要分2次进行:先高8位,后低4位。由A0=0或A0=1来分别读取高8位或低4位。
71
AD574A接口电路 在AD574A转换器与PC总线之间的数据传送上也可以使用程序查询、软件定时或中断控制等多种方法。由于AD574A的转换速度很高,一般多采用查询或定时方式。
72
AD574A接口电路 若采用查询方式,则将转换结束状态线STS与CPU的某一I/O口相连接。当80C196CPU执行对外部数据存储器的写指令,使CE=1,CS=0,R/C=0,A0=0时,便启动转换。然后80C196CPU不断查询STS的状态,当STS=0时,表示转换结束,80C196CPU通过两次读外部数据存储器操作,读取12位的转换结果数据。当CE=1,CS=0,R/C=1,A0=0时,读取高8位, CE=1,CS=0,R/C=1,A0=1时,读取低4位。
73
4.5 模拟量输出通道 主要知识点 1.模拟量输出通道的组成 2. D/A转换器的工作原理 3. D/A转换器的技术指标
74
4.5.1 模拟量输出通道的组成 模拟量输出通道的任务--把计算机处理后的数字量信号转换成模拟量电压或电流信号,去驱动相应的执行器,从而达到控制的目的; 模拟量输出通道(称为D/A通道)构成--一般是由接口电路、数/模转换器(简称D/A或DAC)和电压/电流变换器等; 模拟量输出通道基本构成—一个通道设置一片D/A结构(图4-14(a))和多通道共享一片D/A结构(图中4-14(b))
75
特点:1、一路输出通道使用一个D/A转换器
接 口 电 路 通道 1 n D/A 计 算 机 图 4-14 (a) 一个通道设置一片D/A结构 特点:1、一路输出通道使用一个D/A转换器 2、结构简单,转换速度快,工作可靠,精度较高、 通道独立 3、缺点是所需D/A转换器芯片较多
76
特点:1、多路输出通道共用一个D/A转换器 2、每一路通道都配有一个采样保持放大器
接 口 电 路 通道 1 n D/A 多 开 关 采样保持器 计 算 机 图 4-14 (b)多个通道共享一片D/A结构 特点:1、多路输出通道共用一个D/A转换器 2、每一路通道都配有一个采样保持放大器 3、节省D/A转换器,但电路复杂,精度差,可靠低、占用主机时间
77
4.5.2 D/A转换器的工作原理 D/A转换器有串行和并行两种,本书仅介绍并行D/A转换器的工作原理。
并行D/A转换器由四部分组成:电子开关S1 ~ Sn、电阻网络、放大器A、标准电压VB。每一位二进制数接一个电子开关,并用二进制数控制电子开关。 当Di=1时,标准电压接入电阻网络,当Di=0时,开关断开。电阻网络把标准电压转换成相应的电流,并将其求和放大输出。
78
4.5.2 D/A转换器的工作原理 D/A转换器根据电阻网络的不同,可以分成权电阻译码D/A转换器、T型网络D/A转换器以及变形权电阻译码D/A转换器等。本书以权电阻译码D/A转换器为例,说明并行D/A转换器的工作原理。 权电阻数/模转换就是将某一数字量的二进制代码各位按它的“权”的数值转换成相应的电流,然后再把代表各位数值的电流加起来。 “权”越大,电阻值越小。
79
图4-15 权电阻D/A转换器 VB Rf VOUT S720R S621R S522R S423R S324R S225R S126R
+ A Rf VB S720R S621R S522R S423R S324R S225R S126R S027R D7 D6 D5 D4 D3 D2 D1 D0 20 21 22 23 24 25 26 27 图4-15 权电阻D/A转换器
80
4.5.2 D/A转换器的工作原理 8位的权电阻D/A转换器的原理框图如图4-15所示。
图4-15是一个线性电阻网络,可以应用叠加原理来分析网络的输出电压,即先逐个求出每个开关单独接通标准电压,而其余开关均接地时网络的输出电流分量,然后将所有接标准电压开关的输出分量相加,就可以得到总的输出电压。Di=0时,Si接地; Di=1时,Si接VB。可以得到简化的电路图。
81
图4-16 权电阻D/A转换器简化电路 Rf VOUT 20R V0 21R V1 22R V2 23R V3 24R V4 25R V5
+ A Rf 20R 21R 22R 23R 24R 25R 26R 27R V0 V1 V2 V3 V4 V5 V6 V7 图4-16 权电阻D/A转换器简化电路
82
4.5.2 D/A转换器的工作原理 图4-16中: V3=a4.VB V4=a3.VB V5=a2.VB
V6=a1.VB V7=a0.VB a0, a1,… a7=0或1 当R=2Rf时,代入上式得:
83
D/A转换器性能指标是衡量芯片质量的重要参数,也是选用D/A芯片型号的依据。主要性能指标有:
(1)分辨率 (2)稳定时间 (3)输出电平 (4)输入编码
84
分辨率 = 满刻度值/(2n-1)=VREF / 2n
(1)分辨率 分辨率--是指 D/A 转换器能分辨的最小输出模拟增量,即当输入数字发生单位数码变化时所对应输出模拟量的变化量,它取决于能转换的二进制位数,数字量位数越多,分辨率也就越高 。其分辨率与二进制位数n呈下列关系: 分辨率 = 满刻度值/(2n-1)=VREF / 2n
85
(2)稳定时间 稳定时间--是描述D/A转换速度快慢的一个参数,指D/A转换器中代码有满刻度值的变化时,其输出达到稳定(一般稳定到与±1/2最低位值相当的模拟量范围内)所需的时间。一般为几十毫秒到几微秒。
86
不同型号的D/A转换器的输出电平相差较大,一般为5~10V,一些高压输出型的为24~30V。
(3)输出电平 不同型号的D/A转换器的输出电平相差较大,一般为5~10V,一些高压输出型的为24~30V。 还有一些为电流输出型。
87
如二进制、BCD码、补码等。必要时可以在D/A转换前用计算机进行代码转换。
(4)输入编码 如二进制、BCD码、补码等。必要时可以在D/A转换前用计算机进行代码转换。
88
4.6 8位D/A转换器及其接口技术 主要知识点 1.DAC0832介绍 2. 8位D/A转换器与CPU的接口
89
4.6.1 DAC0832芯片介绍 一个8位D/A转换器 电流输出方式 稳定时间为1μs 采用20脚双立直插式封装
同系列芯片还有 DAC0830、DAC0831
90
图4-17 DAC0832原理图 D7 D6 D5 D4 D3 D2 D1 D0 ILE CS R W XFER 当 LE=1 时,输出数
据随输入变化。 LE(2) AGND T U O I f b VREF DGND C V 8 位输入 寄存器 8位DAC 8位D/A 转换器 LE=0 据被锁存。 LE(1) 图4-17 DAC0832原理图
91
4.6.1 DAC0832芯片介绍 DAC0832的内部,具有双输入数据缓冲器和一个R-2R T型电阻网络。原理图如图4-17所示。
为寄存命令。当 =1时,寄存器的输出随输入变化,当 =0时,数据被锁存在寄存器中。逻辑表达式为: 当 , 时, ,允许数据输入,而当 时, ,则数据被锁存。能否进行D/A转换,除了取决于 以外,还取决于 。当 和 均为低电平时 ,此时允许D/A转换,否则 ,将停止D/A转换。
92
4.6.1 DAC0832芯片介绍 在使用DAC0832时,可以采用双缓冲方式(两级输入锁存),也可以采用单缓冲方式(只用一级输入锁存,另一级始终直通),或者接成完全直通的形式。
93
4.6.1 DAC0832芯片介绍 DAC0832引脚功能 D7~D0:数字输入量,其中D0为最低有效位LSB ,D7为最高有效位MSB。
CS:片选信号,低电平有效。 ILE:输入允许锁存信号,高电平有效。 WR1:写信号1,低电平有效。 当ILE、WR1和CS同时有效时,才能将锁存器中的数据进行更新,以上三个控制信号构成第一级输入锁存。
94
WR2:写信号2,低电平有效。 XFER:传送控制信号,低电平有效。与WR2构成二级锁存。 IOUT1:DAC电流输出端1,一般作为运算放大器差动输入信号之一。 IOUT2:DAC电流输出端2,一般作为运算放大器另一个差动输入信号。 Rfb:反馈电阻,为外部运算放大器提供一个反馈电压。 VREF:基准电压源端,输入线。 VCC:数字电路供电电压。 AGND:模拟地。 DGND:数字地。
95
4.6.2 8位D/A转换器与CPU的接口 8位D/A转换器与CPU的接口可以采用如下方式: 直接连接方式 通过可编程并行口8255
通过锁存器连接 本节重点介绍直接连接方式。
96
4.6.2 8位D/A转换器与CPU的接口 通过锁存器连接
如果D/A转换器本身没有锁存器,在D/A转换器与CPU之间必须加一个锁存器,如:74HC273。 锁存器的用途:锁存器的选通脉冲作为DAC I/O口地址选通信号,当选通信号正跳变时,锁存器D输入端的信号被送到Q输出端,再加到D/A转换器的8位数据线上,以便进行D/A转换;当选通信号为低电平,输出Q端保持D端送入的数据,以便维持D/A转换。
97
位D/A转换器与CPU的接口 通过8255A连接 如果D/A转换器本身没有锁存器或有锁存器,但为了控制灵活、方便,通常用8255A并行接口将CPU与D/A转换器连接起来。 比如将8255A的A口和C口设置为输出口,A口用来向D/A转换器传送数据,C口用来控制D/A转换。
98
4.6.2 8位D/A转换器与CPU的接口 与CPU直接连接
为了节省硬件,对于带有锁存器的D/A转换器,可以采用直接连接方式。如图4-18所示的DAC0832与8088CPU的连接。 图中,WR2和XFER接成低电平,所以该电路属于单缓冲锁存器接法。当执行OUT指令时,CS和WR1为低电平,CPU的数据打入DAC0832的8位输入锁存器,再经过8位DAC缓冲器送入D/A转换网络进行转换。
99
图4-18 DAC0832与CPU直接连接 A 8088CPU DAC0832 D7~D0 A9~A2 A1 A0 IOW GND 译码器
≥1 D7~D ILE VCC CS VREF Rfb WR1 WR IOUT1 IOUT2 XFER DGND A R +5V + - Y0 VOUT 图4-18 DAC0832与CPU直接连接
100
4.7 12位D/A转换器DAC1208 主要知识点 1.DAC1208介绍 2. DAC1208与CPU的接口
101
4.7.1 DAC1208芯片介绍 一个12位D/A转换器 电流输出方式 与微处理器完全兼容 采用24脚双立直插式封装
同系列芯片还有 DAC1209、DAC1210
102
图4-19 DAC1208的内部结构与引脚分布 4位 输入 寄存器 & LE 若LE=1,Q输出跟随D输入 若LE=0,Q输出被锁存
D Q D 位 Q D 输 Q D 入 Q D 锁 Q D 存 Q D 器 Q D Q D Q D DAC Q D 寄 Q 器 MSB 12 位 乘 法 DAC LSB 4位 输入 寄存器 & LE VREF IOUT2 IOUT1 RFB VCC AGND DGND 若LE=1,Q输出跟随D输入 若LE=0,Q输出被锁存 WR2 XFER WR1 CS BYTE1/BYTE2 DI11 DI9 DI10 DI8 DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 15 16 17 18 19 20 4 5 6 7 8 9 23 1 2 21 22 10 14 13 11 24 3 图4-19 DAC1208的内部结构与引脚分布
103
4.7.1 DAC1208芯片介绍 DAC1208引脚功能 DI11~D0:12位数字输入量。 CS:片选信号,低电平有效。
BYTE1/BYTE2:字节顺序控制信号,为高电平时,开启8位和4位两个锁存器,将12位全部输入锁存器;为低电平时,开启4位锁存器。 WR1:写信号1,低电平有效。
104
WR2:写信号2,低电平有效。该信号与XFER相结合,当二者同时为低电平时,把锁存器中的数据输入DAC寄存器,当WR2为高电平时,DAC寄存器中的数据被锁存起来。
XFER:传送控制信号,低电平有效。与WR2结合,用于将输入锁存器中的12位数据送至DAC寄存器。 IOUT1:DAC电流输出端1。 IOUT2:DAC电流输出端2。 RFB:反馈电阻输入。 VREF:参考电压输入。 VCC:电源电压。 AGND:模拟地。 DGND:数字地。
105
4.7.2 DAC1208与CPU的接口 硬件电路设计 着重考虑DAC1208的输入控制线。CS和WR1用来控制输入寄存器,XFER和WR2用来控制DAC寄存器。 BYTE1/BYTE2用来区分8位输入寄存器和4位输入寄存器。该信号为1时,选中8位输入寄存器,为0时,选中4位寄存器。因此两个输入寄存器可以接同一条译码器输出(接到CS端)。 可以用一条地址线A0来控制BYTE1/BYTE2,用两条译码器输出线控制CS和XFER。因此一片DAC1208只占用三个RAM单元。
106
4.7.2 DAC1208与CPU的接口 硬件电路设计 DAC1208系列的D/A转换器的工作采用双缓冲方式。
送入数据时,要先送12位数据中的高8位数据DI4~DI11,然后再送入低4位数据DI0~DI3,不能按相反的顺序传送。 单缓冲方式不合适,在12位数据不是一次送入的情况下,边传送边转换会使输出产生错误的瞬间毛刺。
107
图4-20 DAC1208与80C196的接口电路 D0 AD581 80C196 DAC1208 - + D1 D2 D3 D4 D5
WR A13 A14 A15 A0 DI4 DI5 DI RFB DI7 DI8 DI9 DI IOUT1 DI IOUT2 DI0 DI1 DI2 DI3 WR1 WR2 CS XFER VREF BYTE1/BYTE2 AGND DGND A B Y2 C Y3 AD581 10V 2.5KΩ VOUT LF356 - + A2 RP2 1KΩ 910KΩ 20pF A1 R1 5KΩ R3 10KΩ 10KΩ R1 25KΩ RP1 VOUT1 I1 I2 80C196 DAC1208 图4-20 DAC1208与80C196的接口电路
108
图中: 运放A1的作用是进行电流电压转换,运放A2的作用是将A1的输出VOUT1变为双极性输出(-10V~+10V)。 A2的反相输入端通过电阻作用R1与参考电压VREF相连,VREF经R1向A2提供一个偏流I1 ,其电流方向与I2相反,因此, 运放A2的输入电流为I1与I2的代数和。
109
代入R1,R2,R3,VOUT1之值,则有: 当D=0时,VOUT=- VREF 当D=2048时,VOUT=0 当D=4095时,VOUT=+VREF 实现了双极性的转换。
110
4.7.2 DAC1208与CPU的接口 程序设计 设12位数字量存放在外部RAM的两个单元,DIGIT和DIGIT+1单元。12位数的高8位在DIGIT单元,低4位在DIGIT+1单元的低4位。程序设计如下:
111
转换程序 DAC: MOV DX,4001H MOV AL,[DIGIT] OUT DX,AL ;送高8位数据 DEC DX
112
4.8 过程通道的抗干扰与可靠性设计 主要知识点 1.干扰的分类 2. 抗串模、共模干扰的措施
113
计算机控制系统的被控变量分布在生产现场的各个角落,因而计算机是处于干扰频繁的恶劣环境中,干扰是有用信号以外的噪声,这些干扰会影响系统的测控精度,降低系统的可靠性,甚至导致系统的运行混乱,造成生产事故。
但干扰是客观存在的,所以,人们必须研究干扰,以采取相应的抗干扰措施。
114
干扰的来源是多方面的,有时甚至是错综复杂的。干扰有的来自外部,有的来自内部。
外部干扰由使用条件和外部环境因素决定。外部干扰环境如图4-21所示:有天电干扰,如雷电或大气电离作用以及其他气象引起的干扰电波;天体干扰,如太阳或其他星球辐射的电磁波;电气设备的干扰,如广播电台或通讯发射台发出的电磁波,动力机械、高频炉、电焊机等都会产生干扰;此外,荧光灯、开关、电流断路器、过载继电器、指示灯等具有瞬变过程的设备也会产生较大的干扰;来自电源的工频干扰也可视为外部干扰。
115
高压电缆 闪电 雷达、电台 等天线发射 微机控制系统 地电位波动 电机、电焊机 等大用电设备 引入噪声 交流动力线 图 4-21 外部干扰环境
116
内部干扰则是由系统的结构布局、制造工艺所引入的。内部干扰环境如图4-22所示,有分布电容、分布电感引起的耦合感应,电磁场辐射感应,长线传输造成的波反射;多点接地造成的电位差引入的干扰;装置及设备中各种寄生振荡引入的干扰以及热噪声、闪变噪声、尖峰噪声等引入的干扰;甚至元器件产生的噪声等。 图4-22内部干扰环境
117
4.8.1 干扰的分类 按干扰产生的原因分类 (1)放电干扰 (2)高频振荡干扰 (3)浪涌干扰
118
4.8.1 干扰的分类 按干扰传导模式分类 (1)串模干扰
指叠加在被测信号上的干扰噪声。被测信号指有用的直流信号或者变化缓慢的交变信号,干扰噪声指无用的变化较快的杂乱交变信号。
119
A/D 转换器 信号源 干扰源 A/D 转换器 信 号 源 图4-23(a) 串模干扰形式1 图4-23(b) 串模干扰形式2 US US
Un A/D 转换器 信号源 干扰源 US Un A/D 转换器 信 号 源 图4-23(a) 串模干扰形式1 图4-23(b) 串模干扰形式2
120
4.8.1 干扰的分类 按干扰传导模式分类 (2)共模干扰
共模干扰是指计算机控制系统输入通道中信号放大器两个输入端上共有的干扰电压,可以是直流电压,也可以是交流电压,其幅值达几伏甚至更高,这取决于现场产生干扰的环境条件和计算机等设备的接地情况。
121
在计算机控制系统中一般都用较长的导线把现场中的传感器或执行器引入至计算机系统的输入通道或输出通道中,这类信号传输线通常长达几十米以至上百米,这样,现场信号的参考接地点与计算机系统输入或输出通道的参考接地点之间存在一个电位差Ucm。这个Ucm是加在放大器输入端上共有的干扰电压,故称共模干扰电压。
122
被测信号源 计算机 A/D 转换器 US Ucm 图4-24 共模干扰示意图
123
4.8.1 干扰的分类 按干扰波形及性质分类 (1)持续正弦波 (2)偶发脉冲电压波形 (3)脉冲序列
124
4.8.2 抗干扰的硬件措施 干扰对控制系统的作用可以分为以下部位: (1)输入系统 (2)输出系统 (3)控制系统的内核
成功的抗干扰系统是由硬件和软件相结合构成的。硬件抗干扰效率高,但增加系统的投资和设备体积,软件抗干扰投资低,但降低系统的工作效率。
125
4.8.2 抗干扰的硬件措施 抗串模干扰的措施 串模干扰通常叠加在各种不平衡输入信号和输出信号上,很多
情况下通过供电线路窜入系统中。因此抗干扰电路设置在这些干扰必经之路上。 (1)光电隔离 (4)布线隔离 (2)继电器隔离 (5)硬件滤波电路 (3)变压器隔离 (6)过电压保护电路
126
(1)光电隔离 在输入、输出通道上,采用光隔离器进行信息传输,将控制系统与各种传感器、开关执行机构从电气上隔离开,很大一部分干扰将被阻挡。 (2)继电器隔离 继电器的线圈和触点之间没有电气上的联系,所以可以利用继电器的线圈接受信号,触点发送和输出信号,避免强电和弱电信号之间的直接接触,达到抗干扰的目的。
127
(3)变压器隔离 脉冲变压器可以实现数字信号的隔离。 (4)布线隔离 将微弱信号电路与易产生噪声污染的电路分开布线,最基本的要求是:信号电路必须和强电控制线路、电源线路分开走线,而且相互间保持一定距离。 注意:配线时应区分开交流线、直流稳压电源线、数字信 号线、模拟信号线、感性负载驱动线等。 配线间隔越大、离地面越近、配线越短,则噪声影响越小。
128
(5)硬件滤波电路 在数字电路中,当电路从一个状态转换成另一个状态时,会在电源线上产生很大的尖峰电流,形成瞬变的噪声电压。当电路接通与断开电感负载时,瞬变噪声干扰往往严重影响系统的正常工作—在电源变压器的进线端加入电源滤波器,消除这些干扰。 滤波器有无源滤波器(由无源元件电阻、电容、电感组成)和有源滤波器(由电阻、电容、电感和有源元件组成)之分。
129
(6)过电压保护电路 如果没有采用光隔离措施,在输入输出通道上要采用一定的过电压保护措施,防止过高的电压,侵害控制系统。 过电压保护电路由限流电阻和稳压管组成。要选择适宜的限流电阻和稳压管。
130
4.8.2 抗干扰的硬件措施 抗共模干扰的措施 共模干扰通常是针对平衡输入信号而言的,措施有: (1)平衡对称输入
(2)选用高质量的差动放大器 (3)控制系统的接地技术
131
(1)平衡对称输入 在设计信号源时,尽可能做到平衡和对称,否则有可能产生附加的差模干扰,使后续电路不易对付。 (2)选用高质量的差动放大器 高质量差动放大器的特点是:高增益、低噪声、低漂移、宽频带。由它构成的运算放大器将获得足够高的共模抑制比。
132
(3)控制系统的接地技术 在计算机控制系统中,通常把数字电子装置和模拟电子装置的工作基准地浮空,而设备外壳或机箱采用屏蔽接地。 浮地方式可使计算机系统不受大地电流的影响,提高系统的抗干扰性能。由于强电设备大都采用保护接地,浮空技术切断了强电与弱电的联系,系统运行安全可靠。 设备或机箱采用屏蔽接地,无论从防止静电干扰和电磁感应干扰的角度,或是从人身设备安全的角度,都十分必要。
133
广义的接地包含两方面的意思,即接实地和接虚地。接实地指的是与大地连接;接虚地指的是与电位基准点连接,当这个基准点与大地电气绝缘,则称为浮地连接。正确合理的接地技术对计算机控制系统极为重要,接地的目的有两个:一是为了保证控制系统稳定可靠地运行,防止地环路引起的干扰,常称为工作接地;二是为了避免操作人员因设备的绝缘损坏或下降遭受触电危险和保证设备的安全,这称为保护接地。
134
4.8.2 抗干扰的硬件措施 采用双绞线 双绞线是由两根互相绝缘的导线扭绞缠绕组成,为了增强抗干扰能力,可在双绞线的外面加金属编织物或护套形成屏蔽双绞线,图4-25给出了带有屏蔽护套的多股双绞线实物图。 图4-25 双绞线
135
采用双绞线作信号线的目的,就是因为外界电磁场会在双绞线相邻的小环路上形成相反方向的感应电势,从而互相抵消减弱干扰作用。双绞线相邻的扭绞处之间为双绞线的节距,双绞线不同节距会对串模干扰起到不同的的抑制效果,见下表。 双绞线可用来传输模拟信号和数字信号,用于点对点连接和多点连接应用场合,传输距离为几公里,数据传输速率可达2Mbps。
136
节距(mm) 干扰衰减比 屏蔽效果 100 14 1 23 75 71 1 37 50 112 1 41 25 141 1 43 平行线 双绞线节距对串模干扰的抑制效果
137
4.8.3 抗干扰的软件措施 介绍了这么多的硬件电路抗干扰措施,再来看看软件上又有哪些好的措施。
首先是在控制系统的输入输出通道中,采用某种计算方法对通道的信号进行数字处理,以削弱或滤除干扰噪声,这就是以后要讨论的数字滤波方法。这是一种廉价而有效的软件程序滤波,在控制系统中被广泛采用。 而对于那些可能穿过通道而进入CPU的干扰,可采取指令冗余、软件陷阱以及程序运行监视(看门狗电路)等措施来使CPU恢复正常工作。
138
1 指令冗余技术 当计算机系统受到外界干扰,破坏了CPU正常的工作时序,可能造成程序计数器PC的值发生改变,跳转到随机的程序存储区。当程序跑飞到某一单字节指令上,程序便自动纳入正轨;当程序跑飞到某一双字节指令上,有可能落到其操作数上,则CPU会误将操作数当操作码执行;当程序跑飞到三字节指令上,因它有两个操作数,出错的机率会更大。 为了解决这一问题,可采用在程序中人为地插入一些空操作指令NOP或将有效的单字节指令重复书写,此即指令冗余技术。由于空操作指令为单字节指令,且对计算机的工作状态无任何影响,这样就会使失控的程序在遇到该指令后,能够调整其PC 值至正确的轨道,使后续的指令得以正确地执行。
139
但我们不能在程序中加入太多的冗余指令,以免降低程序正常运行的效率。一般是在对程序流向起决定作用的指令之前以及影响系统工作状态的重要指令之前都应插入两、三条NOP指令,还可以每隔一定数目的指令插入NOP指令,以保证跑飞的程序迅速纳入正确轨道。 指令冗余技术可以减少程序出现错误跳转的次数,但不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了。解决这个问题还必须采用软件容错技术,使系统的误动作减少,并消灭重大误动作。
140
2 软件陷阱技术 指令冗余使跑飞的程序安定下来是有条件的,首先跑飞的程序必须落到程序区,其次必须执行到冗余指令。当跑飞的程序落到非程序区(如EPROM中未使用的空间、程序中的数据表格区)时,对此情况采取的措施就是设立软件陷阱。 软件陷阱,就是在非程序区设置拦截措施,使程序进入陷阱,即通过一条引导指令,强行将跑飞的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果我们把这段程序的入口标号称为ERROR的话,软件陷阱即为一条JMP ERROR指令。为加强其捕捉效果,一般还在它前面加上两条NOP指令,因此真正的软件陷阱是由3条指令构成:
141
NOP JMP ERROR 软件陷阱安排在以下四种地方:未使用的中断向量区,未使用的大片ROM空间,程序中的数据表格区以及程序区中一些指令串中间的断裂点处。 由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序的执行效率,在当前EPROM容量不成问题的条件下,还应多多安插软件陷阱指令。
142
3 看门狗电路 工业现场难免会出现瞬间的尖峰高能脉冲干扰,可能会长驱直入作用到CPU芯片上,使正在执行的程序跑飞到一个临时构成的死循环中,这时候的指令冗余和软件陷阱技术也无能为力,系统将完全瘫痪。此时必须强制系统复位,摆脱死循环。由于操作者不可能一直监视系统,这就需要一个独立于CPU之外的监视系统,在程序陷入死循环时,能及时发现并自动复位系统,这就是看守大门作用的程序运行监视系统,国外称为“Watchdog Timer”,即看门狗定时器或看门狗。
143
Watchdog Timer工作原理 为了保证程序运行监视系统的可靠性,监视系统中必须包括一定的硬件部分,且应完全独立于CPU之外,但又要与CPU保持时时刻刻的联系。因此,程序运行监视系统是硬件电路与软件程序的巧妙结合。图4-26给出了Watchdog Timer的工作原理。 CPU可设计成由程序确定的定时器1,看门狗被设计成另一个定时器2,它的计时启动将因CPU的定时访问脉冲P1的到来而重新开始,定时器2的定时到脉冲P2连到CPU的复位端。两个定时周期必须是 T1<T2,T1就是CPU定时访问定时器2的周期,也就是在CPU执行的应用程序中每隔T1时间安插一条访问指令。
144
在正常情况下,CPU每隔T1时间便会定时访问定时器2,从而使定时器2重新开始计时而不会产生溢出脉冲P2;而一旦CPU受到干扰陷入死循环,便不能及时访问定时器2,那么定时器2会在T2时间到达时产生定时溢出脉冲P2,从而引起CPU的复位,自动恢复系统的正常运行程序。
145
CPU (T ) 定时器 定时访问 脉冲 P 重新启动 复位 定时到 图 4-26 Watchdog Timer 工作原理 T 应用程序
1 ) 定时器 2 定时访问 脉冲 P 重新启动 复位 定时到 图 4-26 Watchdog Timer 工作原理 T 应用程序 访问指令 死循环
146
Watchdog Timer实现方法 以前的Watchdog Timer硬件部分是用单稳电路或自带脉冲源的计数器构成,一是电路有些复杂,二是可靠性有些问题。美国Xicor公司生产的X5045芯片,集看门狗功能、电源监测、EEPROM、上电复位等四功能为一体,使用该器件将大大简化系统的结构并提高系统的性能。
147
X5045与CPU的接口电路如图4-27所示。X5045只有8根引脚:
SCK:串行时钟。 SO:串行输出,时钟SCK的下降沿同步输出数据。 SI:串行输入,时钟SCK的上升沿锁存数据。 CS:片选信号,低电平时X5045工作,变为高电平时将使看门狗定时器重新开始计时。WP:写保护,低电平时写操作被禁止,高电平时所有功能正常。 RESET:复位,高电平有效。用于电源检测和看门狗超时输出。 VSS:地。 VCC:电源电压。
148
图 4-27 X5045 与 CPU 的接口电路 RESET D0 D1 D2 D3 SO SI SCK CS WCC WP VSS X5054 +5V
149
它与CPU的接口电路很简单,X5045的信号线SO、SI、SCK、 CS与CPU的数据线D0~D3相连,用软件控制引脚的读(SO)、写(SI)及选通( CS )。X5045的引脚RESET与CPU的复位端RESET相连,利用访问程序造成CS引脚上的信号变化,就算访问了一次X5045。 在CPU正常工作时,每隔一定时间(小于X5045的定时时间)运行一次这个访问程序,X5045就不会产生溢出脉冲。一旦CPU陷入死循环,不再执行该程序也即不对X5045进行访问,则X5045就会在RESET端输出宽度100ms400ms的正脉冲,足以使CPU复位。 这里,X5045中的看门狗对CPU提供了完全独立的保护系统,它提供了三种定时时间:200ms、600ms和1.4s,可用编程选择。
150
本章小结 本章主要介绍了多路模拟开关、采样保持器、A/D转换器、D/A转换器及其接口电路原理图及其接口程序、过程通道的抗干扰措施。
151
1.画图说明模拟量输入通道的功能、各组成部分及其作用?
思考题 1.画图说明模拟量输入通道的功能、各组成部分及其作用? 2.分析采样保持器的原理电路及工作过程。 3.简述逐次逼近式A/D转换原理。 4.采用74HC273八D锁存器、74HC138译码器、CD4051扩展16路模拟量输入通道,设计电路图。 5.设计ADC0809通过8255A与CPU的连接电路图,并叙述工作原理。 6.设计DAC0832与CPU的直接连接电路图,要求采用双缓冲方式。 7.抗串模干扰、抗共模干扰的措施有哪些?
152
结束
Similar presentations