0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机实现多通道数据综合采集系统的应用方案

电子设计 来源:微计算机信息 作者:刘金英,李建朝, 2020-11-16 10:30 次阅读

作者:刘金英,李建朝,郑彦义,张朝亮

1.前言

工业控制中需要对各种参量进行采集,即利用信号采集系统将各种数据采集到计算机中进行实时处理。传感器起着中间桥梁的作用,但是它输出的信号往往是很微弱的电流信号,需要经过放大转换成电压信号后才能输入到A/D中进行数据采集。另外,随着测试技术的不断发展,为了适应数字化、高效率等要求,在工业测试系统中单片机的应用也越来越广泛,它具有实时及可靠性高的优点,并且日益显示出巨大的优越性。本系统采用美国Cygnal公司的C8051F020单片机为控制核心,组成了多通道数据综合采集系统,它利用较少的外围器件实现了对液压设备的控制。

2.C8051F020单片机简介

C8051F020器件是完全集成的混合信号系统级MCU芯片(SOC),它使用Cygnal的专利CIP-51微控制器内核,CIP-51与MCS-51指令集完全兼容。它采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。CIP-51提供了22个中断源,允许大量的模拟和数字外设中断微控制器,因而有更高的执行效率。具有64个I/O引脚,每个端口都可以配置成推挽或漏极开路输出。C8051F020 MCU内部有一个SMBUS/I2C接口、两个具有增强型波特率配置的全双工UART和一个增强型SPI接口,每种串行总线完全用硬件实现,都能向CIP-51产生中断。它内部有一个12位的ADC0,该子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器ADC,ADC中集成了跟踪保持电路和可编程窗口检测器;一个8位的ADC1,包括一个8 通道的可配置模拟多路开关(AMUX1),一个可编程增益放大器(PGA1)和一个500ksps、8 位分辨率的逐次逼近寄存器型ADC。两个12位的DAC转换器,每个DAC 都具有灵活的输出更新机制,允许无缝的满度变化并支持无抖动输出更新。C8051F020还有5个通用的16位定时器和5 个捕捉/比较模块的可编程计数器/定时器阵列。

3.系统的硬件结构

多通道综合采集系统以C8051F020单片机为核心,主要由以下几部分组成:数据的采集、LCD显示和数据通讯三部分,其硬件框图如图1。传感器输出的电流信号经过放大转换后,送至C8051F020内部的A/D转换器中,在单片机内部完成模数转换、数据存储、数据处理的工作,最后送到LCD显示,同时经过RS-485接口送至计算机,由上位机进行实时监控。

3.1数据的采集

对于液压设备中的8个待测参数选用相应的传感器来来检测,试验时选取应变式传感器作为测试现场的工具。这些选用的检测元件输出都是标准的4-20mA微弱的电流信号,电流信号又经过由LM324组成的放大转换电路转换成0-5V的电压信号输入到C8051F020的模拟输入端,如图2所示,经内部集成的A/D转换器转换成相应的数字量。C8051F020将8路采样值作为液压设备现场的状况存入相应的内存单元。

3.2 LCD显示

为了使数据采集系统小巧美观,同时又获得较高的性价比,选用德彼克公司生产的DMF-50174蓝屏液晶显示器,该显示器是320×240点阵式液晶,图形和文本都可以显示。显示驱动控制芯片采用EPSON 公司的一种高性能LCD 控制器SED1335。硬件电路采用间接接法,如图3所示。用单片机的P5.0~P5.7口作为SED1335的DB0~DB7数据总线的输入通道。P4.5作为SED1335的片选信号, 配合地址信号A0实现SED1335 通过数据总线接收来自单片机的指令和数据。当A 0= 0, P4.6(WR)=0,P4.7(RD)= 1时, 实现指令的写入和从SED1335 中读取数据。当A 0= 1, P4.6(WR)= 0, P4.7(RD)=1时, 则是显示数据的写入,该功能通过软件实现。

3.3 数据通讯

单片机C8051F020的TX0、RX0及P0.2通过MAX485与上位机相连,进行串行通信,如图3所示。P0.2控制MAX485的状态或发送,用软件控制。RX0为单片机的串行输入端,接收上位机通过MAX485向单片机发送的数据。TX0为单片机的串行输出端,通过MAX485发送给上位机。

4 系统软件设计

4.1 软件设计总体上由两部分组成:一部分为单片机C8051F020

主程序设计,一部分为LCD液晶显示程序设计。由于用C语言编程可以降低程序的复杂度,提高程序的可读性和可修改性,所以本软件采用C51进行编程,keil μVision2编译器进行编译。

主程序流程图如图4所示。

4.11 主程序

