CN115834308A - 一种跨时域通讯可纠错的曼彻斯特解码方法 - Google Patents

一种跨时域通讯可纠错的曼彻斯特解码方法 Download PDF

Info

Publication number
CN115834308A
CN115834308A CN202211429935.2A CN202211429935A CN115834308A CN 115834308 A CN115834308 A CN 115834308A CN 202211429935 A CN202211429935 A CN 202211429935A CN 115834308 A CN115834308 A CN 115834308A
Authority
CN
China
Prior art keywords
counter
data
state
manchester
decoding
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.)
Pending
Application number
CN202211429935.2A
Other languages
English (en)
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.)
Nanjing Sac New Energy Technology Co ltd
Original Assignee
Nanjing Sac New Energy Technology 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 Nanjing Sac New Energy Technology Co ltd filed Critical Nanjing Sac New Energy Technology Co ltd
Priority to CN202211429935.2A priority Critical patent/CN115834308A/zh
Publication of CN115834308A publication Critical patent/CN115834308A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明提供了一种跨时域通讯可纠错的曼彻斯特解码方法包括:解码单元、存储数据单元、判错单元和CRC校验单元;解码单元对串行进来的曼彻斯特码进行采样,利用电平沿和检测时间的方法进行解码,解码完成后发送标志位和数据传输给存储单元存储;判错单元对存储数据单元存储的帧头数据检测,数据不一致时将标志位发送给解码单元,进行解码调整。相对于检测单一电平或电平跳变沿而言,本申请方法结合电平沿和检测时间的方法,有效解决跨时域时钟数据宽度压缩的问题,可以在上电的时候迅速纠错找到正确的起始位进行解码,实现了上电时候的迅速纠错;并且通过帧头和CRC的双重判断,保证解出的二进制码的正确性。

Description

