首页 > 产品 > 微控制器 (MCU) 和处理器 > TI EP day 研讨会课程 >

处理器

最新课程

热门课程

基于 AM57xx 和 AMIC110-120 工业现场总线 EtherCAT 主从解决方案

下面由我为大家介绍TI的EtherCAT Solution在Sitara平台上的实现 这个是我们当前工业自动化的一个 工业通讯的一个大概路图 然后我们可以看到 大概有几个模块 一个是PLC 然后里面有sensor 然后底下有个马达控制这块的东西 然后还有HMI的这块 然后这系列的一些单元呢我们都是通过工业通信的 总线连到一起的 然后我们今天讲的工业通信的这块呢 通信的这个协议栈 所以工业通信这块来说呢 互联互通 也是我们工业器件的一个核心的内容 当前主流的工业通信的标准呢 大概有 下面的这几种 一个是 Profinet 这个是我们工厂自动化做的 主要是在欧洲这边 比较流行一些 还有我们今天介绍的EtherCAT EtherCAT 主要是对于这种大量IO的系统 还有驱动方面做的比较好一些 还有一个Ethernet/IP Ethernet/IP是IEEE的一个标准 做的标准的一个协议 还有一个Powerlink Powerlink是开放的一个技术 还有一个 Sercos 它就是一个 主要可以支持冗余的一些技术 我们今天主要介绍的是EtherCAT的输出的以太网协议 这一页就是我们EtherCAT整体的一个overview 首先 它是2003年由倍福(Beckholf)公司起草 开始做的一个协议栈 然后现在的标准呢 它有一个叫做ETG的组织 就是大家可以加入这个组织 然后可以获取它的协议栈 EtherCAT是免费的 它的拓扑关系呢 有线性的 有环形的 还有星形的拓扑 网络接口这块它是百兆的 全双工 一些规范呢 像EtherCAT Master呢 主要是产生frames 然后发送frames 然后Slaves会接收这个frames 它会一边把这包数据收到 收到后呢 然后再从另外一个端口把数据抛出去 这样它有一个标准 就是Slave从这个端口到另外一个端口的时间必须小于 1微秒 就是说 那么实时以太网的实时性就是体现在这个地方 这边呢 Master呢 刚才也说了 它会把数据forward 然后会产生frame的这个数据 它是标准的Ethernet的MAC发出去之后 Master可以用我们的PC机或者我们的 通用的以太网都可以做EtherCAT Master 来使用 而Master呢 要支持TTS的这么一个协议 这个就需要我们通过用PRU-ICSS单元来支持 PRU这块就是我们 Sitara 的一个 可编程的实时单元 它的实时性主要通过PRU来实现 Slave呢就是说这边 它首先是一个on the fly frame的处理 意思就是 可以这么理解 EtherCAT的数据包过来 它会通过 各个Slave的节点 就像一辆火车这样开过 然后经过Slave这个地方的窗口里面 把你当前与我本节点 和Slave有关系的数据取下来 把我需要上传的数据再从这个窗口丢进去 就是说这个车一直在开 速度非常快 保证必须实时地从这个口传到这个口 在这么一个过程中 我可以把数据交互做完 所以这个 on the fly的技术可以简单这么理解 然后就是标准的EtherCAT Ethernet MAC 是不适用的 因为我们要求一个实时性 要求一个口到口的实时的数据传输 所以标准的网口可能不一定能满足这种需求 所以一般来说 市面上常用的 TI的就是通过PRU-ICSS 来做 也有厂商会用ASIC的方案 还有的可能用FPGA来做 这边呢 就是说 处理起来 处理的时间是限制的 它的jitter比较小 然后会有同步的一些处理 EtherCAT Slave的这个协议栈呢 是免费的 是ETG 组织提供的 所以大家如果用EtherCAT Slave呢 想下载这个协议栈的话 需要到ETG的网页上注册一个会员 这个会员也是免费注册 然后就可以得到这个协议栈 然后 EtherCAT这个协议呢 是在TCP/IP协议上面的 就是它的网络数据包呢 还是TCP/IP的包 只是TCP/IP的数据包里面会有一些空格字段 表明当前是EtherCAT的一个数据包 然后我们针对这种在做一个更加 这种详细定义 所以它的外面 的包是一个TCP/IP的数据包 这个就是我们在Sitara处理器上 对EtherCAT Slave实现的一个 框图 从这边可以看到 这是一个 软件的这么一个构架 上面的这一部分是ARM 中间是我们的PRU-ICSS单元 然后底下是硬件的这个PHY 硬件的这块 首先在我们的ARM上面呢 首先会有一个industrial application的这么一个 应用程序 这个程序也可以是客户自己的 自己在上面开发一些 一些代码 也可以用TI的demo 这上面是EtherCAT Slave的stack 就是EtherCAT slave的这个协议栈 就是我刚才说的需要在那个ETG的网站上 去下载协议栈 协议栈的代码也是有 我们TI的demo里面也有这些协议栈扣在里面 集中在我们的demo里面 下面呢 就是EtherCAT的这个 PRU SS的这个驱动 这个驱动就是为了操作我们的这种 操作PRU进行的一些数据包的收发 所以我们在PRU上面 PRU是一个 我们SoC里面的一个可编程实时单元 这上面会有一个固件 也是TI开发 这个固件呢 会给ARM提供一些接口 API 然后通过我们PRU的驱动 去和API进行一些交互 就是我们上传的这个协议栈可以通过API 去获取数据包或者发送数据包 然后PRU呢 可以和这个 ARM 我们的操作系统在一起 大概就是这么一个软件的构架 然后 PRU呢 我们有自己专门的 这个MI接口 就是一个网络接口 它可以有一个收一个发的EtherCAT支持 所以 我们刚才说的普通的网口 比如说335 也有一个CPSW的网口 通用的网口不太适合做这种 实时的以太网 所以我们的PRU有一个专门的 MI的网口的支持 所以这是实时以太网的一个硬件的基础 一个就是PRU 一个就是我们有自己专门的网口 因为我们的PRU是一个实时单元呢 也可以简单介绍一下 就是 它一个是没有Cache 没有流水线 所以它的 每条指令执行的时间都是固定的 这样 当一个网络数据包进来后 它会直接被PRU拿到 因为它的指定时间是固定的 所以它可以在固定的时间内 获取数据包 解析数据包 然后执行相应的动作 但如果网口不是这个网口 而是用我们系统上的网口的话 中间会有很多总线 一些桥 所以这样速度 时间上就没有保证 我们这边的这个 当前呢 就是说 ASIC方案比较流行的 有一个叫做ET1100 这么的一个ASIC 是倍福做的一个芯片 然后我们的AMIC110 就是我们Sitara专门做EtherCAT的一个器件 它会针对这个做一个 就是一个统一的标准 它会 做和ET1100一样的寄存器的标准 因为很多厂家 可能以前是用ET1100 所以 如果以后要用AMIC110的话 其实这个编程的方法是一样的 然后我们这边呢 就是端到端的 Delay时间是700纳秒 是小于1微秒 我们还有一个同步的时间 是小于100纳秒 还有我们是有很多的这种协议栈 的支持 比如刚才说到ETG 的EtherCAT的协议栈 其实我们还有 其他第三方 像第三方的一些协议栈也可以支持 所以我们的平台是相对比较开放一些 这边是我们一个 工厂自动化的一个平台 就是针对EtherCAT的一个解决方案呢 还有TI的产品 大概分为 三层 最上面是一个操作层 主要是工业的PC或者HMI的设备 然后中间呢 是一个控制层 控制层重要是PLC 还有Motion control的CNC的一些设备 最下面是一个现场操作层 主要是以电机驱动啊 就是现场具体做动作的一些小设备 然后在每个设备上 其实都有我们TI合适的产品 去做这种应用 比如像这种比较高端的 可以用我们AM57系列的产品 主要是它的性能比较强 然后主频也比较高 A15的核 然后在HMI这边呢 我们可以有 AM57 或者我们的335X 系列的产品 然后 在中层这块 PLC这块呢 可以用我们AM57的4系列还有3系列的产品 都可以做中间的PLC 这种motion control呢 这种57 和K2G系列的产品都适合应用 底下具体的动作呢 也可以用我们的335或者是AMIC110 我们的AMIC110是针对3357的今年的一个版本 主频是300兆 所以它的成本相对比较低一些 这边呢 就是说介绍一下我们的PRU-ICSS 这个单元 我们的PRU-ICSS呢 是一个可编程的实时单元 ICSS是工业通信的一个缩写 像我们Sitara的处理器呢 有的是只有ARM的 像335 437 只有ARM 像我们的AM57里面呢 还会带DSP 但我们的Sitara处理器呢 都会带一个叫做PRU-ICSS的单元 这个单元呢 刚才也介绍过了 它是一个可以取代ASIC的 或FPGA 可以用在我们的实时通信里面用 它是集成在里面 所以它会很好的这种 节省包括Power size cost这些成本 同时呢因为它是面向软件的 所以这个东西是可以编程的 就是可以用我们TI提供的方案做一个实时的以太网 也可以自己写一点代码在里面 而且我们是用C来编程的 所以可以自己写一些代码在里面 进行接口方面的扩展 这些都是我们TI已经做好的协议的支持 就相当于EtherCAT 刚才已经介绍的协议 都可以通过PRU来支持 我们TI呢 还有一个特点 它有自己专有的一些接口 比如刚刚说的这种网口 就是它通过自己的专用网口 可以做实时以太网 而且它还有专有的一些IO口 就可以通过做一些 实时的一些IO的操作 比如可以输出一些PWM频波 可以进行电机的一些驱动 或者它可以进行一些 通过实时IO进行一些采样 比如外面接上一些传感器之类的 可以通过我们的专用IO把数据采进来 这个是我们工业软件的一个大概的框图 我们这种Sitara产品呢 主要是针对工业领域做的一系列的产品吧 它呢 主要就是 像这边 我们的软件大概分为这几块吧 一个就是客户的软件 就是说 客户开发的一些东西 然后还有第三方的软件 还有一些TI的软件 这边红色的这块就是客户的软件 就是深红色的这块 就是你在上面进行一些开发 做一些应用之类的 然后这块 浅红色的就是第三方软件 各种各样的协议栈 比如刚才说的 EtherCAT Stack 还有其他的一些比如Profinet等等 各种协议栈 这些都是第三方来提供 然后其他就是一些TI提供的 主要是驱动 底层的一些 包括操作系统 bootloader 工具的各种各样的支持 这块都是由TI来提供的 而且因为我们的可编程性比较好 所以我们的一颗芯片 可以支持多种协议 就是根据烧的不同的固件 可以支持EZMac等各种各样的协议 TI已经做好了各种各样的软件包的一个 开发和评估 所以这个就可以设计一套硬件 应用于不同的场合 这个是我们PRU软件的一个 一个软件包打开以后是什么样子 大概就是这些东西 首先呢 这边呢 就是一个 板子支持的一些组件 包括 Processor SDK等 各种各样的软件都是在这里面 还有一些文档 包括user gudie 各种各样软件开发的一些指南 都在这里面 这边看的不太清楚 应该是最上面的这个文档 还有一些example Example就是我们的一些代码 比如刚才说的客户开发的深红色的软件 就是我们example的一个范畴 所以这是会把整个协议 协议栈给套进来 然后下面有这个Protocols 这是我们的固件 和驱动 像firmware呢是TI提供的 驱动也是TI提供的 还有third party就是我们第三方提供的软件 就是刚才说的那个EZMac Stack 协议栈之类的 就是第三方提供的专门的一个软件包 这个软件呢 可以直接在我们TI的 网站上可以下载得到 我们各种各样的通信呢 协议栈都是通过官方认证的 就是比如像我们这些EtherCAT Powerlink 等等的IP 所有这些协议栈都是经过官方认证的 所以大家可以放心使用 就是不会有不合格的情况存在 对于就是我们通过 像这个EtherCAT的话 我们的 所有设备就是通过EtherCAT组织的一个 认证 是满足EtherCAT标准的 这边我们 我们有从站 也有主站 都有 主站也有 我想问一下 比如EtherCAT啊 因为它是倍福发起的 那么里面就是这个IP也好 是不是需要从倍福得到授权 不是这样的 现在是 一个叫ETG的组织 就是原始是倍福 但现在不是倍福自己的东西 就是说现在跟倍福没关系 对吧 对 就是我们授权不是倍福授权 而是ETG组织的一个协议栈 所以 刚刚也看到了 我们很多第三方的 其实大部分都是TI的 包括光模块网 包括socket这些东西 中间有一个stack stack可以通过ETG的网站上下载的 所以 那块是ETG授权的 就是客户买的话 不需要缴授权费吧 ETG EtherCAT不需要 因为ETG这个组织 它的授权是免费的 但有一些 比如像这种 Profinet这个 有可能是 prospect是某家公司开发的 可能如果你选择这家公司的话 它可能会收费 就是说EtherCAT你们是开放的 对吧 对 EtherCAT是免费的 这个是我们的TI design 就是我们会有一些参考的demo之类的 就是包括它的软件 它怎么安装 怎么编译 使用 等等这些 我们会有一些使用的指南 所以大家可以在这个 链接上会下载到各种实时以太网的这种 这些 指南 这些设计的一些 参考设计 这页的话 就是以Profibus为例 就是我们可以在我们的主页上下载到 Profibus的demo 包括这种原理图啊 包括PCB的file 之类的 还有一些软件的所有东西 都是用这个硬件 所有东西都可以通过我们的TI网站上获取 我们有一个叫做PRU ICSS Industrial 的software 我们的实时性是通过PRU来保证的 所以针对这个我们会有各种各样的软件 我们在这里就可以下载PRU的这些软件 包括EtherCAT这个软件 EtherCAT IP HSR/PRP 还有工业driver Profibus Profibus Slave/Master 还有一个Profinet Slave等等这些软件 都可以在TI网站上下载到 下面就介绍一下我们最新的这种 Sitara的芯片 叫做AMIC110 AMIC110呢 实际上是 针对AM3357做的一个 简化的一个版本 它就是主要做一个Low cost 它的主频 是一个300兆 然后它会把一些 就是不太用到的外设 比如 显示接口等等 可以把它给删除掉 所以这个成本相对比较低一些 比335系列 它呢 首先是支持多协议的 支持多协议 通过我们刚才说到PRU 通过不同的去固件 不同的协议栈可以支持各种实时的以太网协议 它的成本比较低 是因为 我们精简了 所以它的 相对成本比较低一些 然后它简单易用 就是 我们所有的软件都是TI提供好 都可以下到 包括硬件什么之类的 所有PCB设计的东西都可以下到 如果不愿意去自己做的话 我们有自己TI的硬件板 也可以把这些demo都搭起来 啊 这样 就是说 ET1100呢 现在用的比较多的EtherCAT 从的方案 很多厂家都用它 比较习惯于这一套寄存器的编码 就是另外编程的话 它会针对某个寄存器 代表什么意思的话 是约定俗成的这么一个东西 所以我们这个AMIC110呢 也会做和ET1100一模一样的替换 就是说这可以完全替换ET1100 对于上层开发来说 都是一样的 所以我问你 倍福知道这件事情吗 用什么协议吗 这个寄存器是一个开放的 它可以处理这块 我们也可以处理这块 就没有知识产权的问题 这个不是被保密的东西 所以这个都没关系 可以作为主站 我们后面会介绍主站 这是我们最新的AMIC110 这么一个参考板的硬件 大概就这个样子 然后 我们是5伏供电 然后中间会有些电源芯片 包括两个网口 然后其他的 包括一些接口 然后我们通过一个扩展口 接触两方 扩展口在这个地方 然后我们可以接一个C2000的板子 然后这样的话 这样设计呢 不仅我们 通过AMIC110做了EtherCAT的通信 比如它是一个通信的单元 然后再接C2000 C2000作为电机的控制口 把它驱动起来 我们把它和C2000搭在一起 这样来做 这就是我刚才说的AMIC110+C2000的 工业驱动的这么一个框图 这边我们的AMIC110就可以做 各种各样实时的工业以太网的 这种协议的支持 这是一个通信板 相当于一个 通信单元 这边是控制单元 是C2000 MCU 进行电机的这么一些控制 我们还有一个 就是说我们的AM43系列 43系列呢它的性能更强 第一 它附带的运算单元 比A8 335系列呢 有所提升 其次 它还有一些比较好的比如PWM波 Sigma Delta等各种各样的 各种脉宽调制控制 各种各样的马达控制的接口 所以我们的43系列对于做 一个集成的方案 就是说 既做EtherCAT的这种实时以太网的通信 同时还可以做一个电机驱动 就是我一个芯片 把我这一页两个芯片的事情 都搞定 这个就是介绍我们EtherCAT Master的一个方案 我们这边呢 就是EtherCAT Master呢 我们刚才说了 有两个网口可选 一个是CPSW 就是普通的网口 千兆网口 还有一个就是我们 PRU-ICSS的网口 这就是EtherCAT Master 然后 我们现在这边 有一个 可以做EtherCAT Master的有335 437 AM57 都可以做 但我们当前TI 推荐的呢都是我们通过第三方 提供Master的协议代码 Stack那块是第三方提供的 所以我们这一块有一个叫Acontis的 一个公司 会给我们做EtherCAT Master的 协议栈的支持 还有一个叫做3S的公司 它也可以 给我们提供EtherCAT Master的支持 这边呢 有一个叫做CODESYS的demo AM57的IDK上面 就是我们这边 PC机上面跑的是 CODESYS的IDE 然后在我们的AM57上面是A15 A15主要跑CODESYS的application 还有一个EtherCAT Master的一个协议栈 都在我们的57的IDK上面跑 然后它通过CPSW做的 这个网口 然后底下的这个335呢 就是相当于做了这个EtherCAT Slave的 协议 所以说 我们的这个Master和Slave 这两种demo都有 我们的335 ICE板呢 就是相对成本会高一点 也可以用我们的这个AMIC110来做 我们的这Acontis呢 主要是 跑在这个Linux-RT的 这么一个版本上面 就是我们有一个实时的 Remix的一个支持 我们这边的topic呢 EtherCAT Master呢主要是我们 在A8 A9 A15上面呢 都可以支持 然后它的软件是可以选配的 同时呢就是说 它通过PRU呢 这些软件 也可以支持Slave 然后我们也可以支持多个操作系统 比如像这种RTOS啦 或者Linux啊 我们都可以在上面配EtherCAT Master 而且我们的这些操作系统都是免费的 还有就是比较简单易用 这下面有一些链接 就是说 点击这些链接 就可以到我们第三方的网页上面去 获取相应的评估软件 这边有我们EtherCAT Master的benchmark 我们在三个平台上都测试了 一个是335 57 还有一个57是通过 PRU-ICSS来做的 这么一个测试 那么主频呢 分别是设到600兆 1G 1G的 然后这个CPU Load呢 大概平均是在39微秒 RTOS是稍微快一些 是20 Linux是36 这个RTOS是25 这样一个情况 然后还有一个循环的jitter的时间 分别是15 11 11这样 这边就是我们的这些测试报告呢 可以满足常规的这些需求 我们现在的这个Acontis的Master呢 现在主要跑的是CPSW这个 这样一个网口上面 我们在AM57上面的这个Master 可以跑在CPSW和ICSS-PRU的这个网口上面都可以做 而且可以支持多种的操作系统 这边呢 是我们Master软件的一个大概的框图 首先上面就是一个操作系统 然后这边是一个工业的应用 然后这是一个Master stack 第三方提供的一些Master的协议栈 下面就是我们以太网的一些驱动 所以说 这块呢 就是说 这个地方是第三方的 其实它全部都是TI的 我们这边就是说 Sitara现在主要就是 三个系列的产品 一个是335 一个是437 还有一个是AM57 我们这三个产品的定位呢 就是 低 中 高 这么三种应用吧 像335呢 主要适合 做这种IO audio或者Slave PLC 入门的HMI功能的这些设备 它的主要特点是集成性比较高 功耗相对比较低一些 它主要是A8 从300兆到1G赫兹的这么一个 A8的处理器 然后其他的各种 PRU的协议 都支持 我们的437就是性能比335要好一些 然后它有一些特殊的接口可以做马达驱动 然后它是个A9的处理器 也是从300兆到1G 我们的57是性能最强大的一个产品 然后它是两个A15的ARM 最高可以达到1.5G 然后内部集成M4的DSP 算法的东西可以放到DSP上面做 它有些控制类的东西可以放到M4上面做 然后它也支持PRU啊 Profinet等 或者其他的一些接口 这边是我们的一些开发工具 上面有AMIC110的 ICE的开发板 335的ICE板 437的IDK 571的IDK 572的IDK 还有K2G的ICE 这些板子都可以用来评估我们的EtherCAT 包括Master和Slave 都也可以来评估 根据大家的需要 在一些高端场合呢 可能选择571 或者572 低端 成本比较敏感的地方呢 可以选择 我们的AMIC110 或者335 做一个评估 这个是我们的这个 57的EtherCAT Master的 一个参考设计 就是一个叫做AM57 IDK的板子 这边就不再详细介绍了 它就是和335类似的 它软件的这边也是 它可以跑Master 也可以跑Slave 在Slave的情况下呢 它是跑 ETG的Stack Master的话 它跑那个 Acontis的stack 这个是AMIC110的支持 刚才大家应该也看到了 这边是一个110加上一个C2000 做一个主控器 一个做控制用 这边有我们的一些链接 包括TI Design的一些链接 这个链接主要是面对硬件的 就比如你点击这个链接 就可以获取 EtherCAT通信平台的一个TI design 然后里面会有一个Vocation Notes 就是一个文档 在这个文档上面呢 会告诉大家一步一步的 怎么去下载软件 怎么去把它编译 然后怎么去测试 都有很详细的一些文档 然后同时 在这些链接里头 还有硬件的一些资源 就比如说 它涉及到硬件的原理图 PCB等等 这些资料都可以在链接上面下载得到 这边呢就是有一个成功案例吧 就比如我们像在 3357来做一个 驱动的通信板 我们主要用3357 那主要选择 3357的原因呢 就是说 首先它的PRU可以支持多协议 有的客户可能就是做了一个板 可能要求在不同的场合下都能用得到 它可能支持的协议可能不太一样 所以我们的一套硬件设计可以支持 多种协议的这么一个特点 经常会被客户比较看重 这边还有一个也是3357做的 机器手臂的这么一个案例 这边呢 它的主要特点呢就是说 这个3357呢 是一个ARM有Cortex-A的处理器 同时呢 还支持EtherCAT的这种 这个协议 所以说 比起之前说的其他的ASIC方案 我们这个处理器的性能 会比较强 所以说在这个应用里面呢 我们的ARM处理器呢 会协助这种 C2000 我们是用C2000来做 它会协助C2000做一些算法方面的加速 比如说有一些关于速度啊 各种各样的算法啊 可以放到我们的ARM上面来跑 这样的话 就是说 可以提高我们系统总体的性能 好 大概就这些内容

