一种用于profibus的光纤接口转换模块的实现方法

文档序号:9508273阅读:850来源:国知局
一种用于profibus的光纤接口转换模块的实现方法
【技术领域】
[0001] 本发明涉及自动化工业控制技术领域,具体涉及用于工业现场总线PROFIBUS的 光纤接口转换模块的技术实现方法。
【背景技术】
[0002] PROFIBUS现场总线是当今应用最为广泛的工业通信网络之一,通常由PROFIBUS 主站、从站、总线电缆和其它网络部件组成。
[0003] 由于PROFIBUS现场总线的电气通信网络在应用时,受到传输距离、通讯速率、 电磁干扰等方面的影响与限制,无法同时达到长距离和高速率的数据通信指标。而光纤 数字通信正好可以弥补这方面的不足,这就需要一种PROFIBUS光纤接口转换技术,能把 PROFIBUS的电信号报文与光纤传输报文相互转换,使得PROFIBUS现场总线能方便的进行 光、电混合组网,从而达到长距离、高速率、高可靠性数据传输的目的。
[0004] PROFIBUS光纤接口转换技术的难点在于:
[0005] ①由于PROFIBUS的波特率与常见的光纤收发器在工作带宽上的差异,因此在利 用光纤进行数据传输时,需要对PROFIBUS报文进行调制/解调。但传统数字通信常用的一 些调制/解调方法比较复杂,成本较高。因此设计一种新的、低载频的、简单可靠的,适用于 PROFIBUS的调制/解调算法是本发明的主要目标。
[0006] ②由于基于FPGA的光纤模块在光电以及电光信号转换过程中必然存在数据处理 延迟,那么在FPGA中采用何种模块划分方式以及何种数据流处理机制,以便在提高光电或 电光信号转换效率的同时保证数据传输的可靠性,是首先要解决的问题,因此合理的功能 模块划分以及数据处理流程是本发明的关键点。

【发明内容】

