470 likes | 585 Views
数据采集基础知识. 张斌 北京凌华技术支持部 http://www.adlinkchina.com.cn http://www.adlinktech.com. 内容大纲. 信号与系统初步 基本定义 A/D D/A DIO Timer/Counter. 1101…. 1101…. 采样/量化. 数字信号 处理. 模拟重建. 模拟输入. 模拟输出. 数字输入. 数字输出. 信号与系统初步. 一个典型的系统:. 信息. on. 开/关信号. 状态. off. t. 数字量. 1-. 脉冲队列. 速率. 0-. t. 信号.
E N D
数据采集基础知识 张斌 北京凌华技术支持部 http://www.adlinkchina.com.cn http://www.adlinktech.com
内容大纲 • 信号与系统初步 • 基本定义 • A/D • D/A • DIO • Timer/Counter
1101… 1101… 采样/量化 数字信号 处理 模拟重建 模拟输入 模拟输出 数字输入 数字输出 信号与系统初步 • 一个典型的系统:
信息 on 开/关信号 状态 off t 数字量 1- 脉冲队列 速率 0- t 信号 0.985 直流信号 幅值 t 模拟量 时域信号 形状 t 频域信号 频率 f 信号与系统初步 (续) • 信号的分类:
on 1- off 0- t t 脉冲队列 开关信号 输入: 检测一个开关的打开/闭合 输出: 打开/关闭一个阀门 驱动能力 通道数 输入: 读光编码器的输出信号 输出: 产生一个方波 时钟频率 对采集卡的要求 信号与系统初步 (续) • 数字信号
0.985 t t f 时域信号 频域信号 电压信号 温度 压力 流量 应力 DC精度 雷达回波 血压变化 汽车点火波形 分辨率 采样频率 精度 触发 振动 语音 声呐 分辨率 采样频率 精度 触发 对采集卡的要求 信号与系统初步 (续) • 模拟信号
信号采集 • 传感器 • 信号调理 • 放大 • 滤波 • 信号转换 • …… • 将外部信号采入计算机,并加以处理,最后输出
PC Base数据采集系统功能 • A/D转换(模拟量/数字量转换) • D/A转换(数字量/模拟量转换) • DIO(数字量输入/输出) • Timer/Counter(定时器/计数器)
基本定义 • A/D:模拟量-数字量转换 • 把外部电压信号转成计算机能够识别的数字信号 • 采样频率 Max Sampling Rate (S/s), Sampling Frequency (Hz) • 精度(Resolution):8bit 12bit 14bit 16bit • 输入范围(Input Range)(增益): • 同步采样(Simultaneous analog input) • 轮询采样(Multiplex analog input) • 突发模式采样(Burst mode) • 触发模式(Trigger mode) • 隔离(Isolation) • FIFO • ……
数字量输出 A/D转换时钟 模拟量输入 A/D转换过程 A/D转换器
A/D转换过程--多路切换卡 7. 隔离与 非隔离 4. 数据传输 I/O 指令 DMA 总线主控 1. 信号源控制 通道数 信号类型(SE/DI) 信号范围 自动通道扫描 3. A/D 数据缓冲区 数据寄存器 FIFO 缓冲区 多 路 选 择 A/D 转换器 n 数据 缓冲区 内存(Buffer) + _ AT 总线或PCI 总线 模拟 信号 A/D 触发信号 CPU 中断信号 6. A/D 分辨率与数据格式 数据位数 二进制代码或补码 单极性或双极性 2. 触发源控制 触发信号源 采样频率 5. 中断信号控制
A/D 转换器 A/D 转换器 A/D 转换器 n n n + _ + _ + _ A/D转换的过程--同步板卡 A/D触发信号 模拟 信号 数据 缓冲区 内存(Buffer) PCI总线 模拟 信号 … CPU 模拟 信号
A/D基本定义 • 信号的频率 • 代表信号变化快慢的物理量 • 任何一种信号都可以转换成一组正弦波的迭加 • 不同的信号频率不同: • 语音:<4kHz • 音乐:<20kHz • 超声:20kHz~xxMHz • FM收音机:MHz • 雷达:xGHz • …
A/D基本定义 • 采样频率 • 采样周期的倒数 • 表示采样快慢的物理量 • 多少时间采一个点/每秒采样多少个点 • Nyquist采样定律:fs>=2*fmax fs :采样频率 fmax :信号最高频率 一般最小为fs>=2.5*fmax 工程上一般取为fs>=6~8*fmax • 采样定律的特例 • 等效时间采样
A/D基本定义 足够的采样率下的采样结果 过低采样率下的采样结果
A/D基本定义 • 能够正确显示信号而不发生畸变的最大频率叫做Nyquist频率,它是采样频率的一半 • 信号中所包含的频率高于Nyquist频率的成分,将在直流和Nyquist频率之间发生畸变,称为混叠(alias) • 混频偏差(alias frequency) =ABS(采样频率的最近整数倍-输入频率) • 解决方案 • 在A/D前加入低通滤波器,将信号中高于Nyquist频率的信号成分滤去 • 称为抗混叠滤波器
A/D基本定义 • 采样频率的控制 • Soft Polling(内部软件触发,通过I/O指令实现) • Timer Pacer(由8254定时器芯片分频产生的内部定速时钟) • 例如:频率= 2MHz 时钟/(C1*C2)(这里的C1与C2是16位定时器的分频系数) • External CLK / Trig(外部时钟) • 三种方式的特点 • 软件触发最为简单、易用,但无法精确控制采样时序,适用于对时序要求不甚严格的场合,如采集DC信号 • 内部时钟能够精确控制采样时序,但无法保证与外部信号严格同步,但一般应用(无论时域还是频域)均能够满足要求 • 外部时钟最为灵活,能够满足特殊应用的需求 • CLK与Trigger
上升沿触发 负沿触发 正沿触发 下降沿触发 数字触发 模拟触发 触发 事件 M N 延时触发 N 预触发 M N 中触发 N 后触发 A/D基本定义 • Trigger(触发):启动、停止或同步采集事件的方法
A/D基本定义 • 下列情况适用软件触发模式(Software Trigger,非Soft Polling) • 用户需要对所有采集事件进行明确控制 • 时间要求不甚严格 • 下列情况适用硬件触发模式 • 采集事件需要与外部装置严格同步 • 高速、瞬态采集事件
A/D基本定义 • 多通道采样 • 同步采样 • 采用多个A/D芯片,不同通道采用同一时钟 • 保证不同通道的采样时间相同(信号同步) • 轮询采样 • 只采用一个A/D芯片,通过多路转换开关实现不同通道的切换 • 通道转换时间 • 可以通过外加采样/保持电路保证采样的同步 • 突发模式采样 • 用通道时钟控制通道间的时间间隔 • 用另一个扫描时钟控制两次扫描过程之间的间隔
A/D基本定义 • 信号类型 • 从信号端来讲,信号分为 • 接地信号 • 浮空信号 • 从信号输入端来讲,输入方式分为 • 差分输入(DI) • 参考地单端输入(RSE) • 无参考地单端输入(NRSE) • 一般来讲,浮空信号和差分输入方式比较好。但要看具体情况而定。
A/D基本定义 • 接地信号的测量 • 最好采用差分或NRSE方式 • 若采用RSE方式,会引入较大误差 • 接地回路通常会在测量数据中引入频率为电源频率的交流和偏置直流干扰 • 如果信号电压很高并且信号源和数据采集卡之间的连接阻抗很小,也可以采用RSE输入方式
A/D基本定义 • 浮空信号的测量 • 可以用差分、RSE、NRSE方式测量浮空信号 • 在差分输入时,必须保证相对于测量地的信号共模电压在允许范围之内 • 需在测量端与测量地之间连接偏置电阻 • 10K ohm<R1=R2<100K ohm • 信号为直流时,仅需要R2;若为交流信号,则R1、R2均为必需
A/D基本定义 • 几种信号输入方式的特点 • 差分输入 • 可避免接地回路干扰 • 可避免因环境引起的共模干扰 • NRSE • 可避免接地回路干扰 • RSE • 最简单,若信号满足下列条件,可选择RSE输入 • 输入信号幅值较大,一般需>1V • 连线比较短,一般<5m • 环境干扰很小或信号屏蔽比较好 • 所有输入信号都与信号源共地 • 否则建议选用差分输入方式 • 总体而言,差分输入方式是比较好的选择
A/D基本定义 +10V • 输入范围与增益 • 输入信号的幅度 / 输入信号的放大倍数 • 单极性与双极性 • 双极性: e.x. -10V ~ +10V (20V范围) • 单极性: e.x. 0V~+5V (5V范围) • 跳线设置或编程设置 • 可编程增益 • 对于大信号应用: 普通增益(1,2,4,8) • 对于小信号应用: 高增益(1,10,100,1000) • 例如:输入电压范围: +/-10V, 普通增益 • 可选择的输入电压范围:+/-10V, +/-5V, +/-2.5V, +/-1.25V +5V 0V -10V
A/D基本定义 • 采样精度/分辨率:Accuracy / Resolution • 采样数据最低位所代表的模拟量的值 • Nbit: 8bit / 12bit / 16bit • 电压表示:输入范围/2n • 用户关心的最小可测电压值 • 举例:假如10V的输入信号用12位数据来表示,则最小可分辨的电压为10/212=0.224mV 振幅 10.00 8.75 7.50 6.25 5.00 3.75 2.50 1.25 0 111 110 100 011 010 001 000 分辨率 0 20 40 60 80 100 120 140 时间
A/D基本定义 • A/D数据格式 • 二进制原码 • 二进制循环码 实例1: 16 位, 双极性输入 二进制循环码格式 实例2: 12 位, 双极性输入 二进制原码格式
A/D基本定义 • 隔离 • 模拟光隔与数字光隔 • A/D的隔离一般隔离数字信号 • 隔离电压 • 隔离的作用 • 保护计算机 • 降低噪声 模拟信号 数字信号
A/D基本定义 • FIFO • 先进先出存储器 First In First Out • 用于A/D转换数据缓存作用 • PCI总线的传输速率大于A/D转换速率,FIFO正常情况下是空的 • 利用Bus Mastering DMA,最多可以单次DMA 64MB,并不受限于FIFO大小
A/D基本定义 • 数据采集卡的中断系统 • ISA总线采集卡通过跳线选择IRQ • 中断源可选择 DMA Enable Signal External Interrupt EOC Interrupt Programmable Multiplexer Timer Interrupt Jumper CPU AT Bus FIFO Half-Full Int. interrupt lines Most of the ISA AD cards only use the EOC interrupt DMA Terminal Count ACL-8316/12的中断系统
A/D基本定义 • 数据采集卡的中断系统 • PCI总线采集卡由PCI BIOS自动分配IRQ • 多块PCI卡可共享同一中断 • 对于PCI总线采集卡,软件设计时必须考虑中断共享 • 中断共享的实现 AD EOC INT1 INT1 MUX PCI Controller IRQ Flip-Flops FIFO Half-full INT2 INT #A of PCI Bus INT2 MUX Timer Pacer External IRQ Clear IRQ PCI-9111的中断系统
A/D基本定义 • 数据传输 • Software Polling • EOC INT • FIFO Half Full INT • DMA • Bus Mastering DMA • Scatter Gather DMA Transfer Data to memory by: A/D Data Register 1. inport instruction 2. DMA controller 3. PCI Bus-master FIFO Buffer ISA Bus or PCI Bus FIFO Half-Full FIFO enable Interrupt Generation System End of Conversion interrupt line
Timer Logic Scatter/Gather DMA Fragmented Physical Memory Gathering Scatter memory Data FIFO A/D PCI Bus Controller D/A Retrieves Data CPU
A/D基本定义 • 连续采样的实现 • Double Buffer DMA
A/D数据采集应用 • 对于不支持总线主控的采集卡。如何在Windows下应用 • Slave的PCI卡不支持DMA,只有中断;ISA卡的DMA也要通过中断 • Windows对中断的响应有延时 • 使用FIFO 缓冲区来消除Windows延时的影响,但数据不能进行“实时”处理 • FIFO 可以存储至少10 ms的模拟信号数据 • 1024 × 1/100 KHz = 10.24 ms • A/D 数据传输方法 • 使用FIFO 半满标志位来产生一个中断,然后在中断服务程序中读取A/D数据 • FIFO 数据查询也是可以的,而中断则被保留起来用作紧急事件触发源或看门狗定时器触发源
A/D数据采集应用 • 如何对数据实时处理 • DMA:高速,基本可满足不太严格的实时处理要求 • 严格“实时”,内时钟触发 + EOC中断 + 实时操作系统(或DOS) • 用户自行在中断服务程序中处理数据
D/A基本定义 • D/A:数字量—模拟量转换 • 将计算机内部数字量信号转成外部电压 • 建立时间(Setting Time):指变化量为满刻度时,达到终值1/2LSB时所需的时间 • 更新频率/采样频率 (Max Data Update Rate) • 精度(Resolution):8bit 12bit 14bit 16bit • 输出范围 • 输出信号类型 • 电压输出 • 电流输出(Source、Sink) • ……
A/D与D/A测试 • 能否用A/D卡采集脉冲信号? • 假如用100K的采集卡采集75K的信号,会得到什么样的结果? • 简要说明DI、RSE、NRSE的区别?凌华哪些板卡支持NRSE输入? • 用PCI-9112的+/-10V进行采样,最小可分辨多少电压? • 对于mV级信号采用高增益的好处是什么? • 什么是FIFO?与Double Buffer DMA的Buffer有何区别? • PCI-6208V的D/A建立时间是2微秒,是否可以说其可以用作输出频率500KHz的任意波形发生器?
数字I/O基本定义 • I/O点数或通道数 • 隔离与非隔离 • 非隔离输入输出:TTL电平兼容 • 隔离输入类型:光电隔离输入 • 隔离输出类型1:达林顿管输出 • 隔离输出类型2:继电器输出 • 输出驱动能力 • I/O速度
隔离数字输入 • 隔离输入信号电压范围 • 依赖于限流电阻 • 若要使用大负载则需用户自定义限流电阻 隔离输入 1.2K Ohm PC814
内部电源 外部电源 VDD 达林顿管 电源 5~35V 负载 + - 隔离数字输出 • 达林顿晶体管能够提供比较大的“灌电流”驱动 • 需要外部或内部电源 • 若为感性负载,必须使用外部电源
DIO基本定义 • 既可作DI,也可作DO,程序控制 • 8255兼容
N GATE OUT CLK T/C基本定义 • Timer / Counter — 82C54 • GATE:门控信号。只有当GATE为H时计数 • CLK:时钟。每输入一个脉冲计数值减1 • OUT:计数输出。当计数到一定值时改变状态。状态的改变由工作方式决定
N GATE OUT CLK 已知长度的脉冲 输入信号 T/C基本用法 • 计输入信号频率 • 设置计数初值N • 将已知长度(T)的脉冲输入至GATE,待测信号输至CLK • 测量T时间中的计数,即可算得输入信号的频率
N GATE 输入信号 OUT CLK 已知长度的脉冲 T/C基本用法 • 计输入脉冲信号时间 • 设置计数初值N • 将已知长度(t)的方波或脉冲输入至CLK,待测信号输至GATE • 测量脉冲过程中的计数,即可算得输入信号的时间
总结 • 本次内容涉及A/D、D/A、GPIO、GPTC等,对于凌华高速I/O将在今后专门介绍