下面由我为大家介绍TI的EtherCAT Solution在Sitara平台上的实现

这个是我们当前工业自动化的一个

工业通讯的一个大概路图

然后我们可以看到 大概有几个模块

一个是PLC 然后里面有sensor

然后底下有个马达控制这块的东西

然后还有HMI的这块

然后这系列的一些单元呢我们都是通过工业通信的

总线连到一起的

然后我们今天讲的工业通信的这块呢

通信的这个协议栈

所以工业通信这块来说呢 互联互通

也是我们工业器件的一个核心的内容

当前主流的工业通信的标准呢 大概有

下面的这几种 一个是

Profinet

这个是我们工厂自动化做的 主要是在欧洲这边

比较流行一些

还有我们今天介绍的EtherCAT

EtherCAT 主要是对于这种大量IO的系统

还有驱动方面做的比较好一些

还有一个Ethernet/IP

Ethernet/IP是IEEE的一个标准

做的标准的一个协议

还有一个Powerlink

Powerlink是开放的一个技术 还有一个

Sercos 它就是一个

主要可以支持冗余的一些技术

我们今天主要介绍的是EtherCAT的输出的以太网协议

这一页就是我们EtherCAT整体的一个overview

首先 它是2003年由倍福(Beckholf)公司起草

开始做的一个协议栈

