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

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

3天内不再提示

英创信息技术ETA104数采模块实现波形信号采集简介

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-07 10:47 次阅读

ETA104模拟数据采集模块(下文简称:ETA104模块)是基于英创公司SBC840工控应用底板、符合DM5028标准应用扩展模块。ETA104模块上的模数转换功能,采用ADS7871模拟信号转换芯片,占用ESMARC工控主板的SPI总线进行通讯,最高可实现48K的数据转换率,最大支持8路14bit模拟信号转换。

ETA104模块的A/D转换芯片的数据转换启动方法有2种,一种方法是使用软件写入指令启动数据转换,第二种方法是使用引脚“ADConvert”启动数据转换:在该引脚上产生一个由低到高的上升沿,便可根据最近一次的A/D输入端口配置,启动一次数据转换,同时引脚“ADBUSY”由低电平变为高电平;当前数据转换完成后,引脚信号“ADBUSY”会产生一个由高到低的下降沿,表示当前数据已经转换好。

根据ETA104模块的这种特点,可以很方便地实现波形数据采样,基本思路如下:1、配置A/D转换芯片,以满足需要采集的模拟信号输入端口与输入方式;2、根据数据采样率需求,配置PWM输出参数,然后启动PWM信号,经由ADConvert信号引脚触发启动A/D数据转换;3、当数据转换完成以后,由ADBUSY信号触发系统IRQ中断;4、系统中断后,启动SPI总线进行当前数据读取。

ADConvert信号通过ETA104的J1.P25脚接入,连接到ESMARC工控主板的PWM1信号端口;ADBUSY信号通过ETA104的J1.30脚输出,连接到ESMARC工控主板的IRQ1信号端口。ETA104数据采样控制信号所占用的相关引脚,如下表所示:

引脚 信号名称 功能 描述
J1.25 GPIO6 PWM1信号输出 用于等时采样时,启动AD转换,该信号连接到ADConvert
J1.30 GPIO24 中断输入IRQ1 数据转换完成,通过ADBUSY信号输出下降沿到IRQ1
J1.38 GPIO28 SPI_MISO 控制ADC器件的SPI总线信号
J1.40 GPIO29 SPI_MOSI
J1.42 GPIO30 SPI_CLK
J1.44 GPIO31 SPI_CSn

模拟信号采样流程参考图如下:

程序流程说明:

1、初始化A/D,主要是配置模拟信号输入方式、模拟信号输入通道、A/D片内增益。

2、要得到高精度的等时采集点的数据,因此使用PWM信号来启动A/D的数据转换,以达到非常高的时间要求精度。

3、系统使用A/D芯片的BUSY信号的下降沿,触发系统中断,通知系统,当前数据已经准备好。

4、以上资源初始化好以后,就可以开始启动A/D转换了。直接启动PWM信号输出即可。

5、等待IRQ中断消息,即表示当前数据转换完成。

6、利SPI总线读取A/D已转换好的数据并存贮。

7、检查要采样的数据个数是否已达到,则关闭PWM输出,停止数据采样。然后关才IRQ、PWM相关设备。

以下是基于ESM9287-WinCE6.0环境的例子程序。由于ESM9287的IRQ响应速度限制,该环境最大数据采样率只能到2Kbps。

// 申请一个数据Buff空间,用于存放采样数据结果

AD_DataBuff = new DWORD[AD_CovCount];

if(AD_DataBuff == NULL)

return ;

// 初始化A/D,配置A/C采样通道与信号输入模式

MyADC_Test.ADS7871_ConfigREG(ADS7818_REG_GainMux,AD_Channel);

// 初始化IRQ,配置中断源IRQ1作为系统触发

hIRQ1 = CreateFile(_T("IRQ1:"),

GENERIC_READ|GENERIC_WRITE,

FILE_SHARE_READ|FILE_SHARE_WRITE,

NULL,

OPEN_EXISTING,

FILE_FLAG_RANDOM_ACCESS,

NULL);

if(hIRQ1==INVALID_HANDLE_VALUE)

{

printf("Open IRQ1 false!\r\n");

return ;

}

