积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> CPLD/FPGA >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
基于CPLD的自适应RS-485异步数据光纤中继器设计
 
作者:中国电子科技集团第三十四研究所 陶庆肖 周宇 聂杨   来源:世界电子元器件    点击数:84   更新时间:2008-8-14
您可以添加到网摘 让更多人关注此文章:

    引言

RS-485半双工方式用两线双向传送差分信号,具有多点传输、双向通信等优点,在工业应用中得到了广泛应用。但是,它的最大传输距离仅为1200m,因而在一些远距离传输中受到了制约。而光纤通信具有传输距离远、抗干扰能力强、保密性好等特点,在工业领域中的运用也越来越多。本文设计的中继器基于CPLD的自适应速率光纤中继器,能够很好地解决传输距离问题。


系统实现方案


RS-485光纤中继器主要完成的功能是将RS-485数据信号转换为光信号,通过光纤传输到另外一端,同时将另外一端传输过来的光信号转换为RS-485信号。光纤中继器的原理框图如图1所示。系统正常工作时主要有三个状态:a)空闲状态;b)数据从RS-485收发器U1边的总线往RS-485收发器U2边的总线传送(简称“正向传输”);c)数据从RS-485收发器U2边的总线往RS-485收发器U1边的总线传送(简称“反向传输”)。







光纤中继器上电或者总线上没有数据传输,RS-485光纤中继器处于空闲状态,U1和U2均处于接收状态。


当RS-485收发器U1检测到连接其A、B引脚总线上的差分信号有低电平数据正向传输时,RO输入到可编程芯片进行取反,然后变成高电平再变为光信号传输;在另外一端将接收到的光信号变成电信号,输入到可编程芯片将高电平信号直接输出到EN2作为U2的驱动信号,同时将高电平取反后作为DI信号,此时MAX481的A、B脚输出低电平。当RS-485收发器U1正向传输高电平时光模块不发光,对端光中继器EN2为低电平,RS-485收发器MAX481输出为高阻,由于外部的上拉电阻和下拉电阻作用,U2的A引脚为高电平,B引脚为低电平。


数据反向传输同正向传输一致。


硬件电路


此自适应RS-485光纤中继器硬件电路比较简单,可分为接口部分、CPLD部分和光电转换部分。


接口部分


接口芯片采用美信(MAXIM)公司生产的RS-485/RS-422半双工收发器MAX481芯片,该芯片具有低功耗、高速率、价格低等优势,其最高传输速率达2.5Mbit/s,可以满足常用的工业现场应用所需速率。


MAX481采用8脚SO封装,其外围电路非常简单。在VCC脚接一个10μF和一个0.1μF的电容到地以滤掉电源纹波干扰,另外在A、B引脚间加上匹配电阻。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端进入接收状态。详细电路图如图2所示。







CPLD部分


CPLD采用LATTICE公司的M4A5-128/64芯片,该芯片工作电压为+5V,内部有128个宏单元,64个通用I/O管脚。封装形式有100-pin TQFP,100-pin PQFP以及100-ball caBGA,本设计选用的是PQFP封装。其外围电路比较简单,所有VCC引脚接+5V电源,并在靠近引脚的地方接一个0.1μF的电容到地,以滤掉电源纹波干扰。TDI、TCK、TMS、TDO、TRST、ENABLE为ISP在线可编程引脚,一般不作它用。其他通用I/O都可以作为输入、输出引脚,连接MAX481ESA或者光收发模块。


为了在上电时使系统进入接收状态,需要在CPLD外接一个复位电路,见图3。







光电转换部分


目前市场上有许多低速的TTL驱动光收发模块,可以直接购买使用,这使设计变得更加简单。本设计中采用的是2M光收发模块,可传输直流到2Mbit/s的数据,能满足大多数工业现场应用所需的速率。此部分电路非常简单,在此不再赘述。


软件设计


软件部分相对比较简单,由于传输的是低电平,而光模块是高电平发光,所以将MAX481ESA的RO引脚信号取反,然后送给光模块的发射部分;光模块的接收部分接收到光信号后变成电信号,分成两路,一路直接作为MAX481ESA的EN信号,另一路在CPLD中取反后作为MAX481ESA的DI信号。用VHDL编写的程序如下:


IF RESET='0' THEN --上电复位

EN='0';

TX<='0'; --TX光模块发射脚;RX光模块接收脚

DI<='1';

ELSE

EN<=RX;

TX<=NOT RO; --取反,有低电平数据时发光

DI<=NOT RX;

END IF;

实际应用中发现,数据速率较低时,系统可以正常通信,但当速率过高后就会出现严重误码情况。经过仔细测试分析后得知是EN高电平宽度不够引起的。EN的高电平宽度决定了芯片驱动的时间,并且芯片也有一定的响应时间,为了保证系统的通信正常,需要在原来的基础上将EN的高电平宽度展宽。由于该系统使用了CPLD可编程逻辑芯片,所以不需要外加电路就可以通过CPLD来调整EN的高电平宽度。改进后的VHDL程序如下:

SIGNAL Q:STD_LOGIC_VECTOR(3 DOWNTO 0);

begin

PROCESS(RX,CLK)

BEGIN

IF RESET='0' THEN

Q<="1111";

EN<='0';

TX<='0';

ELSIF RX='1' THEN

Q<="0000";

EN<='1';

TX<=NOT RO;

DI<=NOT RX;

ELSIF CLK'EVENT AND CLK='1' THEN

Q<='1'&Q(3 DOWNTO 1);

EN<=NOT((NOT RX) AND Q(2) );

TX<=NOT RO;

DI<=NOT RX;

END IF;

END PROCESS;


从图4可以看出,EN的高电平宽度已经被扩展了3个时钟(clk)周期,可以根据实际需要设置小于RS-485总线最高波特率的数据位的时间宽度。如果时间宽度不够,只需修改程序即可。







图5显示了速率为625Kbit/s的情况下用示波器在接收端测得的波形。其中(a)图是未改进时测试的波形,可以看出误码十分严重,与发端的波形完全不同;b)图为改进后测试的波形,与发端波形完全一致。由此可见,经过CPLD展宽EN后,解决了RS-485数据速率过高时的误码情况。







由于本光纤收发器为半双工传输方式,因此在同一时刻正向传输和反向传输不能同时进行,否则将发生冲突。另外,当总线上干扰较大时也可能发生冲突,此时总线上的数据信号是无效的,中继器并不对冲突做出处理。但是当冲突结束后,可由中继器中的可编程逻辑芯片对中继器进行复位,使其能正常工作。


结束语


基于CPLD的自适应RS-485异步数据光纤中继器电路比较简单,且体积小、成本低,可应用于多种场合。此外,稍加改进还可以制作成多路RS-485异步数据光纤收发器。实践证明,当传输速率为2Mbit/s时,系统工作稳定正常,误码率仅为10-11。

[1]



相关文章
· 基于MCU+CPLD的相位差和频率的测量方法研究及实现[168]
· RS-485总线电路中的过热保护[157]
· CPLD在基于PCI总线的功率模块设计中的应用[186]
· 基于CPLD的电器定时开关控制系统设计[209]
· 基于单片机和CPLD的数字频率计的设计[142]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
电子制造业如何化危为机
谁能成为“Wii”加速度传感器的新供
AMD抨击英特尔拖延反垄断指控案作法
台湾立院通过DRAM业整并提案&nb
Vishay 推出面向工业
中航芯控:医疗领域RFID应用势在必
安森美半导体为DDR3存储器模块应用
避免危及半导体业 德出手挽
HP实验室展示集CMOS电路与忆阻器
全球第二大代工巨头伟创力瘦身应对金融
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[原创]工业平板电脑PVT-P...
Palm软件设计前的六问...
李嘉诚传中给年轻人提出了53条...
WindRiver产品介绍...
嵌入式Linux的GDB远程调...
ARM无痛苦起步...
最豪华适用的S3C2440开发...
[推荐]10MF020以太网数...
[推荐]10MF020以太网数...
[推荐]F020以太网核心模块...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网