然后现在的标准呢 它有一个叫做ETG的组织

就是大家可以加入这个组织

然后可以获取它的协议栈 EtherCAT是免费的

它的拓扑关系呢 有线性的

有环形的 还有星形的拓扑

网络接口这块它是百兆的 全双工

一些规范呢 像EtherCAT Master呢

主要是产生frames

然后发送frames

然后Slaves会接收这个frames

它会一边把这包数据收到

收到后呢 然后再从另外一个端口把数据抛出去

这样它有一个标准

就是Slave从这个端口到另外一个端口的时间必须小于

1微秒 就是说

那么实时以太网的实时性就是体现在这个地方

这边呢 Master呢

刚才也说了 它会把数据forward

然后会产生frame的这个数据

它是标准的Ethernet的MAC发出去之后

Master可以用我们的PC机或者我们的

通用的以太网都可以做EtherCAT Master

来使用 而Master呢

要支持TTS的这么一个协议

这个就需要我们通过用PRU-ICSS单元来支持

PRU这块就是我们 Sitara 的一个

可编程的实时单元 它的实时性主要通过PRU来实现

Slave呢就是说这边

它首先是一个on the fly frame的处理

意思就是 可以这么理解

EtherCAT的数据包过来 它会通过

各个Slave的节点

就像一辆火车这样开过

