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

    文章

    6107

    浏览量

    37161
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PLC网关哪个好用?有什么推荐?

    在工业物联网快速发展的当下,PLC网关作为连接底层PLC设备与上层管理系统的核心枢纽,其兼容性、稳定性、采集效率直接决定了企业数字化转型的成效。面对市场上众多品牌的产品,很多企业在选择时难免陷入
    的头像 发表于 03-07 14:11 754次阅读
    PLC<b class='flag-5'>数</b><b class='flag-5'>采</b>网关哪个好用?有什么推荐?

    能源网关如何实现“数据孤岛&quot;到&quot;能源互联”的数字化转型

    的“神经中枢”。 物通博联能源网关支持Modbus、IEC101/103/104、DLT645、IEC61850、CJ188等多种工业协议,可无缝对接不同品牌、不同型号的能源设备、PLC、传感器等,覆盖水电气热
    的头像 发表于 12-31 13:55 397次阅读
    能源<b class='flag-5'>数</b><b class='flag-5'>采</b>网关如何<b class='flag-5'>实现</b>“数据孤岛&quot;到&quot;能源互联”的数字化转型

    NI卡 差分AB正交编码器信号采集

    请教一下各位,如何使用NI采集差分输入AB正交编码器角度信号。 PCIE-6320/6340 usb6210/6421 在不增加差分转单端模块
    发表于 10-20 09:15

    通过IEC104协议实现电子厂能源精细化管理

    系统、推动能源精细化管理及达成节能减排目标的关键手段。针对这一需求,物通博联提出基于其能耗网关的物联网解决方案,旨在依托高效、可靠的数据采集与传输技术,助力电子厂构建全方位的能源管
    的头像 发表于 10-09 15:03 869次阅读
    通过IEC<b class='flag-5'>104</b>协议<b class='flag-5'>数</b><b class='flag-5'>采</b><b class='flag-5'>实现</b>电子厂能源精细化管理

    能源网关支持哪些上网方式

    云端,同时快速接收控制指令,保障生产线高效、稳定运行。 4G上网:4G网络覆盖范围广,信号稳定性较好。对于分布在偏远地区的工业设备、能源设施等,4G上网可让能源网关稳定连接到网络,实现
    的头像 发表于 08-18 14:22 883次阅读

    什么是IEC104网关?有什么功能?

    光伏IEC104网关是专门为光伏电站设计的数据采集、协议转换、数据传输一体化设备,核心作用是将光伏电站里逆变器、汇流箱、气象站等设备的“私有协议”转换成电网调度中心唯一认可的 “I
    的头像 发表于 08-15 15:03 1176次阅读
    什么是IEC<b class='flag-5'>104</b><b class='flag-5'>数</b><b class='flag-5'>采</b>网关?有什么功能?

    光伏IEC104网关是什么

    光伏IEC104网关是专门应用于光伏发电系统的数据采集与通信设备,核心作用是实现光伏电站设备数据的标准化
    的头像 发表于 08-12 14:43 1100次阅读
    光伏IEC<b class='flag-5'>104</b><b class='flag-5'>数</b><b class='flag-5'>采</b>网关是什么

    IO终端哪个好用?有什么推荐?

    在工业自动化控制系统中,IO终端是连接现场设备(如PLC、传感器、工业机器人等)的关键设备,它可采集数字量输入(DI)、数字量输出(DO)、模拟量输入(AI)、模拟量输出(AO)等类型数据,
    的头像 发表于 08-07 14:53 1187次阅读
    IO<b class='flag-5'>数</b><b class='flag-5'>采</b>终端哪个好用?有什么推荐?

    光伏物联网平台有哪些功能

    光伏物联网平台通过集成物联网、云计算、大数据等技术实现对光伏电站的全面感知、智能分析与远程管控,其核心功能可归纳为以下六大模块
    的头像 发表于 07-29 18:07 807次阅读

    飞腾主板为信产业发展提高硬实力

    信息技术飞速发展的当下,信产业已成为我国实现科技自立自强、保障国家信息安全的关键领域。信,即信息技
    的头像 发表于 07-22 18:20 828次阅读

    能源网关有哪些上网方式

    瞬间将大量设备数据上传至云端,同时快速接收控制指令,保障生产线高效、稳定运行。 4G上网:4G网络覆盖范围广,信号稳定性较好。对于分布在偏远地区的工业设备、能源设施等,4G上网可让能源网关稳定连接到网络,
    的头像 发表于 07-11 15:32 810次阅读

    能源网关哪些好用?有什么推荐

    在能源管理数字化转型浪潮中,能源网关作为连接设备与云端的核心枢纽,其性能直接影响数据采集的实时性、协议兼容性及系统稳定性。本文基于工业场景需求,结合市场口碑与技术实力,综合推荐十大
    的头像 发表于 07-03 17:14 1258次阅读
    能源<b class='flag-5'>数</b><b class='flag-5'>采</b>网关哪些好用?有什么推荐

    无线系统-高效 · 稳定 · 智能 · 无忧

    产品概述 无线系统 是一款基于物联网技术的智能化数据采集与传输解决方案,专为工业自动化、环境监测、能源管理、智慧农业等领域设计。系统
    的头像 发表于 07-03 15:01 942次阅读
    无线<b class='flag-5'>数</b>传<b class='flag-5'>数</b><b class='flag-5'>采</b>系统-高效 · 稳定 · 智能 · 无忧

    科普|信是什么?一文读懂“信息技术应用创新”战略

    什么是信?信,即“信息技术应用创新”,是国家推动IT系统自主可控、安全可控的重要战略工程。它不仅是技术层面的创新,更承载着保障国家网络安全、推动产业升级和
    的头像 发表于 06-13 10:06 9549次阅读
    科普|信<b class='flag-5'>创</b>是什么?一文读懂“<b class='flag-5'>信息技术</b>应用创新”战略

    PLC网关和PLC通信模块如何选择

    在工业自动化系统中,PLC网关和PLC通信模块都是实现数据传输的关键组件,但它们的功能定位和适用场景存在显著差异。以下从技术特性、应用场
    的头像 发表于 05-19 15:34 1332次阅读
    PLC<b class='flag-5'>数</b><b class='flag-5'>采</b>网关和PLC通信<b class='flag-5'>模块</b>如何选择