void main (void){

long voltage; //电压以mV为单位

int i; //循环计数器

WDTCN=0xde; //禁止看门狗定时器

WDTCN=0xad;

SYSCLK_Init(); //初始化振荡器

PORT_Init(); //初始化数据交叉开关

UART0_Init(); //初始化UART0

Timer3_Init(SYSCLK/SAMPLERATE0); //初始化定时器3溢出作为采样率

ADC0_Init(); //初始化ADC

AD0EN=1; //允许ADC

EA=1; //允许所有中断

while(1){

for(i=0;i{EA=0;

voltage=result[ i]; //从全局变量中取得ADC值

EA=1;

voltage = voltage*VREF0;//计算电压(mV)

voltage = voltage》》16;

LCD_Disp(); //调显示程序,显示电压值

printf(“Channl‘%d’ voltage is %ldmV\n”,i,voltage);//串口输出

}}

5 结束语

测试实验中定义C8051F020的采样频率为50000Hz,ADC0设为定时器3溢出的连续转换模式,采用差动输入方式组成8路转换通道,单片机运行后由定时中断进行数据采集。

C8051F020将采集的数据通过RS-485接口传送给上位机,在传送期间波特率必须和PC机设置的波特率保持一致,否则不能正确接收。在测量过程中,整个系统工作稳定,数据可以得到“准”实时的显示。

本文作者的创新点就是能够把液压系统参数中的功率P实时显示出来,而在以往的液压显示设备中只能分别显示液体的压力p和流量q,然后再用公式P=pq计算液压功率,比较麻烦;而且C8051F020芯片集成了大量的外设和IO口资源,在设计系统时,只需使用少量的外围芯片便可完成所需的功能,简化了硬件电路设计,节省了电路板空间,缩小了产品的体积,因而本系统有很广阔的应用前景。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2551

    文章

    51163

    浏览量

    754159
  • 单片机
    +关注

    关注

    6037

    文章

    44563

    浏览量

    635892
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17171

    浏览量

    351443
收藏 人收藏

    评论

    相关推荐

    通道电压测量采集系统

    通道电压采集系统数据收集。包含上位和PIC单片机
    发表于 04-08 14:43

    求一个labview与单片机通道数据采集的设计

    求一个labview与单片机通道数据采集的设计
    发表于 04-17 12:41

    基于FPGA的通道综合测试系统设计

    通道综合测试系统实物测试结果图3 结语本设计以FPGA为核心控制单元,实现了一种
    发表于 08-07 10:08

    如何去实现基于32单片机的16通道ADC数据采集

    基于32单片机的16通道ADC的数据采集这个部分的内容,是作为外部模拟量部分的采集工作,按照任务要求,所设计的方案,需要完成以下指标:ADC
    发表于 01-05 08:30

    微弱生理信号在通道数据采集系统中的研究与实现

    介绍了一种基于单片机C8051F300 控制的微弱生理信号通道数据采集终端的硬件研制。系统硬件主要包括干扰抑制电路、滤波放大电路以及
    发表于 08-15 08:28 34次下载

    基于PC 通道实时数据采集系统的设计

    基于PC 通道实时数据采集系统的设计 提出一种基于软件的
    发表于 02-22 11:50 20次下载

    单片机通道温度采集测控系统

    单片机通道温度采集测控系统 摘要3Abstract4第一章前言5第二章 单片机
    发表于 12-19 10:17 4386次阅读

    单片机系统中高速数据采集实现

    介绍一种单片机系统中 高速数据采集实现方法,在单片机与高速A/D转换器之间以静态存储器作缓冲器,采用A/D转换器直接写存储器的方式提高采
    发表于 07-18 16:59 193次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>系统</b>中高速<b class='flag-5'>数据采集</b>的<b class='flag-5'>实现</b>

    一种通道数据采集系统设计研究

    以C8051F020单片机为核心设计了通道数据采集系统采集
    发表于 10-17 11:09 98次下载
    一种<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>设计研究

    基于单片机的单通道16位数据采集系统设计

    基于单片机的单通道16位数据采集系统设计
    发表于 11-10 10:53 12次下载

    基于单片机采集GPS数据系统的设计

    基于单片机采集GPS数据系统的设计,下来看看
    发表于 02-07 16:14 19次下载

    FPGA与单片机实现数据串行通信的解决方案

    本文针对由FPGA构成的高速数据采集系统数据处理能力弱的问题,提出FPGA与单片机实现数据串行通
    发表于 02-11 14:30 1.1w次阅读

    如何使用Proteus实现通道数据采集系统仿真的设计

    本文详细介绍了基于Proteus的通道数据采集系统仿真设计,系统以AT89C51单片机为控制核
    发表于 04-13 08:00 40次下载
    如何使用Proteus<b class='flag-5'>实现</b><b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>仿真的设计

    使用LabVIEW实现通道数据采集系统的资料概述

    一款labview通道数据采A本文档的主要内容详细介绍的是使用LabVIEW实现通道
    发表于 07-24 08:00 47次下载
    使用LabVIEW<b class='flag-5'>实现</b><b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的资料概述

    基于单片机通道pH控制系统设计

    电子发烧友网站提供《基于单片机通道pH控制系统设计.pdf》资料免费下载
    发表于 10-12 10:21 2次下载
    基于<b class='flag-5'>单片机</b><b class='flag-5'>多</b><b class='flag-5'>通道</b>pH控制<b class='flag-5'>系统</b>设计