CN106877873B - 基于fpga的曼彻斯特码的编解码器及编解码方法 - Google Patents

基于fpga的曼彻斯特码的编解码器及编解码方法 Download PDF

Info

Publication number
CN106877873B
CN106877873B CN201510922547.1A CN201510922547A CN106877873B CN 106877873 B CN106877873 B CN 106877873B CN 201510922547 A CN201510922547 A CN 201510922547A CN 106877873 B CN106877873 B CN 106877873B
Authority
CN
China
Prior art keywords
data
manchester code
unit
header information
manchester
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510922547.1A
Other languages
English (en)
Other versions
CN106877873A (zh
Inventor
张椅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Chuanyi Automation Co Ltd
Original Assignee
Chongqing Chuanyi Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Chuanyi Automation Co Ltd filed Critical Chongqing Chuanyi Automation Co Ltd
Priority to CN201510922547.1A priority Critical patent/CN106877873B/zh
Publication of CN106877873A publication Critical patent/CN106877873A/zh
Application granted granted Critical
Publication of CN106877873B publication Critical patent/CN106877873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/06Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
    • H03M5/12Biphase level code, e.g. split phase code, Manchester code; Biphase space or mark code, e.g. double frequency code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种基于FPGA的曼彻斯特码的编解码器及编解码方法,所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元。本发明充分利用FPGA的并行处理能力,能够同时对多路仪表的数据进行编解码,从而能够有效地保障数据的传输速率;通过在编解码过程中使用CRC校验及奇偶校验,可以保证传输数据的准确性。

Description

基于FPGA的曼彻斯特码的编解码器及编解码方法
技术领域
本发明涉及工业智能制造领域,特别是涉及一种基于FPGA的曼彻斯特码的编解码器及编解码方法。
背景技术
现场总线技术以其高度的开放性、更高额传输精度和可互操作性在工业自动化领域获得了越来越多的应用。在传统工业领域,下层仪表通过现场总线的方式与控制系统进行通讯,总线常采用菊花链式的拓扑结构,控制系统通过总线上的曼彻斯特码获取仪表上传的各种信息。由于这种两线制通讯方式所有仪表共享总线,一旦总线出现问题可能造成整个通讯网络的崩溃。同时其传输速率低(仅为31.25kps),随着总线负载仪表的增多其传输距离逐渐下降。
针对现行的两线制通讯的缺陷,一种改进思路为将下层多个仪表的数据通过一个网关进行汇聚,网关和仪表之间采用点对点的通讯方式。由于网关汇聚了多路仪表上传的信息,如何保证数据能够快速无误的传送到控制系统,是一个亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于FPGA的曼彻斯特码的编码方法,充分利用FPGA的并行处理能力,能够同时对多路仪表的数据进行编解码,从而保障数据能够快速无误的通过现场总线传输。
为实现上述目的的他相关目的,本发明提供一种基于FPGA的曼彻斯特码的编码器,所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元;
所述第一数据接收单元与数据发送端及所述移位寄存单元电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元存储;
所述编码时钟适于获取位率时钟信号;
所述编码处理单元与所述移位寄存单元、所述编码时钟及所述同步字头信息添加单元电连接,适于将所述位率时钟信号及所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元;
所述同步字头信息添加单元适于在所述曼彻斯特码的数据位的前面添加同步字头信息;
所述校验位添加单元适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位。
作为本发明的基于FPGA的曼彻斯特码的编码器的一种优选方案,所述编码器还包括第一数据输出单元,适于将得到的曼彻斯特码输出。
本发明还提供一种基于FPGA的曼彻斯特码的编码方法,所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码。
作为本发明的基于FPGA的曼彻斯特码的编码方法的一种优选方案,步骤13)之后,还包括将步骤13)得到的曼彻斯特码串行输出的步骤。
本发明还提供一种基于FPGA的曼彻斯特码的解码器,所述解码器包括:第二数据接收单元、高频时钟、解码处理单元、CRC校验单元及奇偶校验单元;
所述第二数据接收单元适于接收如上述任一方案中所述的编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;
所述高频时钟适于检测所述曼彻斯特码中的所述同步字头信息;
所述解码处理单元适于对曼彻斯特码的数据位进行解码,并得到二进制码;
所述CRC校验单元适于对解码得到的所述二进制码进行CRC校验;
所述奇偶校验单元适于对解码得到的所述二进制码进行奇偶校验。
作为本发明的基于FPGA的曼彻斯特码的解码器的一种优选方案,所述解码器还包括第二数据输出单元,适于将校验后的二进制码输出。
本发明还提供一种基于FPGA的曼彻斯特码的解码方法,所述解码方法包括以下步骤:
21)接收上述方案中所述的编码方法得到的曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
作为本发明的基于FPGA的曼彻斯特码的解码方法的一种优选方案,步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。
作为本发明的基于FPGA的曼彻斯特码的解码方法的一种优选方案,步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。
作为本发明的基于FPGA的曼彻斯特码的解码方法的一种优选方案,步骤24)之后,还包括将步骤24)校验后的二进制码输出的步骤。
本发明还提供一种基于FPGA的曼彻斯特码的编解码器,所述编解码器包括:编码器及解码器;
所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元;
所述第一数据接收单元与数据发送端及所述移位寄存单元电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元存储;
所述编码时钟适于获取位率时钟信号;
所述编码处理单元与所述移位寄存单元、所述编码时钟及所述同步字头信息添加单元电连接,适于将所述位率时钟信号及所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元;
所述同步字头信息添加单元适于在所述曼彻斯特码的数据位的前面添加同步字头信息;
所述校验位添加单元适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位;
所述解码器包括:第二数据接收单元、高频时钟、解码处理单元、CRC校验单元及奇偶校验单元;
所述第二数据接收单元适于接收所述编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;
所述高频时钟适于检测所述曼彻斯特码中的所述同步字头信息;
所述解码处理单元适于对曼彻斯特码的数据位进行解码,并得到二进制码;
所述CRC校验单元适于对解码得到的所述二进制码进行CRC校验;
所述奇偶校验单元适于对解码得到的所述二进制码进行奇偶校验。
作为本发明的基于FPGA的曼彻斯特码的编解码器的一种优选方案,所述编码器还包括第一数据输出单元,适于将得到的曼彻斯特码传输给所述解码器;所述解码器还包括第二数据输出单元,适于将校验后的二进制码输出。
本发明还提供一种基于FPGA的曼彻斯特码的编解码方法,所述编解码方法包括编码方法及解码方法:
所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码;
所述解码方法包括以下步骤:
21)接收步骤13)得到的所述曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
作为本发明的基于FPGA的曼彻斯特码的编解码方法的一种优选方案,步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。
作为本发明的基于FPGA的曼彻斯特码的编解码方法的一种优选方案,步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。
如上所述,本发明的基于FPGA的曼彻斯特码的编解码器及编解码方法,具有以下有益效果:本发明充分利用FPGA的并行处理能力,能够同时对多路仪表的数据进行编解码,从而能够有效地保障数据的传输速率;通过在编解码过程中使用CRC校验及奇偶校验,可以保证传输数据的准确性;同时,本发明的基于FPGA的曼彻斯特码的编解码器及编解码方法可应用于现场总线,不仅可以显著提高现场总线的传输速率(可达到100kbps以上),还可以使得现场总线的传输速率具有可变性,可以满足下层不同仪表的要求,大大提高了其普遍适用性。
附图说明
图1显示为本发明实施例一中提供的基于FPGA的曼彻斯特码的编码器的结构示意图。
图2显示为本发明实施例二中提供的基于FPGA的曼彻斯特码的编码方法的流程图。
图3显示为本发明实施例三中提供的基于FPGA的曼彻斯特码的解码器的结构示意图。
图4显示为本发明实施例四中提供的基于FPGA的曼彻斯特码的解码方法的流程图。
图5显示为本发明实施例五中提供的基于FPGA的曼彻斯特码的编解码器的结构示意图。
元件标号说明
1 编码器
11 第一数据接收单元
12 移位寄存单元
13 编码时钟
14 编码处理单元
15 同步字头信息添加单元
16 校验位添加单元
17 第一数据输出单元
2 解码器
21 第二数据接收单元
22 高频时钟
23 解码处理单元
24 CRC校验单元
25 奇偶校验单元
26 第二数据输出单元
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图5需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,虽图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
请参阅图1,本发明提供一种基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的曼彻斯特码的编码器,所述编码器1包括:第一数据接收单元11、移位寄存单元12、编码时钟13、编码处理单元14、同步字头信息添加单元15及校验位添加单元16;所述第一数据接收单元11与数据发送端(未示出)及所述移位寄存单元12电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元12存储;所述编码时钟13适于获取位率时钟信号;所述编码处理单元14与所述移位寄存单元12、所述编码时钟13及所述同步字头信息添加单元15电连接,适于将所述编码时钟13得到的所述位率时钟信号及保存于所述移位寄存单元12内的所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元15;所述同步字头信息添加单元15还与所述校验位添加单元16电连接,适于在所述编码处理单元14得到的所述曼彻斯特码的数据位的前面添加同步字头信息,并将添加同步字头信息的所述曼彻斯特码的数据位传送至所述校验位添加单元16;所述校验位添加单元16适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位。
作为示例,所述编码器1还包括第一数据输出单元17,所述第一数据输出单元17适于将得到的曼彻斯特码输出。
作为示例,所述第一数据接收单元11接收的数据可以为并行的多组原始二进制数据,所述编码处理单元14适于同时对所述多组原始二进制数据进行编码处理。
实施例二
请参阅图2,本发明还提供一种基于FPGA的曼彻斯特码的编码方法,所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码。
曼彻斯特编码,也叫作相位编码(PE),是一种同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。在曼彻斯特编码中,用电压的跳变来区分0和1,由于跳变都发生在每一个码元的中间,接收端可以方便的利用它作为同步时钟。
曼彻斯特编码电平跳变的规则是:低电平的中间时刻跳变表示‘0’,用高电平中间时刻的跳变表示‘1’。由于每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
作为示例,步骤11)中接收原始二进制数据可以为多组并行的原始二进制数据。
作为示例,步骤12)中,使用编码时钟的反操作获得所述位率时钟信号。
作为示例,步骤13)之后,还包括将步骤13)得到的曼彻斯特码串行输出的步骤。
本实施例所述的基于FPGA的曼彻斯特码的编码方法可以基于实施例一中所述的基于FPGA的曼彻斯特码的编码器得以实现。
实施例三
请参阅图3,本发明还提供一种基于FPGA的曼彻斯特码的解码器,所述解码器2包括:第二数据接收单元21、高频时钟22、解码处理单元23、CRC校验单元24及奇偶校验单元25;所述第二数据接收单元21适于接收实施例一中所述的编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;所述高频时钟22与所述第二数据接收单元21电连接,适于检测所述曼彻斯特码中的所述同步字头信息;所述解码处理单元23与所述高频时钟22电连接,适于对曼彻斯特码的数据位进行解码,并得到二进制码;所述CRC校验单元24与所述解码处理单元23电连接,适于对解码得到的所述二进制码进行CRC校验;所述奇偶校验单元25与所述CRC校验单元24电连接,适于对解码得到的所述二进制码进行奇偶校验。
作为示例,所述第二数据接收单元21适于接收实施例一中所述的基于FPGA的曼彻斯特码的编码器生成的曼彻斯特码。
作为示例,所述高频时钟22的高频是相较于实施例一中所述编码时钟13而言,所述高频时钟22的频率为实施例一中所述的编码时钟13的频率的8~16倍。
作为示例,所述解码处理单元23通过所述高频时钟22扫描高低电平持续周期的长短判定二进制码为“1”或“0”,并最终得到二进制码。
作为示例,所述解码器2还包括第二数据输出单元26,所述第二数据输出单元26适于将校验后的二进制码输出。
实施例四
请参阅图4,本发明还提供一种基于FPGA的曼彻斯特码的解码方法,所述解码方法包括以下步骤:
21)接收实施例二中所述的编码方法得到的曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
作为示例,步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。所述高频时钟的高频是相较于实施例二中所述编码时钟而言,所述高频时钟的频率为实施例二中所述的编码时钟的频率的8~16倍。解码的关键在于同步字头信息的识别,只有正确检测到同步字头信息,解码程序才能进行正确的解码周期。使用频率远高于所述编码时钟的所述高频时钟扫描的方式检测所述曼彻斯特码中的所述同步字头信息,可以避免因为时钟错位而引起的解码错误。
作为示例,步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。此处使用高频时钟扫描曼彻斯特码的数据位进行解码,同样是为了避免因为时钟错位而引起的解码错误。
作为示例,步骤24)之后,还包括将步骤24)校验后的二进制码输出的步骤。
本实施例所述的基于FPGA的曼彻斯特码的解码方法可以基于实施例三中所述的基于FPGA的曼彻斯特码的解码器得以实现。
实施例五
请参阅图5,本发明还提供一种基于FPGA的曼彻斯特码的编解码器,所述编解码器包括:编码器及解码器2;所述编码器1包括:第一数据接收单元11、移位寄存单元12、编码时钟13、编码处理单元14、同步字头信息添加单元15及校验位添加单元16;所述第一数据接收单元11与数据发送端(未示出)及所述移位寄存单元12电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元12存储;所述编码时钟13适于获取位率时钟信号;所述编码处理单元14与所述移位寄存单元12、所述编码时钟13及所述同步字头信息添加单元15电连接,适于将所述编码时钟13得到的所述位率时钟信号及保存于所述移位寄存单元12内的所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元15;所述同步字头信息添加单元15还与所述校验位添加单元16电连接,适于在所述编码处理单元14得到的所述曼彻斯特码的数据位的前面添加同步字头信息,并将添加同步字头信息的所述曼彻斯特码的数据位传送至所述校验位添加单元16;所述校验位添加单元16适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位。
所述解码器2包括:第二数据接收单元21、高频时钟22、解码处理单元23、CRC校验单元24及奇偶校验单元25;所述第二数据接收单元21适于接收所述编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;所述高频时钟22与所述第二数据接收单元21电连接,适于检测所述曼彻斯特码中的所述同步字头信息;所述解码处理单元23与所述高频时钟22电连接,适于对曼彻斯特码的数据位进行解码,并得到二进制码;所述CRC校验单元24与所述解码处理单元23电连接,适于对解码得到的所述二进制码进行CRC校验;所述奇偶校验单元25与所述CRC校验单元24电连接,适于对解码得到的所述二进制码进行奇偶校验。
作为示例,所述编码器1还包括第一数据输出单元17,所述第一数据输出单元17适于将得到的曼彻斯特码输出。
作为示例,所述第一数据接收单元11接收的数据可以为并行的多组原始二进制数据,所述编码处理单元14适于同时对所述多组原始二进制数据进行编码处理。
作为示例,所述第二数据接收单元21适于接收实施例一中所述的基于FPGA的曼彻斯特码的编码器生成的曼彻斯特码。
作为示例,所述高频时钟22的高频是相较于所述编码时钟13而言,所述高频时钟22的频率为所述的编码时钟13的频率的8~16倍。
作为示例,所述解码处理单元23通过所述高频时钟22扫描高低电平持续周期的长短判定二进制码为“1”或“0”,并最终得到二进制码。
作为示例,所述解码器2还包括第二数据输出单元26,所述第二数据输出单元26适于将校验后的二进制码输出。
实施例六
本发明还提供一种基于FPGA的曼彻斯特码的编解码方法,所述编解码方法包括编码方法及解码方法:
所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码;
所述解码方法包括以下步骤:
21)接收步骤13)得到的所述曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
作为示例,步骤11)中接收原始二进制数据可以为多组并行的原始二进制数据。
作为示例,步骤12)中,使用编码时钟的反操作获得所述位率时钟信号。
作为示例,步骤13)之后,还包括将步骤13)得到的曼彻斯特码串行输出的步骤。
作为示例,步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。所述高频时钟的高频是相较于所述编码时钟而言,所述高频时钟的频率为所述的编码时钟的频率的8~16倍。解码的关键在于同步字头信息的识别,只有正确检测到同步字头信息,解码程序才能进行正确的解码周期。使用频率远高于所述编码时钟的所述高频时钟扫描的方式检测所述曼彻斯特码中的所述同步字头信息,可以避免因为时钟错位而引起的解码错误。
作为示例,步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。此处使用高频时钟扫描曼彻斯特码的数据位进行解码,同样是为了避免因为时钟错位而引起的解码错误。
作为示例,步骤24)之后,还包括将步骤24)校验后的二进制码输出的步骤。
综上所述,本发明提供一种基于FPGA的曼彻斯特码的编解码器及编解码方法,所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元;所述第一数据接收单元与数据发送端及所述移位寄存单元电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元存储;所述编码时钟适于获取位率时钟信号;所述编码处理单元与所述移位寄存单元、所述编码时钟及所述同步字头信息添加单元电连接,适于将所述位率时钟信号及所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元;所述同步字头信息添加单元适于在所述曼彻斯特码的数据位的前面添加同步字头信息;所述校验位添加单元适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位。本发明充分利用FPGA的并行处理能力,能够同时对多路仪表的数据进行编解码,从而能够有效地保障数据的传输速率;通过在编解码过程中使用CRC校验及奇偶校验,可以保证传输数据的准确性;同时,本发明的基于FPGA的曼彻斯特码的编解码器及编解码方法可应用于现场总线,不仅可以显著提高现场总线的传输速率(可达到100kbps以上),还可以使得现场总线的传输速率具有可变性,可以满足下层不同仪表的要求,大大提高了其普遍适用性。
上述实施例仅例示性说明本发明的原理的功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (15)