然后经过Slave这个地方的窗口里面

把你当前与我本节点

和Slave有关系的数据取下来

把我需要上传的数据再从这个窗口丢进去

就是说这个车一直在开 速度非常快

保证必须实时地从这个口传到这个口

在这么一个过程中

我可以把数据交互做完 所以这个

on the fly的技术可以简单这么理解

然后就是标准的EtherCAT

Ethernet MAC

是不适用的 因为我们要求一个实时性

要求一个口到口的实时的数据传输

所以标准的网口可能不一定能满足这种需求

所以一般来说 市面上常用的

TI的就是通过PRU-ICSS

来做 也有厂商会用ASIC的方案

还有的可能用FPGA来做

这边呢 就是说

处理起来 处理的时间是限制的

它的jitter比较小

然后会有同步的一些处理

EtherCAT Slave的这个协议栈呢

是免费的 是ETG 组织提供的

所以大家如果用EtherCAT Slave呢

想下载这个协议栈的话

需要到ETG的网页上注册一个会员

这个会员也是免费注册

然后就可以得到这个协议栈

然后 EtherCAT这个协议呢

是在TCP/IP协议上面的

就是它的网络数据包呢

还是TCP/IP的包

只是TCP/IP的数据包里面会有一些空格字段

表明当前是EtherCAT的一个数据包