// 初始化PWM信号,使用PWM1作为A/D转换启动信号

hPWM = CreateFile( _T("PWM1:"),

GENERIC_READ|GENERIC_WRITE,

FILE_SHARE_READ|FILE_SHARE_WRITE,

NULL,

OPEN_EXISTING,

FILE_FLAG_RANDOM_ACCESS,

NULL);

if(hPWM==INVALID_HANDLE_VALUE)

{

printf("Open PWM false!\r\n");

return ;

}

PwmInfo.dwFreq = AD_CovRate; //设置PWM输出频率为数据采样率,如1000Hz

PwmInfo.dwDuty = 10;

PwmInfo.dwResolution = 1;

dwNumberOfBytesWritten = 0;

bRet = WriteFile(hPWM, &PwmInfo, sizeof(PWM_INFO), &dwNumberOfBytesWritten, NULL);

if(!bRet)

{

printf("WriteFile failed\n");

CloseHandle(hPWM);

}

i1 = 0;

while(1) //数据采样循环控制

{

dwTimeout = 5; //timeout 5ms

if (!DeviceIoControl(hIRQ1, //等待中断触发信号

IOCTL_WAIT_FOR_IRQ,

&dwTimeout,

sizeof(DWORD),

&dwReturn,

sizeof(DWORD),

NULL,

NULL))

{

dwReturn = WAIT_FAILED;

}

if(dwReturn == WAIT_OBJECT_0)

{

i1++;

MyADC_Test.ADS7871_Read( &AD_DataBuff[i1] );//读取AD采样好的数据

if(i1>=AD_CovCount) //判断数据采样个数是否已达到设置值

break;

}

}

PwmInfo.dwFreq = 0;

PwmInfo.dwDuty = 10;

PwmInfo.dwResolution = 1;

dwNumberOfBytesWritten = 0;

bRet = WriteFile(hPWM, &PwmInfo, sizeof(PWM_INFO), &dwNumberOfBytesWritten, NULL); //停止PWM输出

CloseHandle(hPWM);//关闭PWM设备

CloseHandle(hIRQ1); //关闭IRQ设备

//数据复制/转移到用户数据BUFF

//......

delete[] AD_DataBuff;//清理申请的运态数据空单

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

    关注

    7

    文章

    6085

    浏览量

    35201
