用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

用FPGA实现数据远距离的高精度传输

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:35:15
解码器的仿真图如图4所示。

当解码器判断收到帧头(两个D4),则将同步信号clk_out置高,再按内部波特率clk在上升沿收6字节的帧结构码字,在同步信号的下降沿输出译码(11001010)。

纠突发错仿真图如图5所示。

当传输过程出现突发错时,第5字节改为FF,第7字节改为00,译码器给出信息11001010。

纠突发错仿真图如图5所示。

当传输过程出现突发错时,第5字节改为FF,第7字节改为00,译码器给出信息11001010。

因为信息最低位的编码能纠1位错,最高位能纠4位错,所以,当第3~5字节、第6~8字节分别出现一个8位的突发错,译码器均能完全纠正。出现多个突发错时,相应的信息低位将出错,但信息高位因具有更多位的纠错能力而仍能保持准确性。我们设计的目标也正是尽可能保证高位的正确,以保证精度。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    (2)基于单工的双工通信

此时一片FPGA内集成了编码器和解码器,与MPU相连的数据通信接口仍为8位数据线,由MPU发W/R写读信号来控制编解码,因此同一时间只能单向传送数据,编解码不能同时进行。准确地说,为半双工通信。(要改为全双工,须将MPU的数据线接口翻倍,非常占资源。)

双工电路原理如图6所示。

双工编、解码器的内部电路如图7所示。(编码器,解码器与单工的相同。)

实际上,我们对编码器和解码器的输出分别加了一个传输门(transfer_X器件)。该传输门由W/R信号控制,一旦传输门关闭,则将传输门的输出置于高阻态("Z"),因此,编解码器的输入输出不会相互干扰,从而能在同一数据线上进行半双工传输。

MPU向FPGA写信息,FPGA编码输出。W/R=0,信息为11001010。

MPU读FPGA的信息,FPGA收帧结构并解码。W/R=1,解码得11001010。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 总结

①我们的设计目的主要在于增加数据的容错能力。FPGA设备加载于MPU的数据接口与数据通信芯片接口之间,数据仍按原系统的发送方式远距离传输,如图8所示。因此原有的通信设备不必作改动,就能很方便地加载我们的设计。同时,因为编码采用的分组码的位数可以根据实际应用场合再做简单调整,因而能够提供更大的噪声冗余。

②FPGA内部提供统一的编解码波特率,最高由FPGA时钟频率决定,仿真图中采用100ns(10MHz)。MPU收发信息的波特率最高为编码波特率的1/8,因为1字节的数据信息要转换为8字节帧结构。也就是说,我们是以降低通信的最高速率为代价来换取数据的高精度的。因此,我们的设计主要应用于不要求过高速率的通信场合。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:6,765.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号