然后我们针对这种在做一个更加

这种详细定义 所以它的外面

的包是一个TCP/IP的数据包

这个就是我们在Sitara处理器上

对EtherCAT Slave实现的一个

框图

从这边可以看到 这是一个

软件的这么一个构架

上面的这一部分是ARM

中间是我们的PRU-ICSS单元

然后底下是硬件的这个PHY

硬件的这块

首先在我们的ARM上面呢

首先会有一个industrial application的这么一个

应用程序 这个程序也可以是客户自己的

自己在上面开发一些

一些代码 也可以用TI的demo

这上面是EtherCAT Slave的stack

就是EtherCAT slave的这个协议栈

就是我刚才说的需要在那个ETG的网站上

去下载协议栈 协议栈的代码也是有

我们TI的demo里面也有这些协议栈扣在里面

集中在我们的demo里面

下面呢 就是EtherCAT的这个

PRU SS的这个驱动

这个驱动就是为了操作我们的这种

操作PRU进行的一些数据包的收发

所以我们在PRU上面 PRU是一个

我们SoC里面的一个可编程实时单元

这上面会有一个固件

也是TI开发 这个固件呢

会给ARM提供一些接口 API

然后通过我们PRU的驱动

去和API进行一些交互

就是我们上传的这个协议栈可以通过API

去获取数据包或者发送数据包

然后PRU呢 可以和这个

ARM 我们的操作系统在一起

大概就是这么一个软件的构架

然后 PRU呢 我们有自己专门的

这个MI接口

就是一个网络接口

它可以有一个收一个发的EtherCAT支持

所以 我们刚才说的普通的网口

比如说335 也有一个CPSW的网口

通用的网口不太适合做这种

实时的以太网

所以我们的PRU有一个专门的

MI的网口的支持

所以这是实时以太网的一个硬件的基础

一个就是PRU

一个就是我们有自己专门的网口

因为我们的PRU是一个实时单元呢

也可以简单介绍一下 就是

它一个是没有Cache

没有流水线 所以它的

