数据采集技术基础

简介: 数据采集技术基础
数据采集,是指从传感器和其他待测设备等模拟和数字等被测单元中自动采集非电量或者电量信号,送到上位机中进行分析和处理。
数据采集实现物理世界到数据世界的基础转换。

数据采集基础

数字与模拟转换ADC/DAC

ADC:Analog to Digital Converter
DAC:Digital to Analog Converter
计算机的世界由二进制0和1组成。
在单片机当中通常存在模拟外设ADC(模数转换器)和DAC(数模转换器)来进行数字信号和模拟信号之间的转换。

  • 一个ADC接口通常可以作为输入接口将外界的模拟信号转换为数字信号在单片机内进行使用,例如接口的额定电压为3.3V,则接口可接受的电压范围为0~3.3V。若此ADC为2bit,则可以表示四个不同的电压等级。
  • 一个DAC接口与ADC接口的作用相反,可以将单片机内的数字信号输出为一个模拟信号来进行使用,若不使用DAC对电压进行分级,接口只能表示低电平或高电平。
2-bit 电压值
00 0V
01 1V
10 2V
11 3V

数据采集与通信

数据采集需要先在传感器和上位机之间建立通信链路,二者建立通信的媒介为信道。
按数据传递的方向与时间关系,通信方式可分为单工、半双工和全双工三种。

  • 单工通信是指数据只能单方向传输的工作方式,因此只占用一个信道。
  • 半双工通信是指数据通信双方都能收发消息,但不能同时进行收和发的工作方式。
  • 全双工通信是指通信双方可同时进行收发消息的工作方式。一般情况下,全双工通信的信道必须是双向信道。

通信方式分类

在数字通信中,按数字信号编码排列的顺序可分为并行传输和串行传输。
串行传输是数字序列以串行方式一个接一个地在一条信道上传输。

  • 通常,远距离传输都采用这种方式。

并行传输是将代表信息的数字序列以成组的方式在两条或两条以上的并行信道上同时传输。

  • 并行传输的优点是节省传输时间,但需要传输信道多,设备复杂,成本高,故较少采用,一般适用于计算机和其他高速数字系统,特别适用于设备之间的近距离通信。

按通信对象数量的不同,可分为点到点通信、点到多点通信和多点到多点通信三种。
按同步方式不同,可分为同步通信和异步通信。

数据采集接口

通用可编程I/O接口GPIO

General Purpose Input/Output
GPIO用于控制结构简单的外部设备或者电路。这些设备或电路通常有开/关两种状态。
以STM32单片机为例,通常GPIO支持四种输入模式(浮空输入、上拉输入、下拉输入、模拟输入)和四种输出模式(开漏输出、开漏复用输出、推挽输出、推挽复用输出)。
GPIO一般支持三种最大翻转速度(2MHz、10MHz、50MHz)。

UART总线接口

Universal Asynchronous Receiver / Transmitter
UART(通用异步收发传输器)是一种串行异步收发协议,是将传输数据的每个字符一位接一位地传输:

  • 将数据的二进制位一位一位地进行传输。
  • 在UART通信协议中信号线上的状态位高电平代表"1",低电平代表"0"。
  • 当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。

I2C总线接口

Inter-Integrated Circuit Bus
I2C总线是由Philips飞利浦公司开发的一种简单、双向二线制同步串行总线,半双工通信,以字节为单位传输数据,常用于微控制器与外设之间的连接。
每一个设备都可以作为主设备或者从设备,每一个设备都会对应一个唯一的地址。
下图中:

  • Vdd为供电
  • SDA为串行数据线
  • SCL为串行时钟线

image.png

SPI总线接口

串行外设接口(Serial Peripheral Interface Bus,SPI)
又叫序列周边接口
是一种四线制同步串行外设接口,可以使MCU与各种外围设备以串行方式进行通信以交换信息:

  • 用于EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和和数字信号解码器之间。
  • 以主从方法进行数据通信,提供时钟的为主设备(Master),接收时钟的为从设备(Slave)。

image.png

DMA接口

直接内存访问(Direct Memory Access,DMA)
作用是无需经过CPU而进行数据传输。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传输数据的通路,能使CPU的效率大大提高。
DMA控制器(DMAC)可代替CPU驱动产生数据访问的地址,并执行数据的读/写操作。
DMA主要由硬件实现,是外设和内存之间交换数据的主要方式之一
image.png

系统中断

中断是指计算机运行过程中,出现某些意外情况,需要主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

中断分类

硬件中断(Hardware Interrupt):

  • 可屏蔽中断(maskable interrupt)。硬件中断的一类,可通过在中断屏蔽寄存器中设定位掩码来关闭。
  • 非可屏蔽中断(non-maskable interrupt,NMI)。硬件中断的一类,无法通过在中断屏蔽寄存器中设定位掩码来关闭。典型例子是时钟中断(一个硬件时钟以恒定频率—如50Hz—发出的中断)。
  • 处理器间中断(interprocessor interrupt)。一种特殊的硬件中断。由处理器发出,被其它处理器接收。仅见于多处理器系统,以便于处理器间通信或同步。
  • 伪中断(spurious interrupt)。一类不希望被产生的硬件中断。发生的原因有很多种,如中断线路上电气信号异常,或是中断请求设备本身有问题。

