继电器是用开关量控制的功率开关器件。继电器分机械触点的继电器和无触点的固态继电器。继电器的主要优点是用小电流的线圈控制大电流的触点。当开关量输出高电平,光电耦合器导通使继电器的线圈得电,使常开触点闭合,点亮灯泡。在继电器线圈一侧,用十几毫安的电流接通线圈,可使几百毫安、几个安培的触点接通。固态继电器是用分离的电子元器件、集成电路(或芯片)及混合微电路技术相结合发展起来的一种具有继电器特性的无触点式电子开关。它具有寿命长、可靠性高、开关速度快、电磁干扰小、无噪声、无火花等特点。固态继电器有交流和直流两种。交流型固态继电器分过零触发型和随机导通型。另外,对于大功率低压直流固态继电器的输出开关普遍采用功率场效应管来替代功率三极管,以此来降低输入功率。
2.数字量输入输出接口
根据数据传输方式的不同,数字量有并行输入/输出和串行输入/输出两种。并行输入/输出接口,输入或输出的数据都是按一个字或一个字节所包含的全部位数同时并行地传送。
并行接口数据传输的速度快,但使用的数据线多,适用于近距离、高速率传输的场合。目前有多种并行输入/输出接口集成电路芯片,分为不可编程和可编程两种类型。
不可编程的并行接口由普通的缓冲器、锁存器等芯片组成,如74LS373、74LS244/245等,可用作数据输入锁存和输出缓冲等控制。可编程并行接口由可编程接口芯片组成,用户通过编程选择接口芯片的工作方式,并设定数据端口控制方式。这种接口具有广泛的适应性和很高的灵活性。
这类芯片有8255A、8155、8251等。可编程并行输入/输出接口的软件设计主要是可编程芯片的工作方式设定等初始化程序设计。Intel8255A是可编程的并行接口芯片,可以通过软件来设置芯片的工作方式。利用8255A连接外部设备时,通常不需要附加外部电路,使用起来很方便。
数字量输入输出的第二种方式是串行输入/输出接口。许多外部设备和计算机之间是按照串行方式进行通信的。也就是说,数据是1位接着1位地进行传输。串行通信只要一根或两根数据传输线就可以实现外部设备与计算机的通信。串行通信传输线少,传输的距离长,价格低廉,因而得到广泛的应用,但是串行通信的传输速度较慢。
由于计算机输入和输出的数据都是以字节或字为单位的并行码,通过串行口发送数据时需要采用并/串转换芯片,将并行码转换为串行码。相反,利用串行口接收数据时,要将串行码转换为并行码。在数据的传输过程中,串行口还需要具有奇偶检验和联络信号控制功能。串行接口部件内部有四个主要的寄存器,即控制寄存器、状态寄存器、数据输入寄存器和数据输出寄存器。控制寄存器用来容纳CPU送给此接口的各种控制信息,而控制信息决定接口的工作方式。状态寄存器的各位叫状态位,每一个状态位都可以用来指示传输过程中的某一种错误或者当前传输状态。数据输入寄存器总是和串行输入/并行输出移位寄存器配对使用的。在输入过程中,数据1位接着1位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走。输出的情况和输入过程类似。在输出过程中,数据输出寄存器和并行输入/串行输出移位寄存器配对使用。当CPU往数据输出寄存器中输出1个数据后,数据便传输到移位寄存器,然后1位接着1位地通过输出线送到外设。从原则上说,对这四个寄存器可以通过不同的地址来访问。但是,控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的。所以,可以用读信号和写信号来区分这两组寄存器,再用1位地址来区分两个只读寄存器或两个只写寄存器。
串行接口芯片在传输数据时,有同步传输和异步传输两种方式。采用同步传输时,将许多字符组成一个信息组,字符可以一个接一个地传输。但是,在每组信息(信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。采用异步传输时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。在数据传输率相同的情况下,同步传输方式下的信息有效率要比异步方式下的高,因为同步方式下的非数据信息比例比较小。但是,从另一方面看,同步方式下,要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每1位的位置。这样一来,如采用同步方式,那么在传输数据的同时,还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,只要比较相近即可。同步传输的硬件复杂,而异步传输使用灵活、方便,容易实现。因此,异步传输方式得到了广泛的应用。
RS-232串行通信接口就是数据异步传输的主要形式。RS-232C总线是美国电子工业协会EIA于1969年最后确定的串行总线的物理接口标准。该标准规定了串行通信中,主控模板与从属模块间的物理连接线路的机械、电气、功能和过程特性,两端都必须遵循的共同约定。
在嵌入式系统应用中,用户也可以选择数字I/O接口芯片进行数字量输入/输出通道的设计,但对于大多数工业应用而言,如果能够在市场上选用通用的I/O接口板,不失为一个明智的选择。因为这些通用I/O接口板都是经过专门化设计、长期实践考验的,其性能和可靠性均有保障。对于用户而言,选用成熟的I/O板卡能大大加快项目开发进度、降低开发难度。目前市场上有各种各样的I/O接口板,台湾研华、康泰克等公司生产的板卡,性能比较可靠,应用较多。
3.模拟量输入输出接口
在机电系统中,需要检测位移、速度、加速度、温度、压力等连续变化的物理量。这些物理量经过不同传感器和相应电路转换成模拟电信号。通常情况下,传感器输出的信号是微弱的,有时甚至是非线性的。在模拟电信号转换为数字信号之前,需要对模拟量进行调理,如放大、滤波、线性化处理等。经过调理的电信号通过模/数(A/D)转换器转换为数字量,输入到计算机内进行处理。计算机输出的控制信号是数字量,可以直接用来显示或驱动螺线管、开关、步进电动机和继电器等装置。但是,大多数执行机构是模拟量驱动的,如交直流伺服电动机、电磁阀等。因此,需要将数字信号和模拟信号相互转换。
实现这种数模转换的器件是A/D转换器和D/A转换器。
模拟信号转换成数字信号的电路,称为模数转换器(简称A/D转换器或ADC),将数字信号转换为模拟信号的电路称为数模转换器(简称D/A转换器或DAC),A/D转换器和D/A转换器已成为信息系统中不可缺少的接口部件。为确保系统处理结果的精确度,A/D转换器和D/A转换器必须具有足够的转换精度,如果要实现快速变化信号的实时控制与检测,A/D转换器和D/A转换器还要求具有较高的转换速度。转换精度与转换速度是衡量A/D转换器和D/A转换器的重要技术指标。随着集成技术的发展,现已研制和生产出许多单片的和混合集成型的A/D转换器和D/A转换器,它们具有越来越先进的技术指标。
A/D转换的作用是将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,因此,A/D转换一般要经过取样、保持、量化及编码四个过程。在实际电路中,这些过程有的是合并进行的,例如取样和保持、量化和编码往往都是在转换过程中同时实现的。
A/D转换器的主要技术指标有转换精度、转换速度等。选择A/D转换器时,除考虑这两项技术指标外,还应注意满足其输入电压的范围、输出数字的编码、工作温度范围和电压稳定度等方面的要求。
单片集成A/D转换器的转换精度是用分辨率和转换误差来描述的。A/D转换器的分辨率以输出二进制(或十进制)数的位数来表示。它说明A/D转换器对输入信号的分辨能力。从理论上讲,n位输出的A/D转换器能区分两个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2n。在最大输入电压一定时,输出位数越多,分辨率越高。例如A/D转换器输出为8位二进制数,输入信号最大值为5伏,那么这个转换器应能区分出输入信号的最小电压为9.53毫伏。
转换误差通常是以输出误差的最大值形式给出。它表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示。例如给出相对误差≤±LSB/2,这就表明实际输出的数字量和理论上应得到的输出数字量之间的误差小于最低位的半个字。
转换时间是指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。A/D转换器的转换时间与转换电路的类型有关。不同类型的转换器转换速度相差甚远。其中并行比较型A/D转换器的转换速度最高,8位二进制输出的单片集成A/D转换器转换时间可达到50纳秒以内,逐次比较型A/D转换器次之,它们多数转换时间在10~50毫秒以内。间接A/D转换器的速度最慢,如双积分A/D转换器的转换时间大都在几十毫秒至几百毫秒之间。在实际应用中,应从系统数据总的位数、精度要求、输入模拟信号的范围以及输入信号极性等方面综合考虑,选用合适的A/D转换器。
D/A转换器一般按输出的是电流还是电压、能否做乘法运算等进行分类。大多数D/A转换器由电阻阵列和n个电流开关(或电压开关)构成。按数字输入值切换开关,产生比例于输入的电流(或电压)。此外,也有为了改善精度而把恒流源放入器件内部的。
一般来说,由于电流开关的切换误差小,大多采用电流开关型电路。如果电流开关型电路直接输出生成电流,则为电流输出型D/A转换器,而电压开关型电路为直接输出电压型D/A转换器。
电压输出型D/A转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分的延迟,故常作为高速D/A转换器使用。
电流输出型D/A转换器很少直接利用电流输出,大多外接电流-电压转换电路得到电压输出。后者有两种方法:一是只在输出引脚上接负载电阻而进行电流-电压转换,二是外接运算放大器。用负载电阻进行电流-电压转换的方法,虽可在电流输出引脚上出现电压,但必须在规定的输出电压范围内使用,而且由于输出阻抗高,一般需要外接运算放大器使用。此外,大部分CMOSD/A转换器当输出电压不为零时不能正确动作,所以也必须外接运算放大器。当外接运算放大器进行电流-电压转换时,电路构成基本上与内置放大器的电压输出型相同。这是由于在D/A转换器的电流建立时间上加入了运算放大器的延迟,使响应变慢。还有,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。
D/A转换器中有使用恒定基准电压的,也有在基准电压输入上加交流信号的。后者由于能得到数字输入和基准电压输入相乘的结果输出,因而称为乘算型D/A转换器。
乘算型D/A转换器不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对输入信号进行调制的调制器使用。
一位D/A转换器与上述转换方式全然不同。它将数字值转换为脉冲宽度调制或频率调制的输出,然后用数字滤波器作平均化,从而得到一般的电压输出(又称位流方式),用于音频等场合。
D/A转换器的主要技术指标有分辨率、建立时间、线性度、转换精度、温度系数和漂移等。分辨率指最小模拟输出量(对应数字量最低位仅为‘1’)与最大量(对应数字量所有有效位为‘1’)之比。建立时间是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。D/A转换器中常用建立时间来描述其速度,而不是A/D转换器中常用的转换速率。一般的,电流输出D/A建立时间较短,电压输出D/A则较长。