每条指令执行的时间都是固定的

这样 当一个网络数据包进来后

它会直接被PRU拿到

因为它的指定时间是固定的

所以它可以在固定的时间内

获取数据包 解析数据包

然后执行相应的动作

但如果网口不是这个网口

而是用我们系统上的网口的话

中间会有很多总线 一些桥

所以这样速度 时间上就没有保证

我们这边的这个

当前呢 就是说

ASIC方案比较流行的 有一个叫做ET1100

这么的一个ASIC

是倍福做的一个芯片

然后我们的AMIC110

就是我们Sitara专门做EtherCAT的一个器件

它会针对这个做一个

就是一个统一的标准 它会

做和ET1100一样的寄存器的标准

因为很多厂家

可能以前是用ET1100

所以 如果以后要用AMIC110的话

其实这个编程的方法是一样的

然后我们这边呢 就是端到端的

Delay时间是700纳秒

是小于1微秒

我们还有一个同步的时间

是小于100纳秒

还有我们是有很多的这种协议栈

的支持 比如刚才说到ETG

的EtherCAT的协议栈 其实我们还有

其他第三方

像第三方的一些协议栈也可以支持

所以我们的平台是相对比较开放一些

这边是我们一个

工厂自动化的一个平台

就是针对EtherCAT的一个解决方案呢

还有TI的产品 大概分为

三层 最上面是一个操作层

主要是工业的PC或者HMI的设备

然后中间呢 是一个控制层

控制层重要是PLC

还有Motion control的CNC的一些设备

最下面是一个现场操作层

主要是以电机驱动啊

就是现场具体做动作的一些小设备

然后在每个设备上 其实都有我们TI合适的产品

去做这种应用 比如像这种比较高端的

可以用我们AM57系列的产品

主要是它的性能比较强

然后主频也比较高

A15的核

然后在HMI这边呢 我们可以有

AM57 或者我们的335X

系列的产品 然后

在中层这块 PLC这块呢

可以用我们AM57的4系列还有3系列的产品

都可以做中间的PLC

这种motion control呢 这种57

和K2G系列的产品都适合应用

底下具体的动作呢 也可以用我们的335或者是AMIC110

我们的AMIC110是针对3357的今年的一个版本

主频是300兆

所以它的成本相对比较低一些

这边呢 就是说介绍一下我们的PRU-ICSS

这个单元 我们的PRU-ICSS呢

是一个可编程的实时单元 ICSS是工业通信的一个缩写

像我们Sitara的处理器呢

有的是只有ARM的 像335 437 只有ARM

像我们的AM57里面呢

还会带DSP

但我们的Sitara处理器呢 都会带一个叫做PRU-ICSS的单元

这个单元呢 刚才也介绍过了

它是一个可以取代ASIC的

或FPGA

可以用在我们的实时通信里面用

它是集成在里面 所以它会很好的这种

节省包括Power size cost这些成本

同时呢因为它是面向软件的

所以这个东西是可以编程的

就是可以用我们TI提供的方案做一个实时的以太网

也可以自己写一点代码在里面

而且我们是用C来编程的

所以可以自己写一些代码在里面 进行接口方面的扩展

这些都是我们TI已经做好的协议的支持

就相当于EtherCAT 刚才已经介绍的协议

都可以通过PRU来支持

我们TI呢 还有一个特点

它有自己专有的一些接口

比如刚刚说的这种网口

就是它通过自己的专用网口

可以做实时以太网

而且它还有专有的一些IO口

就可以通过做一些

实时的一些IO的操作

比如可以输出一些PWM频波

可以进行电机的一些驱动

或者它可以进行一些

通过实时IO进行一些采样

比如外面接上一些传感器之类的

可以通过我们的专用IO把数据采进来

这个是我们工业软件的一个大概的框图

我们这种Sitara产品呢

主要是针对工业领域做的一系列的产品吧

它呢 主要就是

像这边 我们的软件大概分为这几块吧

一个就是客户的软件 就是说

客户开发的一些东西

然后还有第三方的软件

还有一些TI的软件

这边红色的这块就是客户的软件

就是深红色的这块

就是你在上面进行一些开发 做一些应用之类的

然后这块 浅红色的就是第三方软件

各种各样的协议栈 比如刚才说的

EtherCAT Stack

还有其他的一些比如Profinet等等

各种协议栈 这些都是第三方来提供

然后其他就是一些TI提供的

主要是驱动 底层的一些 包括操作系统 bootloader

工具的各种各样的支持

这块都是由TI来提供的

而且因为我们的可编程性比较好

所以我们的一颗芯片 可以支持多种协议

就是根据烧的不同的固件

可以支持EZMac等各种各样的协议

TI已经做好了各种各样的软件包的一个

开发和评估

所以这个就可以设计一套硬件

应用于不同的场合

这个是我们PRU软件的一个

一个软件包打开以后是什么样子

大概就是这些东西

首先呢 这边呢 就是一个

板子支持的一些组件 包括

Processor SDK等

各种各样的软件都是在这里面

还有一些文档 包括user gudie

各种各样软件开发的一些指南

都在这里面

这边看的不太清楚

应该是最上面的这个文档

还有一些example

Example就是我们的一些代码

比如刚才说的客户开发的深红色的软件

就是我们example的一个范畴

所以这是会把整个协议

协议栈给套进来

然后下面有这个Protocols 这是我们的固件

和驱动

像firmware呢是TI提供的

驱动也是TI提供的

还有third party就是我们第三方提供的软件

就是刚才说的那个EZMac Stack

协议栈之类的

就是第三方提供的专门的一个软件包

这个软件呢 可以直接在我们TI的

网站上可以下载得到

我们各种各样的通信呢

协议栈都是通过官方认证的

就是比如像我们这些EtherCAT Powerlink

等等的IP

所有这些协议栈都是经过官方认证的

所以大家可以放心使用

就是不会有不合格的情况存在