一种跨时域通讯可纠错的曼彻斯特解码方法
技术领域
本发明属于电力电子设备通信技术领域,具体涉及基于跨时域通讯的可纠错的曼彻斯特码解码方法。
背景技术
曼彻斯特编码(Manchester Encoding)是一种同步时钟编码技术,也叫做相位编码(PE),跳变电平传输同步时钟信息,无需单独时钟同步信号,不含直流分量,具有很好的抗干扰能力,更适合于信道传输在以太网媒介系统中。在本专利文献中,没有特别说明即使用“曼彻斯特编码信号”来特指采用曼彻斯特编码规则进行编码,继而进行传输的数据。
在曼彻斯特编码规则中,曼彻斯特编码信号中每一位数据的中间有一个跳变,由高电平向低电平跳变代表数据位“1”,由低电平向高电平跳变代表数据位“0"。然而曼彻斯特码由于没有特殊电平来判断起始位,极易找错起始位而解错数据,对此,因此,需要提供一种针对现有技术不足的改进技术方案。
现有技术CN 105281776 A一种可纠错的曼彻斯特解码装置及其方法,没有考虑到跨时钟域时曼彻斯特码高低电平宽度变化的问题,只对误码进行了判断,而本文误码进行判断的方式是CRC校验。
现有技术CN 105162471 A一种差分曼彻斯特解码电路及方法,没有考虑到跨时钟域时曼彻斯特码高低电平宽度变化的问题,也没有对误码进行判断。
发明内容
为了解决上述背景技术存在的问题,本发明的目的在于提供一种异步通讯可纠错的曼彻斯特解码方法,属于一种异步通讯的曼彻斯特解码方法,用于正确解析曼彻斯特码数据。
为实现上述目的,本发明技术方案如下。
一种跨时域通讯可纠错的曼彻斯特解码方法,一帧曼彻斯特码数据包括帧头、数据段和CRC校验码;
每16位曼彻斯特码定义为一组数据,每14组数据组成一帧数据的数据段,在数据段前面添加帧头,帧头包括2组数据(帧头信息包括2组曼彻斯特码),数据段后面添加CRC校验位,CRC校验位长度为两组数据长度,一共构成18组数据,所述18组数据组成一帧曼彻斯特码数据;
本申请一种跨时域通讯可纠错的曼彻斯特解码方法,包括解码单元、存储数据单元、判错单元和CRC校验单元:
解码单元对串行进来的曼彻斯特码进行解码,每16位曼彻斯特码作为一组数据进行解码,获得解码后数据;一组数据解码完成后产生第一高电平方波信号,第一高电平方波信号是存储数据单元的触发条件;
存储数据单元接收到第一高电平方波信号后对解码后的数据进行存储;
判错单元对存储数据单元存储的帧头数据检测,帧头数据是根据FT3规约规则定的两个固定值的八位字节的起始符,如果判断接收到的帧头数据不为固定值,则存储单元数据不一致,当存储单元数据不一致时,进行累计计数,当累计次数到达判错限定值时,产生第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后累计计数;
CRC校验单元对曼彻斯特码转换后的二进制码进行CRC校验。
解码单元包括计数器一、计数器二、计数器三和计数器四,判错单元包括计数器五;
计数器一用于解析曼彻斯特码;计数器二计数用于一组数据解析完成后输出第一高电平方波信号;如果收到第二高电平方波信号,计数器三加一;计数器四为解码过程中数据计数,用于解完两位曼彻斯特码时能到达下一个曼彻斯特码的初始位置。
计数器一的计数范围为0-5,计数器二的计数范围为0-7,计数器三的计数范围为0-7,计数器四的累计计数量大于8,计数器五的累计计数量大于判错限定值(本实施例判错限定值为78);
所述计数器一用于状态机计数,计数器一有6个状态,所述6个状态分别为计数器一的取值,计数器一的取值分别为0、1、2、3、4和5,根据计数器一的值判断当前解码的状态;当计数器一的值为0,判断计数器二与计数器三的值,一组曼彻斯特码为16位,组成8位二进制码,计数器二与计数器三两个计数器的范围均为0-7,当计数器二与计数器三的累计计数值相等时,表示一组数据解析完成,产生第一高电平方波信号,触发存储数据单元存储数据;计数器一处于1、2、3和状态4时为解码状态,计数器一处于状态5时1位二进制码解析完,计数器二加1,所述计数器三初始值为0,检测到存储单元数据不一致时,判错单元触发计数器五加1,当计数器五的累计次数到达限定值时,产生第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后计数器三加1。
每当计数器二与计数器三累计计数相同时,表示一组数据解析完,产生小宽度的第一高电平方波信号,第一高电平方波信号的宽度为解析数据时钟的一个时钟周期。第一高电平方波信号和第二高电平方波信号的宽度为解析数据时钟的一个时钟周期。
当计数器一处于0状态时,判断此时初始电平状态,初始电平为0时,进入状态3,寻找到上升沿后,输出解码0,进入状态4,计数器四计数到6后清零,计数器一进入状态5;初始电平为1时,进入状态1,下降沿触发后,输出解码1,进入状态2,计数器四累计计数到8(计数器四累计计数8)后清零,计数器一进入状态5。
所述判错单元接收到解码单元的第一高电平方波信号后,比较存储的帧头值是否为FT3协议规定的帧头数据,不一致时,计数器五自加1,等下一组数据到来时继续判断,计数器五到达规定的时间长度时,计数器三加1。
在异步传输的时候,当t1时刻,计数器一处于状态0,判断到起始位初始态为0,计数器一进入状态3,寻找上升沿后,解出数据为0,t2时刻计数器一进入状态4,计数器四开始计数,计数到6时到达t3时刻,计数器四清零;计数器一进入状态5,计数器二加1;从t1~t3的过程完成1位二进制码的解码;在计数器二完成加1后,计数器一再次回到0状态判断起始位,起始位为1,检测到计数器一进入状态1,寻找下升沿后,解出数据为1,t4时刻计数器一进入状态2,计数器四开始计数,计数到8时到达t5时刻,将计数器四清零;此时计数器一进入状态5,计数器二加1;
当计数器一处于0时,判断电平状态,若电平为1进入状态1,寻找到数据下降沿,然后进入状态2,计数器四开始计数,计数器四的累计计数值为8时,进入状态5,计数器四清零,计数器二加1。
当计数器三与计数器二的累计值相等时,产生第一高电平方波信号,存储单元存储数据;当一帧数据进来的时候,帧头解析完成后对帧头进行判断,若帧头与协议中固定的帧头数据相同,则解码继续进行,当一帧数据传输完成后计算CRC校验码,计算出的CRC校验码与传输过来的CRC校验码进行对比,判断此帧数据是否有误;如若计算出的CRC校验码与传输过来的数据中的CRC校验码不相同,则数据有误,发送第三高电平方波信号给上位机舍弃该帧数据。第三高电平方波信号的宽度为解析数据时钟的一个时钟周期。
计数器二和计数器三的范围为0~7,计数器三是只有在存在故障时,计数器三的值改变,计数器二在每次计数器一的状态为5时都会加一,每次加一,都表示着一位二进制码的解出,当计数器二和计数器三的值相等时,完成8位二进制码的解码(一组数据)。
本发明的有益效果包括:
本申请公开一种跨时域通讯可纠错的曼彻斯特解码方法,结合电平沿和检测时间的方法,有效解决跨时域时钟数据宽度压缩的问题;
本发明公开一种跨时域通讯可纠错的曼彻斯特解码方法,可以在上电的时候迅速纠错找到正确的起始位进行解码,本申请添加了纠错单元,该单元包括计数器五,计数器五在接收到错误的帧头数据(也就表明起始位错误)时,计数器五会自加一,当计数器五的值达到判错限定数值时,触发第二高电平信号;第二高电平信号传入解码单元,解码单元接收到第二高电平信号时,计数器三会自加一,此时就修改了解码的起始位位置,实现了上电时候的迅速纠错;并且通过帧头和CRC的双重判断,保证解出的二进制码的正确性。
附图说明
图1是本发明一种跨时域通讯可纠错的曼彻斯特解码方法流程示意图;
图2是本发明曼彻斯特码数据协议示意图;
图3是本发明曼彻斯特码的解析方法的实施例流程图;
图4是本发明起始位探测方法示意图。
具体实施方式
下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图2所示为本发明数据协议示意图,本发明采用GB/T 18657.1—2002 中规定的FT3 通信规约,每16位曼彻斯特码定义为一组数据,每18组数据定义为一帧数据,其中含有2组帧头信息,并添加CRC校验位。
一种跨时域通讯可纠错的曼彻斯特解码方法,一帧曼彻斯特码数据包括帧头、数据段和CRC校验码;
每16位曼彻斯特码定义为一组数据,每14组数据组成一帧数据的数据段,在数据段前面添加帧头,帧头包括2组帧头信息,数据段后面添加CRC校验位CRC校验位长度为两组数据长度,一共构成18组数据,所述18组数据组成一帧曼彻斯特码数据;
如图1所示,本实施例一种跨时域通讯可纠错的曼彻斯特解码方法,包括解码单元、存储数据单元、判错单元和CRC校验单元:
解码单元对串行进来的曼彻斯特码进行解码,每32位曼彻斯特码表示一种参数(模式、功率)的值,每16位曼彻斯特码作为一组数据进行解码,获得解码后数据;一组数据解码完成后产生一个小宽度的第一高电平方波信号,第一高电平方波信号作为存储数据单元的触发条件。
存储数据单元接收到第一高电平方波信号后对解码后的数据进行存储。
判错单元对存储数据单元存储的帧头数据检测,帧头数据是根据FT3规约规则定的两个固定值的八位字节的起始符,如果判断接收到的帧头数据不为固定的值,则存储单元数据不一致,当存储单元数据不一致时,进行累计计数,当累计次数到达判错限定值时,产生一个小宽度的第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后累计计数;
CRC校验单元对曼彻斯特码转换后的二进制码进行CRC校验。
帧头是整帧数据的最先进来的数据,为2组数据,同其他数据一样解码,当对帧头数据解码完成后,该数据就已经存储好了。
CRC校验单元为对存储单元里的数据进行校验,计算完成后传回存储单元与数据发送过来的CRC值进行比较。
解码单元包括计数器一、计数器二、计数器三和计数器四,判错单元包括计数器五;
计数器一用于解析曼彻斯特码;计数器二计数用于一组数据解析完成后输出第一高电平方波信号(解码完成标志位);计数器三初始值为0,如果有解码错误标志位(第二高电平方波信号),该计数器三加一,影响一组数据解析的位置;计数器四为解码过程中数据计数,用于解完两位曼彻斯特码时能到达下一个曼彻斯特码的初始位置。
计数器一的计数范围为0-5,计数器二的计数范围为0-7,计数器三的计数范围为0-7,计数器四的累计计数量大于8,计数器五的累计计数量大于判错限定值(本实施例判错限定值为78)。
所述计数器一用于状态机计数,有6个状态(6个状态分别为计数器一的取值,计数器一的取值分别为0、1、2、3、4和5),根据计数器一的值判断当前解码的状态;当计数器一的值为0,判断计数器二与计数器三的值,一组曼彻斯特码为16位,组成8位二进制码,计数器二与计数器三两个计数器的范围均为0-7,当计数器二与计数器三的累计计数值相等时,表示一组数据解析完成,产生第一高电平方波信号,触发存储数据单元存储数据,计数器一处于1、2、3和状态4时为解码状态,计数器一处于状态5时1位二进制码解析完,计数器二加1,所述计数器三初始值为0,检测到存储单元数据不一致时,判错单元触发计数器五加1,当计数器五的累计次数到达判错限定值时,产生一个小宽度的第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后计数器三加1。
当计数器一处于0状态时,判断此时初始电平状态,初始电平为0时,进入状态3,上升沿触发后,输出解码0,进入状态4,计数器四开始计数,计数到6后计数器清零,进入状态5;初始电平为1时,进入状态1,下降沿触发后,输出解码1;计数器一进入状态2,计数器四计数到8(计数器四的范围均为0-7,计数器四就是计数到8,指的是累计计数8,计数器四的值为7)后清零,进入状态5。
计数器一的作用用于解析曼彻斯特码,计数器二用于计数,以便一组数据解析完成后输出第一高电平方波信号(解码完成标志位),计数器三为初始计数值(固定值,如果有解码错误标志位,计数器三加一,影响表示一组数据解析的位置),计数器四为解码过程中数据计数,方便解完两位曼彻斯特码时能到达下一个曼彻斯特码的初始位置。
所述存储单元接收到第一高电平方波信号(触发标志)时,存储当前数据。
所述判错单元包括计数器五,接收到解码单元的第一高电平方波信号后,首先比较存储的帧头值是否为FT3协议规定的帧头数据,不一致时,计数器五自加1,等下一帧数据到来时继续判断,计数器五到达规定的时间长度时,计数器三加1。
帧头是整帧数据的最先进来的数据,帧头包括2组曼彻斯特码数据,每16位曼彻斯特码定义为一组数据,同其他数据一样解码,当对帧头数据解码完成后,该数据就已经存储好了。
所述CRC校验单元为对存储单元里的数据进行校验,计算完成后传回存储单元与数据发送过来的CRC值进行比较。
在异步传输的时候,当t1时刻,在计数器一处于0状态时,得到一个初始电平状态,初始电平为0时,进入状态3,上升沿触发后,输出解码0,然后进入状态4,计数器四计数到6后清零;初始电平为1时,进入状态1,下降沿触发后,输出解码1,计数器一进入状态2,计数器四计数到8后并清零。
如图3所示为本发明曼彻斯特码的解析方法的实施例流程图,存在4种情况,本文举例一种情况作为讨论,在异步传输的时候,由于时钟域的不同,且硬件损耗,会导致曼彻斯特码的高电平宽度压缩,且判断上升沿和下降沿占据了时间,如图2所示,图中的t1时刻,计数器一处于状态0,判断到起始位初始态为0,计数器一进入状态3,寻找上升沿后,解出数据为0,t2时刻计数器一进入状态4,计数器四开始计数,计数到6时到达t3时刻,计数器四清零。此时计数器一进入状态5,计数器二加1。从t1~t3的过程已经完成了1位二进制码的解码。在计数器二完成加1后,计数器一再次回到0状态判断起始位,此时起始位为1,检测到计数器一进入状态1,寻找下升沿后,解出数据为1,t4时刻计数器一进入状态2,计数器四开始计数,计数到8时到达t5时刻,将计数器四清零。此时计数器一进入状态5,计数器二加1。t1、t2、t3、t4是时钟周期计时的起始时刻。
当计数器一处于0时,判断数据解析前电平状态(对应的是图3中二进制码的高低电平),若电平为0进入状态3,寻找到数据上升沿,计数器一进入状态4,计数器四开始计数,计数值为6时,进入状态5,计数器四清零。计数器二加1
当计数器一处于0时,判断起始位的电平状态,如果起始状态为1,计数器一进入状态1 ,寻找到数据下降沿,进入状态2,计数器四开始计数,计数器四的累计计数值为8时,进入状态5,计数器四清零,计数器二加1。
第一高电平方波信号、第二高电平方波信号和第三高电平方波信号的宽度为解析数据时钟的一个时钟周期。
如图4所示为本发明起始位探测方法示意图,此时图中所示的信号为解码单元发送的第一高电平方波信,
此时图中0~7表示的位置为第一高电平方波信号可能存在的位置。
由于计数器二与计数器三相等,计数器三初始为0时,才能将此时的第一高电平方波信号传出,计数器三就有如图3的7种情况作为高电平标志位,若正确的解码为图中所示的01010101,但是刚开始解码位置正好落在0的位置,故解出数据为10101010发送给了储存单元时,由于数据不正确,储存单元接收到并检测时会一直出错,计数器五累加,直到触发第二高电平方波信号,此时,计数器三自加1,储存单元接收到正确的值01010101,此方法可以快速解决开机时不稳定解码位置错误的问题。
错误标志位不位于数据信息中,只是储存单元传给解码单元的一个值。
当计数器一处于0时,判断电平状态,若电平为0进入状态3,寻找到数据上升沿,进入状态4,计数器四开始计数,计数值为6时,进入状态5,计数器四清零,计数器二加1。
当计数器一处于0时,判断电平状态,若电平为1进入状态1,寻找到数据下降沿,进入状态2,计数器四开始计数,计数器四值为8,进入状态5,计数器四清零,计数器二加1。
当计数器三与计数器二的值相等时,产生第一高电平方波信号,存储单元存储数据。当一帧数据进来的时候,帧头解析完成后对帧头进行判断,若帧头与协议中固定的帧头数据相同,则解码继续进行,当一帧数据传输完成后计算CRC校验码,计算出的校验码与传输过来的校验码进行对比,判断此帧数据是否有误。如若该值与协议中固定的帧头数据不相同,则计数器五被触发加1,当计数器五累加到一定值时第二高电平方波信号发送给解码单元,计数器五清零,计数器三自加1。计数器二和计数器三的范围为0~7,计数器三是只有在存在故障时,该计数器的值才会改变,而计数器二在每次计数器一的状态为5时都会加一,每次加一,都表示着一位二进制码的解出,故当两个计数器值相等时,也就是完成了8位二进制码的解码(一组数据),如图3,计数器三表示的0~7,也就是第一高电平能在的不同位置。
综上所述,采取本发明的控制方法,实现了曼彻斯特码的解析,并且解决了在上电时,可以快速恢复起始位解析错误问题。得到并输出正确的二进制码。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种跨时域通讯可纠错的曼彻斯特解码方法,一帧曼彻斯特码数据包括帧头、数据段和CRC校验码;
每16位曼彻斯特码定义为一组数据,每14组数据组成一帧数据的数据段,在数据段前面添加帧头,帧头包括2组数据,数据段后面添加CRC校验位,CRC校验位长度为两组数据长度,一共构成18组数据,所述18组数据组成一帧曼彻斯特码数据;
其特征在于,包括解码单元、存储数据单元、判错单元和CRC校验单元:
所述解码单元对串行进来的曼彻斯特码进行解码,每16位曼彻斯特码作为一组数据进行解码,获得解码后数据;一组数据解码完成后产生第一高电平方波信号,第一高电平方波信号是存储数据单元的触发条件;
所述存储数据单元接收到第一高电平方波信号后对解码后的数据进行存储;
所述判错单元对存储数据单元存储的帧头数据检测,帧头数据是根据FT3规约规则定的两个固定值的八位字节的起始符,如果判断接收到的帧头数据不为固定值,则存储单元数据不一致,当存储单元数据不一致时,计数器五进行累计计数,当累计次数到达判错限定值时,产生第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后累计计数;
所述CRC校验单元对曼彻斯特码转换后的二进制码进行CRC校验。
2.根据权利要求1所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
所述解码单元包括计数器一、计数器二、计数器三和计数器四,判错单元包括计数器五;
所述计数器一用于状态机计数,计数器二计数用于一组数据解析完成后输出第一高电平方波信号;如果收到第二高电平方波信号,计数器三加一;计数器四为解码过程中数据计数,用于解完两位曼彻斯特码时能到达下一个曼彻斯特码的初始位置。
3.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
计数器一的计数范围为0-5,计数器二的计数范围为0-7,计数器三的计数范围为0-7,计数器四的累计计数量大于8,计数器五的累计计数量大于判错限定值。
4.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
所述计数器一用于状态机计数,计数器一有6个状态,所述6个状态分别为计数器一的取值,根据计数器一的值判断当前解码的状态;当计数器一的值为0,判断计数器二与计数器三的值,一组曼彻斯特码为16位,组成8位二进制码,当计数器二与计数器三的累计计数值相等时,表示一组数据解析完成,产生第一高电平方波信号,触发存储数据单元存储数据;计数器一处于状态1、2、3和4时为解码状态,计数器一处于状态5时1位二进制码解析完,计数器二加1,所述计数器三初始值为0,检测到存储单元数据不一致时,判错单元触发计数器五加1,当计数器五的累计次数到达判错限定值时,产生第二高电平方波信号发送给解码单元,解码单元接收到第二高电平方波信号后计数器三加1。
5.根据权利要求1所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
第一高电平方波信号和第二高电平方波信号的宽度为解析数据时钟的一个时钟周期。
6.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
当计数器一处于0状态时,判断此时初始电平状态,初始电平为0时,进入状态3,寻找到上升沿后,并解出此时的二进制码为0;随后计数器一进入状态4,计数器四计数到6,计数器四清零后,计数器一进入状态5;初始电平为1时,计数器一进入状态1,寻找到下降沿后,并解出此时的二进制码为1;随后计数器一进入状态2,计数器四累计计数到8,计数器四清零后,计数器一状态5。
7.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
所述判错单元接收到解码单元的第一高电平方波信号后,比较存储的帧头值是否为FT3协议规定的帧头数据,不一致时,计数器五自加1,等下一组曼彻斯特解码数据到来时继续判断,计数器五到达规定的时间长度时,计数器三加1。
8.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
在异步传输的时候,当t1时刻,计数器一处于状态0,判断起始位,当起始位的电平为0时,计数器一进入状态3,寻找上升沿后,解出数据为0,t2时刻计数器一进入状态4,计数器四开始计数,计数到6时到达t3时刻,计数器四清零;计数器一进入状态5,计数器二加1;从t1~t3的过程完成1位二进制码的解码;在计数器二完成加1后,计数器一再次回到0状态判断起始位,起始位为1,检测到计数器一进入状态1,寻找下升沿后,解出数据为1,t4时刻计数器一进入状态2,计数器四开始计数,计数到8时到达t5时刻,将计数器四清零;此时计数器一进入状态5,计数器二加1;
当t1时刻,计数器一处于状态0,如果起始电平为1,计数器一进入状态1 ,寻找到数据下降沿,进入状态2,计数器四开始计数,计数器四的累计计数值为8时,进入状态5,计数器四清零,计数器二加1。
9.根据权利要求2所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
当一帧数据进来解码时,帧头解析完成后对帧头进行判断,若帧头与协议中固定的帧头数据相同,则解码继续进行,当一帧数据传输完成后计算CRC校验码,计算出的CRC校验码与传输过来的CRC校验码进行对比,判断此帧数据是否有误;如若计算出的CRC校验码与协议中传输过来的CRC校验码不相同,则数据有误,发送第三高电平方波信号给上位机舍弃所述帧数据。
10.根据权利要求9所述的一种跨时域通讯可纠错的曼彻斯特解码方法,其特征在于,
第三高电平方波信号的宽度为解析数据时钟的一个时钟周期。
CN202211429935.2A 2022-11-15 2022-11-15 一种跨时域通讯可纠错的曼彻斯特解码方法 Pending CN115834308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211429935.2A CN115834308A (zh) 2022-11-15 2022-11-15 一种跨时域通讯可纠错的曼彻斯特解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211429935.2A CN115834308A (zh) 2022-11-15 2022-11-15 一种跨时域通讯可纠错的曼彻斯特解码方法