1.一种基于FPGA的曼彻斯特码的编码器,其特征在于,所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元;
所述第一数据接收单元与数据发送端及所述移位寄存单元电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元存储;
所述编码时钟适于获取位率时钟信号;
所述编码处理单元与所述移位寄存单元、所述编码时钟及所述同步字头信息添加单元电连接,适于将所述位率时钟信号及所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元;
所述同步字头信息添加单元适于在所述曼彻斯特码的数据位的前面添加同步字头信息;
所述校验位添加单元适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位。
2.根据权利要求1所述的基于FPGA的曼彻斯特码的编码器,其特征在于:所述编码器还包括第一数据输出单元,适于将得到的曼彻斯特码输出。
3.一种基于FPGA的曼彻斯特码的编码方法,其特征在于,所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码。
4.根据权利要求3所述的基于FPGA的曼彻斯特码的编码方法,其特征在于:步骤13)之后,还包括将步骤13)得到的曼彻斯特码串行输出的步骤。
5.一种基于FPGA的曼彻斯特码的解码器,其特征在于,所述解码器包括:第二数据接收单元、高频时钟、解码处理单元、CRC校验单元及奇偶校验单元;
所述第二数据接收单元适于接收如权利要求1或2所述的编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;
所述高频时钟适于检测所述曼彻斯特码中的所述同步字头信息;
所述解码处理单元适于对曼彻斯特码的数据位进行解码,并得到二进制码;
所述CRC校验单元适于对解码得到的所述二进制码进行CRC校验;
所述奇偶校验单元适于对解码得到的所述二进制码进行奇偶校验。
6.根据权利要求5所述的基于FPGA的曼彻斯特码的解码器,其特征在于:所述解码器还包括第二数据输出单元,适于将校验后的二进制码输出。
7.一种基于FPGA的曼彻斯特码的解码方法,其特征在于,所述解码方法包括以下步骤:
21)接收如权利要求3或4所述的编码方法得到的曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
8.根据权利要求7所述的基于FPGA的曼彻斯特码的解码方法,其特征在于:步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。
9.根据权利要求7所述的基于FPGA的曼彻斯特码的解码方法,其特征在于:步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。
10.根据权利要求7所述的基于FPGA的曼彻斯特码的解码方法,其特征在于:步骤24)之后,还包括将步骤24)校验后的二进制码输出的步骤。
11.一种基于FPGA的曼彻斯特码的编解码器,其特征在于,所述编解码器包括:编码器及解码器;
所述编码器包括:第一数据接收单元、移位寄存单元、编码时钟、编码处理单元、同步字头信息添加单元及校验位添加单元;
所述第一数据接收单元与数据发送端及所述移位寄存单元电连接,适于接收原始二进制数据,并将接收的所述原始二进制数据传输至所述移位寄存单元存储;
所述编码时钟适于获取位率时钟信号;
所述编码处理单元与所述移位寄存单元、所述编码时钟及所述同步字头信息添加单元电连接,适于将所述位率时钟信号及所述原始二进制数据异或得到曼彻斯特码的数据位,并将得到的所述曼彻斯特码的数据位发送至所述同步字头信息添加单元;
所述同步字头信息添加单元适于在所述曼彻斯特码的数据位的前面添加同步字头信息;
所述校验位添加单元适于在添加了所述同步字头信息的曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位;
所述解码器包括:第二数据接收单元、高频时钟、解码处理单元、CRC校验单元及奇偶校验单元;
所述第二数据接收单元适于接收所述编码器生成的曼彻斯特码,所述曼彻斯特码包括同步字头信息、数据位、CRC校验位及奇偶校验位;
所述高频时钟适于检测所述曼彻斯特码中的所述同步字头信息;
所述解码处理单元适于对曼彻斯特码的数据位进行解码,并得到二进制码;
所述CRC校验单元适于对解码得到的所述二进制码进行CRC校验;
所述奇偶校验单元适于对解码得到的所述二进制码进行奇偶校验。
12.根据权利要求11所述的基于FPGA的曼彻斯特码的编解码器,其特征在于:所述编码器还包括第一数据输出单元,适于将得到的曼彻斯特码传输给所述解码器;所述解码器还包括第二数据输出单元,适于将校验后的二进制码输出。
13.一种基于FPGA的曼彻斯特码的编解码方法,其特征在于,所述编解码方法包括编码方法及解码方法:
所述编码方法包括以下步骤:
11)接收原始二进制数据并存储;
12)获取位率时钟信号,将所述位率时钟信号与步骤11)接收的所述二进制数据进行异或得到曼彻斯特码的数据位;
13)在所述曼彻斯特码的数据位的前面添加同步字头信息,并在所述曼彻斯特码的数据位的后面添加CRC校验位及奇偶校验位以得到所需的曼彻斯特码;
所述解码方法包括以下步骤:
21)接收步骤13)得到的所述曼彻斯特码;
22)检测所述曼彻斯特码中的同步字头信息;
23)检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码;
24)对所述二进制码依次进行CRC校验及奇偶校验。
14.根据权利要求13所述的基于FPGA的曼彻斯特码的编解码方法,其特征在于:步骤22)中,使用高频时钟扫描以检测所述曼彻斯特码中的所述同步字头信息。
15.根据权利要求13所述的基于FPGA的曼彻斯特码的编解码方法,其特征在于:步骤23)中,检测到所述同步字头信息之后对曼彻斯特码的数据位进行解码,以得到二进制码的具体方法为:通过高频时钟扫描高低电平持续周期的长短判定二进制码为“1”或“0”。
CN201510922547.1A 2015-12-10 2015-12-10 基于fpga的曼彻斯特码的编解码器及编解码方法 Active CN106877873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510922547.1A CN106877873B (zh) 2015-12-10 2015-12-10 基于fpga的曼彻斯特码的编解码器及编解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510922547.1A CN106877873B (zh) 2015-12-10 2015-12-10 基于fpga的曼彻斯特码的编解码器及编解码方法