对于就是我们通过

像这个EtherCAT的话 我们的

所有设备就是通过EtherCAT组织的一个

认证 是满足EtherCAT标准的

这边我们

我们有从站 也有主站 都有

主站也有

我想问一下 比如EtherCAT啊

因为它是倍福发起的

那么里面就是这个IP也好

是不是需要从倍福得到授权

不是这样的 现在是

一个叫ETG的组织

就是原始是倍福

但现在不是倍福自己的东西

就是说现在跟倍福没关系 对吧

对 就是我们授权不是倍福授权 而是ETG组织的一个协议栈

所以 刚刚也看到了 我们很多第三方的

其实大部分都是TI的

包括光模块网 包括socket这些东西

中间有一个stack

stack可以通过ETG的网站上下载的

所以 那块是ETG授权的

就是客户买的话 不需要缴授权费吧

ETG EtherCAT不需要

因为ETG这个组织 它的授权是免费的

但有一些 比如像这种

Profinet这个

有可能是 prospect是某家公司开发的

可能如果你选择这家公司的话 它可能会收费

就是说EtherCAT你们是开放的 对吧

对 EtherCAT是免费的

这个是我们的TI design

就是我们会有一些参考的demo之类的

就是包括它的软件

它怎么安装 怎么编译

使用 等等这些

我们会有一些使用的指南

所以大家可以在这个

链接上会下载到各种实时以太网的这种

这些 指南 这些设计的一些

参考设计

这页的话 就是以Profibus为例

就是我们可以在我们的主页上下载到

Profibus的demo 包括这种原理图啊

包括PCB的file

之类的 还有一些软件的所有东西

都是用这个硬件

所有东西都可以通过我们的TI网站上获取

我们有一个叫做PRU ICSS Industrial 的software

我们的实时性是通过PRU来保证的

所以针对这个我们会有各种各样的软件

我们在这里就可以下载PRU的这些软件

包括EtherCAT这个软件

EtherCAT IP

HSR/PRP 还有工业driver

Profibus

Profibus Slave/Master

还有一个Profinet Slave等等这些软件

都可以在TI网站上下载到

下面就介绍一下我们最新的这种

Sitara的芯片 叫做AMIC110

AMIC110呢 实际上是

针对AM3357做的一个

简化的一个版本

它就是主要做一个Low cost 它的主频

是一个300兆

然后它会把一些

就是不太用到的外设 比如

显示接口等等

可以把它给删除掉

所以这个成本相对比较低一些

比335系列

它呢 首先是支持多协议的

支持多协议 通过我们刚才说到PRU

通过不同的去固件

不同的协议栈可以支持各种实时的以太网协议

它的成本比较低 是因为

我们精简了 所以它的

相对成本比较低一些

然后它简单易用 就是

我们所有的软件都是TI提供好

都可以下到 包括硬件什么之类的

所有PCB设计的东西都可以下到

如果不愿意去自己做的话

我们有自己TI的硬件板

也可以把这些demo都搭起来

啊 这样 就是说

ET1100呢

现在用的比较多的EtherCAT 从的方案

很多厂家都用它

比较习惯于这一套寄存器的编码

就是另外编程的话

它会针对某个寄存器 代表什么意思的话

是约定俗成的这么一个东西

所以我们这个AMIC110呢

也会做和ET1100一模一样的替换

就是说这可以完全替换ET1100

对于上层开发来说 都是一样的

所以我问你 倍福知道这件事情吗

用什么协议吗

这个寄存器是一个开放的

它可以处理这块 我们也可以处理这块

就没有知识产权的问题

这个不是被保密的东西

所以这个都没关系

可以作为主站 我们后面会介绍主站

这是我们最新的AMIC110

这么一个参考板的硬件

大概就这个样子 然后

我们是5伏供电

然后中间会有些电源芯片

包括两个网口

然后其他的 包括一些接口

然后我们通过一个扩展口 接触两方 扩展口在这个地方

然后我们可以接一个C2000的板子

然后这样的话

这样设计呢 不仅我们

通过AMIC110做了EtherCAT的通信

比如它是一个通信的单元

然后再接C2000

C2000作为电机的控制口

把它驱动起来

我们把它和C2000搭在一起

这样来做

这就是我刚才说的AMIC110+C2000的

工业驱动的这么一个框图

这边我们的AMIC110就可以做

各种各样实时的工业以太网的

这种协议的支持

这是一个通信板 相当于一个

通信单元

这边是控制单元 是C2000 MCU

进行电机的这么一些控制

我们还有一个 就是说我们的AM43系列

43系列呢它的性能更强

第一 它附带的运算单元

比A8 335系列呢

有所提升

其次 它还有一些比较好的比如PWM波

Sigma Delta等各种各样的

各种脉宽调制控制

各种各样的马达控制的接口

所以我们的43系列对于做

一个集成的方案 就是说

既做EtherCAT的这种实时以太网的通信

同时还可以做一个电机驱动

就是我一个芯片 把我这一页两个芯片的事情

都搞定

这个就是介绍我们EtherCAT Master的一个方案

我们这边呢 就是EtherCAT Master呢

我们刚才说了 有两个网口可选

一个是CPSW 就是普通的网口

千兆网口

还有一个就是我们

PRU-ICSS的网口

这就是EtherCAT Master

然后 我们现在这边 有一个

可以做EtherCAT Master的有335 437 AM57

都可以做 但我们当前TI

推荐的呢都是我们通过第三方

提供Master的协议代码

Stack那块是第三方提供的

所以我们这一块有一个叫Acontis的

一个公司 会给我们做EtherCAT Master的

协议栈的支持

还有一个叫做3S的公司 它也可以

给我们提供EtherCAT Master的支持

这边呢 有一个叫做CODESYS的demo

AM57的IDK上面

就是我们这边 PC机上面跑的是

CODESYS的IDE

然后在我们的AM57上面是A15

