[原创] 工业控制应用中多模块间高速通信接口的曼彻斯特编码实现方式适合EtherCAT模块间通信

wisdomzhang   2020-2-4 22:47 楼主

曼彻斯特编码方式的FPGA实现

 

以前很多的Manchester编码实现,在FPGA中经常用延迟线, 或者是LCELL的硬件延时实现, 可能随着温度, 甚至不同FPGA产品的交付批次不同带来了设计的不稳定性。

 

本设计采用独创的方式, 实现了可靠传输, 具体文档可以参见Github上的分享。

另外一个革命性的方式, **使得模块间的有效带宽拓宽到100M**, 现在我们国内的模块间通信通常都是10M, 如果采用EtherCAT这类模块, 还必须增加PHY的芯片开销, 而采用LVDS直接链接, 解决了距离问题--高达30米远的恶劣环境可靠传输, 同时降低了成本。

 

Description

项目的目的:

在工业控制的领域, PLC, Servo接口, 多模块链接, 都要求数字输入输出模块之间需要有快速可靠抗干扰性强的链接方案, EtherCAT的模块之间链接也是采用这种方式,

1、满足GB/T31230.2IEC61158的标准要求;(附件是GB/T31230.2)
2、和倍福的EBus能实现对接;

Efinix的ManchesterIP将过去EtherCAT的应用中的数字链路有效提高到100M信号带宽, 可以使中国国产的PLC如果使用该链路, 实时响应的带宽将与日本基恩士公司的高速模块之间的接口有同样速度的响应速度

你可以通过这个项目, 来快速了解如何使用Efinix FPGA的LVDS, PLL,以及伪随机编码构建一个Manchester 接口的PHY

Trion FPGA ManchesterIP Solution based on LVDS interface

 

功能:

1- 提供系统时钟灵活的MII接口,可以很方便的和内部逻辑链接;
2- 将MII转成串行数据,并经LVDS发送Manchester编码;
3、接收Manchester编码的流,进行整形、滤波、定界、译码的算法,最后恢复出数据,并转成MII接口; 4、提取Manchester编码的时钟;时钟抖动小于20ns;
5、测量接收时钟和本地时钟的误差,测量精度0.25ppm;
6、精密的容错算法和码流跟踪算法,可达大于200ppm的频率偏差容限;(与信号质量有关)

ManchesterIP

.--,       .--,                                                        
( (  \.---./  ) )        
'.__/o   o\__.'
   {=  ^  =}
    >  -  <
__.""`-------`"".__
/                   \
\ Manchester IP     /
/                   \
\___________________/
  ___)( )(___
 (((__) (__)))

 ____   ___ ____   ___   ___ ____   ___ ____  
|___ \ / _ \___ \ / _ \ / _ \___ \ / _ \___ \
  __) | | | |__) | | | | | | |__) | | | |__) |
 / __/| |_| / __/| |_| | |_| / __/| |_| / __/
|_____|\___/_____|\___/ \___/_____|\___/_____|

有需要代码的, 请直接发送邮件909614802@qq.com

 

在论坛里回复问题。

 

我们在Github上也将分享代码


此内容由EEWORLD论坛网友wisdomzhang原创,如需转载或用于商业用途需征得作者同意并注明出处
 

回复评论 (1)

我已经全部整理, 提供了原始代码, 可以直接开始应用代码中的IP开发模块间的告诉通信互联接口。

 

EtherCAT Ebus Based on LVDS
https://github.com/wisdom1972/ManchesterIP

 

点赞  2020-2-12 17:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复