Publications (2)

Publication Number Publication Date
CN106877873A CN106877873A (zh) 2017-06-20
CN106877873B true CN106877873B (zh) 2023-06-13

Family

ID=59178046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510922547.1A Active CN106877873B (zh) 2015-12-10 2015-12-10 基于fpga的曼彻斯特码的编解码器及编解码方法

Country Status (1)

Country Link
CN (1) CN106877873B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110242288A (zh) * 2019-07-10 2019-09-17 北京紫贝龙科技股份有限公司 遥测组合仪及其数据处理方法
CN111769835A (zh) * 2020-07-03 2020-10-13 北京电力自动化设备有限公司 一种基于fpga和iec60044-8标准的曼彻斯特码解码方法
CN112311401B (zh) * 2020-11-08 2024-04-09 西北工业大学 一种同轴电缆曼彻斯特编解码方法
CN112235218B (zh) * 2020-12-15 2021-03-16 广州智慧城市发展研究院 曼彻斯特信号解码方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726650A (en) * 1995-06-07 1998-03-10 Silicon Systems, Inc. Adaptive manchester decoding with adjustable delay and power saving mode
CN101478468A (zh) * 2009-01-16 2009-07-08 中国北车股份有限公司大连电力牵引研发中心 基于fpga的mvb数字量输入模块
CN101729192A (zh) * 2008-10-30 2010-06-09 杭州士兰微电子股份有限公司 一种用于无线射频遥控的编解码方法
TW201023532A (en) * 2008-12-05 2010-06-16 Hangzhou Silan Microelect Co Encoding/decoding method for wireless radio frequency remote control
CN101902225A (zh) * 2010-07-21 2010-12-01 中国航空工业集团公司洛阳电光设备研究所 双极性曼彻斯特码解码装置及方法
CN202696582U (zh) * 2012-04-24 2013-01-23 广西大学 一种多摩川编码器的曼彻斯特编码的解码电路
CN205545212U (zh) * 2015-12-10 2016-08-31 重庆川仪自动化股份有限公司 基于fpga的曼彻斯特码的编解码器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726650A (en) * 1995-06-07 1998-03-10 Silicon Systems, Inc. Adaptive manchester decoding with adjustable delay and power saving mode
CN101729192A (zh) * 2008-10-30 2010-06-09 杭州士兰微电子股份有限公司 一种用于无线射频遥控的编解码方法
TW201023532A (en) * 2008-12-05 2010-06-16 Hangzhou Silan Microelect Co Encoding/decoding method for wireless radio frequency remote control
CN101478468A (zh) * 2009-01-16 2009-07-08 中国北车股份有限公司大连电力牵引研发中心 基于fpga的mvb数字量输入模块
CN101902225A (zh) * 2010-07-21 2010-12-01 中国航空工业集团公司洛阳电光设备研究所 双极性曼彻斯特码解码装置及方法
CN202696582U (zh) * 2012-04-24 2013-01-23 广西大学 一种多摩川编码器的曼彻斯特编码的解码电路
CN205545212U (zh) * 2015-12-10 2016-08-31 重庆川仪自动化股份有限公司 基于fpga的曼彻斯特码的编解码器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于FPGA及DSP的测井遥传信号解码技术;李安宗;《地球物理学进展》(第01期);310-314 *
用FPGA实现曼彻斯特编解码;林艺文等;《汕头大学学报(自然科学版)》(第02期);64-69 *

