专利名称:具有纠错处理功能的通讯适配器及其应用的制作方法
技术领域:
本发明涉及一种数据传输装置,更具体地说是一种具有纠错处理功能的通讯适配器,可 以用于远距离、干扰较大、波特率或校验位不同的通讯终端之间的数据传输。
背景技术:
随着信息技术与计算机技术的发展,各种通讯设备以及采用串口通讯的终端已非常普 及,由于不同终端采集、传输数据的通讯速率各不相同,这就存在着如何实现不同通讯速率 的终端或通讯设备之间的通信问题。多功能通讯适配器起到了在多种设备之间的桥梁作用。
另外随着计算机和通讯技术的飞速发展,计算机网络数据传输业务量的迅速增大,因此 对高效可靠的数字传输和存储系统的需求也就日益增长。这种需求随着在商业、政府和军事 领域面向数字信息的交换、处理和存储的大规模高速数据网的出现而变得更加迫切。在数据 传输过程中,由于噪声源的存在,每次在两个终端之间进行传输数据时,都可能在传输过程 中发生错误。实际上,传输中消息的一部分被篡改的情况比整个信息内容完整无缺地抵达目 的地的情况要多得多。包括线路噪声在内的多种因素都可能改变或抹去一个给定的数据单元 中的一位或多位比特。 一个可靠的系统必须有检测并纠正这种错误的机制。这类系统的设计 要求通信与计算机技术的融合,系统设计者所关心的一个主要问题就是在传输过程中如何控 制差错以使得数据能够可靠重现。
但是,随着各种通讯设备的大量使用以及对通讯功能的要求越来越高,以往通讯适配器 的不足之处也逐渐暴露出来,其主要问题有
1、 只能解决单一的两种不同通讯速率之间的数据传输,不能实现多种不同通讯速率之 间的自由切换。
2、 不具备纠错处理功能,只适用于短距离的数据传输。
3、 目前的纠错处理方法,无论数据长短,只使用一种形式的BCH码进行纠错,不能根 据数据长度选择合适形式的BCH码,纠错处理效率低。
发明内容
本发明是为避免上述现有技术所存在的不足之处,提供一种具有纠错处理功能的通讯适 配器及其应用,用于完成不同通讯速率的通讯终端之间的通信,利用BCH码纠错编码技术 提高数据传输的可靠性,任意设置校验方式、波特率和每次纠错处理位数,实时显示通讯终 端的通讯速率、收发状态和每次利用BCH码进行纠错时的纠错处理位数。
本发明解决技术问题采用如下技术方案。本发明具有纠错处理功能的通讯适配器是采用数字信号处理器DSP以及相应设置的电 源管理模块、有源晶振模块和看门狗模块;其结构特点是所述数字信号处理器DSP的串行 接收接口 SCIARXD及串行发送接口 SCIBTXD分别通过电平转换模块MAX3221与RS232 接口连接,所述RS232接口分别在通讯适配器与外部发送终端和外部接收终端之间进行连 接;在所述数字信号处理器DSP的通用目的数字量输入输出口 GPIO分别设置有接收状态指 示模块、接收端波特率显示模块、发送状态指示模块、发送端波特率显示模块、用于指示在 利用BCH码进行纠错时的纠错处理位数指示模块,以及用于设置所述数字信号处理器DSP 的串行接收接口 SCIARXD和串行发送接口 SCIBTXD的波特率、校验方式以及纠错处理位 数的按键模块。
本发明具有纠错处理功能的通讯适配器的数据传输方法的特点是 设定外部发送终端的波特率为fl,外部接收终端的波特率为G;
当fl=f2=f时,所述数字信号处理器DSP的串行接收接口 SCIARXD以f的波特率接收 外部发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接 口 SCIBTXD以f的波特率向外部接收终端传送;
当fl > G时,所述数字信号处理器DSP的串行接收接口 SCIARXD以fl的波特率接收外 部发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接口 SCIBTXD以G的波特率向外部接收终端传送,对于没有发送完的数据被暂存在存储器中等 待串行发送接口 SCIBTXD中的堆栈空闲,依次发送串行接收接口 SCIARXD所接收的数据;
当fl<G时,所述数字信号处理器DSP的串行接收接口 SCIARXD以f 1的波特率接收外部 发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接口 SCIBTXD以G的波特率向外部接收终端传送,或者将串行接收接口 SCIARXD所接收的数据 暂存在存储器中,当数据存储到可以以G的波特率发送给外部接收终端, 一次性完成发送。
本发明具有纠错处理功能的通讯适配器在数据通讯系统中的应用的特点是分别设置所 述通讯适配器为采用BCH码的编码器和采用BCH码的译码器;
所述编码器的编码数据处理方法为
设定所述数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为I; 当K32时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行编码; 当32<1£192时,按(255, 199, 7)的BCH码的形式对所接收到的数据进行编码; 当I>192时,首先对所述数字信号处理器DSP的串行接收接口 SCIARXD所接收的数据 以192位进行分组,然后对于各组,设定每组的位数为J:当J532时,按(63, 36, 5)的BCH码的形式进行编码; 当32〈JS192时,按(255, 199, 7)的BCH码的形式进行编码; 所述译码器的译码数据处理方法为 ' 设定所述数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为M; 当IV^63时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行译码; 当M二255时,按(255, 199, 7)的BCH码的形式对所接收到的数据进行译码; 当M>255时,首先对所述数字信号处理器DSP的串行接收接口 SCIARXD所接收的数
据以255位进行分组,然后对于各组,设定每组的位数为N: 当N-63时,按(63, 36, 5)的BCH码的形式进行译码; 当N455时,按(255, 199, 7)的BCH码的形式进行译码。 本发明具有纠错处理功能的通讯适配器布数据通^R系统中的应用的特点也在于. 在以所述(63, 36, 5)的BCH码的形式进行编码时,每次编码的最多处理位数为36
位,最后的4位用于表示每次编码处理的数据字节数;
在所述以(255, 199, 7)的BCH码的形式进行编码时,每次编码的最多处理位数为
199位,最后7位用于表示每次编码处理的数据字节数。 与已有技术相比,本发明有益效果体现在
1、 本发明通过按键可任意设置数据传输的校验方式、波特率及每次利用BCH码进行纠 错时的纠错处理位数,不需要外扩其它模块,处理速度快,体积小,安全可靠,有效降低了 整个系统的投资,有明显的经济效益。
2、 对于采用不同波特率的通讯终端之间进行通讯,均能通过本发明的具有纠错功能的 通讯适配器,完成波特率从高速到低速或者从低速到高速的数据传输。
3、 本发明利用BCH码纠错编码技术,根据接收数据的位数选择合适形式的BCH码对 其进行编码或者译码,从而提高对数据进行纠错处理的效率及数据传输的可靠性。
图1为具有纠错功能的通讯适配器的硬件原理框图
图2为通讯适配器在通讯中的应用
图3为一般的远距离通信系统模型框图
图4为增加具有纠错功能的通讯适配器后的远距离通信系统模型框图 图5为编码算法的过程 图6为编码主程序流程7为译码算法的过程 图8为译码主程序流程图
以下通过具体实施方式
,并结合附图对本发明作进一步说明。
具体实施例方式
参见图l,本实施例的硬件构成包括有数字信号处理器DSP以及相应设置的电源管理模 块、有源晶振模块和看门狗模块;数字信号处理器DSP的串行接收接口 SCIARXD及串行 发送接口 SCIBTXD分别通过电平转换模块MAX3221与RS232接口连接,RS232接口分别 在通讯适配器与外部发送终端和外部接收终端之间进行连接;在数字信号处理器DSP的通 用目的数字量输入输出口GPIO分别设置有接收状态指示模块、接收端波特率显示模块、发 送状态指示模块、发送端波特率显示模块、用于指示在利用BCH码进行纠错时的纠错处理 位数指示模块,以及用于设置所述数字信号处理器DSP的串行接收接口 SCIARXD和串行 发送接口 SCIBTXD的波特率、校验方式以及纠错处理位数的按键模块。
接收状态指示模块由一个绿色的发光二极管组成,二极管灯亮表示正在接收数据,发送 状态指示模块由一个红色的发光二极管组成,二极管灯亮表示正在发送数据。接收端波特率 显示模块和发送端波特率显示模块分别由六个发光二极管组成,它们分别与六种波特率 19200bps、 9600bps、 4800bps、 2400bps、 1200bps、 600bps——对应。每次利用BCH码进行 纠错时的纠错处理位数指示模块由两个发光二极管组成,分别表示两种形式的BCH码
(63, 36, 5)和(255, 199, 7),其中63表示经BCH码编码后的数据位数,36表示经 BCH码编码前的数据位数,5表示BCH码的纠错能力即最多能够纠正5个差错,255表示 编码后的数据位数,199表示编码前的数据位数,7表示BCH码的纠错能力即最多能够纠正 7个差错。按键l用于设置外部发送终端的波特率和校验方式,按键2用于设置外部接收终 端的波特率和校验方式,按键3用于设置每次利用BCH码进行纠错时的纠错处理位数。其 中按键1和按键2分别由五个短路插针组成,三个短路插针用于设置波特率,其余两个短路 插针用于设置校验方式,插上短路冒后,表示此根数据线被选中,状态为"1",否则为"0"。 如果设置波特率的三根数据线的状态为"000",表示波特率为19200bps;状态为"001",表 示波特率为9600bps; 状态为"010",表示波特率为4800bps;状态为"011",表示波特率 为2400bps;状态为"100",表示波特率为1200bps;状态为"101",表示波特率为600bps。 设置校验方式的两根数据线的状态为"00"或者"01",表示校验方式为"无校验";状态为
"10",表示校验方式为"奇校验";状态为"11",表示校验方式为"偶校验"。按键3由两 个短路插针组成,插上短路冒后,表示此根数据线被选中,状态为"1",否则为"0"。如果状态为"00",表示按(63, 36, 5)的BCH码的形式进行编码或译码;状态为"01",表示 按(255, 199, 7)的BCH码的形式进行编码或译码;状态为"11",表示根据接收数据的 位数按(63, 36, 5)或(255, 199, 7)的BCH码的形式进行编码或译码。
当外部发送终端和外部接收终端与本实施例中通讯适配器连接后,上电,通讯适配器自 动检测出两台通讯终端的波特率、收发状态,相应的波特率指示灯和收发状态指示灯亮。设 定外部发送终端的波特率为fl,外部接收终端的波特率为f2:
当fl=f2=f时,数字信号处理器DSP的串行接收接口 SCIARXD以f的波特率接收外部 发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接口 SCIBTXD以f的波特率向外部接收终端传送;
当fl > f2时,数字信号处理器DSP的串行接收接口 SCIARXD以fl的波特率接收外部 发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接口 SCIBTXD以G的波特率向外部接收终端传送,对于没有发送完的数据被暂存在存储器中等 待串行发送接口 SCIBTXD中的堆栈空闲,依次发送串行接收接口 SCIARXD所接收的数据;
当fl<G时,数字信号处理器DSP的串行接收接口 SCIARXD以fl的波特率接收外部发 送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接口 SCIBTXD以G的波特率向外部接收终端传送,或者将串行接收接口 SCIARXD所接收的数据 暂存在存储器中,当数据存储到可以以G的波特率发送给外部接收终端, 一次性完成发送。
通讯适配器在通讯中的应用如图2所示,当终端1以波特率为9600bps向波特率为 1200bps的终端2传送数据时,终端1与终端2之间因波特率不匹配使得终端2无法完全接 收终端1发送的数据。此时将本实施例通讯适配器加在终端1和终端2之间,终端2即可完 全接收终端l所发送的数据。
对于一般的远距离通讯系统模型如图3所示,如果终端l向终端2发送数据,那么在终 端1与终端2之间相隔着许多其它部件,如调制器、解调器等,以及光纤、铜线、无线、微 波等物理信道,这些信道受到不同类型的噪声干扰,如随机噪声、突发噪声等,使得终端2 接收到的数据出现错误。为了使终端1所发送的数据能够在终端2得到可靠地重现,则在图 3的基础上加以改进,如图4所示。此时,在终端l与调制器之间加入本实施例中具有纠错 功能的通讯适配器,并将其设置为采用BCH码的编码器,在终端2与解调器之间加入本实 施例中的具有纠错功能的通讯适配器,并将其设置为采用BCH码的译码器。
本实施例采用BCH码进行纠错处理编码算法的过程如图5所示。首先根据(n, k)的
值查表得到生成多项式g(x),其中n为编码后的数据位数,k为编码前的数据位数;然后将接收到的信息位右移(M-Q位得到M(JC),利用M(x)/g(;c)得到余式Kx);最后利用式
<formula>formula see original document page 9</formula>计算出循环码的码字多项式C(x)。编码器的主程序流程图如图6所示。
首先完成初始化处理然后根据数字信号处理器DSP的串行接收接口 SCIARXD所接收的 数据位数选择合适的BCH码的形式进行编码,具体过程为
设定数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为I;
当K32时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行编码,使用此种 形式的BCH码进行编码时,每次编码的最多处理位数为36位,最后的4位用于表示每次编 码处理的数据字节数;
当32<15192时,按(255, 199, .7)的BCH码的形式对所接收到的数据进行编码,使 用此种形式的BCH码进行编码时,每次编码的最多处理位数为199位,最后7位用于表示 每次编码处理的数据字节数;
当1>192时,首先对数字信号处理器DSP的串行接收接口 SCIARXD所接收的数据以 192位进行分组,然后对于各组,设定每组的位数为J:
当J532时,按(63, 36, 5)的BCH码的形式进行编码;
当32〈5192时,按(255, 199, 7)的BCH码的形式进行编码。
本实施例采用BCH码进行纠错处理译码算法的过程如图7所示。首先由接收多项式 AO)计算伴随式S(x);其次采用Berlekamp-Massey迭代算法计算错误位置多项式A/to(x);
再次利用Chien搜索算法计算A/to(x)的根得到错误位置;最后纠正接收多项式,得到需要
传送的信息位。译码器的主程序流程图如图8所示。首先进行初始化处理,然后根据数字信 号处理器DSP的串行接收接口 SCIARXD所接收的数据位数选择合适的BCH码的形式进行 译码,具体过程为
设定数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为M; 当\1=63时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行译码; 当M355时,按(255, 199, 7)的BCH码的形式对所接收到的数据进行译码; 当M>255时,首先对数字信号处理器DSP的串行接收接口 SCIARXD所接收的数据以 255位进行分组,然后对于各组,设定每组的位数为N:
当N43时,按(63, 36, 5)的BCH码的形式进行译码; 当N455时,按(255, 199, 7)的BCH码的形式进行译码。
权利要求
1、一种具有纠错处理功能的通讯适配器,采用数字信号处理器DSP以及相应设置的电源管理模块、有源晶振模块和看门狗模块;其特征是所述数字信号处理器DSP的串行接收接口SCIARXD及串行发送接口SCIBTXD分别通过电平转换模块MAX3221与RS232接口连接,所述RS232接口分别在通讯适配器与外部发送终端和外部接收终端之间进行连接;在所述数字信号处理器DSP的通用目的数字量输入输出口GPIO分别设置有接收状态指示模块、接收端波特率显示模块、发送状态指示模块、发送端波特率显示模块、用于指示在利用BCH码进行纠错时的纠错处理位数指示模块,以及用于设置所述数字信号处理器DSP的串行接收接口SCIARXD和串行发送接口SCIBTXD的波特率、校验方式以及纠错处理位数的按键模块。
2、 权利要求1所述具有纠错处理功能的通讯适配器的数据传输方法,其特征是 设定外部发送终端的波特率为fl,外部接收终端的波特率为f2;当fl=f2=f时,所述数字信号处理器DSP的串行接收接口 SCIARXD以f的波特率接收 外部发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接 口 SCIBTXD以f的波特率向外部接收终端传送;当fl > G时,所述数字信号处理器DSP的串行接收接口 SCIARXD以fl的波特率接收 外部发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接 口 SCIBTXD以G的波特率向外部接收终端传送,对于没有发送完的数据被暂存在存储器中 等待串行发送接口 SCIBTXD中的堆栈空闲,依次发送串行接收接口 SCIARXD所接收的数 据;当fl<G时,所述数字信号处理器DSP的串行接收接口 SCIARXD以fl的波特率接收 外部发送终端所发送的数据,然后将串行接收接口 SCIARXD所接收的数据通过串行发送接 口 SCIBTXD以f2的波特率向外部接收终端传送,或者将串行接收接口 SCIARXD所接收的 数据暂存在存储器中,当数据存储到可以以G的波特率发送给外部接收终端, 一次性完成 发送。
3、 权利要求1所述具有纠错处理功能的通讯适配器在数据通讯系统中的应用,其特征 是分别设置所述通讯适配器为采用BCH码的编码器和采用BCH码的译码器;所述编码器的编码数据处理方法为设定所述数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为I; 当1532时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行编码;当32<1£192时,按(255, 199, 7)的BCH码的形式对所接收到的数据进行编码; 当1>192时,首先对所述数字信号处理器DSP的串行接收接口 SCIARXD所接收的数据 以192位进行分组,然后对于各组,设定每组的位数为J: 当JS32时,按(63, 36, 5)的BCH码的形式进行编码; 当32〈S192时,按(255, 199, 7)的BCH码的形式进行编码; 所述译码器的译码数据处理方法为设定所述数字信号处理器DSP的串行接收接口 SCIARXD所接收到的数据位数为M; 当M-63时,按(63, 36, 5)的BCH码的形式对所接收到的数据进行译码; 当M-255时,按(255, 199, 7)的BCH码的形式对所接收到的数据进行译码; 当M>255时,首先对所述数字信号处理器DSP的串行接收接口 SCIARXD所接收的数 据以255位进行分组,然后对于各组,设定每组的位数为N: 当N-63时,按(63, 36, 5)的BCH码的形式进行译码; 当N355时,按(255, 199, 7)的BCH码的形式进行译码。
4、根据权利要求3所述具有纠错处理功能的通讯适配器在数据通讯系统中的应用,其 特征是-在以所述(63, 36, 5)的BCH码的形式进行编码时,每次编码的最多处理位数为36 位,最后的4位用于表示每次编码处理的数据字节数;在所述以(255, 199, 7)的BCH码的形式进行编码时,每次编码的最多处理位数为 199位,最后7位用于表示每次编码处理的数据字节数。
全文摘要
具有纠错处理功能的通讯适配器及其应用,采用DSP及相应的电源管理模块、有源晶振模块和看门狗模块;其特征是DSP的串行接收接口及串行发送接口分别通过电平转换模块与RS232接口连接,RS232接口分别在通讯适配器与外部发送终端和外部接收终端之间进行连接;在DSP的通用目的数字量输入输出口分别设置有接收状态指示模块、接收端波特率显示模块、发送状态指示模块、发送端波特率显示模块、纠错处理位数指示模块,以及用于设置DSP串行接收接口串行发送接口的波特率、校验方式以及纠错处理位数的按键模块。能够完成不同通讯速率的通讯终端之间的通信。本发明用于完成不同通讯速率的通讯终端之间的通信。
文档编号H04L1/00GK101588222SQ200910117140
公开日2009年11月25日 申请日期2009年6月24日 优先权日2009年6月24日
发明者张巧云, 陶维青 申请人:合肥工业大学