ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

STM32+LAN9252搭建EtherCAT从站,实现工业数据采集全流程实战

STM32+LAN9252搭建EtherCAT从站,实现工业数据采集全流程实战 做工业通信的朋友应该都对EtherCAT不陌生但真正动手把一个从站系统跑起来中间要踩的坑远比想象中多。这篇博文想分享的是我当时基于STM32LAN9252搭建EtherCAT从机、实现数据采集功能的一段完整实操经历从方案选型、硬件设计、协议栈移植到最后的联调与排障都尽量说透希望能给正准备入门EtherCAT从站开发的你一些底气。先说清楚这套东西是什么、能做什么。EtherCAT是一种高性能实时以太网现场总线主站加从站组成环形拓扑或线型拓扑从站负责执行指令、采集数据、控制IO。我们做的这个系统就是用一颗STM32做应用处理器挂一片LAN9252做EtherCAT从站控制器ESC跑通EtherCAT从站协议然后把多路ADC模拟量、数字量、温度传感器等数据通过PDO上传给主站实现周期性的数据采集与传输。这套架构非常适合工业现场的设备状态监控、测试台数据采集、伺服驱动器反馈、远程IO模块等场景也是很多半导体封测设备、注塑机联网、自动化产线数据采集项目里常见的基础形态。为什么选LAN9252而不直接用自带EtherCAT功能的MCU或者ET1100这类老牌ESC芯片后面我也会专门对比。简单说LAN9252是2端口百兆EtherCAT从站控制器接口灵活、性价比高、市场供货稳定配合任意带SPI的MCU都能快速搭建STM32F4系列跑协议栈绰绰有余。适合谁参考如果你有STM32基础、想进入工业实时以太网领域或者正在做数据采集类设备、远程IO模块这篇实战笔记应该对你有用。1. 整体设计与方案选型思路1.1 为什么是STM32LAN9252组合EtherCAT从站系统的核心是ESCEtherCAT Slave Controller它负责处理EtherCAT数据帧的转发、提取和插入过程数据而应用层的数据处理和采集逻辑则由应用控制器MCU完成。市面上常见做法有三种第一种直接用带EtherCAT从站功能的MCU比如瑞萨、TI的部分型号但这类MCU选择面窄、价格高而且很多还绑定自家IDE和协议栈灵活性大打折扣。第二种用ET1100/ET1200这类早期ESC芯片虽然技术成熟但接口是16位并行总线占用MCU引脚多、PCB布线麻烦封装也比较大对小型化不友好。第三种就是LA N9252这种SPI接口的ESC方案。LAN9252内部集成2端口EtherCAT PHY两个网口可以直接连变压器不需要另外外挂PHY芯片与MCU之间通过SPI或者8/16位并行接口通信最常见的是SPI从模式这样STM32只需要占用4个引脚SCK、MISO、MOSI、CS就能完成全部数据交换。整体硬件设计简洁、成本可控这也就是我选择这套组合的核心原因。从系统架构上看EtherCAT数据帧从主站过来先进入LAN9252的端口0LAN9252解析帧中属于自己的子报文把输出数据写入内部DPRAM同时把PDO输入数据塞进帧里然后从端口1把帧转发给下一个从站。STM32通过SPI读取LAN9252 DPRAM中缓存的输出数据、写入自己的输入数据再通过中断事件与ESC保持同步。链路层是LAN9252干的应用层是STM32干的分工非常清晰。这里有个很关键的认知我们写的从站应用代码本质上是“围绕ESC的DPRAM操作”而不是像普通嵌入式开发那样直接操作外设寄存器就能通信。EtherCAT协议的FMMU、SMSyncManager这些机制决定了数据怎么在ESC和MCU之间搬运这部分理解透了调试时才能少走弯路。1.2 与专用一体化方案的取舍对比有人会问既然LAN9252这么好为什么还有那么多项目用“MCUET1100”或者直接上倍福的从站IP核这里我按实际项目需求做个对比方案接口复杂度引脚占用PHY集成协议栈工作量成本适合场景STM32LAN9252低SPI4~16个内置中等中数据采集、IO模块、小型从站MCUET1100高并行总线24~48个需外挂中等中高传统工业设备、大点数从站带ESC的MCU低少视型号低高大批量专用产品我做这个项目时选STM32LAN9252除了硬件简洁还有一个现实原因STM32F407这颗料我太熟了库函数、调试工具链都很顺手而且主频168MHz处理EtherCAT应用层加数据采集任务富余量很大。如果追求极致性能或超大数据量可以考虑ZYNQLAN9252或者STM32H7系列但一般工业数据采集场景F4绰绰有余。另外要提醒一点LAN9252不带MAC地址和PHY地址管理功能EtherCAT主站是靠拓扑位置寻址来识别从站的所以从站本身不需要分配IP和MAC这也是EtherCAT和普通以太网一个很大的区别。我们在做从站时不需要像做TCP/IP设备那样配置网络层只要ESC上电后能响应主站的寻址帧即可。2. 硬件设计核心要点与实操记录2.1 STM32与LAN9252的接口设计整块板子的核心连接就是STM32F407的SPI1接到LAN9252的SPI从接口。这里我把关键引脚分配列出来STM32引脚功能连接目标PA5SPI1_SCKLAN9252 SCKPA6SPI1_MISOLAN9252 MISOPA7SPI1_MOSILAN9252 MOSIPA4SPI1_NSSLAN9252 CSPE4中断输入LAN9252 IRQPE5复位输出LAN9252 RESETPB12EEPROM_CS板载93LC66B片选可不用有个焊接和布线细节特别值得说LAN9252的SPI是Mode 0CPOL0, CPE0和Mode 3都支持但实测Mode 0最稳。SPI时钟频率我一开始用10MHz跑起来没问题后来为了余量降到5MHz因为STM32的SPI从模式接收FIFO在高速下有溢出风险降频换取稳定是划算的。布线时SCK和MISO要等长、远离电源纹波区否则通信偶尔会出错这种偶发问题最费时间排查。还要注意LAN9252的IRQ输出是开漏极需要上拉电阻到3.3V。IRQ信号拉到STM32的外部中断引脚后我用的是下降沿触发因为LAN9252在事件发生时会拉低IRQ。STM32端EXTI配置好之后中断服务函数里要尽量短只做置标志位真正的数据搬运放到主循环里做否则中断里做SPI读取很容易阻塞其他实时任务。2.2 电源、时钟与PHY设计LAN9252需要三组电源3.3V数字电源、3.3V模拟电源AVDD、以及1.2V内核电源由内部稳压器产生但需要外部滤波电容。我在设计时用了独立的LDO给模拟部分供电不要直接用DCDC的3.3V拉到AVDD因为DCDC的开关噪声会影响PHY信号质量具体表现为EtherCAT链路偶尔断连或者误码率升高。电源平面要分割但要注意LAN9252底部的散热焊盘必须接数字地不能浮空。时钟方面LAN9252需要25MHz晶振。这个晶振要求比较高我最初用了一颗普通直插晶振结果EtherCAT主站扫描时报错“链路不稳定”。换成20ppm以内的贴片有源晶振后问题消失。这里建议大家直接用有源晶振或者微芯官方推荐的晶振型号省心很多。PHY部分虽然LAN9252内置了PHY但变压器和RJ45还是得自己画。EtherCAT从站一般只需要一个端口另一个端口可以悬空但端口1建议接上用于线型拓扑扩展我用的是Pulse的HX1188NL网络变压器次级中心抽头接3.3V并提供偏置电阻。这里有个新手常犯的错误把变压器的中心抽头直接接地了导致通信丢包严重必须按参考设计接3.3V。2.3 EEPROM配置与从站信息加载LAN9252上电后会读取外部EEPROM来加载配置包括ESC的配置字、PDIProcess Data Interface类型、从站厂商信息等。如果EEPROM是空白的或者配置错误LAN9252会以默认模式运行但很多功能不能用。我在焊接完第一版板子后用微芯的SSC工具生成了一份EEPROM镜像然后通过LAN9252的I2C接口内部自带上拉刷进了一片93LC66B。注意EEPROM的A0、A1、A2地址引脚和ORG引脚电平会影响LAN9252的启动模式必须按照数据手册设置正确否则板子上电后LAN9252根本不工作或者SPI接口无法访问内部寄存器。我第一次画板就栽在这个地方——ORG引脚悬空了结果LAN9252一直处于EEPROM加载失败状态花了半天时间才发现。3. 从站协议栈移植与核心软件实现3.1 从站协议栈SSC的移植过程EtherCAT从站协议栈我直接用了倍福官方的SSCSlave Stack Code工具生成这是最省力的方式。SSC工具可以根据你的ESC类型LAN9252对应SSC的ESC型号选择LAN9252、PDI类型SPI、应用层类型这里选CoECANopen over EtherCAT生成一份完整的从站协议栈源码工程。生成后的工程需要做几件事第一把SPI底层接口函数补齐主要是ESC_ReadData和ESC_WriteData两个函数里面实现的就是通过STM32的SPI读写LAN9252 DPRAM。注意DPRAM地址范围是0x0000~0x0FFF4KBSPI帧格式是先发8位地址高字节再发8位地址低字节然后是1个字节控制命令读为0x00写为0x80还有一类带M位用于连续读写最后是数据字节。这块要对着LAN9252数据手册仔细写写错一个字节方向都可能导致主站扫描不到从站。第二把LAN9252的ESC中断事件处理函数挂到STM32的EXTI中断里。SSC协议栈里面有一个ESC_Isr函数需要在中断里调用它会判断是SM事件、AL事件还是邮箱事件然后置对应标志位。我在中断服务函数里只做一件事调用ESC_Isr并设置一个全局标志应用主循环里再根据标志去处理PDO更新或者邮箱通信。第三对象字典Object Dictionary的配置。数据采集功能要上报的数据我在SSC生成的Objdef.c里定义了对象0x6000读输入数据、0x6010模拟量通道1、0x6011模拟量通道2等。每个对象都有索引、子索引、数据类型、访问权限这些属性PDO映射就是把这些对象映射到过程数据里。3.2 PDO映射与过程数据交换原理EtherCAT从站和主站之间的周期数据交换靠的是PDOProcess Data Object映射。简单理解主站和从站之间有一个“表格”这个表格规定了每个字节代表什么含义从站在每个周期把表格填好交给ESC主站取走同时主站也会把控制指令写到表格里交给从站读走。我在SSC里配置的PDO大概长这样接收PDO主站→从站控制字、目标使能位、采集触发命令发送PDO从站→主站状态字、ADC采样值1~8、数字输入状态、温度值PDO映射关系要跟主站的XML设备描述文件严格一致。主站比如TwinCAT或者SOEM是通过从站的ESI文件EtherCAT Slave Information来识别从站能力、PDO内容的ESI文件在SSC工程里是作为一个头文件引入的它会生成EtherCAT从站信息描述我们把这个文件导出后放入主站配置工具里即可。这里特别强调一下同步管理SyncManagerSM的概念。EtherCAT从站的每个SM通道管理一段DPRAM区域可以是邮箱通信也可以是过程数据。我配置了4个SMSM0用于从站接收邮箱Mailbox Rx、SM1用于从站发送邮箱Mailbox Tx、SM2用于过程数据输出主站到从站、SM3用于过程数据输入从站到主站。SM2和SM3在运行时会由主站配置成周期模式配合DCDistributed Clock实现同步数据交换。3.3 数据采集功能的STM32实现作为从站应用STM32上电后依次完成系统时钟初始化、SPI外设初始化、LAN9252复位与启动配置、以及SSC协议栈的各模块初始化。协议栈初始化完成后从站会进入Init状态等待主站切换状态机。数据采集我分了三种类型第一种是ADC模拟量采集。STM32F407的ADC1采集8路模拟信号DMA循环搬运到缓冲区。应用主循环里每隔一个周期比如1ms检查一次PDO更新标志如果主站发来“采集触发命令”就把DMA缓冲区的最新数据填入PDO的发送映射区然后通知ESC“输出数据已更新”。这里有个细节ADC采样率要远高于EtherCAT周期否则主站拿到的数据是过时的。我设置的是ADC连续采样模式DMA中断里只更新一个序列号主循环里通过序列号判断有没有新数据。第二种是数字量输入采集STM32的GPIO直接读取比如光电传感器、限位开关、按钮这些24路数字输入通过两个16位寄存器映射到PDO里。EtherCAT的位操作比较麻烦PDO里的Bit映射在配置对象字典时我已经提前安排好主站在XML描述文件里能看到每一路对应的BIT位置。第三种是温度采集通过NTC热敏电阻加简单的分压电路用ADC采集后用查表法或者Steinhart-Hart方程换算成温度值。考虑到工业现场可能同时存在多个NTC我在PA0~PA3接了4路NTC采样每个周期更新一次精度在正负0.5摄氏度左右对于设备状态监测足够了。最后要提一下DC分布式时钟同步。如果你的系统里有多个从站需要严格同步执行就必须开启DC模式。实现上也不复杂LAN9252有DC单元会在每个EtherCAT周期产生同步中断信号我们把这个同步信号通过一个引脚输出到STM32STM32在同步中断里执行数据采集和PDO更新。实际上我用的STM32F407没有太多的同步外设就直接把LAN9252的SYNC0信号接到STM32的EXTI引脚上在中断服务函数里置标志位保证所有从站在同一个时间基准点采集数据采集到的数据才是同一时刻的物理量这个在多轴同步、分布式测量里面意义重大。4. 主站配置与联调实战4.1 TwinCAT主站配置流程联调时我用了倍福的TwinCAT 3作为主站。第一次操作很容易不知道从哪下手其实核心就是把从站的ESI文件导入到TwinCAT中然后在I/O配置里添加从站设备绑定网络适配器。操作步骤大致如下打开TwinCAT XAE在Solution Explorer里找到I/O右键Devices添加新设备选EtherCAT然后选网络适配器前提是你电脑网口直连你的从站板子。扫描设备。TwinCAT会自动发送广播帧搜索从站如果LAN9252工作正常在扫描结果里会看到“Box 1 (我们的从站名)”状态栏显示运行状态。如果扫描不到九成是硬件问题后文排查部分再细说。导入ESI文件。TwinCAT扫描到从站后会读取从站EEPROM里的厂商ID和产品ID如果跟本地已安装的XML描述匹配会显示对应的从站型号如果不匹配就需要手动导入ESI文件。在线查看PDO。从站配置好后展开从站节点能看到Process Data的子项就是我们定义的PDO映射。这里可以直观地看到0x6000输入、0x6010模拟量1等点开还能看到每一个子索引对应变量的实时值。在TwinCAT里激活配置后从站在线状态会从Init切换到PreOP、SafeOP、Op最终进入Operational状态。如果中途卡在某个状态不前进多半是邮箱通信或者PDO映射不一致要点开右上角的错误日志看里面的SM报错码和AL状态码。4.2 用Wireshark抓包验证EtherCAT帧调协议这东西不抓包等于盲人摸象。虽然TwinCAT有诊断窗口但我习惯用Wireshark加上网卡驱动比如PCAP的WinPcap或Npcap直接抓EtherCAT帧这样可以逐字节分析从站的上行数据。EtherCAT帧的以太网类型是0x88A4抓包后在过滤栏输入ethertype 0x88a4就能过滤出来。抓包重点关注两类内容第一类是主站发送的寻址帧。比如在Init阶段主站会用配置地址0x0000寻址所有从站发送读取状态的命令从站会在帧里塞入自己的状态字。如果这个帧只有主站发出的部分、没有从站回复的内容说明从站的ESC没把数据写回帧里很可能是SPI读写DPRAM的逻辑有bug。第二类是周期性过程数据帧。Operational状态后主站每个周期发一个帧里面包含了所有从站的PDO输入输出数据。我们可以在Wireshark里看到对应位置的数据和我们预期的ADC采样值是否一致。比如ADC1通道的PDO映射在子报文数据区的第3、4字节如果这两字节和万用表量到的电压换算后的AD值一致那数据链路就完全打通了。送大家一个排查小技巧如果发现从站上行数据一直是初始化值比如全0或全FF先用Wireshark确认主站的写数据有没有进帧里再用SPI读回来的DPRAM地址确认主站数据有没有写进去最后再查是不是PDO映射表地址不对。整个过程就是一级一级定位别一上来就怀疑协议栈有bug。4.3 常见的通信异常与报错排查这个环节我单独整理了一张问题排查表都是实际调试中遇到过的现象可能原因排查方法及解决主站扫描不到从站LAN9252没正常工作/EEPROM配置错检查3.3V和1.2V电源、25MHz晶振起振用SSC工具读取EEPROM确认配置检查ORG引脚电平从站卡在Init状态SM配置错误/邮箱初始化失败查看AL状态码寄存器0x0130确认邮箱接收SM0地址和长度和主站配置一致检查IRQ引脚中断是否触发进入SafeOP后无法进入OPPDO映射不一致/映射长度错误检查从站ESI文件PDO和主站配置的PDO是否一致查看SM2/SM3配置寄存器内容周期性数据有误码SPI时序不稳/DPRAM读写冲突降低SPI时钟到5MHz确认SPI Mode 0检查IRQ标志处理是否防止了读写冲突数据更新不及时DC同步异常/标志位处理慢确认LAN9252 SYNC0中断准时检查主循环处理PDO更新的耗时必要时把PDO更新放到SYNC中断里一接两从站就死机拓扑问题/第二个从站电源不稳定确认每个从站的DC/供电独立第二个从站的端口0改成链路模式Link这中间最值得提的是“SPI读写冲突”LAN9252内部DPRAM在同一个地址可以同时被EtherCAT端口和SPI端口访问但如果你在SPI读数据的同时ESC正在往这个区域写新数据就有可能出现读到一半的数据。SSC协议栈在处理时会用“读-改-写”策略但如果你手动改写了部分代码要注意临界区保护——最简单的做法是读PDO数据时先关掉对应的SM中断读完再打开这个时间极短对实时性影响可忽略。5. 几个值得留意的关键细节5.1 IRQ中断与主循环的配合EtherCAT从站协议栈是事件驱动模型也就是说大部分工作靠中断标志触发。IRQ引脚每来一个中断就说明ESC里发生了一件事比如PDO数据更新、邮箱收到新报文、状态机变化等。如果IRQ中断处理不及时从站和主站之间的通信就滞后严重时协议栈看门狗会触发从站自动回到SafeOP甚至Init状态。我的做法是在STM32的EXTI中断服务函数里只做两件事一是调用ESC_Isr二是置一个esc_event标志。主循环里不停查询这个标志如果置位了就进入事件处理分支。这个分支里要做的事包括读取SM2的输出数据写到应用缓冲区、读取应用输入数据写入DPRAM、处理邮箱请求等。但要注意一个潜在坑如果主循环太忙比如我同时做了温湿度传感器轮询、Modbus从站通信ESC事件处理就可能被延迟。实测发现当主循环周期超过2ms时EtherCAT主站就会开始报同步错误。最终的解决办法是优化主循环把非实时任务拆出去降低优先级或者放到定时器中断里分片处理。5.2 从站EEPROM内容的备份与恢复EEPROM里存了从站的厂商ID、产品ID、版本号、可选的默认PDO配置等关键信息。一旦刷错从站就“变砖”了当然这变砖是可以恢复的。我在第二版样机试产时发现有两片板子EEPROM内容被烧录成相同参数导致主站无法区分同一网段的两个从站。这种情况的恢复方法是用微芯的LAN9252 EEPROM编程工具通过SPI接口连接板子选择“Blank Check”确认EEPROM是否全空如果全空就说明本来就没刷进去选择“Write”重新烧录之前备份的EEPROM镜像。另外SSC工具生成协议栈工程时同时会生成一个.eep文件这个文件就是烧录镜像建议一式两份归档保存。5.3 DC同步与采样点时的对齐对于数据采集系统而言从站之间的数据采样时刻一致性往往比绝对精度更重要。如果现场有多个数据采集从站分别采集同一设备不同部位的电压、电流、温度主站需要把这些数据放到同一时间戳下分析那么从站之间的采集时刻就必须偏差小于某个阈值比如10微秒。LAN9252的DC单元在Op状态下会和主站进行时钟同步。我配置了SYNC0脉冲作为采集触发信号并把STM32的ADC采样设计成由SYNC0触发启动的方式这样每个从站都在同一时刻启动采样周期。这个细节实现起来并不复杂但效果非常明显联调时用示波器对比两个板子SYNC0输出信号边沿几乎完全对齐。有一个用户比较关心的指标是DC同步精度官方标称LAN9252可做到几十纳秒级别实际STM32侧受中断响应影响一般能做到微秒级完全满足工业现场分布采集需求。6. 数据采集的完整示例流程6.1 从对象字典到实际ADC数据的流程为了让大家对“数据采集功能”有个具象认识我把一次完整的采集、传输、显示过程按顺序捋一遍主站TwinCAT处于Op状态周期设为1ms。每个周期开始主站发送过程数据帧帧里包含对从站的输出PDO数据比如触发命令、是否启用采集。帧到达LAN9252后ESC提取Output数据到SM2对应的DPRAM区同时触发中断。STM32在ISR里被唤醒主循环读取SM2数据区判断采集触发命令是否置位。STM32从DMA缓冲区读出最新ADC采样值8路换算成实际电压值填入SM3对应的输入DPRAM区。ESC在下一次帧到来时把SM3区域数据写入帧中返回主站。主站解析帧在TwinCAT实时变量里更新这8路电压值。主站侧的HMI、SCADA系统或数据库直接引用这些变量完成保存、显示、报警。这个流程看起来简单但每一步都有对应代码逻辑。最关键的实现准则只有一个PDO数据更新一定要在允许的时间窗口内完成并且要避免和ESC内部帧处理产生竞争。SSC协议栈本身做了处理但我们自己的应用代码千万别在PDO数据区长时间写数据否则会损坏EtherCAT帧。6.2 通过Modbus透传或LED指示辅助调试调试阶段我经常需要在没有TwinCAT的情况下快速验证从站是否在正常工作。这时候一个很实用的小工具就是从站上的LED状态指示灯。LAN9252的寄存器里有一个指示位可以反映出通信状态我在板上加了两个LED红灯是电源指示绿灯是链路/活动指示这个绿灯我直接接在LAN9252的LINK_STATUS输出上EtherCAT链路建立后它会常亮或闪烁一看就知道物理链路通没通。另外如果需要在纯嵌入式环境里调试数据采集逻辑还可以在SSC协议栈里加一个简单的应用层测试模式比如通过COE的SDO读写0x2000自建对象直接在TwinCAT的在线诊断里读取采集值。这样即使PDO映射还没完全配置好也能验证数据采集电路和算法是否正确把硬件问题和软件问题先隔离开。6.3 STM32资源占用与性能余量STM32F407跑EtherCAT从站数据采集整体性能余量是很充足的。我实测过主频168MHzSPI通信速率5MHz1ms周期下PDO数据更新耗时大约15微秒ADC采样DMA搬运和换算大约30微秒剩下850多微秒都是空闲的。严格说这颗MCU跑从站协议栈和基本IO控制绰绰有余甚至还能同时跑一个小型RTOS、一块TFT液晶屏的界面刷新、或者Modbus RTU从站完全不会互相影响。如果后续要扩展功能比如在同一个板子上增加几十路模拟量输入、高速计数器、编码器接口STM32F4系列都是扛得住的。但如果你是数据量爆炸的场合比如每周期要传几百路波形数据那就要考虑换成并行总线的ET1100或者把应用处理器升级到带更快SPI和更大内存的型号了。7. 实操心得与后续扩展想法这次项目做下来我个人最大的体会是EtherCAT从站开发的门槛其实不在硬件也不在协议栈代码而在“理解数据是怎么流动的”这个过程。只要把ESC的DPRAM、SM、FMMU和中断事件这几个核心概念吃透剩下的工作就是把应用层数据往正确的位置填进去。刚开始接触时觉得每个寄存器都要查手册做完了回头再看核心路径就那么几页。想跟还在入门阶段的朋友多说一句千万不要一上来就自己从头写协议栈直接用SSC生成代码把你自己的硬件和你的应用逻辑填进去比什么都快。SSC生成的代码虽然比较绕但它是倍福长期验证过的比自己造的轮子稳定太多。你要做的是读懂它的长处在哪、改哪里而不是推翻它重写。另外调试工具真的重要。TwinCAT的在线诊断、寄存器查看加上Wireshark抓包分析这两个工具配合起来大部分通信问题能在半小时内定位出来。我见过很多工程师卡在硬件上两三天其实只要验证一下IRQ引脚有没有信号、SPI能不能正常读写地址0x0000问题基本就清楚了。后续如果要扩展我个人觉得有几个方向很值得做一是加一个二级从站把LAN9252的第二个以太网端口利用起来做成菊花链拓扑带更多的数据采集板卡二是增加FMMU功能让主站可以通过FMMU把多个从站的地址映射到连续的逻辑地址空间这样主站编程更简单三是把系统移植到更小封装、更低功耗的MCU上做成分散式无线采集节点的底座再配合边缘网关把数据上传到云端。这些都是现有的这套软硬件架构上可以直接演进的方向也说明STM32LAN9252这套组合作为EtherCAT从站入门和中小型项目的起点确实是个很能打的选择。
返回列表