一种高速现场总线从站相互通信的实现方法

文档序号:7762677阅读:229来源:国知局
专利名称:一种高速现场总线从站相互通信的实现方法
技术领域
本发明属于现场总线技术领域,特别涉及一种高速现场总线从站相互通信的实现 方法和实现该方法的高速现场总线从站相互通信系统。
背景技术
高速现场总线是指安装在制造或过程区域的现场装置与控制室内的自动装置之 间的数字式、串行、多点通信的数据总线,是连接智能现场设备和自动化系统的全数字、双 向、多站的通信系统,主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备 间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。根据工业制造 设备的加工需求,通常将高速现场总线技术和数据采集技术结合使用。而在现有技术中,很多工业以太网都只支持主站与从站之间通信的技术,即仅是 一个设备(主站)能进行初始化传输,其他从站点只能作为回应,从站不能主动发送自己的 数据,这是因为在现有技术中,从站与从站的站点之间相互通信可能会因为协议的数据传 输引起冲突而导致数据丢失,即在若现场总线的某一数据通道如果同时有大于两对的从站 要进行数据交换的时候,如果数据发送的数据长度过长,各从站之间的硬件物理传输延迟 时,会导致数据阻塞,并且阻塞时间与数据长度成正比。因此,这大大限制了各从站之间的 数据交换速度,使得现场总线的数据传输速度受到很大的影响。

