第十三章——嵌入式系统输入输出设备

前言:
   计算机第十三章节主要知识点。

1 知识点介绍

  • GPIO原理与结构
  • A/D接口原理与结构
  • D/A接口原理与结构

2 GPIO原理与结构

  GPIO(General Purpose I/O,通用输入输出接口)也称为并行I/O(Parallel I/O),是最基本的I/O形式。

  • 由一组输入引脚或输出引脚组成,CPU对它们能够进行存取操作。
  • 有些GPIO引脚能够通过软件编程改变输入/输出方向。

  一个双向GPIO端口 $(D_0)$ 的简化功能逻辑图如图所示。

  • PORT:数据寄存器
  • DDR(Data Direction Register):数据方向寄存器。

GPIO.png

3 AD转换

  AD转换器是把模拟量转换为数字量的电路。实现AD转换的方法有很多,常用的方法有。

  • 计数法
  • 双积分法
  • 逐次逼近法等

AD.png

  计数式AD转换器电路主要部件包括:比较器、计数器、DA转换器和标准电压源。转换原理图如下所示。

CounterTypeAD.png

  特定。

  • 结构简单。
  • 但转换速度较慢。
  • 特别是模拟电压较高时,转换速度更慢。
  • 例如对于一个8位AD转换器,若输入模拟量为最大值,计数器要从0开始计数到255,做255此DA转换和电压比较工作,才能完成转换。

3.1 例题

  1. AD转换器完成模拟量到数字量的转换,计数式AD转换器结构如下图所示。V1是模拟输入电压,Vo是DA转换器的输出电压。当C = 1(高电平)时计数器开始计数,当C=0(低电平)时计数器停止计数。CLR(开始转换信号)的下降沿复位计数器为00000000,CLR回复高电平时计数器准备计数。假设模拟输入电压V1为+3.5v,8位DA转换器的量程为0+5v,则转换结束时数字量输出D7D0(D7是最高位)的值为(D)。

A. 10110000
B. 10110001
C. 10110010
D. 10110011

3.2 双积分式

  双积分式AD转换法电路主要部件包括:积分器、比较器、计数器和标准电压源。转换原理图如下所示。
  工作原理。

  • 对输入模拟电压和参考电压进行两次积分,将电压变换成与其成正比的时间间隔。
  • 利用时脉冲和计数器测出其时间间隔,完成AD转换。

DoubleIntegralAD.png

  双积分式AD转换器的转换过程如下。

  • 对输入待测的模拟电压Vi进行固定时间的积分。
  • 转换至标准电压 $V_\text{REF}$ 进行固定斜率的反向积分(定值积分),反向积分进行到一定时间,变返回起始值。对标准电压 $V_\text{REF}$ 进行反向积分的即使T正比于输入模拟电压,输入模拟电压越大,反向积分回到起始值的时间T越长,有 $Vi = (T2 / T1) V_\text{REF}$ 。
  • 用标准时钟脉冲测定反向积分时间(如计数器),就可以得到对应于输入模拟电压的数字量,实现AD转换。

Integral.png

  特点。

  • 具有很强的抗工频干扰能力
  • 转换精度高
  • 但转换速度慢
  • 通常转换频率小于10Hz,主要用于数字式测试仪表、温度测量等方面。

3.3 逐次逼近式

  逐次逼近式AD转换法电路主要部件包括:比较器、DA转换器、逐次逼近寄存器和基准电压源。

SuccessiveApproximation.png

  工作原理。

  • 实质上就是对分搜索法,和天平称重的使用原理一样。
  • 在进行AD转换时,由于DA转换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。
  • 首先使逐次逼近寄存器的最高位为1,这相当于取出基准电压的1/2与输入电压比较,如果在输入电压小于1/2的基准电压,则最高位置0,反之置1。之后,次高位置1,相当于在1/2的范围中再次作对分搜索,以此类推,逐次逼近。

  特定。

  • 转换速度快
  • 转换精度较高
  • 对N位AD转换只需N个时钟脉冲即可完成
  • 可用于测量微秒级的过渡过程的变化,是目前应用最普遍的一种AD转换方法

3.4 例题

  1. 设一个电路为8位AD转换器,它的输入模拟量Vi = 6.84v,DA转换基准电压Vref = 10v。根据逐次比较DA转换器的工作原理。
    (1)可以画出在转换过程中CP,启动脉冲、D7~D0及DA转换器输出电压Vo的波形。
    (2)以及最终所输出的数字量。
    (3)以及最终数字量所对应的输出电压值。

SuccessiveApproximation_.png

4 DA转换

  • 概述
  • DA转换器的工作原理
  • DA转换器的分类
  • DA转换器的指标

  DA转换器是把输入的数字量转换为与输入量成比例的模拟信号的器件,简记为DAC(Digital to Analog Converter)。

  • 在集成化的DA转换器中,通常采用电阻网络实现将数字量转换为模拟电流。
  • 然后再用运算放大器完成模拟电流到模拟电压的转换。

DA.png