软件中断(Software Interrupt):

  • 软件中断。是一条CPU指令,用以自陷一个中断。由于软中断指令通常要运行一个切换CPU至内核态(Kernel Mode/Ring 0)的子例程,常用于实现系统调用(System call)。

数据采集接口协议

基于数据采集的接口,通过连接通信组件,可以形成满足不同数据采集业务场景的接口协议,主要包括有线、无线通信技术。
有线传输方式主要有电线载波、同轴线、开关量信号线、RS-232串口、RS-485、USB、CAN等。
物联网的无线通信技术主要分为两类:

  • 一类是RFID、NFC、红外、蓝牙、ZigBee、Wi-Fi等短距离通信技术。
  • 一类是LPWAN(low-power, wide-area network,低功耗广域网)通信技术,即广域网通信技术,专为低带宽、低功耗、远距离、大量连接的物联网应用而设计。

image.png

缩略语

INTR:interrupt require//中断请求
NMI:non maskable interrupt//不可屏蔽中断
IRQ:interrupt request//中断请求
EEPROM:electrically erasable programmable read-only memory//带电可擦可编程只读存储器

ADC:analog to digital converter//模数转换器
DAC:digital to anaog converter//数模转换器
DMA:direct memory access//直接内存访问
DMAC: DMA controller//DMA控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。

目录
相关文章
|
4月前
|
数据采集 监控 数据挖掘
如何更有价值采集电商数据,高效分析数据?
大数据,就是在一定时间范围内用常规工具软件对历史数据捕捉、处理,加以分析,进而改善决策和管理。在大数据时代,企业必须用大数据分析方法来做电商。
|
4月前
|
数据采集 存储 传感器
浅谈数据采集的难点|大规模数据采集首选的电商API接口
在当今的制造业领域,数据采集是一个难点。很多企业的生产数据采集主要依靠传统的手工作业方式,采集过程中容易出现人为的记录错误且效率低下。 有些企业虽然引进了相关技术手段,并且应用了数据采集系统,但是由于系统本身的原因以及企业没有选择最适合自己的数据采集系统,因此也无法实现信息采集的实时性、精确性和延伸性管理,各单元出现了信息断层的现象。
|
4月前
|
存储 消息中间件 SQL
分钟级实时数据分析的背后——实时湖仓产品解决方案
袋鼠云在结合当前数据湖技术的基础上,建设实时湖仓平台,满足客户“快、精、准”的数据需求。本文将详细介绍实时湖仓产品解决方案,让企业能够更专注地去解决他们的业务价值。
136 0
|
9月前
|
传感器 监控 安全
实时监控、数据分析、智能管理的智慧工地平台(源码)
智慧工地是指通过信息化技术、物联网、人工智能技术等手段,对建筑工地进行数字化、智能化、网络化升级,实现对施工全过程的实时监控、数据分析、智能管理和优化调控。智慧工地的建设可以提高工地的安全性、效率性和质量,降低施工成本,是建筑行业数字化转型升级的重要抓手。主要围绕“人、机、料、法、环、质、安、进”各业务环节的智能化、互联网化管理,提升建筑工地的精益生产管理水平。
实时监控、数据分析、智能管理的智慧工地平台(源码)
|
4月前
|
存储 数据采集 监控
智慧工地整体方案,实现现场各类工况数据采集、存储、分析与应用
“智慧工地整体方案”以智慧工地物联网云平台为核心,基于智慧工地物联网云平台与现场多个子系统的互联,实现现场各类工况数据采集、存储、分析与应用。通过接入智慧工地物联网云平台的多个子系统板块,根据现场管理实际需求灵活组合,实现一体化、模块化、智能化、网络化的施工现场过程全面感知、协同工作、智能分析、风险预控、知识共享、互联互通等业务,全面满足建筑施工企业精细化管理的业务需求,智能化地辅助建筑施工企业进行科学决策,促进施工企业监管水平的全面提高。
|
消息中间件 JSON 前端开发
大数据采集系统搭建
大数据采集系统搭建
122 0
|
数据采集 消息中间件 存储
大数据数据采集的数据采集(收集/聚合)的Logstash之概念的开源数据收集引擎
在大数据领域,数据采集是非常重要的一环。而Logstash作为一个开源的数据收集引擎,可以帮助我们轻松地实现数据的采集、聚合和传输等功能。本文将会对Logstash进行详细介绍。
249 0
|
消息中间件 前端开发 Java
实时即未来,车联网项目之车辆驾驶行为分析【五】
单次行驶里程区间分布、单次行程消耗soc区间分布、最大里程分布、充电行程占比、平均行驶里程分布、周行驶里程分布、最大行驶里程分段统计、常用行驶里程、全国-每日平均行驶里程(近4周)、全国-单车日均行驶里程分布(近一年)、各车系单次最大行驶里程分布、不同里程范围内车辆占比情况。
330 0
实时即未来,车联网项目之车辆驾驶行为分析【五】
EMQ
|
数据采集 SQL JSON
如何实现车联网的灵活数据采集
基于开源流式处理引擎eKuiper与大规模分布式物联网MQTT消息服务器EMQX的车云系统方案,帮助车联网企业实现端到端的灵活数据采集和高效的车云数据协同。
EMQ
518 0
如何实现车联网的灵活数据采集
|
数据采集 消息中间件 大数据
数据采集-用户数据采集|学习笔记
快速学习数据采集-用户数据采集
178 0
数据采集-用户数据采集|学习笔记