CN115664622A - 一种曼彻斯特解码方法 - Google Patents
一种曼彻斯特解码方法 Download PDFInfo
- Publication number
- CN115664622A CN115664622A CN202211271130.XA CN202211271130A CN115664622A CN 115664622 A CN115664622 A CN 115664622A CN 202211271130 A CN202211271130 A CN 202211271130A CN 115664622 A CN115664622 A CN 115664622A
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- head
- bytes
- clk
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种曼彻斯特解码方法,所述解码步骤包括:A、bit时钟提取及数据恢复;B、字节同步及帧同步;C、数据输出;本发明的解码方式更加的简单可靠,可留出更多的资源供其他使用。
Description
技术领域
本发明涉及通信技术领域,具体为一种曼彻斯特解码方法。
背景技术
曼彻斯特编码是一种双向编码。它也是通过电平的高低转换来表示“0”或“1”,每位中间的电平转换既表示了数据代码,也作为定时信号使用。曼初斯特编码常常用在以太网中。
在曼彻斯特编码方式中,每一位的中间有一跳变,位中间的跳变既作为时钟信号,又作为数据信号;从高到低的跳变表示“1”,从低到高的跳变表示“0”;
所以曼彻斯特编码是将时钟和数据包含在信号流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方。
因此解码时就需要从接收信号中分离出曼彻斯特码中的时钟和数据信号,在现有的解码算法中,都是根据 MCLK1 检测到的跳变沿然后启动锁相环来跟踪数据,根据曼彻斯特编码规律,从连“0”或连“1”计的数据序列中,根据内部锁相环的频率计数,然后精确判断出收到的第一个曼码中 “0->1”或者“1->0”的跳变沿,从而收到准确的第一个 bit 位;这种方法的不利之处在于占用 CPLD 的资源多,算法麻烦。
发明内容
本发明的目的在于提供一种曼彻斯特解码方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种曼彻斯特解码方法,所述解码步骤包括:
A、bit时钟提取及数据恢复,所述时钟提取逻辑为:
(1)检测每个跳变沿,得到解码时钟MCLK1;
(2)MCLK1&Q触发一个触发器,输出Q=0,0的宽度为24倍CLK_A;
(3)MCLK1与Q,得到MCLK2;
(4)用MCLK2输入到M_CODE,即得到原始数据data2;
B、字节同步及帧同步;
C、数据输出。
优选的,所述时钟提取逻辑中的,步骤(2)的具体操作方法如下:
在收到第一个跳变沿后,启动 D触发器使输出为低电平,此低电平的持续时间为24个CLK_A 的周期,即可准确定位收到的第一个“0->1”或者“1->0”的跳变沿,继而保证正确收到第一个 bit 位;
同时,也可以根据不同的通讯速率要求,改变这个输出Q 的持续低电平的 CLK_A的计数值,来适配不同的速率要求,总的一个原则即是,要保证CLK_A 的频率在通讯速率的32 倍以上。
优选的,所述步骤B的具体操作方法是:
将每个 MCLK2 的采样脉冲作为一个 bit 位,顺序移入移位寄存器并计数,同时将整个移位寄存器的值与曼码序列的帧头或帧尾数据进行比对,从而完成帧头或帧尾的定位,同时将定位成功的数据移入 data 序列以备输出;
然后,再对于曼码通讯序列,主要是通过每个帧的帧头或帧尾有几个字节的特定字符,由于帧头与帧尾的特定字符是不同的,因此可以根据每次收到的帧头部分的比较,来确定帧头首个字符,最终通过顺序计数来得到完整的帧头。
优选的,所述步骤C的具体操作方法是:
匹配到帧头后,以第1个“0x40”为起始,收完8个字节后整体写入起始地址为0xAA的数据存储区,并将计数寄存器0xBB加1(从0开始计数,0~3,没有写数据时计数器为0xff)供CPU读取。需要注意的是,第4片数据只有6个字节,收完6个字节后即整体写入数据存储区,并将计数寄存器0xBB加1。
与现有技术相比,本发明的有益效果是:本发明的解码方式更加的简单可靠,可留出更多的资源供其他使用。
附图说明
图1为本发明的解码图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种曼彻斯特解码方法,所述解码步骤包括:
A、bit时钟提取及数据恢复,所述时钟提取逻辑为:
(1)检测每个跳变沿,得到解码时钟MCLK1,其中采样到的上升沿、下降沿得到的MCLK1 正脉冲宽度,与采样频率相关;
(2)MCLK1&Q触发一个触发器,输出Q=0,0的宽度为24倍CLK_A;
(3)MCLK1与Q,得到MCLK2,具体的是将MCLK1 与 Q 输出相与,从而得到与最终解码输出数据一致的采样时钟 MCLK2,该时钟 MCLK2 的产生是解码的关键;
(4)用MCLK2输入到M_CODE,即得到原始数据data2。
所述时钟提取逻辑中的,步骤(2)的具体操作方法如下;
在收到第一个跳变沿后,启动 D触发器使输出为低,这个低电平的持续时间为 24个CLK_A 的周期,如此设置,即是为了准确定位收到的第一个“0->1”或者“1->0”的跳变沿,也就是保证正确收到第一个 bit 位;
同时,也可以根据不同的通讯速率要求,改变这个输出Q 的持续低电平的 CLK_A的计数值,来适配不同的速率要求,总的一个原则是:CLK_A 的频率应该在通讯速率的 32倍以上即可;
如此处理,是最简单的得到与曼彻斯特编码调试信号bit 位一直的采样时钟,通过对Q 的输出持续时间的设置,可以完全避免采样时因为采样是连“0”或连“1”的编码下降沿而可能导致的误判,从而精确定位到准确的采样 bit 位。
B、字节同步及帧同步,具体操作方法是:
将每个 MCLK2 的采样脉冲作为一个 bit 位,顺序移入移位寄存器并计数,同时将整个移位寄存器的值与曼码序列的帧头或帧尾数据进行比对,从而完成帧头或帧尾的定位,同时将定位成功的数据移入 data 序列以备输出;
然后,再对于曼码通讯序列,主要是通过每个帧的帧头或帧尾有几个字节的特定字符,由于帧头与帧尾的特定字符是不同的,因此可以根据每次收到的帧头部分的比较,来确定帧头首个字符,最终通过顺序计数来得到完整的帧头;
以中国移动 5G 前传定义曼码帧为例,帧头为4个“0x7e”(帧头),帧尾为1个“0x7e”,即可得到字节边界(字节同步时钟)及帧边界;
具体的定长帧结构格式(如表C.2所示),当帧长为30字节,前5个字节为前导符0x40,最后一个字节为结束符0x7F,CRC-8用于校验剩余字节;
光模块使用A2h设备地址的Page 30h byte 129 byte 135分别存储OAM帧的帧类型、本地状态、对端状态、命令ID、命令参数、双线地址和起始地址。接收端使用Page 30h的byte 224"byte 253存储接收到的每一帧的信息,光模块管理接口协议遵从SPF-8472。
表C.2为帧结构格式:
名称 | 前导符 | 帧类型 | 状态 | 波长 | 命令 | 命令参数 | 双线地址 | 起始地址 | 数据(16字节) | CRC-8 | 结束符 |
长度(字节) | 5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 16 | 1 | 1 |
C、数据输出,具体操作方法是:
匹配到帧头后,以第1个“0x40”为起始,收完8个字节后整体写入起始地址为0xAA的数据存储区,并将计数寄存器0xBB加1(从0开始计数,0~3,没有写数据时计数器为0xff)供CPU读取。需要注意的是,第4片数据只有6个字节,收完6个字节后即整体写入数据存储区,并将计数寄存器0xBB加1。
对于本领域技术人员而言,显然发明不限于上述示范性实施例的细节,而且在不背离发明的精神或基本特征的情况下,能够以其他的具体形式实现发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种曼彻斯特解码方法,其特征在于:所述解码步骤包括:
A、bit时钟提取及数据恢复,所述时钟提取逻辑为:
(1)检测每个跳变沿,得到解码时钟MCLK1;
(2)MCLK1&Q触发一个触发器,输出Q=0,0的宽度为24倍CLK_A;
(3)MCLK1与Q,得到MCLK2;
(4)用MCLK2输入到M_CODE,即得到原始数据data2;
B、字节同步及帧同步;
C、数据输出。
2.根据权利要求1所述的一种曼彻斯特解码方法,其特征在于:所述时钟提取逻辑中的,步骤(2)的具体操作方法如下:
在收到第一个跳变沿后,启动 D触发器使输出为低电平,此低电平的持续时间为 24个CLK_A 的周期,即可准确定位收到的第一个“0->1”或者“1->0”的跳变沿,继而保证正确收到第一个 bit 位;
同时,也可以根据不同的通讯速率要求,改变这个输出Q 的持续低电平的 CLK_A 的计数值,来适配不同的速率要求,总的一个原则即是,要保证CLK_A 的频率在通讯速率的 32倍以上。
3.根据权利要求1所述的一种曼彻斯特解码方法,其特征在于:所述步骤B的具体操作方法是:
将每个 MCLK2 的采样脉冲作为一个 bit 位,顺序移入移位寄存器并计数,同时将整个移位寄存器的值与曼码序列的帧头或帧尾数据进行比对,从而完成帧头或帧尾的定位,同时将定位成功的数据移入 data 序列以备输出;
然后,再对于曼码通讯序列,主要是通过每个帧的帧头或帧尾有几个字节的特定字符,由于帧头与帧尾的特定字符是不同的,因此可以根据每次收到的帧头部分的比较,来确定帧头首个字符,最终通过顺序计数来得到完整的帧头。
4.根据权利要求1所述的一种曼彻斯特解码方法,其特征在于:所述步骤C的具体操作方法是:
匹配到帧头后,以第1个“0x40”为起始,收完8个字节后整体写入起始地址为0xAA的数据存储区,并将计数寄存器0xBB加1(从0开始计数,0~3,没有写数据时计数器为0xff)供CPU读取;
需要注意的是,第4片数据只有6个字节,收完6个字节后即整体写入数据存储区,并将计数寄存器0xBB加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211271130.XA CN115664622B (zh) | 2022-10-18 | 2022-10-18 | 一种曼彻斯特解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211271130.XA CN115664622B (zh) | 2022-10-18 | 2022-10-18 | 一种曼彻斯特解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664622A true CN115664622A (zh) | 2023-01-31 |
CN115664622B CN115664622B (zh) | 2023-07-04 |
Family
ID=84989202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211271130.XA Active CN115664622B (zh) | 2022-10-18 | 2022-10-18 | 一种曼彻斯特解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664622B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006262454A (ja) * | 2005-02-18 | 2006-09-28 | Matsushita Electric Ind Co Ltd | クロック再生方法及びマンチェスタ復号方法 |
CN104468042A (zh) * | 2014-12-03 | 2015-03-25 | 中电博瑞技术(北京)有限公司 | 一种数据传输方法和系统 |
CN108512552A (zh) * | 2018-06-15 | 2018-09-07 | 珠海市微半导体有限公司 | 一种曼彻斯特码的解码系统及解码方法 |
CN108631898A (zh) * | 2018-04-17 | 2018-10-09 | 武汉市星云综合能源技术有限公司 | 一种光纤串行数据通信方法 |
CN109756303A (zh) * | 2019-03-04 | 2019-05-14 | 北方天穹信息技术(西安)有限公司 | 一种单工异步曼彻斯特码接收解码方法 |
CN114416626A (zh) * | 2021-11-22 | 2022-04-29 | 中国科学院西安光学精密机械研究所 | 一种基于8b/10b编码的异步串行数据恢复方法 |
-
2022
- 2022-10-18 CN CN202211271130.XA patent/CN115664622B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006262454A (ja) * | 2005-02-18 | 2006-09-28 | Matsushita Electric Ind Co Ltd | クロック再生方法及びマンチェスタ復号方法 |
CN104468042A (zh) * | 2014-12-03 | 2015-03-25 | 中电博瑞技术(北京)有限公司 | 一种数据传输方法和系统 |
CN108631898A (zh) * | 2018-04-17 | 2018-10-09 | 武汉市星云综合能源技术有限公司 | 一种光纤串行数据通信方法 |
CN108512552A (zh) * | 2018-06-15 | 2018-09-07 | 珠海市微半导体有限公司 | 一种曼彻斯特码的解码系统及解码方法 |
CN109756303A (zh) * | 2019-03-04 | 2019-05-14 | 北方天穹信息技术(西安)有限公司 | 一种单工异步曼彻斯特码接收解码方法 |
CN114416626A (zh) * | 2021-11-22 | 2022-04-29 | 中国科学院西安光学精密机械研究所 | 一种基于8b/10b编码的异步串行数据恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115664622B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102355382A (zh) | 一种控制器局域网总线分析与触发的方法 | |
US11403251B2 (en) | Single-wire transmission method, chip and communication system | |
CN110708133B (zh) | 一种基于fpga的系统内时钟同步和时间同步的方法及装置 | |
CN103297060B (zh) | 一种适用于高速率修正miller编码信号的解码电路 | |
CN107707446A (zh) | 一种基于fpga的sent总线解码、触发和分析方法 | |
JP3466738B2 (ja) | 非同期シリアルデータ受信装置 | |
CN114416626A (zh) | 一种基于8b/10b编码的异步串行数据恢复方法 | |
CN105610545A (zh) | 一种基于fpga的ft3自适应解码系统及方法 | |
US20060062329A1 (en) | Apparatus and method for adaptive digital locking and soft evaluation of data symbols in a wireless digital communication system | |
CN115664622B (zh) | 一种曼彻斯特解码方法 | |
US6772021B1 (en) | Digital audio data receiver without synchronized clock generator | |
CN117176181A (zh) | 一种具有字符对齐功能的串并转换电路 | |
JPH0654475B2 (ja) | 遷移の誤りを検出する装置 | |
US7180886B2 (en) | Synchronized data communication on a one-wired bus | |
CN113810319B (zh) | 时钟数据发送电路、接收电路、恢复电路和方法 | |
CN106921466A (zh) | 对fm0编码进行解码的方法和装置 | |
EP0356487A1 (en) | Data bit detector for fiber optic system | |
CN104202312A (zh) | 一种基于手机音频通道的快速稳定数据传输方法 | |
CN112073151B (zh) | 一种基于fpga的遥测pcm解码和帧同步方法 | |
JP2004512754A (ja) | データフレーム検出およびフォーマット回路 | |
CN102801441B (zh) | 全数字扩频通信系统中接收端的同步时钟提取方法 | |
CN110474718A (zh) | 一种数据编码方法、同步方法、系统及通信系统 | |
CN113824545B (zh) | 一种异步通信方法、装置及相关设备 | |
CN101373974B (zh) | 一种编码方法及装置 | |
JPH0129339B2 (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 |