一种基于星形网络的串行通讯模块及其控制方法

文档序号:7895729阅读:277来源:国知局
专利名称:一种基于星形网络的串行通讯模块及其控制方法
技术领域
本发明涉及串行通讯控制技术,尤其涉及一种基于星形网络的串行通讯模块及其控制方法。
背景技术
在工业控制领域,RS-232协议作为一种串行通信协议,因其简单可靠的特点在工程中得到了大量的运用,然而在系统设计时工程人员通常会面临这样一个矛盾RS-232接口可以实现点对点的通信方式,但这种方式不能实现联网功能。为了解决这一问题,经常需要通过RS-232/RS-485转换模块将RS-232接口转为RS-485接口,然后形成总线形串行通讯网络,以实现联网功能。这种总线形串行通讯网络采用广播方式传输数据,任何一个节点发出的信息经过通信接口(或适配器)后,可以使所有节点接收到,各节点将目的地址是本站站号的信息接收下来。但是它存在三个缺点1)当节点数量多时,总线上的数据流量大, 节点的数据处理量大;2)需要网络协议控制总线冲突,一旦两个或两个以上节点同时发送信息就会发生冲突,通讯软件复杂;3)当节点数量多时,存在阻抗匹配问题。高压大容量变频器的主控制系统与各子系统之间、强弱电之间的通信采用以光纤作为传输介质的总线形或者环形串行通讯网络,使用光纤取代了电平信号的传输,保留了原总线的数据链路层、应用层和用户层的协议,以提高总线的可靠性和抗干扰性。但是,总线形串行通讯网络当节点数量多时,总线上的数据流量大,节点的数据处理量大,控制软件较为复杂;另外需要网络协议控制总线冲突,一旦两个或两个以上节点同时发送信息就会发生冲突,就会使控制软件更加复杂;由于高压大容量变频器的各子系统(功率单元)处于复杂电磁环境中,过于复杂的控制软件,会使功率单元的可靠性降低。而环形串行通讯网络由于环线是公用的,一个节点发出的信息可能穿越环中多个节点,信息才能到达目的地址, 控制软件也很复杂。由于高压大容量变频器的功率单元处于复杂电磁环境中,过于复杂的软件,会使功率单元的可靠性降低;如果某个节点出现故障,信息不能继续传向环路的下一个节点;另外,结点过多时,会影响传输效率,整个网络响应时间变长,难以保证通讯的及时快速。