收藏 人收藏

    评论

    相关推荐

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 374次阅读

    智慧园区能耗网关是什么

    智慧园区能耗网关是一种专门用于智慧园区能源管理系统的设备。它的主要功能是采集和传输园区内各种能耗数据,以便进行综合分析和管理。以下是智慧园区能耗
    的头像 发表于 08-06 15:23 225次阅读
    智慧园区能耗<b class='flag-5'>数</b><b class='flag-5'>采</b>网关是什么

    智慧园区能源网关是什么

    智慧园区能源网关是一种用于采集和管理智慧园区内各种能源数据的设备。其主要功能包括: 1. 数据采集:能源
    的头像 发表于 07-17 15:50 204次阅读
    智慧园区能源<b class='flag-5'>数</b><b class='flag-5'>采</b>网关是什么

    串口RS485网关的功能和优势有哪些

    在当今信息化高度发达的时代,数据采集与监控系统已成为各类工业企业不可或缺的一部分。作为这一领域的关键设备,串口RS485网关凭借其卓越的功能和显著的优势,在众多行业中大放异彩。 物
    的头像 发表于 07-01 10:19 468次阅读
    串口RS485<b class='flag-5'>数</b><b class='flag-5'>采</b>网关的功能和优势有哪些

    plc无线网关是什么

    PLC(可编程逻辑控制器)无线网关是一种设备,它能够通过无线通信技术连接PLC和其他设备或系统,实现数据的采集、传输和远程监控。这种网关
    的头像 发表于 06-27 14:49 348次阅读
    plc<b class='flag-5'>数</b><b class='flag-5'>采</b>无线网关是什么

    能源网关是什么

    能源网关(Energy Data Collection Gateway)是一种专门用于能源管理系统中的数据采集和传输的智能设备。它通常被部署在网络边缘,负责将现场的能源消耗数据,如电能、水能
    的头像 发表于 06-06 14:35 436次阅读
    能源<b class='flag-5'>数</b><b class='flag-5'>采</b>网关是什么

    通过工业智能网关实现电力协议IEC104数据采集

    监控和管理,从而执行各种精准可靠的操作。 对此,物通博联提供IEC104协议网关,可以实时采集处理着海量数据并通过5G/4G/WIFI以太网等方式通信,构建数据应用管理的重要基础,
    的头像 发表于 06-03 14:18 428次阅读
    通过工业智能网关<b class='flag-5'>实现</b>电力协议IEC<b class='flag-5'>104</b>数据<b class='flag-5'>采集</b>

    边缘网关的重要功能

    在数字化的浪潮中,边缘网关正在发挥着越来越重要的作用,作为连接现实世界与数字世界的桥梁,边缘网关实现了数据的实时
    的头像 发表于 05-23 13:33 288次阅读

    网关的应用与实践

    网关的应用与实践。 某制造企业希望通过智能化的方式监控和管理其生产线,提升生产效率。为了实现这一目标,我们为其设计了一款高效的网关解决方案。 1、设备连接与数据
    的头像 发表于 02-21 14:57 565次阅读
    <b class='flag-5'>数</b><b class='flag-5'>采</b>网关的应用与实践

    网关如何助力工厂实现智能化转型

    在工业4.0和物联网(IoT)的推动下,工业数据采集网关(简称网关)在工厂智能化中起到了越来越重要的作用。本文将通过一个案例探讨网关
    的头像 发表于 02-20 14:39 230次阅读
    <b class='flag-5'>数</b><b class='flag-5'>采</b>网关如何助力工厂<b class='flag-5'>实现</b>智能化转型

    之能PLC系统在流体灌装线的应用

    ,能够显著提高生产效率、降低人工成本。 随着工业自动化技术的不断发展,PLC系统在各个领域的应用越来越广泛。在流体灌装线上,PLC
    的头像 发表于 02-05 15:45 349次阅读

    Ruff工业网关,快速低成本数据采集,工厂远程智能监管守护者

    Ruff这款低成本工业网关,支持Modbus RTU协议和数字量输入边缘数据采集上报;通过Ruff IoT云平台,用户可以通过云端远程配置,在PC端和小程序随时查看设备运行数据,接收并处理告警
    的头像 发表于 12-27 14:22 653次阅读
    Ruff工业<b class='flag-5'>数</b><b class='flag-5'>采</b>网关,快速低成本数据<b class='flag-5'>采集</b>,工厂远程智能监管守护者

    从性价比到功能体验,Ruff智能网关更适用于工业和市政领域

    Ruff低成本数网关,针对一些及控制较为简单的中频采集、小数据量、采集点数
    的头像 发表于 12-21 16:49 1227次阅读
    从性价比到功能体验,Ruff智能<b class='flag-5'>数</b><b class='flag-5'>采</b>网关更适用于工业和市政领域

    仪在自动化监测的监测应用 振弦、温度传感信号为主的多通道无线发仪

    仪在自动化监测的监测应用 振弦、温度传感信号为主的多通道无线发仪 仪是一种专门用于
    的头像 发表于 12-07 10:41 536次阅读
    <b class='flag-5'>数</b><b class='flag-5'>采</b>仪在自动化监测的监测应用 振弦、温度传感<b class='flag-5'>信号</b>为主的多通道无线<b class='flag-5'>采</b>发仪

    Modbus通信远程IO模块可以采集哪些PLC设备

    远程IO模块是物通博联推出的用于数据采集远程通信的物联网设备,支持LORA无线传输、4G数据上云、支持多路IO数据采集、支持Modbus
    的头像 发表于 11-24 17:23 607次阅读
    Modbus通信远程<b class='flag-5'>数</b><b class='flag-5'>采</b>IO<b class='flag-5'>模块</b>可以<b class='flag-5'>采集</b>哪些PLC设备