Publications (1)

Publication Number Publication Date
CN115834308A true CN115834308A (zh) 2023-03-21

Family

ID=85528294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211429935.2A Pending CN115834308A (zh) 2022-11-15 2022-11-15 一种跨时域通讯可纠错的曼彻斯特解码方法

Country Status (1)

Country Link
CN (1) CN115834308A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117872101A (zh) * 2024-01-11 2024-04-12 北京中科昊芯科技有限公司 一种基于曼彻斯特解码的数字滤波电路测试的装置及方法
CN117931720A (zh) * 2024-03-22 2024-04-26 南京大学 基于局部总线结构改进的串行总线及数据交互方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117872101A (zh) * 2024-01-11 2024-04-12 北京中科昊芯科技有限公司 一种基于曼彻斯特解码的数字滤波电路测试的装置及方法
CN117931720A (zh) * 2024-03-22 2024-04-26 南京大学 基于局部总线结构改进的串行总线及数据交互方法

Similar Documents

Publication Publication Date Title
CN115834308A (zh) 一种跨时域通讯可纠错的曼彻斯特解码方法
US8605912B2 (en) Biphase mark code decoder and method of operation
EP2838204A1 (en) Decoding processing method and decoder
CN102281123B (zh) 用于检测下行链路控制信息有效性的方法以及用于执行该方法的解码器和基带接收机
CN109687867B (zh) 一种无晶振usb设备时钟校准方法及校准电路
JP2006262454A (ja) クロック再生方法及びマンチェスタ復号方法
US7533326B2 (en) Adaptive decoder for decoding an asynchronous data stream
CN114936112B (zh) 无源超高频电子标签芯片数字基带处理器控制方法
CN103905065A (zh) 一种卷积码译码方法和装置
WO2016095569A1 (zh) 降低误检率的方法、装置及存储介质
US10009040B2 (en) Method and apparatus for identification and compensation for inversion of input bit stream in LDPC decoding
CN111147085A (zh) 一种信号翻转码的解码方法及装置
US9621189B2 (en) Method and apparatus for identification and compensation for inversion of input bit stream in Ldpc decoding
CN111726125A (zh) 一种基于模板匹配的含错级联码识别方法
CN112765073A (zh) 一种数据采样方法、系统、存储介质以及计算机设备
CN112235221B (zh) Bpsk信号解码方法及装置
CN102970048B (zh) 一种基于bch码译码的bch码编码参数盲识别方法
US9281973B2 (en) Method for demodulating at least one frame consisting of a succession of bits coded according to a Manchester code
US8644432B2 (en) Viterbi decoder for decoding convolutionally encoded data stream
US20240340202A1 (en) Decoding systems and methods for mitigating distortions in digital signals
CN113114273B (zh) Ldpc码的校验矩阵提取方法及系统、设备
RU2009122953A (ru) Способ декодирования помехоустойчивых каскадных кодов по наиболее достоверным символам внешнего кода
JP4153610B2 (ja) 畳み込み符号化信号の受信装置
CN115118386A (zh) 解码方法、装置、解码器、可读存储介质及电子设备
CN109217875B (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