CN100521637C - 基于光纤的高速串行工业实时通信总线系统及其控制方法 - Google Patents
基于光纤的高速串行工业实时通信总线系统及其控制方法 Download PDFInfo
- Publication number
- CN100521637C CN100521637C CNB2007100274270A CN200710027427A CN100521637C CN 100521637 C CN100521637 C CN 100521637C CN B2007100274270 A CNB2007100274270 A CN B2007100274270A CN 200710027427 A CN200710027427 A CN 200710027427A CN 100521637 C CN100521637 C CN 100521637C
- Authority
- CN
- China
- Prior art keywords
- module
- main website
- slave station
- data
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于光纤的高速串行工业实时通信总线系统及其控制方法,该系统包括依次连接的主站、互连的光纤收发模块、多个从站与数字伺服装置连接;所述主站包括主站处理器、主站ISA总线接口模块及主站数据处理模块,所述主站处理器与主站ISA总线接口模块连接,所述主站ISA总线接口模块与主站数据处理模块连接,所述主站数据处理模块与光纤收发模块连接;从站包括从站处理器总线接口模块及从站数据处理模块,所述从站数据处理模块通过从站处理器总线接口模块与数字伺服装置连接,所述从站数据处理模块与光纤收发模块连接。本发明通信周期短,数据传输率高,能在极短的时间内完成精差补,实现位置环控制,满足高速高精度加工的需求。
Description
技术领域
本发明涉及高实时、高可靠性要求的底层设备间的数据通信,尤其涉及基于光纤的高速串行工业实时通信总线系统及其控制方法。
背景技术
数字伺服装置的出现是数控技术发展史上的一个重要的里程碑。采用数字伺服装置,使所有指令值和实际值能在一个微处理器内完成处理,不但能实现传统的扭矩环和速度环控制,而且能在极短的时间内完成精差补,实现位置环控制。随着数字伺服装置的发展,如何实现控制单元与数字伺服装置之间的数据通讯成为一个关键问题,即必须为控制单元和数字伺服装置配备合适的数字接口,用以简化控制单元与伺服装置之间的连线;简化控制硬件,并可实现远距离控制。
现有基于模拟接口的传统控制系统,一个模拟接口只能连接一个驱动器,当被控轴数增加时,硬件的需求会引起设计和成本的问题,并且由此引起的连线的增加会使系统更加复杂化。现有技术的另一个限制是它所能处理的信息量有限,数据传送率和实时性不能满足高速高精度加工的需求;并且,基于传统技术的系统,连线的复杂化还会导致系统对噪声信号的敏感,降低系统的可靠性,难于实现分布式控制。现有的一些通信协议,如:CAN总线,Profibus等,由于通信效率,速率及通信实时性,成本等方面的原因,并不适合于开放型的高实时性,高可靠性底层设备间的数据通信。
发明内容
本发明的目的在于克服现有技术的缺点,提供基于光纤的高速串行工业实时通信总线系统及其控制方法,本发明硬件连线简便、设计成本低,通信速率高、实时性和系统抗干扰能力强。
本发明的目的通过下述技术方案实现:基于光纤的高速串行工业实时通信总线系统,包括主站、多个从站、互连的光纤收发模块及数字伺服装置,所述主站依次通过与主站相连的光纤收发模块、与从站相连的光纤收发模块、多个从站与数字伺服装置连接;所述主站与从站之间、从站与从站之间通过互连的光纤收发模块构成环形网络;所述主站包括主站处理器、主站ISA总线接口模块及主站数据处理模块,所述主站处理器与主站ISA总线接口模块连接,所述主站ISA总线接口模块与主站数据处理模块连接,所述主站数据处理模块和与主站相连的光纤收发模块连接;各从站包括从站处理器总线接口模块及从站数据处理模块,所述从站数据处理模块通过从站处理器总线接口模块与数字伺服装置连接,所述从站数据处理模块和与从站相连的光纤收发模块连接。
所述主站数据处理模块包括输出暂存RAM模块、时间计数器模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、数据打包模块、环路同步模块、环路测试模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块与主站ISA总线接口模块互连,所述控制寄存器模块的输出端分别与数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输入端连接,所述数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输出端分别连接4B/5B编码模块的输入端,所述中断寄存器模块的输入端分别与校验/诊断模块、环路测试模块及环路同步模块的输出端连接,所述中断寄存器模块和超时/出错重发模块互连,所述中断寄存器模块的输出端与主站ISA总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块、控制寄存器模块的输入端连接,所述4B/5B编码模块的输出端通过CRC编码模块与并/串转换模块的输入端连接,所述串/并转换模块的输出端依次通过4B/5B解码模块、校验/诊断模块、数据包解析模块及输入暂存RAM模块与主站ISA总线接口模块的输入端连接,所述主站ISA总线接口模块的输出端与输出暂存RAM模块的输入端连接。
所述从站数据处理模块包括输出暂存RAM模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、时间计数器模块、数据打包模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、总线数据发送权切换模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块和输出暂存RAM模块的输出端依次通过数据打包模块与4B/5B编码模块的输入端连接,所述控制寄存器模块的输出端通过超时/出错重发模块与4B/5B编码模块输入端连接,所述4B/5B编码模块的输出端依次通过CRC编码模块及总线数据发送权切换模块与并/串转换模块的输入端连接,所述中断寄存器模块与超时/出错重发模块互连,所述串/并转换模块的输出端分别与4B/5B解码模块及总线数据发送权切换模块的输入端连接,所述4B/5B解码模块的输出端依次通过校验/诊断模块、数据包解析模块及输入暂存RAM模块与从站处理器总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块和控制寄存器模块的输入端连接,所述中断寄存器模块的输入端分别与校验/诊断模块及控制寄存器模块的输出端连接,所述控制寄存器模块与从站处理器总线接口模块互连,所述中断寄存器模块的输出端与从站处理器总线接口模块的输入端连接,所述从站处理器总线接口模块的输出端与输出暂存RAM模块的输入端连接。
所述主站数据处理模块或从站数据处理模块与光纤收发模块之间用低电压晶体管至晶体管逻辑电平—低电压正射极耦合逻辑电平转换电路连接。
所述的光纤收发模块是接口采用低电压正射极耦合逻辑电平的光纤收发一体化模块,所述的主站处理器是基于IntelX86架构的PC104处理器,所述的主站数据处理模块或从站数据处理模块是现场可编程门阵列芯片。
基于光纤的高速串行工业实时通信总线系统的控制方法,其特征在于,包括以下步骤:
(1)开始时,系统上电,主站数据处理模块和从站数据处理模块内部所有协议模块均初始化;
(2)初始化后,主站处理器发出相关指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)主站数据处理模块中的环路测试模块首先测试整个链路,测试整个环路是否连通,若环路测试失败,则主站数据处理模块产生错误中断,并返回到步骤(2),若环路测试成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块的环路同步模块向环路广播同步信号,各个从站同时收到同步信号,同步信号在环路上传输一周,最终若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步工作阶段;若主站不能收到自身发出的同步信号,表示同步失败,则主站数据处理模块向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)主站和各个从站收到同步信号时,一个数据传输周期开始,主站数据处理模块和各个从站数据处理模块内的时间计数器模块开始计数,在通信周期内,各个站根据自己的地址和当前计数值,确定哪个时间槽属于该站点,当属于自己的时间槽到来时,该站点便拥有总线的数据发送权,向总线发送数据;数据传输周期开始后,主站在属于自己的时间槽内往从站发送数据;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,从站在属于自己的时间槽内往主站发送数据,从站发送一帧数据后,等待主站的应答信号,若收到主站的负应答信号,表示数据没有被主站正确接收,从站产生错误中断并返回等待新一次的同步信号;若收到主站的正应答信号,表示数据被主站正确接收,从站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束;
(8)主站数据处理模块和各个从站数据处理模块的时间计数器模块计数到设定值时,当前数据传送周期结束,主站返回步骤(2),等待主站处理器指令开始下一次数据传送周期,从站等待主站的同步信号。
所述主站数据处理模块的处理数据包括以下步骤:
(1)主站上电后,主站数据处理模块内部所有模块均初始化;
(2)初始化之后,主站等待主站处理器的指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)当主站数据处理模块收到主站处理器的数据传输指令后,便开始发送环路测试信号,测试环路是否正常接通;若环路测试失败,主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;若测试环路连通成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块发送环路同步信号,同步环路上的各个从站,各个从站同时收到同步信号,同步信号在环路上传输一周,若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步;若主站不能收到自身发出的同步信号,表示环路同步失败,则主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)环路同步成功后,主站数据处理模块的时间计数器模块启动,主站进入发送数据阶段;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,主站处于接收数据的阶段;
(8)当主站收到一帧从站的数据后,会对其进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(9)当主站数据处理模块的时间计数器模块计数到设定值的时候,当前通信周期结束,主站数据处理模块向主站处理器产生一个周期结束中断并返回步骤(2)等待主站处理器的指令。
所述从站数据处理模块的处理数据包括以下步骤:
(1)从站上电后,从站数据处理模块内部初始化,从站进入中继器状态;
(2)初始化后,从站等待主站发送的环路同步信号;
(3)当从站正确接收到同步信号后,从站数据处理模块的时间计数器模块启动,从站数据处理模块根据计数值判断从站是否处于自己的时间槽内,若是,则进入步骤(4),若否,则进入步骤(5);
(4)若从站处于自己的时间槽内,则从站进入发送数据阶段,总线发送权切换开关闭合,结束中继器状态,从站发送一帧数据后,等待主站的应答信号,若收到主站的正应答信号,表示数据被主站正确接收,从站继续发送下一帧数据;若收到主站的负应答信号,表示数据没有被主站正确接收,从站将产生错误中断并返回步骤(2)等待新一次的同步信号,否则,从站在自己的时间槽内继续发送数据,若没有新的数据可以发送则等待该时间槽的结束;
(5)若从站没有处于自己的时间槽内,则从站进入接收数据阶段,总线发送权切换开关断开,继续进入中继器状态;
(6)在接收数据阶段,从站接收主站的服务数据并对收到的数据进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(7)当从站数据处理模块的时间计数器模块计数到设定值的时候当前通信周期结束,从站数据处理模块向上层产生一个周期结束中断并返回步骤(2)等待主站同步信号。
本发明采用分层机制,分为四层:物理层、数据链路层、网络控制层、ISA接口层;所述物理层负责数据的并串转换,0/1数据的发送和接收;所述数据链路层负责数据的4B/5B编码,CRC编码,握手机制的实现,超时重发,出错重发;所述网络控制层负责环路同步,计时,总线拥有权的切换,数据转发开关的切换,同时把ISA接口层发下来的数据进行重新打包,加上目的站,源站的地址信息,把发给本站的数据去掉相应的地址信息后传给ISA接口层RAM;所述ISA接口层负责把主站处理器(即PC104处理器)发下来的数据分组,然后给各个数据加上ID,进行RAM缓存,然后等待网络层读取。同时接收网络层传上来的数据等待主站处理器(即PC104处理器)读取。
本发明与现有技术相比具有如下优点和有益效果:
1、本发明自行设计的通信协议通过通用的现场可编程门阵列芯片FPGA实现,由于系统的可编程性,协议的修改和功能的添加并不会导致设计周期的延长和成本的增加。
2、本发明采用光纤作为传输介质,简化了现有技术设备之间连线的复杂性,提高了数据传输的准确性和可靠性。
3、本发明在协议和硬件上都同时支持单轴和多轴,并能提供多轴系统之间的同步功能。
4、本发明在通信协议上是自主设计并实现硬件的通用化,另外本设计在应用时不受驱动器和控制器供应商的限制。
附图说明
图1为本发明的系统框图;
图2为本发明的主站数据处理模块的结构框图;
图3为本发明的从站数据处理模块的结构框图;
图4为本发明的主站与从站之间数据处理流程图;
图5为本发明的主站数据处理模块的处理数据流程图;
图6为本发明的从站数据处理模块的处理数据流程图;
图7为本发明的硬件实现结构框图;
图8为本发明一实施例的主站ISA总线接口模块、主站数据处理模块及其配置电路的电路图;
图9为本发明一实施例的LVTTL—LVPECL电平转换电路,光纤收发模块及其配置电路的电路图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示的,本发明提供的基于光纤的高速串行工业实时通信总线系统,该系统包括主站、多个从站、互连的光纤收发模块及数字伺服装置,所述主站依次通过与主站相连的光纤收发模块、与从站相连的光纤收发模块、多个从站与数字伺服装置连接;所述主站与从站之间、从站与从站之间通过互连的光纤收发模块构成环形网络;所述主站包括主站处理器、主站ISA总线接口模块及主站数据处理模块,所述主站处理器与主站ISA总线接口模块连接,所述主站ISA总线接口模块与主站数据处理模块连接,所述主站数据处理模块和与主站相连的光纤收发模块连接;各从站包括从站处理器总线接口模块及从站数据处理模块,所述从站数据处理模块通过从站处理器总线接口模块与数字伺服装置连接,所述从站数据处理模块和与从站相连的光纤收发模块连接。
在系统中采用主站为一个,从站的数目则可多达127个,主站与从站之间、从站与从站之间通过互连的光纤收发模块构成环形网络。由于其直接面向底层设备间的通信,数据量较小,该传输网络能在很短的时间内(32个站点时为1ms以内)完成和所有站点的通信。
如图2所示,本发明的主站数据处理模块包括输出暂存RAM模块、时间计数器模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、数据打包模块、环路同步模块、环路测试模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块与主站ISA总线接口模块互连,所述控制寄存器模块的输出端分别与数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输入端连接,所述数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输出端分别连接4B/5B编码模块的输入端,所述中断寄存器模块的输入端分别与校验/诊断模块、环路测试模块及环路同步模块的输出端连接,所述中断寄存器模块和超时/出错重发模块互连,所述中断寄存器模块的输出端与主站ISA总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块、控制寄存器模块的输入端连接,所述4B/5B编码模块的输出端通过CRC编码模块与并/串转换模块的输入端连接,所述串/并转换模块的输出端依次通过4B/5B解码模块、校验/诊断模块、数据包解析模块及输入暂存RAM模块与主站ISA总线接口模块的输入端连接,所述主站ISA总线接口模块的输出端与输出暂存RAM模块的输入端连接。
如图3所示,本发明的从站数据处理模块包括输出暂存RAM模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、时间计数器模块、数据打包模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、总线数据发送权切换模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块和输出暂存RAM模块的输出端依次通过数据打包模块与4B/5B编码模块的输入端连接,所述控制寄存器模块的输出端通过超时/出错重发模块与4B/5B编码模块输入端连接,所述4B/5B编码模块的输出端依次通过CRC编码模块及总线数据发送权切换模块与并/串转换模块的输入端连接,所述中断寄存器模块与超时/出错重发模块互连,所述串/并转换模块的输出端分别与4B/5B解码模块及总线数据发送权切换模块的输入端连接,所述4B/5B解码模块的输出端依次通过校验/诊断模块、数据包解析模块及输入暂存RAM模块与从站处理器总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块和控制寄存器模块的输入端连接,所述中断寄存器模块的输入端分别与校验/诊断模块及控制寄存器模块的输出端连接,所述控制寄存器模块与从站处理器总线接口模块互连,所述中断寄存器模块的输出端与从站处理器总线接口模块的输入端连接,所述从站处理器总线接口模块的输出端与输出暂存RAM模块的输入端连接。
如图4所示,本发明的主站与从站是通过以下步骤进行数据通信处理:
(1)开始时,系统上电,主站数据处理模块和从站数据处理模块内部所有协议模块均初始化;
(2)初始化后,主站处理器发出相关指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)主站数据处理模块中的环路测试模块首先测试整个链路,测试整个环路是否连通,若环路测试失败,则主站数据处理模块产生错误中断,并返回到步骤(2),若环路测试成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块的环路同步模块向环路广播同步信号,各个从站同时收到同步信号,同步信号在环路上传输一周,最终若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步工作阶段;若主站不能收到自身发出的同步信号,表示同步失败,则主站数据处理模块向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)主站和各个从站收到同步信号时,一个数据传输周期开始,主站数据处理模块和各个从站数据处理模块内的时间计数器模块开始计数,在通信周期内,各个站根据自己的地址和当前计数值,确定哪个时间槽属于该站点,当属于自己的时间槽到来时,该站点便拥有总线的数据发送权,向总线发送数据;数据传输周期开始后,主站在属于自己的时间槽内往从站发送数据;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,从站在属于自己的时间槽内往主站发送数据,从站发送一帧数据后,等待主站的应答信号,若收到主站的负应答信号,表示数据没有被主站正确接收,从站产生错误中断并返回等待新一次的同步信号;若收到主站的正应答信号,表示数据被主站正确接收,从站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束;
(8)主站数据处理模块和各个从站数据处理模块的时间计数器模块计数到设定值时,当前数据传送周期结束,主站返回步骤(2),等待主站处理器指令开始下一次数据传送周期,从站等待主站的同步信号。
以上阶段依次进行,不断循环,直到控制器终止传输或者环路传输错误被迫中断。
本发明中,主站与从站之间实现通信,其特点之一在于数据传输分为非周期性传输阶段和周期性传输阶段,并且可以根据上层命令控制当前通信周期进入非周期性传输阶段还是周期性传输阶段。在非周期传输阶段,一个通信周期内主站只和某一个从站进行数据交换,这种情况下,通信周期的第一个时间槽属于主站,其间主站给某一个从站发送命令,参数配置等数据,用以设置从站的伺服装置;而在通行周期的剩余时间内,只有被主站选中的从站才会向主站返回应答数据。在周期传输阶段,一个通信周期内主站和所有地址有效的从站进行数据交换,这种情况下,通信周期的第一个时间槽属于主站,其间主站给所有从站发送控制指令值等服务数据,用以控制各从站伺服装置的正常运行;在通行周期的剩余时间内,各个从站依次在自己的时间槽内向主站返回应答数据。
无论是非周期传输还是周期传输,主站数据处理模块的服务数据打包模块会从与ISA接口连接的RAM中提取要发送的数据,加上从站地址等信息,打包成主站服务数据包发送给从站;同理从站数据处理模块的应答数据打包模块从与其ISA接口连接的RAM中提取要发送的数据,加上自身地址等信息,打包成从站应答数据包发送给主站;主站或从站在接收到数据包后协议的诊断模块会检验其传输的正确性,然后由数据包解析模块对数据包进行解析,提出上层软件需要的数据信息,放入RAM中,供上层软件调用。
如图5所示,主站数据处理模块的处理数据包括以下步骤:
(1)主站上电后,主站数据处理模块内部所有模块均初始化;
(2)初始化之后,主站等待主站处理器的指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)当主站数据处理模块收到主站处理器的数据传输指令后,便开始发送环路测试信号,测试环路是否正常接通;若环路测试失败,主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;若测试环路连通成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块发送环路同步信号,同步环路上的各个从站,各个从站同时收到同步信号,同步信号在环路上传输一周,若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步;若主站不能收到自身发出的同步信号,表示环路同步失败,则主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)环路同步成功后,主站数据处理模块的时间计数器模块启动,主站进入发送数据阶段;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,主站处于接收数据的阶段;
(8)当主站收到一帧从站的数据后,会对其进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(9)当主站数据处理模块的时间计数器模块计数到设定值的时候,当前通信周期结束,主站数据处理模块向主站处理器产生一个周期结束中断并返回步骤(2)等待主站处理器的指令。
如图6所示,从站数据处理模块的处理数据包括以下步骤:
(1)从站上电后,从站数据处理模块内部初始化,从站进入中继器状态;
(2)初始化后,从站等待主站发送的环路同步信号;
(3)当从站正确接收到同步信号后,从站数据处理模块的时间计数器模块启动,从站数据处理模块根据计数值判断从站是否处于自己的时间槽内,若是,则进入步骤(4),若否,则进入步骤(5);
(4)若从站处于自己的时间槽内,则从站进入发送数据阶段,总线发送权切换开关闭合,结束中继器状态,从站发送一帧数据后,等待主站的应答信号,若收到主站的正应答信号,表示数据被主站正确接收,从站继续发送下一帧数据;若收到主站的负应答信号,表示数据没有被主站正确接收,从站将产生错误中断并返回步骤(2)等待新一次的同步信号,否则,从站在自己的时间槽内继续发送数据,若没有新的数据可以发送则等待该时间槽的结束;
(5)若从站没有处于自己的时间槽内,则从站进入接收数据阶段,总线发送权切换开关断开,继续进入中继器状态;
(6)在接收数据阶段,从站接收主站的服务数据并对收到的数据进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(7)当从站数据处理模块的时间计数器模块计数到设定值的时候当前通信周期结束,从站数据处理模块向上层产生一个周期结束中断并返回步骤(2)等待主站同步信号。
如图7、图8及图9所示,本发明的主站数据处理模块是采用现场可编程门阵列芯片FPGA实现,主站处理器采用基于IntelX86架构的PC104处理器。PC104处理器通过主站ISA总线接口模块与主站数据处理模块(主站FPGA通信协议芯片)连接。主站数据处理模块(主站FPGA通信协议芯片)连接的电路有FPGA配置电路、测试信号及I/O端口电路、锁相环电路、电源电路、系统时钟,复位电路及从站数量设置开关电路,其中与主站连接的从站数量设置开关电路则设置整个环中从站的个数。主FPGA通信协议芯片与光纤收发模块之间通过LVTTL—LVPECL电平转换电路连接,并配有测试端口,用以观察和测试FPGA协议芯片的内部工作状况。在本发明中采用MC100EPT20和MC100EPT23芯片实现LVPECL/LVTTL电平转换;另外该光纤收发模块是接口用LVPECL电平的光纤收发一体化模块。光纤的串行传输机制大大简化了硬件电路结构,电路板的面积可控制在15CM×15CM以内。
本发明的从站ISA总线接口模块、从站数据处理模块及其配置电路的电路与主站ISA总线接口模块、主站数据处理模块及其配置电路的电路结构相同。从站FPGA通信协议芯片连接的电路有FPGA配置电路、测试信号及I/O端口电路、锁相环电路、电源电路、系统时钟、复位电路及从站地址选择开关电路,其中从站地址选择开关电路,其作用是选择从站地址,用以总线数据发送权的切换,若当前时间槽属于该从站,则该从站的开关电路接通数据发送模块和环路,这样该站点取得了当前时间槽的总线数据发送权,其中各个时间槽的长度也可以根据各个站数据的传输量进行设置;在其余时间这个开关只是简单的连接了该从站的输入和输出,此时该从站相当于一个中继器,简单的将输入给它的数据输出到环路上的下一个从站。
本发明的主站数据处理模块(主站FPGA通信协议芯片)和从站数据处理模块(从站FPGA通信协议芯片),光纤收发模块以及ISA总线接口电路设计在同一块电路板上。使用塑料光纤,节点间通信距离可达40M,使用玻璃光纤,节点间通信距离可以达到800M,能够满足大规模工业现场的分布式控制需求。
本发明的设计原理是:开始时,主站首先测试整个链路,给整个环发检测信号十次,如果它自己都能正确收到,则表明环路是通的,否则报错,同时一直发送检测信号。当环路通时,主站向环广播同步信号,当各个站及它本身都收到该广播信号时,各站进行严格同步,开始计时,一个数据传输周期也开始,在这个时钟周期内,各个站根据自己的地址,确定哪个时间槽属于该站点,当属于自己的时间槽到来时,该站点便拥有总线的数据发送权,可以向总线发送数据。当一个传输周期结束时,主站又向环型网络广播同步信号,然后开始新的数据传输周期。依此在处理器的控制下循环或终止。
所述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1、基于光纤的高速串行工业实时通信总线系统,包括主站、多个从站、互连的光纤收发模块及数字伺服装置,所述主站依次通过与主站相连的光纤收发模块、与从站相连的光纤收发模块、多个从站与数字伺服装置连接;所述主站与从站之间、从站与从站之间通过互连的光纤收发模块构成环形网络;所述主站包括主站处理器、主站ISA总线接口模块及主站数据处理模块,所述主站处理器与主站ISA总线接口模块连接,所述主站ISA总线接口模块与主站数据处理模块连接,所述主站数据处理模块和与主站相连的光纤收发模块连接;各从站包括从站处理器总线接口模块及从站数据处理模块,所述从站数据处理模块通过从站处理器总线接口模块与数字伺服装置连接,所述从站数据处理模块和与从站相连的光纤收发模块连接,其特征在于:所述主站数据处理模块包括输出暂存RAM模块、时间计数器模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、数据打包模块、环路同步模块、环路测试模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块与主站ISA总线接口模块互连,所述控制寄存器模块的输出端分别与数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输入端连接,所述数据打包模块、环路同步模块、超时/出错重发模块及环路测试模块的输出端分别连接4B/5B编码模块的输入端,所述中断寄存器模块的输入端分别与校验/诊断模块、环路测试模块及环路同步模块的输出端连接,所述中断寄存器模块和超时/出错重发模块互连,所述中断寄存器模块的输出端与主站ISA总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块、控制寄存器模块的输入端连接,所述4B/5B编码模块的输出端通过CRC编码模块与并/串转换模块的输入端连接,所述串/并转换模块的输出端依次通过4B/5B解码模块、校验/诊断模块、数据包解析模块及输入暂存RAM模块与主站ISA总线接口模块的输入端连接,所述主站ISA总线接口模块的输出端与输出暂存RAM模块的输入端连接;所述从站数据处理模块包括输出暂存RAM模块、输入暂存RAM模块、中断寄存器模块、控制寄存器模块、时间计数器模块、数据打包模块、超时/出错重发模块、4B/5B编码模块、CRC编码模块、总线数据发送权切换模块、并/串转换模块、串/并转换模块、4B/5B解码模块、校验/诊断模块及数据包解析模块,所述控制寄存器模块和输出暂存RAM模块的输出端依次通过数据打包模块与4B/5B编码模块的输入端连接,所述控制寄存器模块的输出端通过超时/出错重发模块与4B/5B编码模块输入端连接,所述4B/5B编码模块的输出端依次通过CRC编码模块及总线数据发送权切换模块与并/串转换模块的输入端连接,所述中断寄存器模块与超时/出错重发模块互连,所述串/并转换模块的输出端分别与4B/5B解码模块及总线数据发送权切换模块的输入端连接,所述4B/5B解码模块的输出端依次通过校验/诊断模块、数据包解析模块及输入暂存RAM模块与从站处理器总线接口模块的输入端连接,所述时间计数器模块的输出端分别与中断寄存器模块和控制寄存器模块的输入端连接,所述中断寄存器模块的输入端分别与校验/诊断模块及控制寄存器模块的输出端连接,所述控制寄存器模块与从站处理器总线接口模块互连,所述中断寄存器模块的输出端与从站处理器总线接口模块的输入端连接,所述从站处理器总线接口模块的输出端与输出暂存RAM模块的输入端连接。
2、根据权利要求1所述的基于光纤的高速串行工业实时通信总线系统,其特征在于,所述主站数据处理模块或从站数据处理模块与光纤收发模块之间用低电压晶体管至晶体管逻辑电平—低电压正射极耦合逻辑电平转换电路连接。
3、根据权利要求1所述的基于光纤的高速串行工业实时通信总线系统,其特征在于,所述的光纤收发模块是接口采用低电压正射极耦合逻辑电平的光纤收发一体化模块,所述的主站处理器是基于IntelX86架构的PC104处理器,所述的主站数据处理模块或从站数据处理模块是现场可编程门阵列芯片。
4、一种用于权利要求1所述的基于光纤的高速串行工业实时通信总线系统的控制方法,其特征在于,包括以下步骤:
(1)开始时,系统上电,主站数据处理模块和从站数据处理模块内部所有协议模块均初始化;
(2)初始化后,主站处理器发出相关指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)主站数据处理模块中的环路测试模块首先测试整个链路,测试整个环路是否连通,若环路测试失败,则主站数据处理模块产生错误中断,并返回到步骤(2),若环路测试成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块的环路同步模块向环路广播同步信号,各个从站同时收到同步信号,同步信号在环路上传输一周,最终若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步工作阶段;若主站不能收到自身发出的同步信号,表示同步失败,则主站数据处理模块向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)主站和各个从站收到同步信号时,一个数据传输周期开始,主站数据处理模块和各个从站数据处理模块内的时间计数器模块开始计数,在通信周期内,各个站根据自己的地址和当前计数值,确定哪个时间槽属于该站点,当属于自己的时间槽到来时,该站点便拥有总线的数据发送权,向总线发送数据;数据传输周期开始后,主站在属于自己的时间槽内往从站发送数据;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,从站在属于自己的时间槽内往主站发送数据,从站发送一帧数据后,等待主站的应答信号,若收到主站的负应答信号,表示数据没有被主站正确接收,从站产生错误中断并返回等待新一次的同步信号;若收到主站的正应答信号,表示数据被主站正确接收,从站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束;
(8)主站数据处理模块和各个从站数据处理模块的时间计数器模块计数到设定值时,当前数据传送周期结束,主站返回步骤(2),等待主站处理器指令开始下一次数据传送周期,从站等待主站的同步信号。
5、根据权利要求4所述的基于光纤的高速串行工业实时通信总线系统的控制方法,其特征在于,所述主站数据处理模块的处理数据包括以下步骤:
(1)主站上电后,主站数据处理模块内部所有模块均初始化;
(2)初始化之后,主站等待主站处理器的指令,当收到数据传输指令后,主站进入下一步工作阶段;
(3)当主站数据处理模块收到主站处理器的数据传输指令后,便开始发送环路测试信号,测试环路是否正常接通;若环路测试失败,主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;若测试环路连通成功,主站进入下一步工作阶段;
(4)环路测试成功后,主站数据处理模块发送环路同步信号,同步环路上的各个从站,各个从站同时收到同步信号,同步信号在环路上传输一周,若主站能够收到自己发出的同步信号,表示环路同步成功,进入下一步;若主站不能收到自身发出的同步信号,表示环路同步失败,则主站数据处理模块会向主站处理器产生相应的出错中断,并返回步骤(2)等待主站处理器的指令;
(5)环路同步成功后,主站数据处理模块的时间计数器模块启动,主站进入发送数据阶段;
(6)主站发送一帧数据后,等待从站的应答信号,若收到从站的负应答信号,表示数据没有被从站正确接收,主站产生错误中断并返回步骤(2)等待主站处理器指令;若收到从站的正应答信号,表示数据被从站正确接收,主站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束,进入下一步工作阶段;
(7)主站时间槽结束后,主站处于接收数据的阶段;
(8)当主站收到一帧从站的数据后,会对其进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(9)当主站数据处理模块的时间计数器模块计数到设定值的时候,当前通信周期结束,主站数据处理模块向主站处理器产生一个周期结束中断并返回步骤(2)等待主站处理器的指令。
6、根据权利要求4所述的基于光纤的高速串行工业实时通信总线系统的控制方法,其特征在于,所述从站数据处理模块的处理数据包括以下步骤:
(1)从站上电后,从站数据处理模块内部初始化,从站进入中继器状态;
(2)初始化后,从站等待主站发送的环路同步信号;
(3)当从站正确接收到同步信号后,从站数据处理模块的时间计数器模块启动,从站数据处理模块根据计数值判断从站是否处于自己的时间槽内,若是,则进入步骤(4),若否,则进入步骤(5);
(4)若从站处于自己的时间槽内,则从站进入发送数据阶段,总线发送权切换开关闭合,结束中继器状态,从站发送一帧数据后,等待主站的应答信号,若收到主站的负应答信号,表示数据没有被主站正确接收,从站将产生错误中断并返回步骤(2)等待新一次的同步信号;若收到主站的正应答信号,表示数据被主站正确接收,从站在自己的时间槽内继续发送下一帧数据,若没有新的数据可以发送则等待该时间槽的结束;
(5)若从站没有处于自己的时间槽内,则从站进入接收数据阶段,总线发送权切换开关断开,继续进入中继器状态;
(6)在接收数据阶段,从站接收主站的服务数据并对收到的数据进行CRC校验,若数据传输正确则返回正应答信号;若数据校验出错,则返回负应答信号;
(7)当从站数据处理模块的时间计数器模块计数到设定值的时候当前通信周期结束,从站数据处理模块向上层产生一个周期结束中断并返回步骤(2)等待主站同步信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100274270A CN100521637C (zh) | 2007-04-05 | 2007-04-05 | 基于光纤的高速串行工业实时通信总线系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100274270A CN100521637C (zh) | 2007-04-05 | 2007-04-05 | 基于光纤的高速串行工业实时通信总线系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101060457A CN101060457A (zh) | 2007-10-24 |
CN100521637C true CN100521637C (zh) | 2009-07-29 |
Family
ID=38866360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100274270A Expired - Fee Related CN100521637C (zh) | 2007-04-05 | 2007-04-05 | 基于光纤的高速串行工业实时通信总线系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100521637C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062164A (zh) * | 2018-08-29 | 2018-12-21 | 四川长虹电器股份有限公司 | 一种火锅桌的数据采集系统和采集方法 |
CN111026016A (zh) * | 2019-12-10 | 2020-04-17 | 深圳市英威腾自动控制技术有限公司 | 一种基于双fpga架构的可编程控制器及工业控制系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582825B (zh) * | 2009-06-26 | 2012-07-25 | 四川神坤装备股份有限公司 | 一种连接于can现场总线设备的自动顺序编号电路和方法 |
US8275256B2 (en) * | 2009-08-14 | 2012-09-25 | International Business Machines Corporation | Power up of device via optical serial interface |
CN102104427B (zh) * | 2009-12-18 | 2014-10-29 | 飞利浦(中国)投资有限公司 | 基于fpga的核磁共振数据通信实现装置和方法 |
CN101819437A (zh) * | 2010-04-20 | 2010-09-01 | 张爱民 | 分布式工业控制系统子站的同步控制方法 |
CN102130640B (zh) * | 2011-01-25 | 2013-04-10 | 南京雪曼机电科技有限公司 | 多轴同步伺服驱动系统及其同步控制方法 |
CN103034610B (zh) * | 2011-10-09 | 2018-09-04 | 南京中兴软件有限责任公司 | 在分体模块间进行axi总线信号发送接收的方法及装置 |
CN103116303B (zh) * | 2012-12-19 | 2015-01-21 | 华北电力大学 | 一种用于机房温度监控的自闭合环形网络监控系统 |
CN103414617B (zh) * | 2013-08-09 | 2017-02-01 | 深圳市富斯遥控模型技术有限公司 | 应用于遥控模型的i‑bus串行总线结构及其通信方法 |
CN104168168A (zh) * | 2013-12-12 | 2014-11-26 | 易程(苏州)智能系统有限公司 | 在rs485总线中利用特殊帧控制总线上节点发送的方法 |
CN106230541B (zh) * | 2016-08-05 | 2018-08-21 | 深圳市骏龙电子有限公司 | 一种用于工业以太网的站点同步系统及方法 |
CN108052476A (zh) * | 2017-11-27 | 2018-05-18 | 深圳华云科技实业有限公司 | 一种数据传输系统 |
CN107995080B (zh) * | 2017-12-14 | 2020-09-29 | 长沙玄米电子科技有限公司 | 基于二线制总线的多主机通信方法 |
CN110971332A (zh) * | 2019-11-26 | 2020-04-07 | 北京无线电计量测试研究所 | 一种秒脉冲时间信号同步装置和方法 |
CN111522758B (zh) * | 2020-06-01 | 2021-08-03 | 上海中广核工程科技有限公司 | 一种集成多现场总线主站系统及分布式控制系统 |
CN112134646B (zh) * | 2020-09-07 | 2021-10-15 | 华东师范大学 | 物联层现场总线中的主站模块及其对总线上的从站设备进行初始化方法 |
CN113965432B (zh) * | 2021-10-29 | 2022-10-14 | 华清科盛(北京)信息技术有限公司 | 一种双通道can总线通信的控制系统 |
CN114609944A (zh) * | 2022-03-08 | 2022-06-10 | 北京广利核系统工程有限公司 | 一种基于核电站模拟平台的数据监视系统及方法 |
CN114740796B (zh) * | 2022-04-26 | 2023-09-12 | 傲拓科技股份有限公司 | 一种具有分布式处理器的大型plc系统 |
CN116540639B (zh) * | 2023-07-07 | 2023-09-19 | 江苏集萃苏科思科技有限公司 | 一种多轴实时运动控制系统 |
CN118540181A (zh) * | 2024-07-25 | 2024-08-23 | 杭州康奋威科技股份有限公司 | 一种csbs物流小车通讯方法 |
-
2007
- 2007-04-05 CN CNB2007100274270A patent/CN100521637C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062164A (zh) * | 2018-08-29 | 2018-12-21 | 四川长虹电器股份有限公司 | 一种火锅桌的数据采集系统和采集方法 |
CN109062164B (zh) * | 2018-08-29 | 2021-01-26 | 四川长虹电器股份有限公司 | 一种火锅桌的数据采集系统和采集方法 |
CN111026016A (zh) * | 2019-12-10 | 2020-04-17 | 深圳市英威腾自动控制技术有限公司 | 一种基于双fpga架构的可编程控制器及工业控制系统 |
CN111026016B (zh) * | 2019-12-10 | 2021-07-27 | 深圳市英威腾电气股份有限公司 | 一种基于双fpga架构的可编程控制器及工业控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101060457A (zh) | 2007-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100521637C (zh) | 基于光纤的高速串行工业实时通信总线系统及其控制方法 | |
CN101950175B (zh) | 一种基于工业以太网的高速现场总线实现方法 | |
CN101083657B (zh) | 数控系统实时同步网络控制器 | |
CN100496048C (zh) | 多主通信系统 | |
CN101141451B (zh) | 数控系统通信接口、数控系统及数据接收方法 | |
CN106776436B (zh) | 一种适用于多点互联的高速串行总线的通信方法 | |
CN104702474A (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN102332971B (zh) | 数控系统现场总线全双工可靠通信方法 | |
CN100535814C (zh) | 冗余配置的自控系统及配置方法 | |
CN201957057U (zh) | 一种分布式远程i/o单元 | |
CN105959288A (zh) | 一种电力电网系统中的网络协议转换及其相互通讯方法 | |
CN101963808B (zh) | 一种支持多种现场总线协议的系统的实现方法 | |
CN103414547A (zh) | 一种主站控制多从站的方法、主站以及系统 | |
CN100504688C (zh) | 在环形总线数控系统中实现总线控制器功能的专用芯片 | |
CN101047447B (zh) | 基于光纤的点对点工业串行实时通信系统及其控制方法 | |
CN202190284U (zh) | 一种CAN总线与SpaceWire总线的协议转换器 | |
CN103595598A (zh) | 一种基于光纤的远程透明传输串口服务器及其控制模式 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN104484306A (zh) | 基于差分信号的主从同步串行通讯总线及其实现方法 | |
CN106873541A (zh) | 一种基于DSP的EtherCAT分布式伺服运动控制系统 | |
CN201054609Y (zh) | 基于光纤的高速串行工业实时通信总线系统 | |
CN103901814B (zh) | 一种多轴运动数控系统 | |
CN204733178U (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN201860344U (zh) | 一种支持多种现场总线协议的系统 | |
CN100594707C (zh) | 基于以太网技术的数控系统数字通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20120405 |