发明内容
本发明的主要目的在于克服上述现有技术的缺点与不足,提供一种可提高现场总 线的数据传输速度的高速现场总线从站相互通信的实现方法。本发明的另一目的在于提供实现上述方法的高速现场总线从站相互通信系统。为达上述目的,本发明采用如下的技术方案一种高速现场总线从站相互通信的 实现方法,包括如下步骤(1)从站的缓冲区数据协调器检测其在目标方向上的通信数据通道是否为繁忙状 态,若是,则从站的以太网数据接收模块接收通信数据通道上发送过来的数据,且将数据发 送至从站的缓冲区处理器,由从站的缓冲区处理器对数据进行处理,完成本从站对上一个 站点传送过来的数据的接收;否则,进行下一步骤;(2)从站的中央处理器判断本从站是否要向目标从站发送自己的数据,若是,则进 行下一步骤,否则本从站进入等待处理下一个数据信号的等待状态;(3)本从站的中央处理器把要发送的数据进行分块处理,分成若干个数据块,且每 个数据块都加上顺序标签,经缓冲区数据协调器向下一个从站进行发送,所述下一个从站 按照步骤(1)对接收到的数据进行处理;(4)判断本从站的数据是否已发送完成,若是,则完成本从站向下一从站的数据发 送,进入等待处理下一个数据信号的等待状态,否则继续发送其数据,直至所述数据发送完 成。
所述步骤(3)中的分块处理由本从站的中央处理器进行处理。所述步骤(3)中的分块处理具体为本从站的中央处理器将所述要发送的数据拆 成若干个加有顺序标签的64个字节的数据块后,再将各数据块经缓冲区数据协调器向下 一个从站进行发送。所述步骤(1)中从站的缓冲区处理器对数据进行处理的步骤具体包括(1-1)缓冲区处理器判断该数据的目的地址是否为本从站的地址,若是,则本从站 为目标从站,缓冲区处理器将该数据发送至缓冲区数据协调器,缓冲区数据协调器通知本 站的中央处理器读取该数据,直至接收完成,并通过本站的中央处理器将数据进行重组处 理,完成该从站与发出该数据的从站之间的数据通信;否则进行下一步骤;(1-2)缓冲区处理器判断该数据的源地址是否为主站,若是,则该数据为主站发送 的数据,本从站的缓冲区处理器则将该数据按接收缓冲区大小进行分块处理,并通过各接 收缓冲区与缓冲区数据协调器对数据进行乒乓读写操作,将该数据转发到下一个从站,进 行步骤(1-4);否则进行下一步骤;(1-3)本从站的缓冲区处理器将数据发送至本从站的接收缓冲区进行缓冲处理, 待本从站在目标方向上的通信数据通道不繁忙后,再通知缓冲区数据协调器把接收缓冲区 的数据读取出来并发送至下一个从站;(1-4)所述下一个从站按照步骤(1-1) (1-3)对通信数据通道上发送过来的数 据进行处理。所述步骤(1-1)中的重组处理具体为本站的以太网数据接收模块在接受到数据 的结束标志时,则中央处理器将各数据块按照顺序标签重新组合。所述步骤(1-2)中的乒乓读写操作具体为首先,本从站的以太网数据接收模块 接收上一个从站发送过来的数据,并发送至缓冲区处理器,通过缓冲区处理器将该数据按 缓冲区大小进行分块处理;缓冲区处理器将分块后的数据分别发送至接收缓冲区中的接收 缓冲区一或接收缓冲区二 ;当接收缓冲区一接收缓冲区处理器发送的一个数据块时,则接 收缓冲区一与缓冲区数据协调器之间无数据传输,同时,接收缓冲区二向缓冲区数据协调 器发送一个数据块;当接收缓冲区二接收缓冲区处理器发送的一个数据块时,则接收缓冲 区二与缓冲区数据协调器之间无数据传输,同时,接收缓冲区一向缓冲区数据协调器发送 一个数据块。所述步骤(1-3)中的缓冲处理的具体步骤如下(1-3-1)本从站的以太网数据接收模块接收上一个从站发送过来的数据,并将数 据发送至缓冲区处理器进行处理;(1-3-2)本从站的缓冲区处理器将处理后的数据分别发送至接收缓冲区中的接收 缓冲区一或接收缓冲区二进行暂存,先发送给接收缓冲区一进行暂存,待接收缓冲区一满 载后再发至接收缓冲区二进行暂存;(1-3-3)本从站的缓冲区数据协调器检测本从站在目标方向上的通信数据通道是 否繁忙,若是,则缓冲区一或接收缓冲区二中的数据进入等待状态,否则缓冲数据处理模块 中的接收缓冲区一、接收缓冲区二分别将数据发送至缓冲区数据协调器;(1-3-4)缓冲区数据协调器将数据发送至下一个从站,进行步骤(1-4)。所述高速现场总线包括依次首尾相连组建物理上的环形闭合回路的主站和若干
5个从站,每个从站的以太网数据接收模块和缓冲区处理器的个数分别与高速现场总线的通 信数据通道的个数相同,每个以太网数据接收模块和每个缓冲区处理器分别对应一个通信 数据通道。所述高速现场总线的通信数据通道为双环通信数据通道,每个从站的以太网数据 接收模块和缓冲区处理器的个数也分别为两个,每个以太网数据接收模块和每个缓冲区处 理器分别对应一个通信数据通道。所述步骤(1)中,若本从站检测到其在目标方向上的通信数据通道上有大于10个 时钟的空闲间隔,则其数据通道为空闲状态,否则为繁忙状态。所述数据为普通数据报文,其内容包括依次相接的目的地址、源地址、控制字、帧 长度、数据域和循环冗余校验码,其中目的地址为ι字节,源地址为1字节,控制字为2字 节,帧长度为2字节,数据域为0 1500字节,循环冗余校验码为4字节。所述步骤(1)中本从站的通信数据通道空闲状态的检测在主站完成周期数据报 文和普通数据报文的发送之后进行。在从站现场可编程门阵列(FPGA)上面构建接收缓冲区,该接收缓冲区有两个作 用,一是解决从站接收大量的突发数据的时候的数据缓冲瓶颈,每个通信数据通道有两个 接收缓冲区,包括接收缓冲区一和接收缓冲区二,一方面因为接收数据写到缓冲区的同时 不能读写以免读写冲突,另一方面在FPGA上不能构建太大的接收缓冲区,接收量比较大的 突发数据就可以通过缓冲区处理器和缓冲区数据协调器来实现数据的乒乓操作,即把大的 数据分块处理,当接收缓冲区一接收缓冲区处理器发送的一个数据块时,则接收缓冲区一 与缓冲区数据协调器之间无数据传输,同时,接收缓冲区二向缓冲区数据协调器发送一个 数据块;当接收缓冲区二接收缓冲区处理器发送的一个数据块时,则接收缓冲区二与缓冲 区数据协调器之间无数据传输,同时,接收缓冲区一向缓冲区数据协调器发送一个数据块。 接收缓冲区的另一个作用是当本从站的数据在发送的时候,同时接收到另一从站需要转发 数据,为避免冲突把接收另一从站的数据暂时放到缓冲区里面缓存起来,在发完本从站数 据的时候,再把接收缓冲区的转发数据发送出去。在本从站没有数据发送条件下,从站可以 无需通过接收缓冲区直接转发接收的数据。从站与从站之间的相互通信是通过64个字节固定长度的短小的普通数据报文进 行数据交换的。若从站要发送给的目标从站的逻辑地址比本从站逻辑地址大,在一个环通道逆时 针方向上传送数据,若从站要发送给的目标从站的逻辑地址比本从站逻辑地址小,则在另 外一个环通道顺时针方向上传送数据。实现上述方法的高速现场总线从站相互通信系统,包括设置在每一个从站现场可 编程门阵列中的依次连接的以太网数据接收模块、缓冲区处理器、接收缓冲区、缓冲区数据 协调器和中央处理器,所述接收缓冲区包括接收缓冲区一和接收缓冲区二,所述接收缓冲 区一和接收缓冲区二均与缓冲区处理器、缓冲区数据协调器连接,所述中央处理器与以太 网数据接收模块连接,每一个从站的以太网数据接收模块与上一个从站的缓冲区数据协调 器通信连接;每个从站的以太网数据接收模块和缓冲区处理器的个数分别与高速现场总线 的通信数据通道的个数相同,每个以太网数据接收模块和每个缓冲区处理器分别对应一个 通信数据通道。
与现有技术相比,本发明具有如下优点和有益效果1、本发明可支持从站直接与从站之间的相互通信,可大大提高从站之间的数据交 换速度,且有利于数据采集和设备监控。2、本发明除了主站能进行初始化传输外,其他从站也可主动发送自己的数据,使 得通信更加实时及交换速率更快。3、本发明通过两个接收缓冲区,两个接收缓冲区能实现乒乓操作和并行处理双数 据缓冲区的功能,通过两个接收缓冲区处理数据冲突问题,并减少数据阻塞的几率和缩短 数据的阻塞时间,大大提高了数据通信的效率。