4.1 T型电阻网络DAC

  一个4位T型电阻网络解码网络、模拟电子开关和求和放大电路构成,因为R和2R组成T型,故称为T型电阻网络DAC。

  电压输出型。

  • 电压输出型DA转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器的低阻抗输出。
  • 直接输出电压的器件仅用于高阻抗负载,由于无输出放大器的延迟,故常作为高速DA转换器使用。

  电流输出型。

  • 电流输出型DA转换器直接输出电流,但应用中通常外接电流-电压转换电路得到电压输出。
  • 电流-电压可以直接在输出引脚上连接一个负载电阻,实现电流-电压转换。
  • 但多采用的是外接运算放大器的形式。
  • 大部分CMOS DA转换器当输出低压不为零时不能正确动作,所以必须外接运算放大器。
  • 在DA转化器的电流建立时间上加入了外接运算放大器的延迟,DA响应变慢。
  • 运算放大器因输出引脚的内部电容容易起振,有时必须作相位补偿。

  乘算型。

  • DA转换器中有试用恒定基准电压的,也有在基准点阿姨输入上加交流信号,后者由于能得到数字输入和基准电压输入相乘的结果而输出,因而称为乘算型DA转换器。
  • 乘算型DA转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化衰减的衰减器以及对输入信号进行调制的调制器使用。

4.2 例题

  1. 一个4位T型电阻网络DA转换电路如下图所示,若取 $R_\text{f} = 3R$ ,则运放的输出电压 $V_o$ 为: $V_o = V_\text{ref} 2^4(D_3 \times 2^3 + D_2 \times 2^2 + D_1 \times 2^1 + D_0 \times 2^0)$ 。假设 $V_ref$ 电压为12v,为了得到9v的输出电压,D3~D0的二进制值应为(C)。

A. 0111
B. 1001
C. 1100
D. 1111

4.3 DA转换器指标

  分辨率。

  • DAC电路所能分辨的最小输出电压与满量程输出电压之比称为DAC的分辨率。
  • 最小输出电压是指输入数字量只有最低有效位为1时的输出点电压。
  • 最大输出点电压是指输入数字量各位全为1时的输出电压。
  • DAC的分辨率可用式子表示: $分辨率 = 1 / (2^n - 1)$ 式中,n表示数字量的二进制位数。

  DAC产生误差的主要原因有:

  • 基准电压 $V_\text{REF}$ 的波动
  • 运放的零点漂移
  • 电阻网络中电阻阻值偏差等原因。

 &emps;转换误差。

  • 转换误差常用满量程FSR(Full Scale Range)的百分数来表示。
  • 例如,一个DAC的线性误差为0.05%,就是说转换误差是满量程输出的万分之五。
  • 有时转换误差用最低有效位LSB(Least Significant Bit)的倍数来表示。
  • 例如,一个DAC的转换误差是LSB/2,则表示输出电压的绝对误差是最低有效位(LSB)为1时输出电压的1/2。

  DAC的转换误差主要有失调误差和满值误差。

  失调误差。

  • 输入数字量全为0时,模拟输出值与理论输出值的偏差。
  • 在一定温度下的失调误差可以通过外部电路调整措施进行补偿,也有些DAC芯片本身有调零端进行调零。
  • 对于没有设置调零端的芯片,可以采用外接校正偏置电路加到运放求和端。

  满值误差。

  • 又称增益误差,是指输入数字量全为1时,实际输出电压不等于满值的偏差。
  • 调整运放的反馈电阻。

  DAC的分辨率和转换误差共同决定了DAC的精度。

  • 要使DAC的精度高,不仅要选择位数高的DAC,还要选用稳定高度的参考电压源 $V_\text{REF}$ 和低漂移的运算放大器与其配合。

  简历时间。

  • 是描述DAC转换速度快慢的一个重要参数,一般是指输入数字量变化后,输出模拟量稳定到相应数值范围所经历的时间。
  • DAC中的电阻网络,模拟开关等是非理想器件,各种寄生参数及开关延迟等都会限制转换速度。
  • 一般电流输出DA转换建立时间较短,电压输出DA转换建立时间较长。
  • 实际上建立时间的长短不仅与DAC本身的转换速度有关,还与数字量变化范围有关。
  • 输入数字量从全0变到全1(或者从全1变成全0)时,建立时间最长,称为满量程变化建立时间。
  • 一般产品手册上给出的是满量程变化建立时间。

  精度(Accuracy)

  • 绝对精度:在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LSB)的分数值来表示绝对精度,如±1LSB。绝对误差包括量化精度和其他所有精度。
  • 相对精度:是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。
  • 例如,满量程为10v,10位AD芯片,若其绝对精度为±1/2LSB,则其最小有效位的量化单位为9.77mv,其绝对精度为4.88mv,其量化精度为0.048%。

  量程。

  • 量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。
  • 例如,单极性的量程为0+5v,0+10v,0+20v,双极性的量程为-5+5v,-10~+10v。

4.3.1 例题

  1. 如果12位DA转换器的满量程为10v,转换精度为±1/2LSB,则转换器的绝对精度为(B)。

A. 1.22mv
B. 2.44mv
C. 1.25mv
D. 2.5mv

  1. 在DA变换器中,分辨率表示它的一个LSB(最低有效位)输入使输出变化的程度。分辨率通常用DA变换器输入的二进制位数来描述,如8位、10位、12位等。对于一个8位DA变换器来说,当它的输出电压范围为0~+3v时,其分辨率为(B)。

A. 3.9mv
B. 11.7mv
C. 5.85mv
D. 3.9v