基于 AM57xx 和 AMIC110-120 工业现场总线 EtherCAT 主从解决方案
Loading the player...
将在30s后自动为您播放下一课程
下面由我为大家介绍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上面来跑 这样的话 就是说 可以提高我们系统总体的性能 好 大概就这些内容
下面由我为大家介绍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上面来跑 这样的话 就是说 可以提高我们系统总体的性能 好 大概就这些内容
下面由我为大家介绍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 研讨会课程合辑。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>