图1是本发明方法的流程图。图2是实现图1所示方法的高速现场总线从站相互通信系统结构示意图。图3是实现图1所示方法的高速现场总线数据通道的结构示意图。图4是由图1所示方法实现的一个通信周期示意图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。实施例如图1所示,本高速现场总线从站相互通信的实现方法包括如下步骤(1)从站的缓冲区数据协调器检测其在目标方向上的通信数据通道是否为繁忙状 态,若是,则从站的以太网数据接收模块接收通信数据通道上发送过来的数据,且将数据发 送至从站的缓冲区处理器,由从站的缓冲区处理器对数据进行处理,完成本从站对上一个 站点传送过来的数据的接收;否则,进行下一步骤;(2)从站的中央处理器判断本从站是否要向目标从站发送自己的数据,若是,则进 行下一步骤,否则本从站进入等待处理下一个数据信号的等待状态;(3)本从站的中央处理器把要发送的数据进行分块处理,分成若干个数据块,且每 个数据块都加上顺序标签,经缓冲区数据协调器向下一个从站进行发送,所述下一个从站 按照步骤(1)对接收到的数据进行处理;(4)判断本从站的数据是否已发送完成,若是,则完成本从站向下一从站的数据发 送,进入等待处理下一个数据信号的等待状态,否则继续发送其数据,直至所述数据发送完 成。所述步骤(3)中的分块处理由本从站的中央处理器进行处理。所述步骤(3)中的分块处理具体为本从站的中央处理器将所述要发送的数据拆 成若干个加有顺序标签的64个字节的数据块后,再将各数据块经缓冲区数据协调器向下 一个从站进行发送。所述步骤(1)中从站的缓冲区处理器对数据进行处理的步骤具体包括(1-1)缓冲区处理器判断该数据的目的地址是否为本从站的地址,若是,则本从站 为目标从站,缓冲区处理器将该数据发送至缓冲区数据协调器,缓冲区数据协调器通知本站的中央处理器读取该数据,直至接收完成,并通过本站的中央处理器将数据进行重组处 理,完成该从站与发出该数据的从站之间的数据通信;否则进行下一步骤;(1-2)缓冲区处理器判断该数据的源地址是否为主站,若是,则该数据为主站发送 的数据,本从站的缓冲区处理器则将该数据按接收缓冲区大小进行分块处理,并通过各接 收缓冲区与缓冲区数据协调器对数据进行乒乓读写操作,将该数据转发到下一个从站,进 行步骤(1-4);否则进行下一步骤;(1-3)本从站的缓冲区处理器将数据发送至本从站的接收缓冲区进行缓冲处理, 待本从站在目标方向上的通信数据通道不繁忙后,再通知缓冲区数据协调器把接收缓冲区 的数据读取出来并发送至下一个从站;(1-4)所述下一个从站按照步骤(1-1) (1-3)对通信数据通道上发送过来的数 据进行处理。所述步骤(1-1)中的重组处理具体为本站的以太网数据接收模块在接受到数据 的结束标志时,则中央处理器将各数据块按照顺序标签重新组合。所述步骤(1-2)中的乒乓读写操作具体为首先,本从站的以太网数据接收模块 接收上一个从站发送过来的数据,并发送至缓冲区处理器,通过缓冲区处理器将该数据按 缓冲区大小进行分块处理;缓冲区处理器将分块后的数据分别发送至接收缓冲区中的接收 缓冲区一或接收缓冲区二;当接收缓冲区一接收缓冲区处理器发送的一个数据块时,则接 收缓冲区一与缓冲区数据协调器之间无数据传输,同时,接收缓冲区二向缓冲区数据协调 器发送一个数据块;当接收缓冲区二接收缓冲区处理器发送的一个数据块时,则接收缓冲 区二与缓冲区数据协调器之间无数据传输,同时,接收缓冲区一向缓冲区数据协调器发送 一个数据块。如图2所示,所述步骤(1-3)中的缓冲处理的具体步骤如下(1-3-1)本从站的以太网数据接收模块接收上一个从站发送过来的数据,并将数 据发送至缓冲区处理器进行处理;(1-3-2)本从站的缓冲区处理器将处理后的数据分别发送至接收缓冲区中的接收 缓冲区一或接收缓冲区二进行暂存,先发送给接收缓冲区一进行暂存,待接收缓冲区一满 载后再发至接收缓冲区二进行暂存;(1-3-3)本从站的缓冲区数据协调器检测本从站在目标方向上的通信数据通道是 否繁忙,若是,则缓冲区一或接收缓冲区二中的数据进入等待状态,否则缓冲数据处理模块 中的接收缓冲区一、接收缓冲区二分别将数据发送至缓冲区数据协调器;(1-3-4)缓冲区数据协调器将数据发送至下一个从站,进行步骤(1-4)。如图3所示,所述高速现场总线包括依次首尾相连组建物理上的环形闭合回路的 主站和八个从站,分别为从站1、从站2、从站3、从站4、从站5、从站6、从站7和从站8,每个 从站的以太网数据接收模块和缓冲区处理器的个数分别与高速现场总线的通信数据通道 的个数相同,每个以太网数据接收模块和每个缓冲区处理器分别对应一个通信数据通道。所述高速现场总线的通信数据通道为双环通信数据通道,分别为数据通道一和数 据通道二,每个从站的以太网数据接收模块和缓冲区处理器的个数也分别为两个,每个以 太网数据接收模块和每个缓冲区处理器分别对应一个通信数据通道。所述步骤(1)中,若本从站检测到其在目标方向上的通信数据通道上有大于10个时钟的空闲间隔,则其数据通道为空闲状态,否则为繁忙状态。所述数据为普通数据报文,其内容包括依次相接的目的地址、源地址、控制字、帧 长度、数据域和循环冗余校验码,其中目的地址为ι字节,源地址为1字节,控制字为2字 节,帧长度为2字节,数据域为0 1500字节,循环冗余校验码为4字节。所述步骤(1)中本从站的通信数据通道空闲状态的检测在主站完成周期数据报 文和普通数据报文的发送之后进行。在步骤(2)中若本从站的逻辑地址比目标从站的逻辑地址小,则在逆时针的数据 通道一方向上传送数据。如站点1给站点8发送数据,则站点1往站点2方向发送数据, 经过站点3、站点4...到站点8 ;若从站的逻辑地址比目标从站的逻辑地址大,则在顺时针 的数据通道二方向上传送数据。如站点8给站点1发送数据,则站点8往站点7方向发送 数据,经过站点6、站点5...到站点1。如图4所示,在高速现场总线的一个通信周期中,一个通信周期时间包括周期性 数据报文的传输时间和非周期性数据的通信时间,而周期性数据报文的传输时间中包括有 主站数据报文完成传输时间;周期性数据报文的传输时间为一个周期性数据报文的传输时 间,此部分数据的通信有严格的实时性;非周期性数据的通信时间的传送数据为普通数据 报文(General Data Telegram,简称⑶Τ),包括主站和从站的普通数据报文、从站与从站之 间的普通数据报文。普通数据报文由主站或从站的处理器控制其发送,没有严格的实时性 要求,主要是用于主站与从站或者从站与从站之间的参数调整、数据采集等实时性要求不 高的数据传输,从站与从站之间的数据通信正是用普通数据报文进行的,并且数据短小。各站点之间通信的数据的种类包括主站同步报文(Master Sync Telegram,简称MST),用于所述步骤(1-4)中同步主 站和各个从站以及同步各从站之间的传输延时;每个周期的开始,主站以广播形式发送主 站同步报文主站同步帧,主要用于同步主站和各个从站,同步各从站要考虑路径的传输延 时;主站数据报文(Master Data Telegram,简称MDT),用于在每个通信周期中,各从 站从由主站以广播形式发送的数据提取属于自己的数据,且将相关信息反馈给主站;每个 通信周期,主站以广播形式发送一次这种报文,各从站从主站数据报文数据帧提取属于自 己的数据(位置指令值、速度指令值等),各从站将要反馈给主站的数据添加到主站数据报 文数据帧中(实际位置值、实际速度值等);普通数据报文(General Data Telegram,简称⑶Τ),用于在任意站点之间互传非 周期数据,包括主站对从站的读写、主站对从站的设置以及从站与从站之间高速通信;主轴数据报文(Principal-axis Data Telegram,简称PDT),用于主轴站点向主站 站点传输主轴数据。假设,每个站点之间的传输时间为1个时间单位,每帧数据传输时间为100个时间 单位,主站的周期数据报文和普通数据报文之完成后为0时刻。从站在主站的周期数据报 文和普通数据报文之完成后,检测到10个时间单位没有任何总线传输操作时认为总线为 空闲状态。那么10时亥lj,从站1检测到总线空闲;11时刻,从站2检测到总线空闲;
12时亥IJ,从站3检测到总线空闲;......18时刻,从站8检测到总线空闲。若在15时刻,从站2给从站7发送普通数据报文,同时从站5给从站1发送普通 数据报文。因为环形连接双数据通道,高速现场总线为全双工的通信模式,因此无数据的冲 突,从站7、从站1正常接收数据。由此得出这样的结论在高速现场总线上若从站检测到 空闲,并且两个通道都只有两个站点进行相互通讯则无数据冲突。如果两个通道内任何一个有超过两个从站站点同时在进行数据传送,有可能是数 据通道一或者数据通道二有超过两个站点在进行数据通信。但是由于两个通道是相互独立 互不干扰,所以两个通道的数据冲突问题的解决方法一样。这里只是对数据通道一说明。若在15时刻,数据通道一,从站1给从站8发送数据通道一,同时从站2给从站7 发送数据通道一,从站3给从站6发送数据通道一,从站4给从站5发送数据通道一。那 么由于从站2的发送一帧数据通道一的时间为100个时间单位,在16时刻接收到站2收 到站点1的数据通道一的同时自身站点也要发送数据通道一。因为一个通道不能同时传 送两个数据,这时站点2在FPGA上构建的缓冲区模块会把站点1的数据接收下来,记为
(15)。对于从站3、从站4也一样,分别在缓冲区模块保存从站2数据(15),从 站3数据(15)。在115时刻,从站4发送给从站5的数据通道一发送完毕。在125时刻,从站4接着发送缓冲区模块的数据(15),从站3发送缓冲区模 块的数据GDP_2(15),从站2发送缓冲区模块的数据GDP_1(15);同时从站1可以无需通过 缓冲区转发数据或者接收数据。那么在225时刻,从站4的缓冲区里面数据就是GDP_2(15), 从站3的缓冲区里面数据就是(15)。所述步骤(1)中,在主站完成周期数据报文和普通数据报文的发送之后,从站检 测其在目标方向上的通信数据通道是否为繁忙状态,若从站检测到其在目标方向上的通信 数据通道上有大于10个时钟的空闲间隔,则其数据通道为空闲状态,否则为繁忙状态。在从站现场可编程门阵列(FPGA)上面构建接收缓冲区,该接收缓冲区有两个作 用,一是解决从站接收大量的突发数据的时候的数据缓冲瓶颈,每个通信数据通道有两个 接收缓冲区,包括接收缓冲区一和接收缓冲区二,一方面因为接收数据写到缓冲区的同时 不能读写以免读写冲突,另一方面在FPGA上不能构建太大的接收缓冲区,接收量比较大的 突发数据就可以通过缓冲区处理器和缓冲区数据协调器来实现数据的乒乓操作,即把大的 数据分块处理,当接收缓冲区一接收缓冲区处理器发送的一个数据块时,则接收缓冲区一 与缓冲区数据协调器之间无数据传输,同时,接收缓冲区二向缓冲区数据协调器发送一个 数据块;当接收缓冲区二接收缓冲区处理器发送的一个数据块时,则接收缓冲区二与缓冲 区数据协调器之间无数据传输,同时,接收缓冲区一向缓冲区数据协调器发送一个数据块。 接收缓冲区的另一个作用是当本从站的数据在发送的时候,同时接收到另一从站需要转发 数据,为避免冲突把接收另一从站的数据暂时放到缓冲区里面缓存起来,在发完本从站数 据的时候,再把接收缓冲区的转发数据发送出去。在本从站没有数据发送条件下,从站可以 无需通过接收缓冲区直接转发接收的数据。从站与从站之间的相互通信是通过64个字节固定长度的短小的普通数据报文进 行数据交换的。
若从站要发送给的 目标从站的逻辑地址比本从站逻辑地址大,在一个环通道逆时 针方向上传送数据,若从站要发送给的目标从站的逻辑地址比本从站逻辑地址小,则在另 外一个环通道顺时针方向上传送数据。如图2所示,实现上述方法的高速现场总线从站相互通信系统,包括设置在每一 个从站现场可编程门阵列中的依次连接的以太网数据接收模块、缓冲区处理器、接收缓冲 区、缓冲区数据协调器和中央处理器,所述接收缓冲区包括接收缓冲区一和接收缓冲区二, 所述接收缓冲区一和接收缓冲区二均与缓冲区处理器、缓冲区数据协调器连接,所述中央 处理器与以太网数据接收模块连接,每一个从站的以太网数据接收模块与上一个从站的缓 冲区数据协调器通信连接;每个从站的以太网数据接收模块和缓冲区处理器的个数分别与 高速现场总线的通信数据通道的个数相同,每个以太网数据接收模块和每个缓冲区处理器 分别对应一个通信数据通道。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
一种高速现场总线从站相互通信的实现方法,其特征在于,包括如下步骤(1)从站的缓冲区数据协调器检测其在目标方向上的通信数据通道是否为繁忙状态,若是,则从站的以太网数据接收模块接收通信数据通道上发送过来的数据,且将数据发送至从站的缓冲区处理器,由从站的缓冲区处理器对数据进行处理,完成本从站对上一个站点传送过来的数据的接收;否则,进行下一步骤;(2)从站的中央处理器判断本从站是否要向目标从站发送自己的数据,若是,则进行下一步骤,否则本从站进入等待处理下一个数据信号的等待状态;(3)本从站的中央处理器把要发送的数据进行分块处理,分成若干个数据块,且每个数据块都加上顺序标签,经缓冲区数据协调器向下一个从站进行发送,所述下一个从站按照步骤(1)对接收到的数据进行处理;(4)判断本从站的数据是否已发送完成,若是,则完成本从站向下一从站的数据发送,进入等待处理下一个数据信号的等待状态,否则继续发送其数据,直至所述数据发送完成。
2.根据权利要求1所述的高速现场总线从站相互通信的实现方法,其特征在于,所述 步骤(3)中的分块处理具体为本从站的中央处理器将所述要发送的数据拆成若干个加有 顺序标签的64个字节的数据块后,再将各数据块经缓冲区数据协调器向下一个从站进行 发送。
3.根据权利要求1所述的高速现场总线从站相互通信的实现方法,其特征在于,所述 步骤(1)中从站的缓冲区处理器对数据进行处理的步骤具体包括(1-1)缓冲区处理器判断该数据的目的地址是否为本从站的地址,若是,则本从站为目 标从站,缓冲区处理器将该数据发送至缓冲区数据协调器,缓冲区数据协调器通知本站的 中央处理器读取该数据,直至接收完成,并通过本站的中央处理器将数据进行重组处理,完 成该从站与发出该数据的从站之间的数据通信;否则进行下一步骤;(1-2)缓冲区处理器判断该数据的源地址是否为主站,若是,则该数据为主站发送的数 据,本从站的缓冲区处理器则将该数据按接收缓冲区大小进行分块处理,并通过各接收缓 冲区与缓冲区数据协调器对数据进行乒乓读写操作,将该数据转发到下一个从站,进行步 骤(1-4);否则进行下一步骤;(1-3)本从站的缓冲区处理器将数据发送至本从站的接收缓冲区进行缓冲处理,待本 从站在目标方向上的通信数据通道不繁忙后,再通知缓冲区数据协调器把接收缓冲区的数 据读取出来并发送至下一个从站;(1-4)所述下一个从站按照步骤(1-1) (1-3)对通信数据通道上发送过来的数据进 行处理。
4.根据权利要求3所述的高速现场总线从站相互通信的实现方法,其特征在于,所述 步骤(1-1)中的重组处理具体为本站的以太网数据接收模块在接受到数据的结束标志 时,则中央处理器将各数据块按照顺序标签重新组合。
5.根据权利要求3所述的高速现场总线从站相互通信的实现方法,其特征在于,所述 步骤(1-2)中的乒乓读写操作具体为首先,本从站的以太网数据接收模块接收上一个从 站发送过来的数据,并发送至缓冲区处理器,通过缓冲区处理器将该数据按缓冲区大小进 行分块处理;缓冲区处理器将分块后的数据分别发送至接收缓冲区中的接收缓冲区一或接 收缓冲区二;当接收缓冲区一接收缓冲区处理器发送的一个数据块时,则接收缓冲区一与缓冲区数据协调器之间无数据传输,同时,接收缓冲区二向缓冲区数据协调器发送一个数 据块;当接收缓冲区二接收缓冲区处理器发送的一个数据块时,则接收缓冲区二与缓冲区 数据协调器之间无数据传输,同时,接收缓冲区一向缓冲区数据协调器发送一个数据块。
6.根据权利要求3所述的高速现场总线从站相互通信的实现方法,其特征在于,所述 步骤(1-3)中的缓冲处理的具体步骤如下(1-3-1)本从站的以太网数据接收模块接收上一个从站发送过来的数据,并将数据发 送至缓冲区处理器进行处理;(1-3-2)本从站的缓冲区处理器将处理后的数据分别发送至接收缓冲区中的接收缓冲 区一或接收缓冲区二进行暂存,先发送给接收缓冲区一进行暂存,待接收缓冲区一满载后 再发至接收缓冲区二进行暂存;(1-3-3)本从站的缓冲区数据协调器检测本从站在目标方向上的通信数据通道是否繁 忙,若是,则缓冲区一或接收缓冲区二中的数据进入等待状态,否则缓冲数据处理模块中的 接收缓冲区一、接收缓冲区二分别将数据发送至缓冲区数据协调器;(1-3-4)缓冲区数据协调器将数据发送至下一个从站,进行步骤(1-4)。
7.根据权利要求2所述的高速现场总线从站相互通信的实现方法,其特征在于所述 高速现场总线包括依次首尾相连组建物理上的环形闭合回路的主站和若干个从站,每个从 站的以太网数据接收模块和缓冲区处理器的个数分别与高速现场总线的通信数据通道的 个数相同,每个以太网数据接收模块和每个缓冲区处理器分别对应一个通信数据通道。
8.根据权利要求7所述的高速现场总线从站相互通信的实现方法,其特征在于所述 高速现场总线的通信数据通道为双环通信数据通道,每个从站的以太网数据接收模块和缓 冲区处理器的个数也分别为两个,每个以太网数据接收模块和每个缓冲区处理器分别对应 一个通信数据通道。
9.根据权利要求1所述的高速现场总线从站相互通信的实现方法,其特征在于所述 步骤(1)中,若本从站检测到其在目标方向上的通信数据通道上有大于10个时钟的空闲间 隔,则其数据通道为空闲状态,否则为繁忙状态。
10.实现权利要求1 9所述方法的高速现场总线从站相互通信系统,其特征在于包 括设置在每一个从站现场可编程门阵列中的依次连接的以太网数据接收模块、缓冲区处理 器、接收缓冲区、缓冲区数据协调器和中央处理器,所述接收缓冲区包括接收缓冲区一和接 收缓冲区二,所述接收缓冲区一和接收缓冲区二均与缓冲区处理器、缓冲区数据协调器连 接,所述中央处理器与以太网数据接收模块连接,每一个从站的以太网数据接收模块与上 一个从站的缓冲区数据协调器通信连接;每个从站的以太网数据接收模块和缓冲区处理器 的个数分别与高速现场总线的通信数据通道的个数相同,每个以太网数据接收模块和每个 缓冲区处理器分别对应一个通信数据通道。
全文摘要
本发明提供了一种高速现场总线从站相互通信的实现方法,包括步骤(1)从站检测其在目标方向上的通信数据通道是否为繁忙状态,若是,则接收通信数据通道上发送过来的数据,并对数据进行处理;否则,进行下一步骤;(2)判断本从站是否要发送自己的数据,若是,则进行下一步骤,否则本从站进入等待状态;(3)本从站把要发送的数据进行分块处理,向下一个从站进行发送;(4)判断本从站的数据是否已发送完成,若是,进入等待状态,否则继续发送其数据,直至所述数据发送完成。本发明还提供了实现上述方法的高速现场总线从站相互通信系统。本发明可支持从站直接与从站之间的相互通信,可大大提高从站之间的数据交换速度。
文档编号H04L12/40GK101945031SQ201010513810
公开日2011年1月12日 申请日期2010年10月21日 优先权日2010年10月21日
发明者何英武, 张建军, 莫元劲, 黄水永 申请人:广州数控设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1