[0007] 本发明的目的是提供一种用于PROFIBUS的光纤接口转换模块的实现方法,通过 FPGA算法对PROFIBUS报文进行解析、和调制/解调,使PROFIBUS信号能在电网络和光纤网 络上相互转换和传输,从而能方便的进行PROFIBUS总线的光、电混合组网,以解决长距离、 高速率、高可靠性数据传输的技术问题。
[0008] 为了实现上述发明目的,本发明采用如下技术方案:
[0009] 一种用于PROFIBUS的光纤接口转换模块的实现方法,所述PROFIBUS光纤接口转 换模块的硬件,主要由现场可编程逻辑门阵列FPGA程序模块、PROFIBUS总线RS-485接口 芯片以及光纤收发器模块组成;其中RS-485接口芯片用于连接PRUFIBUS总线网络,并在 FPGA程序模块与PROFIBUS网络之间进行信号电平转换与传输;光纤收发器模块用于连接 光纤线缆,并在FPGA程序模块与光纤线缆之间进行光/电转换和信号传输;现场可编程逻 辑门阵列FPGA程序模块主要用于完成报文解析、波特率自适应、调制/解调和报文收/发 功能;
[0010] 该方法包括如下步骤:
[0011] 步骤①:搜索和获取PR0FIBUS总线报文数据波特率;
[0012] 上电后,光纤接口转换模块在对PR0FIBUS总线报文数据进行采样之前,要获取 PR0FIBUS总线报文数据波特率;可编程逻辑门阵列FPGA程序模块通过判断当前采样的 PR0FIBUS总线RS-485报文数据(或解调后的光纤收发器接收的数据)是否符合PR0FIBUS 总线报文数据结构的方法,实现搜索和锁定当前PR0FIBUS总线报文的数据波特率,从而完 成波特率自适应过程;
[0013] 步骤②:采样PR0FIBUS总线报文数据,并将采样值写入接收数据缓存;
[0014] 在可编程逻辑门阵列FPGA程序模块锁定当前PR0FIBUS总线报文数据波特率的前 提下,可编程逻辑门阵列FPGA程序模块利用波特率采样脉冲对PR0FIBUS总线(RS-485)接 口输入的报文数据(或解调后的光纤收发器接口数据)进行采样,并将采样值写入接收数 据缓存;
[0015] 步骤③:对PR0FIBUS接收缓存数据进行调制运算,将运算结果发送至光纤收发 器;
[0016] 在可编程逻辑门阵列FPGA程序模块锁定当前PR0FIBUS总线报文数据波特率的 前提下,可编程逻辑门阵列FPGA程序模块对接收数据缓存中采样的PR0FIBUS总线报文数 据进行调制运算,调制运算采用将采样数据与特定频率的方波进行异或运算的方法实现, 调制运算后的数据增加起始符和结束符后,经过光纤收发器发送至下一级光纤接口转换模 块;
[0017] 步骤④:对光纤调制数据进行解调运算,解调运算输出数据写入发送数据缓存;
[0018] 上电后,当解调模块从光纤收发器接收端搜索到来自光纤总线的调制报文数据起 始符后,开始对报文数据进行解调运算;本步骤不依赖于PR0FIBUS数据波特率是否已被锁 定;
[0019] 解调运算采用将光纤收发器接收的调制信号与特定频率的方波进行异或运算的 方法实现,解调运算产生的输出数据为PR0FIBUS总线报文数据,可编程逻辑门阵列FPGA程 序模块将该数据写入发送数据缓存,同时送往接收串口数据模块;
[0020] 步骤⑤:将发送数据缓存中的报文数据发送至PR0FIBUS总线;
[0021] 在可编程逻辑门阵列FPGA程序模块锁定当前PR0FIBUS总线报文数据波特率的前 提下,可编程逻辑门阵列FPGA程序模块将发送数据缓存中解调出的PR0FIBUS报文数据,按 照锁定的波特率,通过RS-485接口芯片发送至PR0FIBUS总线。
[0022] 所述光纤接口转换模块能够搜索的波特率范围包括9. 6KBit/s、19. 2KBit/s、 45.45KBit/s、93. 75KBit/s、187. 5KBit/s、500KBit/s、l. 5MBit/s、3MBit/s、6MBit/s、 12MBit/s,共10个波特率值。
[0023] 可编程逻辑门阵列FPGA程序模块按照实现功能可划分为接收串口数据模块、发 送串口数据模块、接收数据缓存模块、发送数据缓存模块、波特率搜索与锁定模块、波特率 发生器模块、报文帧判决模块以及调制模块和解调模块。
[0024] 波特率搜索与锁定模块程序流程是:上电后,"波特率搜索与锁定模块"处于搜索 状态,按不同的波特率依次、反复对PR0FIBUS总线报文进行采样,直至"报文帧判决模块" 发送报文帧判断正确结果标识,此时停止搜索波特率,模块进入波特率锁定状态。此后,如 果由于总线波特率改变、或总线报文中断等原因,使"报文帧判决模块"的判断结果发生变 化,则"波特率搜索与锁定模块"将重新进入搜索状态,重复以上过程。
[0025] 调制模块程序流程是:当接收数据缓存中有PR0FIBUS总线报文数据时,调制 模块采用PR0FIBUS波特率整数倍的特定频率12MHz方波,即24MBit/s信号作为载频对 PR0FIBUS数据报文进行调制运算;当接收数据缓存中没有PR0FIBUS总线报文数据时,调制 模块向光纤收发器发送载频4倍频后的48MHz方波,即96MBit/s信号作为无报文数据的空 闲信号;
[0026] 波特率搜索与锁定模块,或接收串口数据模块进行工作时,数据方向可以来自 RS-485接口芯片,也可以来自光纤模块解调后的结果。这样无论PR0FIBUS主站在网络中位 于RS-485接口 一侧,还是光纤收发器一侧,光纤接口转换模块都可以正常工作。
[0027] 调制模块与解调模块的算法是完全一样的;S、T、G、R、
分别为原始数据信号、载 频信号、调制后的信号、解调后的信号、"异或"运算符,则调制过程:
,解调过程:
[0028] 本发明有以下积极效果:
[0029] 本发明中,PR0FIBUS总线的波特率自适应、报文解析、调制/解调、报文收/发完全 由FPGA完成,外围电路只需要RS-485物理层器件和普通的光纤收发器即可,硬件开销小、 成本低、易于产品化。应用于PR0FIBUS领域后,使PR0FIBUS信号能在电网络和光纤网络上 相互转换和传输,从而能方便的进行PR0FIBUS总线的光/电混合组网,总线型/树形/星 型混合组网,达到长距离、高速率、高可靠性数据传输的目的。
【附图说明】
[0030] 图1是本发明的光纤模块硬件示意图;
[0031] 图2是本发明的FPGA功能模块框图;
[0032] 图3是接收串口数据模块程序流程图;
[0033] 图4是波特率搜索与锁定模块程序流程图;
[0034] 图5是调制模块程序流程图;
[0035] 图6是调制运算方法示意图;
[0036] 图7是调制数据报文波形示意图;
[0037] 图8是解调模块程序流程图;
[0038] 图9是发送串口数据模块程序流程图。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1