导航:首页 > 操作系统 > 单片机采样

单片机采样

发布时间:2022-02-04 20:13:37

单片机采样有几种方法

主要有定时器中断采样或dma通道采样,定时器作为触发源采样,软件触发采样几种。

㈡ 单片机中 ADC 是如何进行采集的

摘 要:本文设计并实现了基于2.4GHz ISM频段射频收发芯片nRF2401的计算机短距离无线数据采集系统。该系统采用PC作为系统控制中心,以C8051F021单片机为核心构成数据采集传送的前端,并且采用nRF2401芯片进行数据无线发射与接收。
关键词:ISM频段; 射频; C8051F021单片机; nRF2401

引言
针对某医疗装置中的人体生理信号采集和传输问题,本文设计了计算机近距离无线数据采集系统。采用Nodic公司的nRF2401作为无线收发核心器件。系统由一台PC、无线数据接收模块和无线数据采集发射模块组成。无线数据发射模块以C8051F021单片机为处理核心,采用单片机内部的12位ADC对现场的模拟信号进行采集和发送;无线数据接收模块以C8051F021单片机作为处理核心,接收与发射模块由nRF2401无线收发芯片完成,采用MAX5591实现12位D/A转换,采用 RS-485总线与PC进行通信,它负责现场数据的接收和初步处理,并转发给PC以供显示和监控,同时将数字量转换为模拟量,供示波器显示;PC有良好的人机界面,利用NI的虚拟示波器显示远端现场采集的数据,并可以向现场的采集模块发送控制命令,同时可以实现保存采集数据、打印、回放历史数据等功能。

系统分析及设计
计算机短距离无线数据采集系统组成如图1所示。

图 1 系统组成框图

系统分析及硬件设计
由于现场要采集的数据为医学人体实验数据,幅值大约在-1.0V~+1.0V之间,频率为300Hz,要求测量误差低于10mV,C8051F021自带的12位ADC在精度上可以满足要求;但是单片机中的ADC要求输入为正电压,同时考虑到转换精度要求,故需要对信号进行转换,将原信号转换为幅值在0~3V、频率300Hz左右的信号。可以利用MAX4194组成信号转换电路,将模拟信号的零参考电平抬升到1.0V。这样,原先-1.0V~0V之间的电压信号转换为0~1.0V之间的电压,而原先0V~1.0V之间的电压转换为1.0V~2.0V之间的电压。这样就完成了原始信号的转换,适应了单片机的输入要求。单片机A/D转换参考电压选择外部3.3V,由MAX6013提供。
考虑到无线数据的发送与接收特点,故选用Nordic 公司的nRF2401芯片。nRF2401是单片射频收发芯片,工作于2.4GHz~2.5GHz ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片功耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA。其独有的DuoCeiver技术使nRF2401可以使用同一天线,同时接收两个不同频道的数据。nRF2401使用跳频技术,在2400MHz~2527MHz之间设立了128个频道(每个频道带宽1MHz),频道间的切换时间小于200ms。此外,nRF2401内置CRC编解码模块,可以在不增加编程难度的条件下减小误码率。
无线数据接收后,要进行D/A转换,供示波器观看;考虑到数据的采集精度要求,故采用了 MAX5591作为转换器件,一方面可以方便地与C8051F021单片机SPI接口连接,另一方面,它是12位DAC,与采集端的ADC匹配,可减小转换误差。
无线数据接收到终端后,要求能直观地观看,并且可以对现场的数据采集次数、采集启停时间进行控制,故需要将数据传到PC,进行显示;同时,通过人机界面,对现场进行远程控制。PC采用VC++编写程序,利用NI 的虚拟示波器和其它控件实现友好的人机界面,数据显示、存储和打印功能。
系统中的主要软件模块
系统软件主要由上位机软件和下位机软件组成。
上位机软件主要实现与单片机通信、波形显示、数据存储、数据回放、打印等功能。下位机的主要功能有:系统初始化、数据采集(A/D转换)、无线数据发射、无线数据接收、数据D/A转换、与PC串口通信等。下面重点介绍下位机的无线发射与接收部分软件。
无线数据收发主要通过对nRF2401进行操作实现,包括器件配置、发送数据、接收数据等。nRF2401的工作模式通过引脚PWR_UP、CE和CS选择。在RX/TX模式下,有两种工作方式:ShockBurs和Direct Mode。本系统选用了ShockBurst模式,这种模式下需要配置的内容有:接收数据长度、接收通道地址、CRC校验、工作方式、发送频率、传送速率、接收与发送等。需要15字节的配置内容,下面给出了16进制的配置内容:0x80,0x80,0x00,0xcc,0xcc,0xcc,
0x00,0xcd,0xcd,0xcd,0xcd,0x83,0x4f,
0x05。

难点分析及解决方法
nRF2401半双工通信方式与C8051全双工通信接口的转换
在数据的采集端,单片机与射频模块是双向通信,可以直接采用单片机自带的SPI 接口与射频模块单向通信,包括配置射频模块的工作方式、接收通道地址、接收数据长度、接收频率、发送功率等参数和要发送的采集数据;当单片机要读取远端发送的控制命令时,要将SPI模式关闭,同时将MOSI、DR1端口定义为输入方式,然后将射频模块接收的控制命令读到单片机内部,并根据控制命令进行相应的操作,如采集通道选择、采集次数设定、开始采集、停止采集、发送数据等。

表1 实验数据表

