用FPGA实现数据远距离的高精度传输
发布时间:2008/5/27 0:00:00 访问次数:482
来源:单片机及嵌入式系统应用 作者:吴 杰 吴 岳
摘要:详细阐述一种利用交错编码的思想,来改远距离通信质量的新设计。设计由fpga芯片实现,能很方便加载到各种单片机有线或无线通信系统的收发接口中。通过对发、收信息的编、解码处理,增强信息在传输过程的抗干扰能力,以达到远距离高精度传输目的。
关键词:fpga 远距传输 高精度 交错 编码 解码
1 意义简单的多机间数据通信在我们的设计中很普遍,一般情况下数据传输距离很短,不会超过百十m,因此仅采用双绞线加rs232或rs485标准就可以有效传输。但有时多机之间的距离也会很远,如我们所设计的一个气象项目,就要求子站遍布在基站1km范围内。因此在考虑成本、不增加很多设备的前提下,有效防止噪声干扰,保证子站与基站的数据高精确传输就很重要。
通常多机短距通信中,可以在收发端加入奇校验、累加和校验等出错就重发的防噪声措施;但以上措施都只能检错,不能纠错,也就是说传输过程中不能容错。在远距离、干扰大、出错概率非常高的情况下,单纯的出错就重发措施会失去工作效率和意义。因此,我们需要一种能容错的数据传输方式,就要对数据编码。因此,不同传输环境的噪声性质不相同,对应的编码方式也不一样,所以我们设计编码时强调更多位的纠错冗余,以适合较多的环境,但相应地就降低了传输速率。另外,出于通用性和简易性的考虑,我们的设计应可直接加载于原有的有线或无线通信系统上,除数据连线外,不需对原有系统做任何改变。
在此,我们采用了交错编码技术来增加数据传输过程的容错能力。编解码设备插入加载到通信系统原来的数据收发端口。因此,微处理器要发送的数据由原先的直接经发送端(无线通信为调制器和发送器)发送,变为先经编码设备编码,然后再经原有的发送端发送;同理,接收端(无线通信为接收器和解调器)收到信息,经解码设备解码出数据,再传送给微处理器。
2 设计方案
为适应多种信道,要求我们的设计能同时纠随机错和突发错,并且能有多位的纠错冗余。因此,我们基于常用的卷积码和循环码特性,自定义一种简单的线性分组码作为纠错编码,以便我们刻意去提高纠错的位数。同时我们采用交错发送技术来提高纠突发错能力,并利用fpga去实现该方案。
(1)方案的应用范围
我们所设计的方案用于远距离的多机通信。根据实际经验,本方案默认微处理器收发的数据为8位并行数据+1位同步时钟,因此提供8位数据线和1位同步线。对于串口,则可增加串行转换的移位寄存器来转化。
(2)方案的实现
方案的实现如图1所示。
①在子站、基站的收发端口与微处理器之间分别加入相应的编解码设备,使得子站与基站间传输的数据先经过编解码再传输,以达到增强容错的能力。
②用帧结构实现码字的交错。
③远距离传输,收发端最好选用同步方式,但这不是本设计的内容,不予以讨论。
(3)基于精度,对数据的每一位单独编码
实际应用中,对数据精确的定义并非数据的完全重合,而是要求某一个精度。完全重合只对用做标志的数据有意义,对单纯计算用的数据并没有必要。基于精度要求,显然一个数据信息的高位对精度影响远比低位大(如:ffh,当最高位出错变为7fh时,精度变化最大,而最低位出错变为feh时,精度变化最小)。因此,我们并没有对8位数据信息进行整体编码,而是逐位分开进行编码:高数据位,采用更长的编码,以保证更高的正确率;低数据位,则可采用较短的编码,兼顾效率和设备容量。具体编码如表1所列。
表1
8位数据最低位(3,1)码
0对应010,1对应101,汉明距3,纠1错
8位数据第二位(3,1)码
0对应010,1对应101,汉明距3,纠1错
8位数据第三位(5,1)码
0对应01010,1对应10101,汉明距5,纠2错
8位数据第四位(5,1)码
0对应01010,1对应10101,汉明距5,纠2错
8位数据第五位(7,1)码
0对应0101010,1对应1010101,汉明距7,纠3错
8位数据第六位(7,1)码
0对应0101010,1对应1010101,汉明距7,纠3错
8位数据第七位(9,1)码
0对应010101010,1对应101010101,汉明距9,纠4错
来源:单片机及嵌入式系统应用 作者:吴 杰 吴 岳
摘要:详细阐述一种利用交错编码的思想,来改远距离通信质量的新设计。设计由fpga芯片实现,能很方便加载到各种单片机有线或无线通信系统的收发接口中。通过对发、收信息的编、解码处理,增强信息在传输过程的抗干扰能力,以达到远距离高精度传输目的。
关键词:fpga 远距传输 高精度 交错 编码 解码
1 意义简单的多机间数据通信在我们的设计中很普遍,一般情况下数据传输距离很短,不会超过百十m,因此仅采用双绞线加rs232或rs485标准就可以有效传输。但有时多机之间的距离也会很远,如我们所设计的一个气象项目,就要求子站遍布在基站1km范围内。因此在考虑成本、不增加很多设备的前提下,有效防止噪声干扰,保证子站与基站的数据高精确传输就很重要。
通常多机短距通信中,可以在收发端加入奇校验、累加和校验等出错就重发的防噪声措施;但以上措施都只能检错,不能纠错,也就是说传输过程中不能容错。在远距离、干扰大、出错概率非常高的情况下,单纯的出错就重发措施会失去工作效率和意义。因此,我们需要一种能容错的数据传输方式,就要对数据编码。因此,不同传输环境的噪声性质不相同,对应的编码方式也不一样,所以我们设计编码时强调更多位的纠错冗余,以适合较多的环境,但相应地就降低了传输速率。另外,出于通用性和简易性的考虑,我们的设计应可直接加载于原有的有线或无线通信系统上,除数据连线外,不需对原有系统做任何改变。
在此,我们采用了交错编码技术来增加数据传输过程的容错能力。编解码设备插入加载到通信系统原来的数据收发端口。因此,微处理器要发送的数据由原先的直接经发送端(无线通信为调制器和发送器)发送,变为先经编码设备编码,然后再经原有的发送端发送;同理,接收端(无线通信为接收器和解调器)收到信息,经解码设备解码出数据,再传送给微处理器。
2 设计方案
为适应多种信道,要求我们的设计能同时纠随机错和突发错,并且能有多位的纠错冗余。因此,我们基于常用的卷积码和循环码特性,自定义一种简单的线性分组码作为纠错编码,以便我们刻意去提高纠错的位数。同时我们采用交错发送技术来提高纠突发错能力,并利用fpga去实现该方案。
(1)方案的应用范围
我们所设计的方案用于远距离的多机通信。根据实际经验,本方案默认微处理器收发的数据为8位并行数据+1位同步时钟,因此提供8位数据线和1位同步线。对于串口,则可增加串行转换的移位寄存器来转化。
(2)方案的实现
方案的实现如图1所示。
①在子站、基站的收发端口与微处理器之间分别加入相应的编解码设备,使得子站与基站间传输的数据先经过编解码再传输,以达到增强容错的能力。
②用帧结构实现码字的交错。
③远距离传输,收发端最好选用同步方式,但这不是本设计的内容,不予以讨论。
(3)基于精度,对数据的每一位单独编码
实际应用中,对数据精确的定义并非数据的完全重合,而是要求某一个精度。完全重合只对用做标志的数据有意义,对单纯计算用的数据并没有必要。基于精度要求,显然一个数据信息的高位对精度影响远比低位大(如:ffh,当最高位出错变为7fh时,精度变化最大,而最低位出错变为feh时,精度变化最小)。因此,我们并没有对8位数据信息进行整体编码,而是逐位分开进行编码:高数据位,采用更长的编码,以保证更高的正确率;低数据位,则可采用较短的编码,兼顾效率和设备容量。具体编码如表1所列。
表1
8位数据最低位(3,1)码
0对应010,1对应101,汉明距3,纠1错
8位数据第二位(3,1)码
0对应010,1对应101,汉明距3,纠1错
8位数据第三位(5,1)码
0对应01010,1对应10101,汉明距5,纠2错
8位数据第四位(5,1)码
0对应01010,1对应10101,汉明距5,纠2错
8位数据第五位(7,1)码
0对应0101010,1对应1010101,汉明距7,纠3错
8位数据第六位(7,1)码
0对应0101010,1对应1010101,汉明距7,纠3错
8位数据第七位(9,1)码
0对应010101010,1对应101010101,汉明距9,纠4错
上一篇:用CPLD控制曼彻斯特编解码器
热门点击
- OrCAD/PSpice9直流扫描分析的应用
- OrCAD/PSpice9直流扫描分析的应用
- protel99se和DXP的使用感想
- CCS噪声模型:用于串扰噪声分析的高精确度建
- ORCAD/PSPICE
- 硬件描述语言HDL的现状与发展
- 利用Liberty CCS建模技术实现更高精
- OPC工具挺进DFM
- SystemWeaver 实现复杂SOC的片
- 基于FPGA的多路模拟量、数字量采集与处理系
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]