第9章数字控制系统的硬件结构9.1引言在系统分析与设计的基础上,从本章起阐述实现数字控制系统需要考虑和解决的一些问题,主要有以下三个方面:1.实时控制系统硬件配置;2.实时控制软件设计;3.量化引进的误差,也就是数值精度问题。其中,用数字计算机作控制器,实现控制算法,是数字控制的关键。本章从实时控制的角度讨论计算机控制系统的硬件设计与实现。9.2微型计算机设计与实现实时控制系统,需从以下几个主要技术指标来选择微型机:速度、字长、指令系统、输入/输出控制方式及容量。9.2.1微处理机自1971年由美国Intel公司研制出Intel4004型4-bitCPU以来,微处理机与微型机技术得到了飞速的发展。由于CPU集成度及性能的不断提高、功能的日趋完善,使其在自动控制领域的应用越来越广泛。CPU的主要性能包括:速度、字长、直接寻址范围、集成度、指令系统等几方面。我国国产CPU近年来相继问世,如2002年中科院计算所研制成我国首款通用高性能CPU,32-bit“龙芯1号”,2003年的“龙芯2号”等。9.2.2输人/输出控制方式微型计算机可提供三种输入/输出控制方式:询问、中断和直接存储器存取方式,在实时控制系统中,广泛采用中断控制方式。1.软件询问方式CPU在确认外设已具备传送数据的条件后,进行传送,否则,需不断查询外设的状态。可见,每传送一次数据,都要等待其准备数据而花费时间,故效率低。2.中断方式微型机处理中断的能力在实时系统中是不可缺少的,它取决于微处理机、实时时钟及输入/输出通道所具有的功能,其中包括:允许有几个中断源、采用哪种中断方式、优先级排队及实现中断嵌套能力几个方面。中断可分为两种:不可屏蔽中断NMI:它可在任何时刻被CPU接受,在完成当前指令后予以响应。不能被有关指令禁止。可屏蔽中断INTR:可由程序员通过相应指令予以开放和禁止,因此是软件可屏蔽中断。不可屏蔽中断通常在电源断电等情况时使用,其优先级高于可屏蔽中断。例9-2-1Intel8086CPU的中断方式8086CPU有256级中断,以0~255的序号表示中断的类型,序号越小,优先级越高。在256级中断中,类型0~4已在8086内部进行了定义,类型5~31是Intel公司为将来的支援软件、芯片而准备的。类型32以上的中断是用户可以使用的,类型224是用于CP/M-86系统调用的软件中断。8259A芯片是为了对8086(和8085A)迸行中断控制而设计的,是可进行程序控制的中断控制器。它可单独使用,也可级联连接。3.DMA(直接存储器存取)方式在实际系统中,有时有大量的数据需要传送和处理,此时必须提高微计算机的数据传送能力。这时可采用DMA方式来工作,此时微计算机必须配置DMA器件。DMA器件在系统中的作用是使CPU让出对总线的控制权,由DMA直接控制地址、数据和控制总线。让外部设备与存储器直接进行信息交换,从而大大地提高了数据传送率,这种方式下要求CPU具有保持器的功能,以避免外部设备与CPU同时访问存储器。例如,Intel公司的8237是可编程DMA控制器芯片。9.3模拟输入/输出通道1.A/D转换器分辨率:由数字量的位数表示,如分辨率为n位的A/D对满量程的1/(2n-1)增量(即灵敏度)作出反应;精度:转换后的结果相对于实际值的准确度。有绝对精度(最低位的±1/2位LSB)和相对精度(满量程的±0.2%)之分;9.3.1转换器的技术指标A/D、D/A转换器是模拟输入/输出通道的核心部分。A/D、D/A转换器采用多种编码方式,如:二进制码、BCD码等,本节以二进制为例,阐述以下几项主要技术指标。转换时间:影响到系统采样频率的提高,一般从几微秒到几百微秒;量程:所能转换的电压范围,如0~±5V、±10V等。2.D/A转换器分辨率:由数字量的位数表示,一般为8位、12位、16位;转化线性度:一般给出在一定温度下的最大非线性度,如0.01~0.8%;稳定时间:比A/D转换小得多,一般为几十毫微秒到几微秒;输出电平:一般为±5V~±10V。A/D、D/A接口板一般为多路输入输出。9.3.2六例例9-3-1A/D转换器ADC0804芯片。ADC0804技术指标:分辨率:8-bit精度:1LSB时钟:100~1280kHz转换时间:8个时钟周期转换电压范围:0~+5V逻辑输出电平:TTL电源电压:+5V采用逐次比较型原理进行A/D转换。引脚功能见图9-3-1。例9-3-2D/A转换器DAC0832芯片。15V~5VTTL%2.018DAC0832电源:逻辑输出电平:刻度的转换输出线性误差,满电流稳定时间:分辨率:技术指标:sbitDAC0832可在三种方式下工作:双缓冲方式单缓冲方式直通方式例9-3-3光电码盘。光电码盘是将机械角度转换为数字量的A/D转换器系统,由光源、码盘、光电接收与放大三部分组成,见图9-3-6。码盘是光电码盘的核心,是一个圆盘,分n个同心圆环(图例n=4),每环由透明与不透明两部分按一定规律组成。码盘的分辨率与环数有关,n个圆环可区分2n个角位置,可见n越大,分辨率越高。例9-3-4旋转变压器测角系统。该系统是将机械角度转换为数字量的A/D转换器系统,由旋转变压器(角度测量元件)与测角电路组成。图9-3-7旋变A/D转换系统原理框图(a)幅值工作状态(b)相位工作状态uBAuuCu鉴相器(a)填充脉冲采样旋转变压器移相90求和整形整形比相鉴相门计数器(b)旋转变压器填充脉冲采样鉴相器计数器BAuuCu例9-3-5高精度测角系统。由一对极旋转变压器和360对极感应同步器作测角元件,配以相应的电路,可组成分辨率为0.0001º,精度达角秒级的高精度机械角度至数字量输出的A/D转换器系统,称为高精度测角系统。其角度测量范围:0.0000º~359.9999º。此测角系统由三部分组成:粗测部分、精测部分、精粗耦合电路。例9-3-6脉冲量D/A转换。有的数字控制系统,要求控制量以脉冲/秒的形式输出,此时模拟输出通道见图9-3-9,可逆计数器输入为串行脉冲,输出为并行n位数字量,经D/A转换,输出相应的模拟电压。9.4开关量输入/输出接口接口位于微处理器主机与外部设备之间,提供地址通道、数据通道和控制通道,其功能是使主机与外部设备之间能正确地交换信息。开关量输入/输出接口,是在数字设备之间传递数字信息。可分并行与串行接口两种。接口连线有数据线与控制线(握手线),相关寄存器有状态寄存器与控制寄存器,口地址有状态口、命令口,数据口之分。9.4.1开关量I/O接口分类开关量I/O接口分为并行和串行两种。并行接口用于数据并行传送,具有传送速率快的特点,但成本高,不适于远距离传送。在实时系统中广为应用。Intel公司的并行接口芯片为8255。串行接口一般是数据通道和控制通道分时使用一条信号线,数据是一位一位传送的。有的终端如CRT显示器等通过这种接口与主机联系,远距离的信息传送大都采用这种接口,如RS-232。Intel公司的串行接口芯片为8251。8255A是Intel公司生产的可编程输入输出接口芯片,有40条引脚,具有3个8位的并行I/O口,能在三种方式下工作,可通过程序改变其功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。8255有三种基本工作方式:基本输入输出、选通输入输出、双向传送。由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供。9.4.2并行接口8255芯片9.5实时时钟实时控制中,微处理器以实时时钟为基准控制采样周期的选择。实时时钟一般由CPU时钟分频得到,可用软中断进行设置。本节阐述由可编程计数器/定时器电路CTC(countertimercircuit)的定时器工作方式做实时时钟。CTC的计数范围由其二进制位数决定,如8位、16位;每种CTC最高工作频率不同,但在相应的时间范围内,CTC产生的采样周期信号是可调的。9.5.1Intel8253计数器/定时器电路1.8253的结构与功能8253是有24个引脚的双列直插式集成电路芯片,结构见图9-5-1(a),有三个计数器通道。2.8253编程规定三个计数器通道与控制字寄存器占用四个相邻的口地址,如表9-5-1。三个通道的全部功能均由编程确定。工作前,依据所要求的工作方式与计数值,先设置控制字寄存器,再初始化相应的计数器。在数控系统中,需根据实际情况选择微处理机,确定接口方式,信号检测方式、功率放大方式、执行机构等硬件设备。充分考虑实际需要,价格比,系统构成的软硬件支持等条件,合理利用资源.9.5.2Intel8253的编程及应用例例9-5-18253工作于方式2,16-bit二进制计数(扩展版)。编程:MOVDX,307H;设置控制寄存器MOVAL,00110100BOUTDX,ALMOVDX,304H;设置8253计数寄存器低字节MOVAL,BYTELOUTDX,ALMOVAL,BYTEL;设置8253计数寄存器高字节OUTDX,AL思考与练习9-1.微型计算机主机由哪几部分组成?其中CPU的主要性能是什么?有哪几种输入/输出控制方式?实时控制常用哪种输入/输出控制方式?9-2.模拟输入/输出通道中的A/D、D/A转换器的主要技术指标是什么?9-3.12-bitA/D转换器,输入线性范围-10V~+10V,求其灵敏度。9-4.实时时钟由什么样的器件实现?