发明内容
本发明的目的就是克服上述现有技术之不足,提供一种不仅能够实现将多个只能实现点对点通信方式的通讯接口联网,而且能够实现以光纤作为传输介质,具有结构简单, 智能控制,网络延迟时间短,误码率较低,便于程序集中开发和资源共享的基于星形网络的串行通讯模块及其控制方法。本发明的目的是这样现的一种基于星形网络的串行通讯模块,包括电源电路、1 个主收发器、N个从收发器(N>= 1)及接口电路,其特征在于还包括含有接口单元、信号传输单元的FPGA/CPLD ;所述电源电路用于为所述模块提供电源;
所述主收发器用于将外部主通讯设备发送来的光、电信号转换为FPGA/CPLD所能识别的电平信号,输入至FPGA/CPLD的RX端口;将FPGA/CPLD的TX端口发送的电平信号转换为光、电信发送给外部主通讯设备;所述从收发器用于将外部从通讯设备发送来的光、电信号转换为FPGA/CPLD所能识别的电平信号,输入至FPGA/CPLD的RXl RXN端口;将FPGA/CPLD的TXl TXN端口发送的电平信号转换为光、电信发送给外部从通讯设备;所述接口单元与接口电路的连接,所述接口电路与外部主通讯设备接口电路连接,接口单元通过接口电路完成与外部主通讯设备微处理器间的指令及数据传输;所述信号传输单元用于完成主收发器与各个从收发器之间通讯数据传输,及接收和处理外部主通讯设备发送来的串行通讯数据。信号传输单元的输入输出接口包括RX、TX、 RXl RXN、TXl TXN0为了实现本发明的目的,一种上述基于星形网络的串行通讯模块的控制方法,其特征在于采取以下步骤A.所述基于星形网络的串行通讯模块上电,FPGA复位并完成各单元及输入、输出端口初始化,将通讯地址码η初始化为“ 1” ;B.如果通讯地址码η不为0FFH,信号传输单元分别将RX端口及相应通讯地址码的RXn端口分别赋给主收发器输入寄存器RX_T及相应通讯地址码的从收发器输入寄存器 RXn_T,然后将RX_T赋予相应通讯地址码的Tfti,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu RXn相连;如果通讯地址码η为0FFH,则表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答,信号传输单元将RX赋给主收发器输入寄存器RX_T,然后将RX_T赋予TXl TXN,进而使RX与TXl TXN相连;C.接收和处理外部主通讯设备发送来的串行通讯数据,外部主通讯设备微处理器控制指令包含在其发送的串行通讯数据中,控制指令包括通讯地址码,通讯地址码为一个字节,OOlh OFEh 指定地址,OFFH 指定全局地址。D.返回步骤B。为了实现本发明的目的,另一种上述基于星形网络的串行通讯模块的控制方法, 其特征在于采取以下步骤E.所述基于星形网络的串行通讯模块上电,FPGA复位并完成各单元及输入、输出端口初始化;F.所述基于星形网络的串行通讯模块通过接口电路、接口单元接收外部主通讯设备微处理器控制指令,控制指令包括通讯地址码η,通讯地址码η为一个字节,OOlh OFEh 指定地址,OFFH 指定全局地址。G.如果通讯地址码η不为0FFH,信号传输单元分别将RX端口及相应通讯地址码的RXn端口分别赋给主收发器输入寄存器RX_T及相应通讯地址码的从收发器输入寄存器 RXn_T,然后将RX_T赋予相应通讯地址码的Tfti,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu RXn相连;如果通讯地址码η为0FFH,则表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答,信号传输单元将RX赋给主收发器输入寄存器RX_T,然后将RX_T赋予TXl TXN,进而使RX与TXl TXN相连;H.返回步骤F。
采用本发明的方案,使RS232等只能实现点对点通信方式的通讯接口实现了联网;在电磁环境复杂、对通讯实时性要求高的高压大容量变频器等电力电子应用领域,解决了主控制系统与各子系统之间、强弱电之间的通信采用以光纤作为传输介质的总线形串行通讯网络的数据流量大,软件复杂,可靠性差等问题,提高了传输效率,缩短了网络响应时间。