在接收端,单片机和射频模块之间也是双向通信,单片机首先关闭SPI 模式,将MISO定义为输入模式,通过模拟的SPI 操作,对射频模块进行配置;当有控制命令要发送时,仍将MISO端口定义为输出模式,将射频模块配置为发送模式,将控制命令发送到数据采集终端;当要接收采集终端传来的数据时,首先将射频模块配置为接收模式,然后打开SPI 功能,利用单片机的SPI接口,将数据读到单片机内部。
这样,就完成了射频模块的半双工通信接口与单片机全双工通信接口的转换。
单片机与MAX5591之间的
SPI接口通信
C8051单片机的SPI 操作时序不能满足MAX5591的时序要求。要使单片机和MAX5591之间进行数据传输,必须根据MAX5591的时序要求将单片机的SPI时序进行转换。

实验结果及分析总结
实验结果
现场模拟电压信号通过12位ADC转换为数字量,通过无线方式传送到远端监控室,一方面通过DAC转换为模拟量,供示波器观看;另一方面,通过RS-232传送到PC进行显示、存储和打印。表1是实验数据。
分析总结
从试验数据可以看到,系统实现了现场模拟电压信号的采集、无线传输以及模拟信号还原,误差不大于0.2%,满足了设计要求。同时系统还存在着不足之处:在数据量加大,传输速率为1MHz时,偶尔会出现数据丢失现象;当被测信号频率大于500Hz的时候,信号复现时会出现波形失真。
系统实现了远端现场采集8路人体生理信号,无线传送到监控中心并复现现场信号的功能。实验证明,系统在250Kbps速率下无线传输距离可达50米,采集信号误差低于0.5% 。数据传输中采用了16位CRC校验,降低了误码率。该系统已经在某医疗器械上得到应用。经改造,系统可以采集现场的数字量和一些开关量,实现设备状态监测和开关量控制等。

结语
本文采用软件切换的方式实现了半双工器件与全双工器件的通讯转换,采用软件模拟SPI操作,解决了多SPI器件之间的通信协议匹配问题。■

参考文献:
1 沈阳新华龙电子有限公司,C8051F020/1/2/3 混合信号ISP FLASH 微控制器,2005
2 赵念强,鲍可进,申屠浩.基于SoC单片机8051F的码头供给监控系统 北京:微计算机信息, 2005年第3期第70页

㈢ 单片机最高采样频率

这个问题不能泛泛回答,你问的问题没有答案,你要加限定条件,什么单片机,什么型号,多大晶振,甚至可以设置晶振分频的单片机多少分频,这样才能确定单片机的采样频率,比如你用最简单最原始的51,12MHz晶振,12分频的话就是1MHz,但是如果你用STM32实现,那IO的时钟你都可以设置到50MHz东西不一样属性就不一样

㈣ 单片机书上采样“s5p2”是什么意思

Total时钟周期为(晶振频率f)2个晶振周期2*1/f,机器周期或称状态周期(S)为6个时钟周期即12个晶振周期
1、每个状态周期有P1和P2两个相,每个相占一个振荡周期,故一个机器周期为12个振荡周期.
2、在每个时钟周期(即机器状态时间S)的前半周期,相位1(即P1信号)有效,在每个时钟周期的后半周期,相位2(即P2信号)有效。
3、每个时钟周期(S)有两个节拍即相位P1和P2(可理解为P1:高电平,P2:低电平),CPU以两相时钟P1和P2为基本节拍指挥8051各们部件协调工作。
PS:因此,S5P2: 第5个时钟周期的相位2(后半拍)。

㈤ 51单片机ad采样可以采集什么

51单片机有很多型号,普通的51单片机是没有ADC的,需要外接ADC芯片,一般是ADC0832等等,网上很多,利用51单片机驱动AD芯片进行采样就可以实现AD采集,利用定时器设置好采样率就OK了,为了得到较高精度,你将除数乘以100,再除被除数。所以最好定义为int型。内存中肯定以十六进制形式(二进制)存储的。

㈥ 单片机A/D采样

假设一个系统使用12位的ADC,每秒输出一个温度值(1Hz)。为了将测量分辨率增加到16位,我们按下式计算过采样频率:

因此,如果我们以fs=256Hz的采样频率对温度传感器进行过采样,我们将在所要求的采样周期内采集到足够的样本,对这些样本求均值便可得到16位的输出数据。为此,我们先累加(将256个连续样本加在一起),然后将总和除以16(或将总和右移4位)。这样的过程通常被称为抽取。这样得到的结果是16位的有用数据,所做的操作被称为累加和抽取。一旦我们计算得到由256个样本(对本例而言)所产生的结果,我们将对数据进行保存或处理,然后开始为下一个输出字采集样本。

注:用于累加过采样数据和进行除法运算的存储器单元所占的字节数必须足够多,以免发生溢出或产生截断错误。

㈦ 单片机电压采样

如果用单片机直接采样,会烧毁单片,产生严重后果。所以要用两个大阻值电阻串联,接成分压电路。

阅读全文

与单片机采样相关的资料

热点内容
江苏螺杆压缩机 浏览:973
android底部弹出对话框 浏览:492
怎么查服务器同行fc号 浏览:991
什么服务器云鸟最便宜 浏览:214
vs编译器反汇编 浏览:570
程序员直播做项目创业 浏览:403
linux下samba配置 浏览:797
程序员面试银行岗位会有编制吗 浏览:414
ex表怎么加密码保护 浏览:173
小孩上编程课用哪款好 浏览:559
如何制作服务器商店 浏览:734
压缩气管阀门 浏览:464
pdf推文 浏览:359
69程序员 浏览:581
阿里云服务器镜像如何迁移到腾讯 浏览:989
安卓如何显示日期在状态栏 浏览:805
cadsplt这个命令用不了 浏览:467
安卓夸克怎么取消监管 浏览:664
pdf怎么裁剪图片 浏览:441
黑上宏命令 浏览:648