第4章基于单片机的控制器第4章基于单片机的控制器4.1MCS-51单片机4.2模拟数据采集4.3模拟数据输出4.4功率输出4.5单片机现场控制器4.6其他嵌入式处理器第4章基于单片机的控制器4.1MCS-51单片机MCS-51是Intel公司生产的一个单片机系列的名称。属于这一系列的单片机有多种,如8051/8751/8031,8052/8752/8032,80C51/87C51/80C31,80C52/87C52/80C32等。该系列单片机的生产工艺有两种:一是HMOS工艺(即高密度短沟道MOS工艺),二是CHMOS工艺(即互补金属氧化物的HMOS工艺)。CHMOS是CMOS和HMOS的结合,它既保持了HMOS高速度和高密度的特点,又具有CMOS低功耗的特点。在产品型号中凡带有字母“C”的,即为CHMOS芯片,不带有字母“C”的,即为HMOS芯片。HMOS芯片的电平与TTL电平兼容,而CHMOS芯片的电平既与TTL电平兼容,又与CMOS电平兼容。在单片机应用系统中,一般应尽量采用CHMOS工艺的芯片。第4章基于单片机的控制器在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号的末位数来区分,末位数为“1”的型号为基本型,末位数为“2”的型号为增强型。在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROMLess(无片内程序存储器)。如80C51含有4KB的掩膜ROM,87C51含有4KB的EPROM,而80C31在芯片内无程序存储器,应用时要在单片机芯片外部扩展程序存储器。第4章基于单片机的控制器各厂商以8051为基本核开发出的CHMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:Intel公司的80C31、80C51、87C51、80C32、80C52、87C52等;ATMEL公司的89C51、89C52、89C2051、89C4051等。除此之外,还有Philips、华邦、Dallas、Siemens(Infineon)等公司的各种产品。这些产品在某些方面有一些差异,但基本结构和功能是相同的。所以,以80C51代表这些产品的共性,而在具体的应用电路中,有时会采用某一产品的特定型号。第4章基于单片机的控制器4.2模拟数据采集数据采集是单片机控制系统中最为普遍的应用需求。数据采集的对象可以是温度、压力、流量等各种物理量。数据采集系统可以是复杂控制系统的一部分,也可以是配备显示(或打印)输出的独立系统(或仪表)。模拟数据采集系统输入通道的构成如图4-1所示。第4章基于单片机的控制器图4-1模拟数据采集系统输入通道的构成第4章基于单片机的控制器4.2.1传感器传感器把被测的物理量(如温度、压力等)作为输入参数,将其转换为电量(电流、电压、电阻等)后输出。物理量的性质和测量范围不同,传感器的工作机理和结构就不同。通常,传感器输出的电信号是模拟信号(已有许多新型传感器采用数字量输出)。当信号的数值符合A/D转换器的输入等级时,可以不用放大器放大;当信号的数值不符合A/D转换器的输入等级时,就需要放大器放大。第4章基于单片机的控制器4.2.2多路模拟开关多路模拟开关的作用是将多路模拟信号分别与A/D转换器接通,逐一进行A/D转换,以达到分时享用A/D转换器的目的。以多路模拟开关AD7501为例(图4-2所示),AD7501是CMOS型8选1多路模拟开关,每次从8个输入端中选择一路与公共端相连,选择的通道号由输入的地址编码确定(如表4-1所示),与TTL电平兼容。第4章基于单片机的控制器图4-2AD7501第4章基于单片机的控制器表4-1地址编码表A2A1A0ENOUT0001S10011S20101S30111S41001S51011S61101S71111S8XXX0X第4章基于单片机的控制器4.2.3放大器放大器通常采用集成运算放大器。常用的集成运算放大器有0P-07、5G7650等。在环境条件较差时,可以采用数据放大器(也称为精密测量放大器)或传感器接口专用模块。第4章基于单片机的控制器4.2.4采样/保持器因为A/D转换需要一定的时间,为了保证转换精度,在A/D转换的过程中,要求信号的电压保持不变,在A/D转换完成后,又要能跟踪信号电压的变化。能完成这个功能的电路叫采样/保持电路(或称为采样/保持器,Sample/Hold,简称S/H)。香农采样定理:对于一个有限频率的连续信号,当采样频率fs≥2f信max时,采样函数才能不失真地恢复原来的连续信号。第4章基于单片机的控制器采样定理给出的是采样的最低频率,为了保证精度,工程上通常要求fs=(4~10)f信max。图4-3为采样/保持电路的原理图。采样/保持电路由存储电容CH、模拟开关T(N沟道增强型MOS管)、输入电阻RI(限流)、反馈电阻RF和运算放大器A组成。在开关控制信号S的作用下,电路有两种工作模式:采样模式:控制信号S为高电平,T导通,输入信号UI通过RI、T向电容CH充电,若RI=RF,则充电结束后,UO=UC=-UI;第4章基于单片机的控制器图4-3采样/保持电路的原理图第4章基于单片机的控制器保持模式:控制信号S为低电平,T截止,输出电压UO由电容CH两端电压保持。根据上述工作方式,要求采样/保持电路:在采样阶段,存储电容要尽快充电,以快速跟踪信号电压;在保持阶段,存储电容漏电流必须接近于零,以保持信号电压(相当于一个模拟信号存储器)。集成采样/保持器主要有AD582、AD583(一般)、HTS-0025(高速)、SHA1144(高分辨率)等。第4章基于单片机的控制器4.2.5A/D转换器及其与单片机接口A/D转换器用于将模拟信号转变为数字量,其主要指标是分辨率。A/D转换器的位数与其分辨率有直接的关系。8位的A/D转换器可以对满量程的1/256进行分辨。A/D转换器的另一个重要指标是转换时间。选择A/D转换器时必须满足采样分辨率和速度的要求。采样/保持输出电平仍是模拟量,把采样后的样值电平归化到与之接近的离散电平上,称为量化,指定的离散电平称为量化电平。量化必然存在误差(系统误差)。量化一般有两种方法:只舍不入(类似于取整运算)和有舍有入(类似于四舍五入),前一种量化误差(1LSB)是后一种量化误差(0.5LSB)的两倍。第4章基于单片机的控制器用二进制数码来表示各个量化电平的过程称为编码。量化单位电压就是两个量化电平之间的差值,二进制数码位数越多,量化单位电压就越小,量化误差就越小,精度就越高。在A/D转换中,模拟电压的输入范围一般有0~5V、0~10V、-5~5V等,其中0~5V、0~10V称为单极性输入,-5V~5V称为双极性输入。在输入范围内,转换前后的模拟电压与数字码之间有一一对应的关系。转换后的数字码一般有二进制码和BCD码两种。BCD码常用于直接显示数字,二进制码用于与计算机的接口,有8、10、12、16位等,位数越多,精度越高。对于双极性输入,一般给出二进制补码的形式或双极性偏移码的形式,如表4-2所示。第4章基于单片机的控制器表4-2A/D编码数字码模拟量8位12位16位0V(00000000)(XXXX0000,00000000)(00000000,00000000)2.5V(10000000)(XXXX1000,00000000)(10000000,00000000)3.75V(11000000)(XXXX1100,00000000)(11000000,00000000)5V(11111111)(XXXX1111,11111111)(11111111,11111111)单极性(0~5V)-5V(00000000)(XXXX0000,00000000)(00000000,00000000)-2.5V(01000000)(XXXX0100,00000000)(01000000,00000000)0V(10000000)(XXXX1000,00000000)(10000000,00000000)2.5V(11000000)(XXXX1100,00000000)(11000000,00000000)5V(11111111)(XXXX1111,11111111)(11111111,11111111)双极性(-5V~5V)(偏移码)0V(00000000)(XXXX0000,00000000)(00000000,00000000)第4章基于单片机的控制器1.12位A/D转换器AD574A实现A/D转换的方法比较多,常见的有计数法、双积分法和逐次逼近法。由于逐次逼近式A/D转换具有速度快、分辨率高等优点,而且采用该法的A/D转换器芯片的成本较低,因而目前绝大多数A/D转换器都采用这种方法。AD574A是一款逐次逼近式12位A/D转换器,其引脚排列如图4-4所示,其引脚及功能说明如表4-3第4章基于单片机的控制器图4-4AD574A的引脚图第4章基于单片机的控制器表4-3AD574A的引脚及功能管脚功能10VIN量程为(0~+10)V的单极性输入端(10VSpanInput)BIPOFF量程为(0~+20)V的单极性输入端(20VSpanInput)BIPOFF双极性偏置输入端(BipolarOffset),量程为(-5~+5)VDB11~DB0共12条输出引线,其中DB11为最高有效位,DB0为最低有效位CE芯片使能引脚,高电平有效CS片选信号,低电平有效CR/读/转换控制信号(Read/Convert),高电平时为读有效,低电平时为转换有效8/12数据模式选择端(DataModeSelect)。当它为高电平时,从DB11~DB0输出12位数据,低电平时,12位数据要分两次输出A0字节地址短周期信号(ByteAddressShortCycle),用于选择转换数据的长度第4章基于单片机的控制器STS状态输出信号,它用于指示转换的状态。当它为高电平时表示正在转换,低电平时表示转换已结束VCC+12V或+15V电源,输入VEE-12V或-15V电源,输入VLOGIC逻辑电源,接+5VREFOUT输出10V基准电压REFIN参考电压输入引脚AC模拟地(AnalogCommon)DC数字地(DigitalCommon)第4章基于单片机的控制器表4-4AD574A控制信号的真值表第4章基于单片机的控制器2.带采样/保持器的12位A/D转换器AD1674AD1674从引脚到功能都与AD574/674完全兼容,只是AD1674内部增加了采样/保持电路,采样频率为100kHz,大大高于AD574A,并且有全控模式和单一工作模式,其精度达0.05%。第4章基于单片机的控制器AD1674采用BIMOS工艺,主要由宽频带采样/保持器、10V基准电源、时钟电路、D/A转换器、SAR寄存器、比较器和三态输出缓冲器等组成,其结构如图4-5所示。当控制部分发出启动转换命令时,首先使采样/保持器工作在保持模式,并使SAR寄存器复零。一旦开始转换,就不能停止或重新启动A/D转换,此时输出缓冲器的数据输出无效。逐次逼近寄存器按时钟顺序从高位到低位顺序进行比较,以产生转换结果。转换结束时,返回一个转换结束标志给控制部分,控制部分立即禁止时钟输出,并使采样/保持器工作在采样模式。与此同时,延迟STS信号下跳的时间来稳定转换数据,以满足12位的精度。第4章基于单片机的控制器图4-5AD1674内部结构框图第4章基于单片机的控制器当AD1674工作在全控模式时,利用CE、CS和R/C来控制转换和读数。如果CE=1且CS=0,则R/C=1时读数;反之,启动A/D转换。这种模式适合用唯一地址总线或数据总线译码的多个设备的系统。当AD1674工作在单一模式时,CE=1,CS=0,12/8、A0=0,它是通过R/C来完成读数和转换功能的。这种模式适用于有足够输入口而无需扩充数据总线的系统,尤其适用于16位数据总线。AD1674为标准28脚双列直插式封装,如图4-6所示。其引脚意义及功能说明如表4-5所示。第4章基于单片