Also Published As

Publication number Publication date
CN106877873A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106877873B (zh) 基于fpga的曼彻斯特码的编解码器及编解码方法
KR101949964B1 (ko) 임베딩된 클록을 갖는 직교 차동 벡터 시그널링 코드
KR102240544B1 (ko) 클록 임베디드 벡터 시그널링 코드
CN104954096B (zh) 一种一主多从的高速同步串行通信数据传输方法
CN105610452B (zh) 确定pwm信号中编码值的接收机、发射机、方法和传输其的方法
CN102681954B (zh) 使用总线倒置以减少同时信号切换
CN109947073A (zh) 具有提高的数据速率和自动协议检测的短脉冲宽度调制码/单边半字节传输的传感器
JP2018501706A5 (zh)
CN101848073B (zh) 通信系统、数据传送器、数据接收器及其测试方法
CN103973402A (zh) 数据发送方法、接收方法及设备
CN102739352A (zh) 用于串行通信的变换间隔编码
CN104008078A (zh) 一种基于fpga的数据传输板之间进行高速传输的方法
CN204633784U (zh) 一种数据传输装置
JP2016072962A (ja) 両方向データ伝送チャンネルを介したシリアルデータ伝送方法及び装置
US20140161442A1 (en) Data sending or receiving method, device, and apparatus used in optical fiber transmission
CN101083513A (zh) 通信信号解码
CN205545212U (zh) 基于fpga的曼彻斯特码的编解码器
CN105281872A (zh) 接收器和用于检测包括数据的信号中的错误的方法
CN104468042A (zh) 一种数据传输方法和系统
JP2017513307A5 (zh)
CN101442380B (zh) 基于高速串行接口编码方式的误码率测试方法与装置
CN113824501A (zh) 一种基于cpld的异步串行信号采样译码方法
KR102189511B1 (ko) 데이터 송신 방법과 장치, 데이터 수신 방법과 장치
CN103812610A (zh) 一种数据通信方法、终端及信息安全设备
CN105591716B (zh) 一种基于单载波的串行数据通信方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant