精华内容
下载资源
问答
  • 本文重点讨论与使用高性能精密SAR ADC的多路复用数据采集系统相关的关键设计考虑因素、性能结果和应用挑战。
  • 给出了采用8051单片机为核心来实现多路数据采集与通信控制的设计方法。该方法将8路被测电压通过通用ADC0809模数转换来实现对采集到的数据进行模拟量到数字量的转换,然后由单片机对数据进行处理,再将数据通过串行口...
  • 多路数据采集系统功能说明(数据采集系统ADAS解决方案): 本方案计划实现一种基于LABVIEW上位机界面的STM32F0 DISCOVERY 多路数据采集系统(数据采集系统ADAS解决方案),利用STM32F0 DISCOVERY 板载芯片STM32F051R8...
  •  ADAS3022 16位、1 MSPS、8通道数据采集系统  ADP1613 650 kHz/1.3 MHz升压PWM DC-DC开关转换器  AD8031/ AD8032 2.7 V、每放大器800 μA、80 MHz、单路/双、轨到轨I/O放大器  ADR434 超低噪声XFET基准电压...
  • 1所示电路是一款高度集成、16位、1 MSPS、多路复用、8通道、灵活的数字采集系统(DAS),集成可编程增益仪表放大器(PGIA),能够处理全范围工业级信号。 1. 完整的5 V、单电源、8通道数据采集解决方案,集成PGIA...
  • 分别从11路采样模拟信号,实现11路数据采集。为了做出发挥部分的特色,这里采用按键扫描方式,选择显示的通道以及数据,用键盘操控数据采集系统。显示部分采用LCD1602,实时根据按键的扫描情况更新采集的数据,并且...
  •  ADAS3022 16位、1 MSPS、8通道数据采集系统  ADP1613 650 kHz/1.3 MHz升压PWM DC-DC开关转换器  AD8031/ AD8032 2.7 V、每放大器800 μA、80 MHz、单路/双、轨到轨I/O放大器  ADR434 超低噪声XFET基准电压...
  • 本文重点讨论与使用高性能精密SAR ADC的多路复用数据采集系统相关的关键设计考虑因素、性能结果和应用挑战。
  • 多路数据采集器(软件设计)The Design Of Multi-channel Data Acquisition System摘要本文介绍一种基于单片机的多路数据采集系统。单片机是该系统硬件部分的重心。系统采用以89C51单片机为核心,外围电路还包括模拟...

    多路数据采集器(软件设计)

    The Design Of Multi-channel Data Acquisition System

    摘要

    本文介绍一种基于单片机的多路数据采集系统。单片机是该系统硬件部分的重心。系统采用以89C51单片机为核心,外围电路还包括模拟信号产生模块、A/D转换模块,显示模块,数据处理模块。八路模拟通道的信息首先通过ADC0809的八选一开关进入,进行模数转换得到二进制信息,并将转换后的数据进入单片机进行标度变换为测量结果,最后通过四位数码管显示器来显示所采集的结果。软件是采用C语言进行编程,程序包含A/D转换数据的采集、数码管的显示、键盘的读取和整个系统初始化等模块。

    关键词:数据采集 89C51单片机 ADC0809

    Abstract

    This article based on signal-chip microcomputer system is the link between the digital domain and analog domain. The introductive point of this text is a data to collect the system. The hardware of the system focuses on signal-chip microcomputer .Data collection and communication control use modular design. The data collected to control with correspondence to adopt a machine 8051 to carry out. The part of hardware’s core is AT89C51, is also includes A/D conversion module, display module, and the serial interface. Slave machine is responsible for data acquisition and answering the host machine.8 roads were measured the electric voltage to pass the in general use mold-few conversion of ADC0809,the realization carries on the conversion that imitates to measure the numeral to measure towards the data that collect .Then send the data to the host machine through LED digital display is responsible display the data. The software is partly programmed with VC++. The software can realize the function of monitoring and controlling the whole system. It designs much program like data-acquisition treatment,and data-display ect.

    Keyword: data acquisition AT89C51 ADC0809

    目 录

    摘要I

    AbstractII

    第一章 绪论1

    1.1选题背景1

    1.2系统主要任务2

    第二章 系统分析4

    2.1方案选择及设计思想4

    2.2硬件单元电路6

    2.2.1中心控制单元6

    2.2.2信号产生电路9

    2.2.3 F/V转换电路10

    2.2.4信号输入及A/D转换11

    2.2.5 键盘输入电路13

    2.2.6 显示部分15

    2.2.7 供电电源电路18

    第三章系统软件分析20

    3.1系统资源分配20

    3.2系统软件设计思路20

    3.3程序流程图21

    3.4各模块流程图介绍22

    结束语25

    参考文献26

    致谢27

    程序清单28

    第一章 绪论

    1.1选题背景

    由于现在的科技水平的不断发展,人们对自动化水平的要也越来越高,在很多工厂想趋于自动化因为采用人工的话人为因素太多,也很难避免所以相对而言采用的自动话能有效可靠准确的采集数据。

    数据采集系统是一种能在现场实时采集的系统,具备自动存储、即时显示、即时反馈、实时采集功能。为现场数据的有效性、真实性可

    展开全文
  • 为了对实际信号进行监测,设计了以W77E58微控制器为核心的多路数据采集系统,介绍了系统总体结构,阐明了模拟量采集的硬件和软件设计方法,给出了具体的电路图和软件程序,经实际测试表明,该系统具有采集精度高、...
  • 数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机芯片。数据采集与通信控制采用了模块化的设计,数据采集与通信...

    此次设计是利用stm32开发板设计的。数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机芯片。数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机STM32来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块。该系统从机负责数据采集并应答主机的命令。输入数据是由模拟信号产生器产生,实现对采集到的数据进行模拟量到数字量的转换,并用TFTLCD来显示所采集的结果。软件部分应用C语言编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。

    2总体方案设计

    多路巡回数据采集仪设计需要将模拟量转换为数字量,而 A/D是将模拟量转换为数字量的器件,STM32单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制、数据传输、数据转换等一系列的任务,然后通过控制液晶屏显示。

    数据采集系统不仅需要硬件设置,还需要软件的相应配置才能调试好硬件,使系统正常工作。硬件电路的调试与硬件设计和软件配置息息相关。系统的硬件包括STM32核心板、液晶屏显示、数据采集电路等。

    1bc42dc83f5c4aca9692df25fd24b86f.png

    图1 系统框图

    此多路巡回数据采集仪的设计采用的是红外传感器,烟雾传感器,利用二个模块分别检测外围环境的变化,通过最后采集的数据来反映不同环境下的数据的不同。

    3硬件设计

    3.1 各个模块的实现

    3.1.1 红外对管传感器

    TCRT5000传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为低电平,指示二极管被点亮。模拟输出AO当发射管的红外信号经反射被接收管接收后,接收管的电阻会发生变化,在电路上一般以电压的变化形式体现出来,而经过ADC转换或LM324等电路整形后得到处理后的输出结果。电阻的变化起取于接收管所接收的红外信号强度,常表现在反射面的颜色(反射率)、形状和反射面接收管的距离等方面。

    008598f938f169d1d8466400644d2614.png

    图3.1.1 红外对管传感器原理图

    3.1.2 烟雾传感器

    MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。处于200~300摄氏度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒收到烟雾的调至而变化,就会引起表面导电率的变化。利用这一点就可以获得这种烟雾存在的信息,烟雾的浓度越大,导电率越大,输出电阻越低,则输出的模拟信号就越大。

    0e6a6d1dd7d68356b4ec752d9acdff75.png

    图3.1.2 烟雾传感器原理图

    ad31e1e25c18cf117eaa8c118393ec0f.png3.2 显示部分

    本次设计采用的为TFT型液晶屏,TFT型的液晶显示器较为复杂,主要的构成包括了荧光管、导光板、偏光板、滤光板、玻璃基板、配向膜、液晶材料、薄模式晶体管等等。首先液晶显示器必须先利用背光源,也就是荧光灯管投射出光源,这些光源会先经过一个偏光板然后再经过液晶,这时液晶分子的排列方式进而改变穿透液晶的光线角度。然后这些光线接下来还必须经过前方的彩色的滤光膜与另一块偏光板。因此我们只要改变刺激液晶的电压值就可以控制最后出现的光线强度与色彩,并进而能在液晶面板上变化出有不同深浅的颜色组合了。

    本次设计还有一个就是设置屏幕的背景图,采用的是320*240的分辨率进行图片采样,利用图片转化软件对选中的图片进行采点,然后转化成16进制的数字,然后放到库里面,需要用的时候直接调用就可以了。

    图3.2 利用Img2Lcd软件进行代码生成

    4软件设计

    4.1 整体设计框图

    本软件系统是基于STM32的库函数下进行的编程。需要对库函数进行调用并对相应的函数进行初始化。然后对采集的模拟信号进行转换,通过对波特率的调整,对信号进行实时检测,然后通过均值滤波,控制液晶显示屏显示最终得到的结果。

    其具体架构如图:

    14e98425c242f73da27bf0f02889265a.png

    (a)主程序流程图

    96e0c69e1513b8b6dd38270f993399d9.png

    68b55ce37ad553b800b029f303a8fc98.png

    a61bb5767241ca5199af302b118b8494.png

    5b26e37e5b18fad7d037754036b810cd.png

    4.2 ADC采样

    4.2.1 ADC原理

    由于STM32自带ADC模块,所以只需要对其进行配置就可使用。12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。 ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。

    本次设计采用了四路AD采样ADC1-GPIOA1,ADC2-GPIOA2,ADC3-GPIOA3,ADC4-GPIOA4;利用四组不同的传感器对环境的检测,当达到对应的阈值时,控制相对应的器件。

    87c40d87f5851a4f374437f2e71f1fe3.png

    图4.2.5 ADC的时序图

    5系统调试

    首先,将电路连接好如图正常工作,adc1为4095,

    然后将红外传感器遮住,adc1变小为177

    图5.2调试

    调试完成,正常工作。

    6总结

    STM32芯片具有非常强大的功能,还有非常全面的库函数,应用起来非常方便。此次设计在最开始的时候我们遇到了很多的问题,不知道如何使用ADC采集但是后来通过小组的努力共同查阅资料和向实验室的同学请教对ADC有了一定的了解,顺利的完成了课设。在过程中也遇到了许多的问题,比如在使用开发板时接线的时候要细心,不能够接错线,在程序编写的时候要查阅很多资料和借鉴资料,遇到问题要善于查阅资料找解决办法等等。不过最终一一克服困难顺利完成设计,实现了多路巡回数据采集设计。通过本次的设计对32有了更深刻的理解,提高了我们同学之间的团队合作能力与实践能力。

    单片机源程序如下:

    #include "led.h"

    #include "delay.h"

    #include "sys.h"

    #include "usart.h"

    #include "lcd.h"

    #include "ds18b20.h"

    #include "image2lcd.h"

    #include "adc.h"

    extern const u8 gImage_image1[];//图片数据(包含信息头),存储在image1.c里面.

    int main(void)

    {

    u8 t=0;

    u16 adcx1,adcx2;

    float temp;

    HEADCOLOR *imginfo;

    short temperature;

    delay_init();                                //延时函数初始化

    uart_init(9600);                            //串口初始化为9600

    LED_Init();                                                          //初始化与LED连接的硬件接口

    LCD_Init();

    Adc_Init();                                                          //ADC初始化

    LCD_Fill(0,0,470,350,WHITE);

    srand(imginfo->h*imginfo->w);

    image_display(0,0,(u8*)gImage_image1);//在指定地址显示图片

    while(DS18B20_Init())              //DS18B20初始化

    {

    LCD_ShowString(60,190,200,16,16,"DS18B20 Error");

    delay_ms(200);

    LCD_ShowString(60,210,200,16,16,"Temp:   . C");

    }

    POINT_COLOR=BLUE;//设置字体为蓝色

    LCD_ShowString(60,190,200,16,16,"DS18B20 OK");

    LCD_ShowString(60,210,200,16,16,"Temp:   . C");

    POINT_COLOR=BLUE;//设置字体为蓝色

    LCD_ShowString(60,230,200,16,16,"ADC1:");//倾倒

    LCD_ShowString(60,270,200,16,16,"ADC2:");//红外

    POINT_COLOR=RED;//设置字体为红色

    LCD_ShowString(120,250,48,16,16,"0.000V");

    LCD_ShowString(120,290,48,16,16,"0.000V");

    while(1)

    {

    adcx1=Get_Adc_Average(ADC_Channel_1,10);//ADC1烟雾传感器                            adcx2=Get_Adc_Average(ADC_Channel_2,10);//ADC2红外传感器

    POINT_COLOR=RED;//设置字体为红色

    LCD_ShowxNum(120,230,adcx1,4,16,0);//显示ADC的值

    LCD_ShowxNum(120,270,adcx2,4,16,0);//显示ADC的值

    //第一个ADC转换为电压值

    temp=(float)adcx1*(3.3/4096);

    adcx1=temp;

    LCD_ShowxNum(120,250,adcx1,1,16,0);//显示电压值

    //第二个ADC转换为电压值

    temp=(float)adcx2*(3.3/4096);

    adcx2=temp;

    LCD_ShowxNum(120,290,adcx2,1,16,0);//显示电压值

    if(t%10==0)//每100ms读取一次

    {

    temperature=DS18B20_Get_Temp();

    if(temperature<0)

    {

    LCD_ShowChar(60+40,210,'-',16,0);                                          //显示负号

    temperature=-temperature;                                                                      //转为正数

    }

    else

    LCD_ShowChar(60+40,210,' ',16,0);                                          //去掉负号

    LCD_ShowNum(60+40+8,210,temperature/10,2,16);              //显示正数部分

    LCD_ShowNum(60+40+32,210,temperature%10,1,16);              //显示小数部分

    }

    delay_ms(10);

    t++;

    }

    }复制代码

    全部资料51hei下载地址:

    08888e3a94b1d4845f47f7539b112be4.gif

    源程序.7z

    (280.16 KB, 下载次数: 10)

    2020-2-24 14:43 上传

    点击文件名下载附件

    下载积分: 黑币 -5

    7269ff8fd7142ea0f1528660ab33985d.gif

    文档.doc

    (286.5 KB, 下载次数: 9)

    2020-2-24 14:43 上传

    点击文件名下载附件

    下载积分: 黑币 -5

    展开全文
  • 多路数据采集器的FPGA实现

    千次阅读 2020-10-18 16:15:37
    数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程,相应的系统称为数据采集系统。随着科技进步,人们对数据采集的要求也越来越高,比如采样频率,...

          “数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程,相应的系统称为数据采集系统。随着科技进步,人们对数据采集的要求也越来越高,比如采样频率,分辨率等等。基于单片机的数据采集系统数据处理能力比较低,已经无法达到某些要求。科技的不断创新及半导体工业的发展使得我们将可编程逻辑器件的技术应用到数据采集系统的研究上。同时利用CPLD 强大的数字处理功能和高密集成的特点,降低了硬件的成本,简化了电路设计,具有很好的经济效益和社会效益。有此看出,数据采集系统日趋成熟,应用越来越广泛,发展前景是相当广阔的[1]

          在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。在工业,工程,生产车间等部门,尤其是在对信息实时性能要求较高或者恶劣的数据采集环境中更突出其应用的必要性。这就要求数据采集系统必须具备更高的采样频率,更高的分辨率,来提供更多的原始数据。以前的数据采集系统一般都是以单片机为核心的,随着数据采集要求的不断提高,单片机为核心的数据采集系统已经不能满足要求了。科技进一步发展,就出现了现在的高速数据采集系统。随着各种先进武器系统陆续装备部队 ,各种问题也随之出现 ,尤其是在各种武器装备信号检测中都涉及到数据的采集问题,本课题要求对某武器系统的多个弹上数据,如压力、温度等进行采集并显示,要求采样频率1MHz,分辨率10位,显示到小数点后一位[2]。

           综合上述,本文设计了一种基于CPLD控制高速AD转换器的数据采集系统。这个系统能大幅度提高数据采集的速度和精度,满足高速数据采集的要求。

     

        现代数据采集系统具有如下主要特点:

        (1)现代采集系统一般都由计算机控制,使得数据采集的质量和效率等大为提高,也节省了硬件投资。

        (2)软件在数据采集系统中的作用越来越大,这增加了系统设计的灵活性。

        (3)数据采集与数据处理相互结合的日益紧密,形成数据采集与处理系统,可实现从数据采集、处理到控制的全部工作。

        (4)数据采集过程一般都具有“实时”特性,实时的标准是能满足实际需要。实时性是指基于计算机的工业数据采集系统应具有的能够在限定的时间内对外来事件做出反应的特性。工业控制计算机及监控管理软件具有时间驱动能力和事件驱动能力,即在按一定的时间周期内对所有事件进行巡检扫描的同时,可以随时响应事件的中断请求。实时性要求计算机有多任务的处理能力,以便将测控任务分解为若干个并行执行的多个任务,加速程序执行速度。将变化并不显著、即使不及时做出反应也不至于造成影响或损害的事件,作为顺序执行的任务,按照一定的巡检周期有规律的执行,而把保持时间很短且需要计算机及时做出反应的事件,作为中断请求源或事件触发信号,为其专门编写处理程序,保证在该事件触发时计算机可以立即响应[3]。

        (5)随着电子技术的发展,电路集成度的提高,数据采集系统的体积越来越小,可靠性越来越高,甚至出现了单片数据采集系统。

        (6)总线在数据采集系统中有着广泛的应用,总线技术它对数据采集系统结构的发展起着重要作用。

        (7)数据采集系统的适应能力。无论是大规模的生产过程采集系统,还是普通的多路信号采集系统,都可以通过选取适当的智能模块设备来构成相应规模的系统,这样的系统实现易于扩展和维护。在计算机、数据采集和控制设备正常工作的情况下,如果电源供应正常、通信线路畅通以及设备状况良好时,系统可稳定可靠的长期运行。另外,采集系统和上位机之间利用数字信号传输代替模拟信号传输,可克服电磁干扰、差模和共模信号干扰等,以适应在恶劣的环境下工作[4]。

         传统的数据采集系统,一般由信号输入部分、信号调理部分、数据采集部分、数据传输部分数据显示部分组成。从传感器过来的模拟量通过调理电路后再送入 AD 转换成数字量,采集到的数据再通过传输通道到单片机进行数据处理,最后显示出采样结果。

        在这种系统中,单片机作为主控芯片来完成对外围芯片的控制,数据采集的 AD 转换是由单片机通过软件控制的,这样势必会引起系统的频繁中断,减弱了系统的数据运算能力,使得数据采集的速度降低,单片机本身的缺点制约了整个系统的性能。

    为了提高数据采集系统的性能,本文设计了基于 CPLD 的高速数据采集系统,与传统采集系统相比,采用高速的 CPLD 器件作为主控芯片,可轻易实现高速、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。

                           图2.1 系统结构框图

        其中信号输入部分是由传感器传来的各种模拟信号。信号调理部分由放大电路、滤波器电路构成。其主要作用是对输入信号进行放大、滤波使其电压在AD的采样电压范围之内。AD采样部分是将输入的模拟信号转换成数字信号。其中AD的采样电压范围和位数决定了采样精度的大小。为了提高系统采集数据的频率,我们选择高速AD,这样采集速度就可以大大提高。数据采集与传输控制电路的开发工作主要集中在 CPLD 上,在此系统中,CPLD 用于控制AD 转换和对 AD 转换之后的数据进行显示[9]

    2.3.1  信号调理部分

        在数据采集系统中,量化误差的引入是不可避免的。量化误差成了评价数据采集系统的一个重要指标。一般来说AD转换器的位数越长则量化噪声越小,精度越高。可是在AD芯片的设计过程中,要想把数据转换分辨率提高一位,则AD转换器中的比较器数量必须增加一倍,其增加的成本可想而知。但是通过对信号调理电路的合理设计,可以减小引入的量化误差,这可以使整个数据采集系统的性能得到进一步的提高[10]

    本系统中调理电路由滤波器电路构成。其主要作用是除去信号中的各种干扰成分,使输入信号的幅值尽可能接近 AD 的输入范围 Vmax,获得尽可能大的信噪比,提高数据采集的精度

    2.3.2  数据采样控制部分

    当前的数据采集系统已有很多,有很多基于单片机的成熟的数据采集卡,由于单片机的频率难以做的太高,这使得其构成的系统的采集数据的频率难以提高。所以我们选择CPLD 作为处理 CPU,此外我们选择高速 AD、高速 RAM 来采集数据,这样采集速度就可以大大提高。数据采集电路的实现也有两种方案。方案 1 是用单片机完成数据采集及控制。方案 2 是用可编程逻辑器件 CPLD 来实现

    单片机的速度相对较慢,而当前武器设备电子系统对频率的要求越来越高,如在一些实时的音频,视频处理中频率可达到上百兆,这样的频率对于单片机来说是无能为力的。如果采用单片机来控制 AD 芯片和数据显示,将显著降低整个系统的工作速度。随着微电子技术的发展,CPLD 器件的容量变得越来越大,速度变得越来越快,高端产品的速度已经达到几百兆[11]。采用 CPLD 器件来完成高速 AD 芯片的控制和数据显示,使系统的速度成倍提高。传统的系统除了单片机外还有大量的中小规模集成电路,在高速,强电磁干扰等恶劣条件下,芯片的数量越多,受到干扰的可能性就越大,造成单片机频繁出现程序跑飞,系统复位。采用 CPLD器件可减少系统受干扰的几率,显著提高系统的可靠性。该系统要求进行高速的数据采集,用普通单片机难以实现。所以,我们使用方案 2 实现数据采集电路

    系统电路设计

    本章主要介绍该系统的电路设计。详细论述了系统各个模块设计方案,包括相关芯片的选择、电路连接、接口设计、电源设计等。

    系统框图如图3.1所示:

    图3.1 系统框图

    AD 转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。AD 进行数据采集有两个主要过程:采样和量化。采样是指每隔 T 秒所记录的 x(t)的幅值。设 x(t)是模拟信号,将采集到的幅值用 x(kt)表示,其中 k 表示数据序列中的采样位置,k=0,1,…N-1,(N 是数据序列总的采样数)。T 称为采样间隔,采样频率为 1/T(Hz)。

    AD 采样时必须满足采样定理。香农采样定理给出了低通型带限信号的最低采样频率,即采样频率 fs 必须大于被测信号最高频率的两倍,即 fs≥2fmax。fs/2 称为纳奎斯特频率(Nyquist frequency)[12]。

    采样定理的出发点是从采样数据中能够完全恢复原始信号,可是在实际运用中,将连续的模拟信号转换成离散的数字信号势必会造成一定的失真和误差。特别是当信号中包含频率高于奈奎斯特频率的成分,信号将在直流和恩奎斯特频率之间畸变使得采集的信号失真。为了避免这种现象的发生,采样频率一般取信号最高频率的3-5 倍,有时为了较好地还原波形,甚至会取信号最高频率的 10 倍[13]。

    量化就是用有限长度的二进制数来逼近离散的模拟信号。由于量化的结果是把尾数按四舍五入处理,对于有 m 位、输入电压范围是 Vmax的 A/D 转换器,有 0 至 2m-1 共 2m 个等级,每个等级的增量为 δ=Vmax/2m-1,那么,量化的最大误差就是 emax(nT)= ±δ/2。

    AD 转换器的位数越长则量化噪声越小,精度越高。在 AD 的位数确定的情况下,应该使输入信号的幅值尽可能接近 AD 的输入范围 Vmax,获得尽可能大的信噪比,提高数据采集的精度。AD 的选择,首先看精度和速度,然后看输出是多少路,输出是怎样的,比如 SPI 或者是并行的,差分或者单端输入,输入范围是多少,这些都是选 择AD 转换器时需要考虑的[14]。

        AD976为高速、低功耗、16位模数转换器(ADC),采用5 V单电源供电AD976的吞吐速率为100 ksps。器件均内置一个逐次逼近型开关电容ADC、一个2.5 V内部基准电压源和一个高速并行接口。最大功耗均为100 mW。该ADC经过工厂校准,所有线性误差均被降至最小。模拟满量程输入为±10 V的标准工业范围。信噪比(SNR)和总谐波失真(THD)等交流参数,以及失调、增益和线性度等一般参数均经过全面测试。AD976采用ADI公司专有的BiCMOS工艺制造,兼有高性能双极性器件和CMOS晶体管的优点。提供超小型28引脚DIPSSOPSOIC三种封装[15]

    3.1.1  封装及管脚功能

        AD976/AD976A的封装如下图所示,为窄28脚DIP形式,两列管脚间距为0.3英寸。

     

     

     

     

     

     

     

     

     

     

     

     

    主要管脚功能如图3.2所示:

    图3.2   AD976管脚图

    (1)电源:2,5,14,27,28脚,分别为数字或模拟地以及电源。模拟地于数字地及模拟5V和数组5V之间,最好通过小磁珠再连接到一起。

    (2)模拟接口:1脚,模拟信号输入端,与模拟信号之间须接一200欧电阻

                3脚,参考电压输入端,可外部输入,也可利用内部2.5V电压基准。无论以上那种情况,均须将该脚通过一2.2μF电容接到AGND1。

                4脚,参考缓冲输入,须通过一2.2μF电容接到AGND2.

    (3)数据接口:6~13和15~22分别对应16位数据的D15到D0

    (4)控制接口:24脚,R/C,为读取数据/模数转换选择控制信号;

                25脚,CS,为片选端;

                26脚,BUSY,用于指示转换是否完成;

                23脚,BYTE,为转换结果输出高低字节选择控制端。

    3.1.2  工作过程及转换结果

        AD976/AD976A要开始一次转换,首先要将CS信号置低,之后R/C信号的下降沿使得内部采样/保持单元进入保持状态并开始一次转换,BUSY信号在开始一次转换时变为低,且在转换结束前保持为低。BUSY信号为高时标明转换已经结束,BUSY的上升沿可以用来所存输出数据。此时,将R/C置高,即可把转换结果输出到数据总线上,数据有效可用。BYTE为低时,高8位从D15~D8输出,低8位从D7~D0输出,为高时相反;高8位从D7~D0输出,低8位从D15~D8输出。时序如图3.3所示:

    图3.3  A/D976转化器时序图

     

        其中Module Name就是输入的“one2two”,下面的列表框用于对端口的定义。“Port Name”表示端口名称,“Direction”表示端口方向(可以选择为input、output或inout),MSB表示信号的最高位,LSB表示信号的最低位,对于单位信号的MSB和LSB不用填写。定义了模块端口后,单击“Next”进入下一步,点击“Finish”按键完成创建。这样,ISE会自动创建一个Verilog模块的例子,并且在源代码编辑区内打开。简单的注释、模块和端口定义已经自动生成,所剩余的工作就是在模块中实现代码。填入的代码如下:

    module one2two(x_in, flag, y1_out, y2_out);

    input [7:0] x_in;

    input flag;

    output [7:0] y1_out;

    output [7:0] y2_out;

    //以下为手工添加的代码

    assign y1_out = flag ? x_in : 8'b0000_0000;

    assign y2_out = flag ? 8'b0000_0000:x_in;

    Endmodule

        鉴于篇幅,不可能对该软件的其他功能进行详细介绍,我们应该在实际工作中学习并熟练掌握。

    4.3  AD 控制模块

    定义端口:

    CS:片选(低电平有效);

    R/C:为读取数据/模数转换选择控制信号;

    BUSY:高电平, 表示本次A /D转换完成, 控制电路可将数据取走。

    数据采集时序可分成4个状态: S0、S1、S2、S3, 每个状态的动作如下:

        S0: CS=0、RC=0、BUSY=0(由控制电路发出信号,要求A/D开始进行A/D转换)。

        S1: CS=0、RC=0、BUSY = 1 (A/D进行转换动作,转换完后将BUSY信号从低电平降至高电平)。

        S2: CS=0、RC=1、BUSY=1(由控制电路发出读信号)。

        S3: CS=0、RC=1、BUSY=1(数据被读取到DB0~DB15上)。

        下面给出部分主要源程序:

    PROCESS ( CP, RST)

    BEGIN

       IF RST = '1';Then

         nCS < = '0';   //片选(置低)

         nRC< = '0';    //写信号(置低)

         nBUSY < = '0';   //读信号(置低)

         EC < = '0';

         State < = S0;

       Else IF CP Event And CP = '1 'Then

        CASE State IS

         WHEN S0=>

           nCS < = '0';

           nRC < = '0';

           nBUSY < = '1';

           EC < = '0';

           State < = S1;   //开始AD转换

         WHEN S1 = >

          nCS < = '0';

          nRC < = '1';

          nBUSY< = '1';

          EC < = '0';

          If nIN = '0'Then   //转换结束

           State < = S2;

          End if;

          WHEN S2=>

            nCS < = '0';

            nRC< = '1';

            nBUSY< = '1';

            EC < = '1';

            State < = S3;    //传送数据

          WHEN S3 = >

            nCS < = '0';

            nRC < = '1';

            nBUSY < = '1';

            EC < = '0';

            State < = S0;  

           WHEN OTHERS= >

            State < = S0;

           END CASE;

         ENd If;

    END PROCESS;

    AD转换流程图如图4.7所示:

                            图4.7 AD转换流程图

    4.4  数码管显示程序

        下面的VHDL 程序片段描述了七段扫描驱动显示电路, 包括扫描信号产生电路和十六进制码与七段显示码转换电路。

    SignalQ: STD_LOGIC_VECTOR(15 DOW NTO 0) ;

    PROCESS (CP)  //CP为系统时钟

    Beg in

    IF CP Event AND CP= '1'then

    Q<=Q+1;  //加法计数器

    END IF;

    END PROCESS;

    ST<=Q(15 DOWNTO 14);

    SEL<= "110" WHEN ST= 0 ELSE

    "101" WHEN ST= 1 ELSE

    "011" WHEN ST= 2 ELSE

    "111";

    NUM <= Value(3 DOWNTO 0) WHEN ST=0 ELSE

       Value( 7 DOWNTO 4) WHEN ST = 1 ELSE

       Value( 11 DOWNTO 8);

    SEG < = " 0111111" WHEN NUM = 0 ELSE   //十六进制转换成

    "0000110" WHEN NUM =1 ELSE           //七段码

    "1011011" WHEN NUM = 2 ELSE

    "1011011" WHEN NUM = 3 ELSE

    "1011011" WHEN NUM = 4 ELSE

    "1011011" WHEN NUM = 5 ELSE

    "1011011" WHEN NUM = 6 ELSE

    "1011011" WHEN NUM = 7 ELSE

    "1011011" WHEN NUM = 8 ELSE

    "1011011" WHEN NUM = 9 ELSE

    "1011011" WHEN NUM = 10 ELSE

    "1011011" WHEN NUM = 11 ELSE

    "1011011" WHEN NUM = 12 ELSE

    "1011011" WHEN NUM = 13 ELSE

    "1011011" WHEN NUM = 14 ELSE

    "1110001" WHEN NUM = 15 ELSE

    "0000000";

        用VHDL和CPLD设计数字系统具有传统方法无可比拟的优越性, 最大的优点是调试极其方便。基于自顶向下的数据流描述方法, 可以使设计者不必关心具体的电路细节, 而是由综合系统来具体实现, 这样可以使设计者主要关心系统级的算法设计, 从而能有效地提高系统的综合性能。它减少了设计成本, 缩短了设计周期, 已成为大规模集成电路设计最有效的手段之一。

    展开全文
  • 课程设计报告(嵌入式接口技术)题 目:基于ARM的多路数据采集系统设计摘 要数据采集系统用于将模拟信号转换为计算机可以识别的数字信号.该系统目的是便于对某些物理量进行监视.数据采集系统的好坏取决于他的精度和...

    PAGE

    PAGE 2

    .

    ..

    课程设计报告

    (嵌入式接口技术)

    题 目:基于ARM的多路数据采集系统设计

    摘 要

    数据采集系统用于将模拟信号转换为计算机可以识别的数字信号.该系统目的是便于对某些物理量进行监视.数据采集系统的好坏取决于他的精度和速度.设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求.在科学研究中应用该系统可以获得大量动态;是研究瞬间物理过程的重要手段;亦是获取科学奥秘的重要手段之一.

    本次设计是基于ARM的多路数据采集系统,主控器能够对模拟信号产生的各路数据,通过数据采集系统进行采集并在主控器的程控下显示。

    关键字 :数据采集;模数转换;ARM;实时采样。

    Abstract

    Data acquisition system for digital signal to analog signal conversion can be identified by computer. The system is aimed at facilitating monitoring of some physical quantity. Data acquisition system is good or bad depends on the precision and speed. When the design, should be in the case of ensuring accuracy as much as possible to meet the high speed real-time sampling, real-time processing, the requirement of real time control. The application of this system in scientific research can obtain a large number of dynamic; is an important means to study the instantaneous physical process; and it is also one of the important means of access to the mysteries of Science.

    Keywords: data acquisition; ARM; real-time sampling analog-to-digital conversion.

    目 录

    第一章设计任务及要求…………………………………4

    1.1设计任务 ……………………………………………4

    1.2 基本设计要求…………………………………………4

    1.3 设计发挥部分…………………………………………4

    第二章 基本思路………………………………………×

    2.1 仿真环境………………………………………………×

    2.2 设计思路…………………………………………×

    第三章 电路设计………………………………………×

    3.1 芯片选择………………………………………………×

    3.2 电路图设计…………………………………………×

    第四章 软件设计………………………………………×

    4.1 编译环境………………………………………………×

    4.2 程序代码设计…………………………………………×

    第五章 心得体会………………………………………×

    致谢 ……………………………………×

    参考文献 ………………………………×

    附录(部分源程序) …………………………………×

    第一章 设计任务及要求

    1.1设计任务

    设计一个八路数据采集系统,系统框图如图所示。主控器能够对模拟信号产生的各路数据,通过数据采集系统进行采集并在主控器的程控下显示。

    图1-3系统框图

    1.1设计基本要求

    (1) 在Proteus信号源模式下选取正弦波信号发生器,设置信号源频率为200Hz至2kHz范围变化,再经频率电压变换电路输入相应1v至5v直流电压(200Hz对应1v,2kHz对应5v)。

    (2)数据采集系统第一路输入自制1v至5v直流电压,第2至7路分别输入来自直流源的5、4、3、2、1、0v直流电压,第八路备用。将各路模拟信号分别转换成八位二进制

    展开全文
  • 针对采集精度低、主控芯片资源占用大,采集速度慢等问题设计了一种多路数据采集系统系统采用AT89S52单片机为核心,四路24位A/D负责数据采集任务。系统可根据不同的需要对这些数字量进行相应的计算和处理,得到所...
  • 本文介绍的是一款高性能的视频采集电路。该系统选用的视频解码器为高性能视频A/D转换器SAA7111.该器件采用3.3 V的CMOS电路,高度集成模拟前端和数字视频编码器;包括2模拟视频处理通道,1个时钟产生电路,1个自动...
  • 为了对实际信号进行监测,设计了以W77E58微控制器为核心的多路数据采集系统,介绍了系统总体结构,阐明了模拟量采集的硬件和软件设计方法,给出了具体的电路图和软件程序,经实际测试表明,该系统具有采集精度高、...
  • 24位、4通道模数转换、数据采集系统概述: 在过程控制和工业自动化应用中,±10 V满量程信号非常常见;然而,有些情况下,信号可能小到只有几mV。用现代低压ADC处理±10 V信号时,必须进行衰减和电平转换。但是,对小...
  • 数据采集系统

    2021-06-25 10:31:19
    数据采集系统(Date Acquisition System,DAS)[编辑]什么是数据采集系统数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。[编辑]数据采集系统的组成通常数据采集系统由三个部分组成...
  •  本文针对高速实时任务数据采集中的任务实现算法以及实时性、实效性和高速性的要求,提出了基于ARM9和μC/OSII操作系统的智能化设计方案,实现了任务优先级动态调度、系统工作参数动态设定、系统内部软件智能化...
  •  本系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。...
  • 本论文为本科毕业设计论文,内有电路图,设计非常的成功,该系统采用双单片机控制,模拟板包括系统电源、正弦波信号发生模块、频率电压转化模块、信号调理模块和7A/D的接口;MCU板包括电源及A/D接口、LCD和串口...
  •  本系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。 1 ...
  • 系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。
  • 仿真1: 总共有8温度采集点,基于DS18B20,LCD1602以轮询的方式显示 程序设计 #include <AT89X52.h> #include <Intrins.h> #define DATA P1 //1602驱动端口 //ROM操作命令 #define READ_ROM 0x...
  • 这就要求设计一种实时视频监控系统,既能够满足工业现场应用的特殊环境,具有体积小、功耗低、可定制的特点,又能够对多点进行同时采集和同屏显示以及对其中的一路进行切换。  国内现有的视频监控方案一般是采用CCD...
  • 此论文是一篇本科毕业设计优秀论文,本次设计非常的成功,里面包含完整的电路原理,完整的程序,还有调试的结果分析,整个系统可以对多种数据进行采集,例如:直流电流,直流电压,信号峰峰值,信号频率。...
  • 另外,ADS1115 还具有一个输入多路复用器 (MUX),可提供 2 个差分输入或 4 个单端输入。 ADS1115可工作于连续转换模式或单触发模式,后者在一个转换完成之后将自动断电,从而极大地降低了空闲状态下的电流消耗。 ...
  • 采用上述办法,该数据采集系统成功地组合了多个AD7714,实现多路μA级电流的精密测量。文中给出相关电路原理和MCS51单片机与AD7714的接口程序实例。关键词 AD7714 光电隔离 SPI 数据采集  在高精度及多路采样...
  • 多路热电偶信号经多路电子开关选通后再采集.仅供参考,实验室调试通过,未投入实用. 压缩包内容: 1.MSP430程序源代码.包括测试程序及加了协议的多路采集程序. 2.硬件电路图.PDF格式,包括电路板原理图,PCB布局图,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,917
精华内容 2,366
关键字:

多路数据采集系统的电路图