精华内容
下载资源
问答
  • 电网故障信息关联的以太网通信协议扩展了IEC60870-5-103协议,将IEC60870-5-103协议采用RS-485通信方式扩展为以太网通信方式,链路层采用IEC60870-5-104模式,将故障时刻的录波、事故报告、定值、压板设置、开关变位、...
  • 摘要: 本文介绍了基于现场可编程门阵列(FPGA) 的以太网MAC 子层协议的硬件实现方法. 硬件结构上由控制模 块、发送模块和接收模块3个部分组成,发送模块和接收模块采用状态机控制数据发送和接收的过程,完成数据的封装...
  • 网关应用层采用Modbus/RTU主从式协议,以太网传输层采用UDP协议。文中介绍了网关硬件、软总体设计,重点介绍了Zigbee/Modbus地址映射和收发缓冲区设计。网关硬件设计基于Rabbit3000MCU和SZ05-ZBEE ZigBee模块,软件设计...
  • 0 引言  在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛使用。... FINS(factory interface network service)通信协议
  • 以太网MAC层协议

    万次阅读 2018-08-07 17:31:11
     MAC发送模块可将上层协议提供的数据封装之后通过MII接口发送给PHY。发送模块可接收主机接口模块的数据帧开始和数据帧结束标志,并通过 主机接口从外部存储器中读取要发送的数据,然后对数据进行封装,然后通过PHY...

    MAC发送模块

      MAC发送模块可将上层协议提供的数据封装之后通过MII接口发送给PHY。发送模块可接收主机接口模块的数据帧开始和数据帧结束标志,并通过 主机接口从外部存储器中读取要发送的数据,然后对数据进行封装,然后通过PHY提供的载波侦听和冲突检测信号,在信道空闲时通过MII接口将数据以4位的 宽度发送给PHY,最后由PHY将数据发送到网络上。
      发送模块由CRC生成模块(crc_gen)、随机数生成模块(random_gen)、发送计数模块(tx_cnt) 和发送状态机(tx_statem_模块等四个子模块组成。

    CRC生成模块(crc_gen)

      该模块用于计算发送数据的CRC值,并将CRC值添加到数据帧的帧校验序列字段(FCS)内。为了提高效率,并考虑到MAC与PHY的数据通道 为4位,设计时可采用4位并行CRC计算方法,算法中可使用一个次态函数,并通过循环迭代来模拟移位操作。这样,发送模块就可以在边发送数据到PHY的同 时,一边计算CRC,这样当数据发送完时,CRC值也计算完成了。

    随机数生成模块(random_gen)

      如在发送过程中检测到冲突,发送模块就先发送拥塞码(jam),随后停止发送。在下次重新发送之前,发送模块会先执行一个后退 (backoff)操作,即发送模块等待一个半随机(生成的随机数有范围限制)的时间之后再开始发送。该随机数就是由随机数生成模块产生的,它采用经典的 截断二元指数后退算法,后退的时间是一个与发生冲突次数有关的随机数,随着冲突的次数增多,用于生成该随机数的范同也将逐渐增大,以减少冲突的概率。

    发送计数模块(tx_cnt)

      发送计数模块由半字节计数器(nibcnt)、字节计数器和重试次数计数器(retrycnt)三个计数器组成。其中重试次数计数器 (retrycnt)可对发送某个帧时产生冲突次数进行计数。当计数器的值达到最大重试次数时,它将放弃重试,并丢弃发送缓冲器内的数据。同时,重试计数 器的值还被随机数生成模块用于计算下次重试之前需要后退(backoff)的时隙的个数。
      半字节计数器和字节计数器分别用于对发送过程中的半字节(bibble)和字节进行计数。
      信道忙时,发送模块会一直等待,半字节计算器一直计数。当计数到额定等待时间时(最大帧长度的两倍,即3036字节时间),系统会根据设置放弃 发送或是一直等待(可选功能)。一旦信道空闲再进入帧间间隙周期(≥96个比特时间),南半字节计数器从零开始计数。帧间间隙分为两个部分,在前2/3个 周期中,如果检测到信道忙信号,则半字节计数器复位,发送模块重新开始等待;在后l/3周期中,即使检测到信道忙信号,半字节计数器也不会复位,而是继续 计数,以保证每个站点公平的竞争信道。而当半字节计数器的值达到帧问间隙周期时,此时如果有数据等待发送,发送模块就开始发送数据。此外,半字节计算器还 用于前序码的生成和短帧的判断,在数据帧的长度小于最小帧时,发送模块必须根据系统设置进行填充或不填充。
      字节计算器还可用于滞后冲突(late collision)和超长帧的判断。当滞后冲突发生时,正在发送的数据将被丢弃。超长帧的判断则是从对帧内容(包括FCS)进行字节计数,如果字节计数 器的值大于最大有效帧的长度(1518个字节),发送模块就根据系统设置(是否支持超长帧)丢弃或发送。

    发送状态机模块(tx_statem)

      发送状态机模块是整个发送模块的核心,主要用于控制整个发送过程。发送状态机由I-die_State、Preamble_State、 Data0_State、 Da-tal_State、 PAD_State、 FCS_State、 IPG_State、Jam_State、BackOff_State、Defer_State等十个状态组成。
      系统复位后,发送模块即进入Defer_State状态,并一直检测载波侦听(CarrierSense)信号。当载波侦听信号变成无效(表示 信道空闲)时,状态机进人IPG_State状态。尔后,在等待一个帧间间隙之后,状态机则进入Idle_State状态。如果在帧间间隙的前2/3个周 期检测到信道忙信号,状态机将重新回到Defer_State状态。
      状态机进入Idle_State状态之后,发送模块将检测载波侦听信号和主机接口的发送请求。若主机模块请求发送,状态机将进入 Preamble_State状态,发送模块即通知PHY发送开始,同时开始发送前序码(7个0x5),然后发送帧起始定界符(SFD,0xd)。状态机 进入Data0_State后,发送模块将发送一个数据字节的低4位(LSB nibble),将当其进入Data1_State状态后,发送模块则发送数据字节的高4位(MSB nibble)。随后,状态机一直在data0和data1之间循环,直到数据发送完毕。当还剩一个字节时,主机模块将通过发送帧结束信号来通知发送模 块。如果数据帧的长度大于最小帧并且小于最大帧,状态机就进入FCS_State状态,此时发送模块则将CRC生成模块生成的CRC值添加到帧的FCS字 段中并发送给PHY。帧发送完之后,状态机进入Defer_State状态,之后是IPG_State和Idle_State状态。此后状态机又回到初始 状态,以重新等待新的发送请求。
      如果数据帧的长度小于最短帧,状态机就进入PAD_State状态,发送模块根据系统设置是否在数据之后来添加填充码。然后,状态机进入 FCS_State状态。如果数据帧的长度大于最大帧,而系统设置又支持发送超长帧,那么,状态机就进入FCS_State状态;如果不支持发送超长帧, 发送模块将放弃发送,状态机直接进入Defer状态,然后是IPG状态,最后回到Idle状态。
      在发送数据的过程中,发送模块会一直检查冲突检测信号(collision detected)。如果发现冲突且状态机正处于Preamble_State,状态机将在发送完前序码和SFD之后进入Jam_State,并发送拥塞 码,然后进入BackOff状态,以等待重试。之后,状态机经过Defer和IPG回到Idle状态。如果此时重试次数计数器的值没有达到额定值,发送模 块将重新开始发送刚才的帧,并将重试次数计数器的值加1;如果发现冲突且状态机处于data0、da-tal或FCS状态,而且没有超过冲突时间窗,那么 状态机将马上进入Jam状态发送拥塞码,之后经过BackOff、Defer、IPG、回到Idle,并根据重试计数器的值决定是否重新发送刚才的数据 帧;如果检测到发生冲突的时间超过了冲突时间窗,状态机将进入Defer状态,然后经过IPG到IDLE状态,并放弃重试。
      在全双工模式中发送帧时,不会进行延迟(defer),发送的过程中也不会产生冲突。此时,发送模块将忽略PHY的载波侦听和冲突检测信号。当 然,帧与帧之间仍然需遵守帧间间隙的规则。因此,全双工模式下的发送状态机没有Jam_State、。BackOff_State、 Defer_State三个状态。

    MAC接收模块

      MAC接收模块负责数据帧的接收。当外部PHY将通信信道的串行数据转换为半字节长的并行数据并发送给接收模块后,接收模块会将这些半字节数据 转换为字节数据,然后经过地址识别、CRC校验、长度判断等操作后,再通过主机接口写入外部存储器,并在主机接口模块的接收队列中记录帧的相关信息。此 外,接收模块还负责前序码和CRC的移除。
      接收模块由CRC校验模块、地址识别模块、接收计数器模块和接收状态机模块等四部分组成。
      接收模块中的CRC校验模块可通过检查输入帧的CRC值来验证帧的正确性。其算法与CRC生成模块相同。
      地址识别模块用于决定是否接收收到的帧,接收模块首先接收输入帧而不管目的地址,随后由地址识别模块检查帧中的目的地址。若MAC被设置为混杂模式(Promiscuous mode)且目的地址为广播地址,同时允许接收广播帧,帧则被接收。否则,帧被丢弃。
      接收计数器模块由字节计数器(Bytecnt)和帧间间隙计数器(IFGcnt)组成。字节计数器在接收帧过程中将对字节进行计数,以用于识别 帧中的各个字段(前序码、目的地址字段、数据、FCS等)以及判断超长帧。帧间间隙计数器则对两帧之间的间隔时间进行计数,以用于判断下一帧数据的开始。 IEEE 802.3规定,两帧之间的间隔至少必须为96个比特时间(10 Mbps中为9 600ns,100 Mbps中为960 ns)。如果两帧之间的间隔小于要求,帧将被丢弃。
      接收状态机为接收模块的核心,用于控制整个接收过程。接收状态机由Idle_State、Drop_State、Preamble_State、 SFD_State、 Da-ta0_State、Data1_State等六个状态组成。
      系统复位后,状态机处于Drop_State。如果此时MII的数据有效信号(MRxDV)无效,状态机马上进入Idle_State状态,并一直处于Idle等待接收输入帧。
      当接收模块检测到数据有效信号之后,状态机将进入Preamble_State,并开始接收前序码。此后再状态机进入SFD_State,接收 一个字节的帧起始定界符,之后,根据IFGcnt计数器的值进入不同的状态。如果,IFGcnt所确定的时间大于96个比特时间,状态机将进入Data0 状态以接收字节的低4位,然后是Data1状态,并接收字节的高4位,之后又回到Data0状态。状态机就一直在这两个状态之间循环,直到数据接收完毕 (PHY清除MRxDV信号)后进入Idle,以重新等待接收新的数据;如果接收到帧起始定界符时,IFGcnt计数器所确定的时间小于96个比特时间, 那么状态机将进入Drop_State状态,并一直维持该状态直到数据有效信号结束(PHY清除MRxDV信号)。之后,状态机再同到Idle等待接收新 的数据。
      如果在接收前序码、帧起始定界符和数据期间,数据有效信号被清除,那么,状态机将回到Idle。

    MII管理模块

      MII管理模块用于控制MAC与外部PHY之间的接口,以用于对PHY进行配置并读取其状态信息。该接口由时钟信号MDC和双向数据信号MDIO组成。MII管理模块则由时钟生成模块、移位寄存器模块和输出控制模块三部分组成。
      时钟生成模块可以根据系统时钟和系统设置中的分频系数来产生MII管理模块的时钟信号MDC(10 Mbps速率时为2.5 MHz,100 Mbps速率时为25 MHz)。
      移位寄存器模块既可用于对PHY的控制数据进行写入操作,也可用于对PHY的状态信息进行读出操作。写控制数据时,移位寄存器根据其他模块的控 制信号将并行控制数据转换为串行数据;而在读状态信息时,移位寄存器则将PHY的串行数据转换为并行数据,MAC中的其他模块可将该并行数据写入适当的寄 存器。
      由于MDIO是双向信号,因此,输出控制模块就用来决定MDIO是处于输入状态还是输出状态。当MDIO处于输出状态时,移位寄存器输出的串行控制数据在经过时钟同步后发送到PHY;当MDIO处于输入状态时,移位寄存器将数据线上的串行数据转换为并行数据。

    主机接口模块

      主机接口是运行以太网的上层协议(如TCP/IP协议)与MAC控制器的接口。通过该接口,上层协议可以设置MAC的工作模式并读取MAC的状态信息。该接口还可用于上层协议与MAC之间的数据交换。
      主机接口模块内有一组寄存器,可用于存储上层协议对MAC设置的参数以及MAC的状态信息。上层协议对MAC设置的参数包括接收超短帧的使能、 添加填充码使能、持发送超长帧的使能、添加CRC校验值使能、全双工模式或半双工模式、持超长延迟(Defer)使能、混杂模式 (Promiscuous)、接收广播帧使能、发送和接收使能、中断源和中断使能、帧间间隙的长度、最大帧和最小帧的长度、重试限制和冲突时间窗、MII 地址和MII控制命令、接收和发送队列的长度以及本机MAC地址等。
      上层协议通过MAC发送和接收数据的操作主要由主机接口模块内的两个队列来进行管理,这两个队列用于对等待发送的多个帧和接收到的多个帧进行排队。
      发送队列主要记录等待发送的帧的相关信息、发送该帧时对MAC的设置以及该帧发送完之后产生的状态信息。帧的相关信息包括帧的长度、帧在外部存 储器中的地址、该帧是否准备好发送以及队列中是否还有其它帧等待发送;对MAC的设置则包括中断使能、填充使能、CRC使能;产生的状态信息包括成功发送 之前的重试次数、由于达到重试限制而放弃发送、发送时产生的滞后冲突以及成功发送之前发生过的延迟。
      接收队列主要对接收到的数据帧进行排队并记录每个接收到的帧信息。这些信息包括帧的长度、是控制帧还是普通数据帧、帧中包含无效符号、接收到的 帧太长或太短、发生CRC错误、接收的过程中发生滞后冲突、帧是否接收完、队列中是否还有其它已接收到的帧以及帧存储在外部存储器中的地址等。该位同时队 列中还有针对每个帧的设置位,用来设置是否在接收到帧时产生中断。
      发送队列和接收队列的长度都可以在控制寄存器中进行设置。

    展开全文
  • 以太网通信,UDP通信

    千次阅读 2016-10-07 07:45:25
    1、 在IP包包头里的IP类型0x0800代表IP协议网络。在二层mac帧里表示,因为...2、 IP通信协议 IP数据包包头 前导码0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xd5

    1、  在IP包包头里的IP类型0x0800代表IP协议网络。在二层mac帧里表示,因为除了IP协议网络外,还有ATM网络,FDDI网络等网络类型。

    2、  IP通信协议

    IP数据包包头

    前导码0x55

    0x55

    0x55

    0x55

    0x55

    0x55

    0x55

    0xd5

    目的MAC地址

    目的MAC地址

    目的MAC地址

    目的MAC地址

    目的MAC地址

    目的MAC地址

    源MAC地址

    源MAC地址

    源MAC地址

    源MAC地址

    源MAC地址

    源MAC地址

    IP包网络类型0x0800

     

     

    [31:28]

    [27:24]

    [23:20]

    [19:16]

    [15:12]

    [11:8]

    [7:4]

    [3:0]

    IP数据报首部

    固定部分

    版本

    首部长度

    区分服务

    数据报总长度

    标识

    标志

    片偏移12位

    生存时间

    协议

    首部检验和

    源IP地址

    目的IP地址

    可变部分(UDP)

    源端口号

    目的端口号

    用户数据包长度

    检查和

     

    数据部分

     

    CRC校验

    注:标志占三位.

    解释:

    a、  IP协议(TCP/UDP)通信需要发送(或接收)7*0x55+0xd5的前导码

    b、  目的MAC和源MAC各48bit

    c、  IP包网络类型,还有其他的网络类型例如ATM或FDDI等,0x0800代表相应IP包类型

    d、  IP首部前20字节为固定部分,除了固定部分以外,可变部分根据你用的是UDP或者TCP来决定,但总的首部长度不可超过60字节。

    e、  版本,4bit,4代表IPV4

    f、  首部长度,4bit,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP 的首部长度的最大值是 60 字节。

    g、  区分服务: 占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段

    h、  总长度,占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535 字节.总长度必须不超过最大传送单元 MTU

    i、  标识:16位,它是一个计数器,用来产生数据报的标识,具有同一个标识的数据包属于同一数据片,有时候为了避免超过MTU,需要对数据进行分片

    j、  标志:3bit,占3位,目前只有前两位有意义,标志字段的最低位是 MF (More Fragment),MF=1 表示后面“还有分片”。MF=0 表示最后一个分片,标志字段中间的一位是 DF (Don't Fragment),只有当 DF=0 时才允许分片。

    k、  片偏移,占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

    l、  生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

    m、  协议。占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

    n、  首部检验和,占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法

    o、  源和目的的IP地址,都各占4 字节,分别记录源地址和目的地址

    p、  可变部分根据所用的协议改变。最后发送用户数据和CRC校验码

    q、  在千兆的GMII通信模式下, 发送数据时,发送时钟为125Mhz的GTXC信号, 数据为TXD0~TXD7, 数据有效信号为TXEN, TXC信号没有使用; 接收数据时,接收时钟为125Mhz的RXC信号, 数据为RXD0~RXD7, 数据有效信号为RXDV。

    r、  在百兆的MII通信模式下, 发送数据时,发送时钟为25Mhz的TXC信号, 此25Mhz的TXC时钟是PHY输入给FPGA的,数据为TXD0~TXD3,数据有效信号为TXEN, GTXC信号没有使用; 接收数据时,接收时钟为25Mhz的RXC信号, 数据为RXD0~RXD3, 数据有效信号为RXDV。

    s、  以太网的数据帧的传输有包长的要求, 一般在46~1500字节。所以在发送以太网数据包的时候,数据帧的长度不能太短, 不然会导致PC数据包发送而FPGA收不到数据包的情况。跟冲突监测相应的内容相关。

    3、  在进行以外网(ethernet)通信测试的时候,按照要求弄好后,为什么只有第一次连接调试可以成功,而后续不可以?因为网络调试助手在调试一次过后必须手动关闭退出,否则将会占用相应的网络通道,必须将调试助手全部程序退出后才能再次进行连接通信。

    4、  在前面的IP通信协议中可以知道,如果FPGA向PC机发送数据时,则目的地址或者目的MAC地址将是PC机的地址和MAC地址,对于在FPGA中写接收模块,则相当于是PC机通过IP协议向FPGA发送数据,那个目的地址或MAC地址将是FPGA本身的地址或MAC地址

    5、  什么是SLEW= FAST? Slew——Slew Rate。信号的转换速率,可以理解为信号在某一点的斜率。它不是只针对时钟信号说的;诸如放大器的slew rate就是一个很重要的参数;而在数字电路里,它可能更常用于描述芯片输入信号的变化率. 在Xilinx的设计环境中,可以将输出信号的Slew rate设置成FAST或SLOW。当设置成FAST时,提高了信号变化的斜率,从而提高了信号的转换速率,但同时使脉冲信号的振铃增大。因此,除非万不得已,不要将输出信号的Slew rate设成FAST ,skew选fast,IO转化时快,但电流大,功耗大。skew选slow,IO转化慢,但功耗小。默认设置:IOSTANDARD=LVCMOS25,SLEW=SLOW ,DRIVE=12

    展开全文
  • 为了实时采集基于DSP的电力电子变换电路控制器的运行数据,通过ARM芯片及以太网PHY控制器芯片提供一种以太网通信解决...考虑到系统简化及数据速率问题,在通信协议方面采用UDP协议,采用LabVIEW设计以太网上位机界面。
  • 以太网MAC协议--CSMA/CD协议

    万次阅读 2016-11-17 15:06:21
    以太网MAC协议–CSMA/CD协议@(计算机网络)为了通信的方便,以太网采用了两种重要的措施:CSMA/CD协议 采用无连接的工作方式:传输数据之前不用建立连接 对发送的帧不进行编号,也不要求接收方发回确认帧。这样做的...

    以太网MAC协议–CSMA/CD协议

    @(计算机网络)

    为了通信的方便,以太网采用了两种重要的措施:

    CSMA/CD协议

    • 采用无连接的工作方式:传输数据之前不用建立连接
    • 对发送的帧不进行编号,也不要求接收方发回确认帧。这样做的理由:局域网的信道质量非常好,因为信道质量产生的错误的概率非常小。区别于数据链路层协议。

    所以,以太网提供的是无连接不可靠的服务。尽最大努力交付即可。

    关于CSMA/CD协议,我只是单纯的学习了这些协议的特点,没有看到它们就是以太网的具体采用的协议。

    中文名称是:载波监听多路访问/冲突检测协议。

    所以有必要解释一下中文的含义:

    • 载波监听:站点发送数据前,先检查总线上是不是已经有数据在传输,如果有就暂缓发送,避免冲突。实质是:冲突发生前尽量避免。
    • 多路访问:即总线型网络。以太网就是总线型网路。
    • 冲突检测:边发送边对介质上电压信号进行检测,当电压摆动值超过一定门限时就认为发生了冲突。一旦发生冲突就停止发送数据,然后根据协议进行重传。

    退避算法总结:以太网采用截断二进制指数回退算法解决冲突后重发问题。核心思想是:发生冲突后的站点在停止发送数据后,不是立即重发而是推迟一个随机的时间。

    具体做法是:

    • 确定单位回退时间。通常取冲突窗口的值,即传输512bit数据用时,叫作时槽
    • 定义参数k,等于重传次数,不能超过10,即k = min(n,10)
    • r,0r<2k ,重传的时延就是r倍的单位回退时间。
    • 重传达到16次仍然不成功,表示当前同时发送数据的站点过多,连续发生冲突,丢弃该帧,向上层报告,任务完不成。。

    这里看出来,重传次数越多,等待时间越长。动态退避,利于系统稳定。

    展开全文
  • 工业组网通信协议可以由串口、现场总线、工业以太网来实现,根据实际的项目需求去采用其中最合适的一种方式来实现通信协议。 一、 三种方式的优劣 从性能以及多站的特点RS485是作为串口的首选,现场总线以CAN总线...

          大家好,我是阿桃,一个想成为被点赞关注的程序员。

         工控行业、物联网行业、机器人行业软件开发可联系我,联系方式QQ:845699561

            工业组网通信协议可以由串口、现场总线、工业以太网来实现,根据实际的项目需求去采用其中最合适的一种方式来实现通信协议。

    一、 三种方式的优劣

            从性能以及多站的特点RS485是作为串口的首选,现场总线以CAN总线为例,所以下面对CAN、RS485以及工业以太网作对比。

    1. RS485接口标准

            RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。半双工串行通信,数据最高传输速率为10Mbps,在总线上允许连接多达128个收发器,即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络,但RS-485总线上任何时候只能有一发送器发送,即一主多从。

    2. CAN总线

            CAN总线是国际标准的工业级现场总线,传输可靠,实时性高;传输距离最远可以达到10KM,传输速率达到1Mbps;单条总线最多可接110个节点,并可方便的扩充节点数;多主结构,各节点的地位平等,方便区域组网,总线利用率高;实时性高,非破坏总线仲裁技术,优先级高的节点无延时;出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯;报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;自动检测报文发送成功与否,可硬件自动重发,传输可靠性很高;硬件报文滤波功能,只接收必要信息,减轻cpu负担,简化软件编制。

    3. 工业以太网的优势与不足

    优势:

            基于TCP/IP的以太网是一种标准开放式的网络,由其组成的系统兼容性和互操作性好,资源共享能力强,可以很容易的实现将控制现场的数据与信息系统上的资源共享;数据的传输距离长、传输速率高;易与Internet连接,低成本、易组网,与计算机、服务器的接口十分方便,受到了广泛的技术支持。

    不足:

            以太网采用的是带有冲突检测的载波侦听多路访问协议(CSMA /CD),无法保证数据传输的实时性要求,是一种非确定性的网络系统; 安全可靠性问题,以太网采用超时重发机制,单点的故障容易扩散,造成整个网络系统的瘫痪;对工业环境的适应能力问题,目前工业以太网的鲁棒性和抗干扰能力等都是值得关注的问题,很难适应环境恶劣的工业现场;本质安全问题,在存在易燃、易爆、有毒等环境的工业现场必须要采用安全防爆技术;总线供电问题。在环境恶劣危险场合,总线供电具有十分重要的意义。

    4. RS485、CAN总线与工业以太网的比较

    4.1 RS485总线与CAN总线比较

             速度与距离: CAN与RS485以1Mbit/S的高速率传输的距离都不超过100 米,可谓高速上的距离差不多。但是在低速时CAN以5Kbit/S时,距离可达10KM,而485再低的速率也只能到1219米左右(都无中继)。可见CAN在长距离的传输上拥有绝对的优势。以太网百兆无中继最远120米(如使用AMP可达300米)。

            总线利用率:RS485是单主从结构,就是一个总线上只能有一台主机,通讯都由它发起的,它没有下命令,下面的节点不能发送,而且要发完即答,受到答复后,主机才向下一个节点询问,这样是为了防止多个节点向总线发送数据,而造成数据错乱。而CAN-Bus和以太网是多主从结构,每个节点都有CAN控制器,多个节点发送时,以发送的ID号自动进行仲裁,这样就可以实现总线数据不错乱,而且一个节点发完,另一个节点可以探测到总线空闲,而马上发送,这样省去了主机的询问,提高了总线利用率,增强了快速性。所以在汽车等实时性要求高的系统,都是用CAN总线,或者其他类似的总线。

            错误检测机制:RS485只规定了物理层,而没有数据链路层,所以它对错误是无法识别的,除非一些短路等物理错误。这样容易造成一个节点破坏了,拼命向总线发数据(一直发1),这样造成整个总线瘫痪。所以RS485一旦坏一个节点,这个总线网络都挂。而CAN总线有CAN控制器,可以对总线任何错误进行检测,如果自身错误超过128个,就自动闭锁。保护总线。如果检测到其他节点错误或者自身错误,都会向总线发送错误帧,来提示其他节点,这个数据是错误的。大家小心。这样CAN总线一旦有一个节点CPU程序跑飞了,它的控制器自动闭锁。保护总线。所以在安全性要求高的网路,CAN是很强的。

            CAN具有完善的通信协议,可由CAN控制器芯片及其接口芯片来实现, 从而大大降低了系统的开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。

    下表为RS485与CAN总线性能对比:

    4.2  工业以太网和CAN现场总线的网络协议规范比较

            CAN现场总线作为一种面向工业底层控制的通信网络,其局限性也是显而易见的。首先,它不能与Internet互连,不能实现远程信息共享。其次,它不易与上位控制机直接接口,现有的CAN接口卡与以太网网卡相比大都价格昂贵。还有, CAN现场总线无论是其通信距离还是通信速率都无法和以太网相比。

            工业以太网和CAN现场总线的网络协议规范都遵循ISO /OSI参考模型的基本层次结构。工业以太网采用IEEE802参考模型,相当于OSI模型的最低两层,即物理层和数据链路层,其中数据链路层包含介质访问控制子层(MAC)和逻辑链路控制子层(LLC) 。CAN现场总线的ISO /OSI参考模型也是分为两层,并与工业以太网的分层结构完全相同,但是二者在各层的物理实现及通信机理上却有很大的差别。工业以太网和CAN现场总线的各层在具体网络协议实现上的分析比较如下表所示。

     

    二、 通信协议的可靠性保证

            RS485不像工业以太网以及CAN现场总线,它只提供了物理接口,需要添加可靠性机制来保证数据的可靠性,通常使用的有奇偶校验、循环冗余检测(CRC)以及检验和方法(传输层使用的正是这种方式)。

            CRC常用于链路层,相比检验和方法CRC占用的CPU资源更大,在以太网中CRC是由适配器中专用的硬件实现,它能够快速执行更复杂的CRC操作。在以太网中传输层之所以加入检验和方法是因为怕可能数据包传到在某一链路中恰巧该链路不支持CRC,考虑到CPU的执行效率所以并没有在传输层加入CRC而是检验和方法。但现在一些基于串口的通信协议像Modbus-RTU之类大多数是采用CRC-16检验,所以具体使用哪种方式可以根据数据交互量以及CPU处理速率来决定。

            以上保证的只是链路层上的可靠性,在链路层之上应该添加容错机制,许多协议最常用的便是超时重传机制,因为数据在链路层之上基本不存在比特出错的情况,所以我们考虑的只有丢包情况,各种协议的重传机制大同小异。UDP使用rdt3.0协议是保证在比特出错和丢包的信道数据可靠,在比特不会出错的情况下rdt3.0协议也就是一个重传机制。

    展开全文
  • 以太网不是单一协议,而是不同标准的完整集合。这些标准来自 IEEE,它们的名字都以 802.3 开头。 以太网技术起源于施乐帕洛阿尔托研究中心的先锋技术项目。人们通常认为以太网发明于1973年,当年鲍勃.梅特卡夫(Bob ...
  • 一、轮询访问介质访问控制 (一)介质访问控制 信道划分介质访问控制(MAC Multiple Access Control )协议: ...轮询访问MAC协议/轮流协议/轮转访问MAC协议:既要不产生冲突,又要发送时占全部带宽。 ①、轮询
  • 2.移植LWIP-V1.3.1 TCP/IP协议栈,使用TCP通信模式,在上层另外加了一层用户协议封装。 3.设备采用串口通信来交互控制,波特率115200. 4.内部还加如HTTP,TFTP服务器模式可供选择使用。 该软件已经用在我们的产品中,...
  • 以太网通信及设计

    千次阅读 2021-04-09 13:22:48
    以太网(Ethernet),是当今现有局域网采用的最通用的通信协议标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。 优点:成本低、通信速率高、抗干扰性强 以太网分类 标准以太网:10Mbit/s 快速...
  • 以太网完整协议(一)

    万次阅读 多人点赞 2017-05-03 15:54:31
    以太网是目前最流行的一种局域网组网技术(其他常见局域网组网技术还有令牌环局域网、无线局域网、ATM局域网),以太网技术的正式标准是IEEE 802.3标准,它规定了在以太网中传输的数据帧结构,如下图所示。...
  • PC端可以与多块FPGA板子进行以太网通信,基于正点原子开发板的例程进行编写调试,要求:PC端发送1122,FPGA发回AABBCC,表示通信测试通过;接着PC端发送3344,FPGA发回数据。FPGA选用正点原子的开拓者,以太网RTL...
  • 嵌入式以太网通信Lwip

    千次阅读 2019-08-09 16:18:55
    以太网结构 以太网是指遵守 IEEE 802.3 标准...物理层一般通过一个PHY芯片实现,10BASE-T网络传输数据没有时钟信号,采用曼彻斯特编码网速最高达10Mbps,100BASE-T网络采用4B/5B编码网速最高达100Mbps。以太网具有...
  • 以太网协议 变得通俗易懂

    千次阅读 多人点赞 2017-02-14 18:55:39
    容易理解的以太网协议
  • 关键词:工业以太网 光纤环路 交换机 ARM随着以太网技术的迅速发展及其在商用领域的应用日渐广泛,越来越多的工业控制设备也逐渐使用以太网采用TCP/IP协议作为主要的通信标准。虽然应用于工业控制领域的...
  • 以太网(Ethernet)通信简单理解

    万次阅读 多人点赞 2018-07-24 14:13:58
    简单的讲,以太网就是以固定的14字节开头的,以数据包(帧)传输数据的网络,数据在局域网中传输时,采用的是广播型式,比如局域网上有3台电脑ABC,A要发数据给B,其实就是重发数据出去,C当然也是能收到的,只是C...
  • Microchip Technology(美国微芯...目前市场上大部分以太网控制器采用的封装均超过80引脚,而符合IEEE 802.3协议的ENC28J60只有28引脚,就能既提供相应的功能,又可以大大简化相关设计,并减小占板空间。此外,ENC28
  • 包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网采用的是CSMA/CD访问控制法,它们都符合IEEE802.3.IEEE802.3规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网是当前...
  • 常用工业以太网协议性能及应用

    千次阅读 2018-08-30 09:01:17
    随着工业4.0概念的不断深入,世界制造业正逐步从数字化领域转向...目前的工业网络组态都是基于现有的工业以太网技术而实现的,其主流的工业以太网协议主要有:Modbus ,EtherNet/IP ,EtherCAT ,SERCOS Ⅲ ,PROFINE...
  • uBus通信协议标准

    2014-09-29 19:33:12
    物理层未做限制,用户可根据实际应用采用串口、485、CAN\以太网等。并且用户可根据需 要定义各寄存器功能, 定制指令集, 满足工程控制的要求, 在指令集中添加密钥协商、 密钥 同步指令,选择加密算法对控制区及...
  • 通过FPGA实现以太网通信原理及理解

    千次阅读 2020-03-16 16:24:07
    0.0 OSI模型的简单理解 OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的...这里根据笔者的理解以及相关资料的查询,觉得这个OSI通信与笔者...
  • 单片机各种通信协议详解

    万次阅读 多人点赞 2019-04-12 16:23:21
    一、IIC通信协议 ** (1)概述 I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由 NXP(原 PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个...
  • 本文提出了基于FPGA的嵌入式以太网与Matlab通信系统的设计和研究,采用Xilinx公司的MicroBlaze嵌入式微处理器软核,利用它和相应外设IP核一起完成SOPC的设计并且完成与Simulink数据的传输,最后动态显示以太网传输的...
  • 产品简介 ...CHNetS7-FX采用工业级设计,导轨安装,带通讯线。不占用PLC编程口,上位机通过以太网对PLC数据监控的同时,触摸屏可以通过复用接口X2与PLC进行通讯。CHNetS7-FX支持工控领域内绝大多数SCA..
  • TCP-IP协议详解(2) 以太网与WiFi协议

    千次阅读 2018-09-14 14:07:47
    本文转自:https://blog.csdn.net/jjdiaries/article/details/48096295 在阅读“TCP-IP协议详解”系列文章之前,建议阅读以下两篇文章,以便对互联网协议有个快速的全局了解和把握! 互联网协议入门...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,984
精华内容 17,993
关键字:

以太网采用的通信协议