首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的PROFIBUS-DP总线光电收发器设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的PROFIBUS-DP总线光电收发器设计
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-5-4 10:24
|
只看该作者
基于FPGA的PROFIBUS-DP总线光电收发器设计
双绞线
,
收发器
,
RS-485
,
波特率
,
制造业
PROFIlBUS-DP现场总线以其高速、低成本等优点而广泛应用于制造业自动化、流程工业自动化和楼宇自动化等行业,它的物理层数据传输依赖RS-485接口。RS-485接口是一种工业领域内广泛使用的串行通信接口,可采用“差分”方式在屏蔽双绞线中传输信号,因而具有较好的抗共模干扰能力,通信距离可达千米。PROFIBUSDP总线信号也可使用屏蔽双绞线传输,数据速率为9.6 kbps时的理论传输距离为1200米,波特率为12:Mbps时的理论传输距离为100米。但是,由于工业现场情况错综复杂,各种干扰相互叠加,且RS-485标准规定单段网络最多可支持32个节点(标准负载),因此,有必要使用一种中继设备来将信号更准确、更完整地传输到远端设备。而光纤和其他传输介质相比具有宽频、低损耗、屏蔽电磁辐射、重量轻等优点,因此,用光电收发器实现两线制DP(RS-485)差分信号数据与光信号之间的转换,能够有效的提高信号传输距离和传输质量,从而提高系统的可靠性与稳定性。
1 光电收发模块的配置原理
本光电收发模块的使用配置如图1所示。从物理层来说,原来的一个网段被光纤分成两段,此时。收发器应视为相应段的总线末端,因此,在收发器中默认内置了有终端匹配电阻,以使负载端输入阻抗与传输线的特征阻抗相匹配,从而达到消除负载端信号反射的目的。每一个光电收发器在电气性能上都占一个节点,因此,每段总线上最多可以带30个标准RS-485负载设备。
2 总体设计方案
图2所示是光电收发器的硬件结构框图。该设计方案整体上由DP总线数据收发部分、光纤数据收发部分和数据传输方向控制部分组成。 FPGA作为主控制器负责控制数据传输的方向、检测波特率和数据交换功能。其中电源部分采用隔离的DC/DC来减少外部电路的影响。电端DP总线的RS-485收发器可选用SN75HVD06D,该芯片可支持10 Mbps数据速率;而光端的数据接收器和发送器则可选择AVAGO公司的光发送器HFBR-14x4Z和光接收器HFBR-24x2Z,它们在50mA电流驱动下,其62.5/125μm的多模光纤传输距离可达2 km。FPGA芯片选用ALTERA公司的Cvclone系列芯片EPlC3T144C8N,该芯片有2910个LE单兀、1个PLL和144个IO引脚,且性价比较高。
3 FPGA逻辑设计
FPGA包括数据传输方向检测功能块、波特率检测功能块、数据交换功能块等三个逻辑功能块。它们的电端和光端都默认为接收状态。数据传输方向检测功能块用于判断哪个端口先来数据,然后把该端口数据输出到波特率检测功能块以检测其数据波特率,数据交换功能块可根据确定好的数据传输方向和波特率来切换RS-485收发器的收发状态,并最终实现数据的光电转换传输。该三个逻辑功能块之间的关系如图3所示。
3.1 数据传输方向检测逻辑
PROHBUS-DP总线协议的传输依赖RS-485接口,故在总线空闲状态下,依靠RS-485接口前端的上拉和下拉电阻即可保证总线上的电平为“1”,RS-485收发器一般默认为接收状态。由于RS-485数据传输为半双工方式,同一时刻。线上的数据传输方向是单向的,且传输数据字节的起始位为低电平,这样,就可以根据电端接收数据和光端接收数据的低电平到来的先后顺序来判断数据的传输方向是从电端到光端,还是从光端到电端。为了避免由于线路上的干扰或者数据收发元器件的特性造成的毛刺,可对接收到的电端数据和光端数据先进行滤波去抖动处理。图4所示为数据传输方向检测流程图。
3.2 波特率检测逻辑
首先应对由数据传输方向检测功能块选择输出的数据进行滤波。不同的波特率分别用相应的时钟对滤波后的数据进行采样,若采到连续16个“1”,则说明总线目前处于空闲状态,下一个到来的低电平既是数据字节的起始位,之后即可开始接收数据,在一个字节(8 bits)的数据接收完毕后,即可判断接收到的数据是否为关键字(关键字为PROFIBUS-DP总线协议数据帧的开始定界符SDx)。如果某一波特率连续找到3次关键字,则将其它波特率连续找到关键字的次数清零。并将原来已经确定的波特率位清零。而当该波特率连续找到6次关键字时,则代表找到了新的波特率,此时可将刚找到的波特率确定为当前系统通讯速率,并将相应标志位置1。
3.3 数据交换逻辑
数据传输方向和波特率确定之后,就可以进行电端和光端的数据交换了。当数据传输方向为电端到光端时,电端RS-485收发器处于接收状态,数据由电端经光发送器发送到光端线线路上;当数据传输方向为光端到电端时,在起始位数据“0”发送完毕之后,即可将电端RS-485收发器改为发送状态,在经过10个当前通讯波特率的bit时间后,再将RS-485收发器改为接收状态,并等待接收新的数据。图5所示为数据交换流程图。
4 结束语
该设计的创新点在于其采用FPGA硬件实现光电信号之间的转换,可以自适应波特率变化,并自动检测波特率变化。能支持PROFIBUS-DP协议规定的所有波特率,且转发数据无错包。与一般的RS-485中继设备相比,不但在传输距离和总线的负载能力上有很大提高。而且在抗干扰和通讯的稳定性方面也有突出优势,可用于各种的PROFIBUS-DP总线工业现场。
作者:杜军钊 来源:国外电子元器件
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
便携式设备
MCU 单片机技术
嵌入式技术
DSP技术
ARM
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议