图1为本发明实施例基于星形网络的串行通讯模块的原理框图;图2为本发明实施例1的电路原理图;图3为本发明实施例1的软件流程框图;图4为本发明实施例2的电路原理图;图5为本发明实施例2的软件流程框图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参看图1。基于星形网络的串行通讯模块,包括电源电路、1个主收发器、N个从收发器(N>= 1)、接口电路,以及含有接口单元、信号传输单元的FPGA/CPLD。电源电路用于为模块提供电源。主收发器用于将外部主通讯设备发送来的光、电信号转换为FPGA/CPLD 所能识别的电平信号,输入至FPGA/CPLD的RX端口;将FPGA/CPLD的TX端口发送的电平信号转换为光、电信发送给外部主通讯设备。从收发器用于将外部从通讯设备发送来的光、 电信号转换为FPGA/CPLD所能识别的电平信号,输入至FPGA/CPLD的RXl RXN端口;将 FPGA/CPLD的TXl TXN端口发送的电平信号转换为光、电信发送给外部从通讯设备。接口单元与接口电路的连接,所述接口电路与外部主通讯设备接口电路连接,接口单元通过接口电路完成与外部主通讯设备微处理器间的指令及数据传输。信号传输单元用于完成主收发器与各个从收发器之间通讯数据传输,及接收和处理外部主通讯设备发送来的串行通讯数据。信号传输单元的输入输出接口包括RX、TX、RX1 RXN、TX1 TXN。实施例1本实施例通过采用基于星形网络的串行通讯模块解决RS232联网问题。本实施例电路原理图如图2所示,外部主通讯设备通过端子Jl与本模块主收发器通讯接口相连, 外部从通讯设备通过端子J2 J9与本模块从收发器通讯接口相连,其中外部主通讯设备 1个,外部从通讯设备8个,外部主通讯设备与外部从通讯设备之间采用主从方式通过本模块的RS232通讯接口,实现组网,本模块主收发器及从收发器均采用MAX202作为通讯芯片, FPGA/CPLD 选用 ALTERA 公司的 EPM1270T14415 型 CPLD。本实施例的软件流程图如图3所示首先,串行通讯模块上电,程序开始,进入1. 1 初始化,FPGA复位并完成各单元及输入、输出端口初始化,然后进入1. 2,将通讯地址码η初始化为“1”,该通讯地址码表示下一帧数据的目标地址,然后进入1. 3,判断通讯地址码η是否为0FFH,如果通讯地址码不为0FFH,进入1. 4,信号传输单元分别将RX端口赋给主收发器输入寄存器RX_T,然后进入1. 5,将RXn端口赋给从收发器输入寄存器RXn_T,然后进入 1. 6,将RX_T赋予相应通讯地址码的Tfti,然后进入1. 7,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu RXn相连;如果通讯地址码为0FFH,则进入1. 8,将RX端口赋给主收发器输入寄存器RX_T,然后进入1.9,将RX_T赋予TXl TX8,表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答。完成端口对应连接后,进入1. 10,判断RX端口接收到数据了吗?如果没有收到数据,则返回1. 10,如果收到数据,则进入1. 11,接收RX端口数据,然后进入1. 12,判断数据接收是否完成?如果没完成,则返回 1. 11,如果完成数据接收,则进入1. 13,处理接收到的通讯数据,然后进入1. 14,得到通讯地址码,然后返回步骤1.3。在本实施例的控制方法中通过接收外部主通讯设备发送来的上一帧数据,得到通讯地址码n,进而使RX、TX与相应通讯地址码的TftuRXn相连,为下一帧的数据传输做好准备。在本实施例的控制方法中未使用接口电路及CPLD的接口单元。实施例2在本实施例通过采用基于星形网络的串行通讯模块实现以光纤作为传输介质的基于星形网络的串行通讯系统,具有结构简单,智能控制,网络延迟时间短,误码率较低,便于程序集中开发和资源共享。本实施例电路原理图如图4所示,外部主通讯设备通过光纤接收器RCV及光纤发送器TSM与本串行通讯模块主收发器通讯接口相连,外部从通讯设备通过光纤接收器 RCVl RCVM及光纤发送器TSMl TSMM与本串行通讯模块从收发器通讯接口相连,其中外部主通讯设备1个,外部从通讯设备M个,外部主通讯设备与外部从通讯设备之间采用主从方式通过以光纤作为传输介质的基于星形网络的串行通讯模块,实现组网。FPGA/CPLD 选用ALTERA公司的EPM1270T144I5型CPLD,光纤接收器采用HFBR2521,光纤发送器采用 HFBR1521,光纤接收器采用HFBR2521,信号速率达5M bit/s。本实施例的软件流程图如图5所示首先,串行通讯模块上电,程序开始,进入2. 1 初始化,FPGA复位并完成各单元及输入、输出端口初始化,然后进入2. 2,判断接口模块WR 信号是否有效,如果否,则返回2. 2,如果是,则进入2. 3,接收外部主通讯设备控制指令,然后进入2. 4,得到通讯地址码n,然后进入2. 5,判断通讯地址码η是否为0FFH,如果通讯地址码不为0FFH,进入2. 6,信号传输单元分别将RX端口赋给主收发器输入寄存器RX_T,然后进入2. 7,将RXn端口赋给从收发器输入寄存器RXn_T,然后进入2. 8,将RX_T赋予相应通讯地址码的Tfti,然后进入2. 9,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu Rfti相连;如果通讯地址码为0FFH,则进入2. 10,将RX端口赋给主收发器输入寄存器RX_T, 然后进入2. 11,将RX_T赋予TXl TX24,表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答。完成端口对应连接后,返回步骤2. 2。在本实施例的控制方法中通过接口电路、接口单元接收外部主通讯设备微处理器控制指令,得到通讯地址码n,进而使RX、TX与相应通讯地址码的Tftu RXn相连,为下一帧的数据传输做好准备。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种基于星形网络的串行通讯模块,包括电源电路、1个主收发器、N个从收发器(N >=1)及接口电路,其特征在于还包括含有接口单元、信号传输单元的FPGA/CPLD;所述电源电路用于为所述模块提供电源;所述主收发器用于将外部主通讯设备发送来的光、电信号转换为FPGA/CPLD所能识别的电平信号,输入至FPGA/CPLD的RX端口;将FPGA/CPLD的TX端口发送的电平信号转换为光、电信发送给外部主通讯设备;所述从收发器用于将外部从通讯设备发送来的光、电信号转换为FPGA/CPLD所能识别的电平信号,输入至FPGA/CPLD的RXl RXN端口 ;将FPGA/CPLD的TXl TXN端口发送的电平信号转换为光、电信发送给外部从通讯设备;所述接口单元与接口电路的连接,所述接口电路与外部主通讯设备接口电路连接,接口单元通过接口电路完成与外部主通讯设备微处理器间的指令及数据传输;所述信号传输单元用于完成主收发器与各个从收发器之间通讯数据传输,及接收和处理外部主通讯设备发送来的串行通讯数据。信号传输单元的输入输出接口包括RX、TX、 RXl RXN、TXl TXN0
2.—种权利要求1所述基于星形网络的串行通讯模块的控制方法,其特征在于采取以下步骤A.所述基于星形网络的串行通讯模块上电,FPGA复位并完成各单元及输入、输出端口初始化,将通讯地址码η初始化为“ 1” ;B.如果通讯地址码η不为0FFH,信号传输单元分别将RX端口及相应通讯地址码的RXn 端口分别赋给主收发器输入寄存器RX_T及相应通讯地址码的从收发器输入寄存器RXn_T, 然后将RX_T赋予相应通讯地址码的Tfti,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu RXn相连;如果通讯地址码η为0FFH,则表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答,信号传输单元将RX赋给主收发器输入寄存器RX_T,然后将RX_T赋予TXl TXN,进而使RX与TXl TXN相连;C.接收和处理外部主通讯设备发送来的串行通讯数据,外部主通讯设备微处理器控制指令包含在其发送的串行通讯数据中,控制指令包括通讯地址码,通讯地址码为一个字节, OOlh OFEh 指定地址,OFFH 指定全局地址。D.返回步骤B。
3.—种权利要求1所述基于星形网络的串行通讯模块的控制方法,其特征在于采取以下步骤E.所述基于星形网络的串行通讯模块上电,FPGA复位并完成各单元及输入、输出端口初始化;F.所述基于星形网络的串行通讯模块通过接口电路、接口单元接收外部主通讯设备微处理器控制指令,控制指令包括通讯地址码n,通讯地址码η为一个字节,OOlh OFEh 指定地址,OFFH 指定全局地址。G.如果通讯地址码η不为0FFH,信号传输单元分别将RX端口及相应通讯地址码的RXn 端口分别赋给主收发器输入寄存器RX_T及相应通讯地址码的从收发器输入寄存器RXn_T, 然后将RX_T赋予相应通讯地址码的Tfti,将RXn_T赋予TX,进而使RX、TX与相应通讯地址码的Tftu RXn相连;如果通讯地址码η为0FFH,则表明外部主通讯设备以广播方式和所有外部从通讯设备通讯,不需要外部从通讯设备应答,信号传输单元将RX赋给主收发器输入寄存器RX_T,然后将RX_T赋予TXl TXN,进而使RX与TXl TXN相连; H.返回步骤F。
全文摘要
本发明提供了一种基于星形网络的串行通讯模块及其控制方法。模块包括电源电路、1个主收发器、N个从收发器(N>=1)、接口电路及包含接口单元、信号传输单元的FPGA/CPLD;接口单元与接口电路的连接,接口电路与外部主通讯设备接口电路连接,接口单元通过接口电路完成与外部主通讯设备微处理器间的指令及数据传输;信号传输单元用于完成主收发器与各个从收发器之间通讯数据传输,及接收和处理外部主通讯设备发送来的串行通讯数据。不仅能够实现将多个只能实现点对点通信方式的通讯接口联网,而且能够实现以光纤作为传输介质,具有结构简单,智能控制,网络延迟时间短,误码率较低,便于程序集中开发和资源共享。
文档编号H04B10/00GK102158287SQ20101059119
公开日2011年8月17日 申请日期2010年12月16日 优先权日2010年12月16日
发明者管明华, 蔡志伟 申请人:中国北车集团大连机车车辆有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1