A15主要跑CODESYS的application

还有一个EtherCAT Master的一个协议栈

都在我们的57的IDK上面跑

然后它通过CPSW做的

这个网口

然后底下的这个335呢

就是相当于做了这个EtherCAT Slave的

协议 所以说

我们的这个Master和Slave

这两种demo都有

我们的335 ICE板呢 就是相对成本会高一点

也可以用我们的这个AMIC110来做

我们的这Acontis呢 主要是

跑在这个Linux-RT的

这么一个版本上面

就是我们有一个实时的

Remix的一个支持

我们这边的topic呢

EtherCAT Master呢主要是我们

在A8 A9 A15上面呢

都可以支持

然后它的软件是可以选配的

同时呢就是说

它通过PRU呢

这些软件 也可以支持Slave

然后我们也可以支持多个操作系统

比如像这种RTOS啦

或者Linux啊 我们都可以在上面配EtherCAT Master

而且我们的这些操作系统都是免费的

还有就是比较简单易用

这下面有一些链接 就是说

点击这些链接 就可以到我们第三方的网页上面去

获取相应的评估软件

这边有我们EtherCAT Master的benchmark

我们在三个平台上都测试了

一个是335 57 还有一个57是通过

PRU-ICSS来做的

这么一个测试

那么主频呢 分别是设到600兆

1G 1G的

然后这个CPU Load呢

大概平均是在39微秒

RTOS是稍微快一些 是20 Linux是36

这个RTOS是25 这样一个情况

然后还有一个循环的jitter的时间

分别是15 11 11这样

这边就是我们的这些测试报告呢

可以满足常规的这些需求

我们现在的这个Acontis的Master呢

现在主要跑的是CPSW这个

这样一个网口上面

我们在AM57上面的这个Master

可以跑在CPSW和ICSS-PRU的这个网口上面都可以做

而且可以支持多种的操作系统

这边呢 是我们Master软件的一个大概的框图

首先上面就是一个操作系统

然后这边是一个工业的应用

然后这是一个Master stack

第三方提供的一些Master的协议栈

下面就是我们以太网的一些驱动

所以说 这块呢 就是说

这个地方是第三方的 其实它全部都是TI的

我们这边就是说

Sitara现在主要就是

三个系列的产品

一个是335 一个是437

还有一个是AM57

我们这三个产品的定位呢 就是

低 中 高

这么三种应用吧

像335呢 主要适合

做这种IO audio或者Slave PLC

入门的HMI功能的这些设备

它的主要特点是集成性比较高

功耗相对比较低一些

它主要是A8 从300兆到1G赫兹的这么一个

A8的处理器 然后其他的各种

PRU的协议

都支持

我们的437就是性能比335要好一些

然后它有一些特殊的接口可以做马达驱动

然后它是个A9的处理器

也是从300兆到1G

我们的57是性能最强大的一个产品

然后它是两个A15的ARM

最高可以达到1.5G

然后内部集成M4的DSP

算法的东西可以放到DSP上面做

它有些控制类的东西可以放到M4上面做

然后它也支持PRU啊 Profinet等

或者其他的一些接口

这边是我们的一些开发工具

上面有AMIC110的

ICE的开发板 335的ICE板 437的IDK 571的IDK 572的IDK

还有K2G的ICE

这些板子都可以用来评估我们的EtherCAT

包括Master和Slave

都也可以来评估

根据大家的需要

在一些高端场合呢

可能选择571 或者572

低端 成本比较敏感的地方呢 可以选择

我们的AMIC110

或者335

做一个评估

这个是我们的这个

57的EtherCAT Master的

一个参考设计

就是一个叫做AM57 IDK的板子

这边就不再详细介绍了

它就是和335类似的

它软件的这边也是

它可以跑Master 也可以跑Slave

在Slave的情况下呢 它是跑

ETG的Stack

Master的话 它跑那个

Acontis的stack

这个是AMIC110的支持

刚才大家应该也看到了

这边是一个110加上一个C2000

做一个主控器 一个做控制用

这边有我们的一些链接

包括TI Design的一些链接

这个链接主要是面对硬件的

就比如你点击这个链接 就可以获取

EtherCAT通信平台的一个TI design

然后里面会有一个Vocation Notes

就是一个文档

在这个文档上面呢 会告诉大家一步一步的

怎么去下载软件

怎么去把它编译 然后怎么去测试

都有很详细的一些文档

然后同时 在这些链接里头

还有硬件的一些资源 就比如说

它涉及到硬件的原理图

PCB等等

这些资料都可以在链接上面下载得到

这边呢就是有一个成功案例吧

就比如我们像在

3357来做一个

驱动的通信板

我们主要用3357 那主要选择

3357的原因呢 就是说

首先它的PRU可以支持多协议

有的客户可能就是做了一个板

可能要求在不同的场合下都能用得到

它可能支持的协议可能不太一样

所以我们的一套硬件设计可以支持

多种协议的这么一个特点

经常会被客户比较看重

这边还有一个也是3357做的

机器手臂的这么一个案例

这边呢 它的主要特点呢就是说

这个3357呢

是一个ARM有Cortex-A的处理器

同时呢 还支持EtherCAT的这种

这个协议 所以说

比起之前说的其他的ASIC方案

我们这个处理器的性能

会比较强

所以说在这个应用里面呢

我们的ARM处理器呢 会协助这种

C2000 我们是用C2000来做

它会协助C2000做一些算法方面的加速

比如说有一些关于速度啊

各种各样的算法啊

可以放到我们的ARM上面来跑

这样的话 就是说

可以提高我们系统总体的性能

好 大概就这些内容

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

基于 AM57xx 和 AMIC110-120 工业现场总线 EtherCAT 主从解决方案

所属课程:TI EP day 研讨会课程 发布时间:2017.12.06 视频集数:26 本节视频时长:00:34:04
TI EP day 研讨会课程合辑。
TI培训小程序