BMC码的解码系统和解码方法技术方案

技术编号:18975072 阅读:37 留言:0更新日期:2018-09-19 04:39
本发明专利技术涉及一种BMC码的解码系统和解码方法。所述的BMC码的解码方法,先通过滤波模块对输入信号进行滤波,消除毛刺干扰,然后对滤波后的信号进行跳变沿检测和分析,避免信号受强脉冲宽度畸变的影响,最后,根据跳变沿检测结果进行解码,解码准确性和解码效率高。此外,采用这种解码方法的解码系统,结构简单,成本较低。

【技术实现步骤摘要】
BMC码的解码系统和解码方法
本专利技术涉及通讯
,具体涉及一种BMC码的解码系统和解码方法。
技术介绍
USBType-CPowerDelivery协议(以下简称PD协议),是一种基于Type-C接口的功率传输协议。USBPD支持多种电压和电流的组合,最大可支持100W(20V/5A)的功率传输,同时支持供电角色转换,满足绝大部分电子设备供电需求。在USBType-C接口中,以CC线作为专用的插拔检测和PD通信通道。其采用半双工通信机制,使用双向标记编码(BiphaseMarkCoding,BMC)传输数据。此方法简单灵活,已经作为PD通信标准发布,目前正逐步得到广泛的应用。BMC编码属于一种相位调制的编码技术,是将时钟和数据混合在一起传输的编码方法。BMC编码的特点是,如果数据为1在该位中间电平取反,并且在每个数据传输比特的边界处电平取反。使用BMC编码可以让传输端与接收端只需一条数据线就可以将数据正确的传输与接收,并且在收发两端保持很好的同步性。PD协议规定BMC码传输频率为300K,即每个数据比特传输时间为3.33us。PD协议允许该编码有+/-10%的频率偏差,但在实际应用中由于传输介质良莠不齐、信道长短不一,或受噪声、电磁环境等影响,BMC编码信号受干扰现象十分普遍,在接收端频率偏差往往更大。所以要求接收端有一定的容错能力,能容忍BMC信号脉冲宽度畸变,信号毛刺等干扰。
技术实现思路
针对以上问题,本专利技术提供了一种抗干扰BMC码解码系统和方法,可对被干扰编码信号进行抗干扰处理并解码,实现信号在受较强脉冲宽度畸变、信号毛刺等干扰下对BMC编码数据正确解码。本专利技术的具体技术方案如下:一种BMC码的解码系统,包括依次串连的滤波模块、跳变分析模块和数据解码模块。其中:滤波模块,用于接收BMC编码的输入信号,并对所述输入信号进行滤波后,输出滤波信号。跳变分析模块,用于接收所述滤波模块输出的所述滤波信号,并根据所述滤波信号的跳变沿和跳变时间间隔,分析当前跳变是否为数据跳变。数据解码模块,用于根据所述跳变分析模块的分析结果,控制所述数据解码模块中的移位寄存器写入相应数据,然后把所述移位寄存器中的数据作为解码数据输出。进一步地,所述滤波模块包括计数子模块和滤波标志子模块。其中:所述计数子模块用于对接收所述输入信号的过程进行时间计数,并在所述输入信号的跳变沿时刻进行时间计数值的清零,清零后又重新开始时间计数;所述计数子模块还用于在所述时间计数值大于预设的滤波窗口值时,停止时间计数,并在所述输入信号的跳变沿时刻进行时间计数值的清零,清零后又重新开始时间计数。所述滤波标志子模块用于在所述时间计数值大于预设的滤波窗口值时,输出高电平标志信号,在所述输入信号的跳变沿时,输出低电平标志信号。进一步地,所述跳变分析模块包括跳变沿检测子模块、计时子模块和判断子模块。其中:所述跳变沿检测子模块用于检测所述滤波信号的跳变沿。所述计时子模块用于计算所述跳变沿检测子模块检测到的相邻跳变沿之间的跳变时间间隔。判断子模块用于根据所述跳变时间间隔判断当前跳变是数据跳变、边界跳变或者错误跳变。进一步地,所述数据解码模块包括数据标志子模块和移位寄存器。其中:所述数据标志子模块用于根据所述判断子模块所确定的所述数据跳变的跳变沿的到来而输出数据标志高电平,否则,根据边界跳变的跳变沿的到来而输出数据标志低电平。所述移位寄存器用于根据所述数据标志子模块输出的数据标志高电平,且在边界跳变的跳变沿到来时而写入高电平寄存信号,根据所述数据标志子模块输出的数据标志低电平,且在边界跳变的跳变沿到来时而写入低电平寄存信号,并在数据接收结束后,输出所写入的高电平寄存信号和低电平寄存信号。一种BMC码的解码方法,包括如下步骤:步骤1:滤波模块接收BMC编码的输入信号,并对所述输入信号进行滤波后,输出滤波信号,进入步骤2;步骤2:跳变分析模块接收所述滤波模块输出的所述滤波信号,并根据所述滤波信号的跳变沿和跳变时间间隔,分析当前跳变是否为数据跳变,然后进入步骤3;步骤3:所述数据解码模块根据所述跳变分析模块的分析结果,控制其移位寄存器写入相应数据,然后把所述移位寄存器中的数据作为解码数据输出。进一步地,所述步骤1具体包括如下步骤:步骤11:所述滤波模块接收BMC编码的输入信号,然后进入步骤12;步骤12:所述滤波模块中的计数子模块从零开始对接收所述输入信号的过程进行时间计数,然后进入步骤13;步骤13:所述滤波模块判断是否检测到所述输入信号的跳变沿,如果是,则进入步骤14,否则继续进行时间计数,并进入步骤15;步骤14:所述计数子模块进行时间计数值的清零,清零后又重新开始时间计数,然后返回步骤13;步骤15:所述滤波模块判断所述时间计数值是否大于预设的滤波窗口值,如果是,则进入步骤16,否则继续进行时间计数,然后返回步骤13;步骤16:所述计数子模块停止计数,所述滤波模块中的滤波标志子模块输出高电平标志信号,使所述滤波模块输出与此刻的所述输入信号相同的电平信号,然后进入步骤17;步骤17:所述滤波模块判断是否检测到所述输入信号的跳变沿,如果是,则所述滤波标志子模块输出低电平标志信号,使所述滤波模块保持当前输出的电平信号不变,并返回步骤14,如果否,则返回步骤16。进一步地,所述步骤2具体包括如下步骤:步骤21:所述跳变分析模块接收所述滤波模块输出的所述滤波信号,然后进入步骤22;步骤22:所述跳变分析模块中的跳变沿检测子模块是否检测到所述滤波信号的跳变沿,如果是,则进入步骤23,如果否,则返回步骤21;步骤23:所述跳变分析模块中的计时子模块计算所述跳变沿检测子模块检测到的相邻跳变沿之间的跳变时间间隔,然后进入步骤24;步骤S24:所述跳变分析模块中的判断子模块根据所述跳变时间间隔判断当前跳变是否为数据跳变。进一步地,所述步骤S24具体包括如下步骤:当所述判断子模块判断所述跳变时间间隔大于5/4倍的单个数据比特传输时间,则确定当前跳变为错误跳变;当所述判断子模块判断所述跳变时间间隔大于或等于3/4倍的单个数据比特传输时间,且小于或等于5/4倍的单个数据比特传输时间,则确定当前跳变为边界跳变;当所述判断子模块判断所述跳变时间间隔大于或等于1/4倍的单个数据比特传输时间,且小于3/4倍的单个数据比特传输时间,并判断上一个跳变为边界跳变时,确定当前跳变为数据跳变;当所述判断子模块判断所述跳变时间间隔大于或等于1/4倍的单个数据比特传输时间,且小于3/4倍的单个数据比特传输时间,并判断上一个跳变为数据跳变时,确定当前跳变为边界跳变;当所述判断子模块判断所述跳变时间间隔小于1/4倍的单个数据比特传输时间,则确定当前跳变为错误跳变。进一步地,所述步骤3具体包括如下步骤:所述数据解码模块中的数据标志子模块根据所述判断子模块所确定的所述数据跳变的跳变沿的到来而输出数据标志高电平,否则,根据边界跳变的跳变沿的到来而输出数据标志低电平;所述移位寄存器根据所述数据标志子模块输出的数据标志高电平,且在边界跳变的跳变沿到来时而写入高电平寄存信号,并根据所述数据标志子模块输出的数据标志低电平,且在边界跳变的跳变沿到来时而写入低电平寄存信号;当所述移位寄存器判断数据接收结束后,输出所本文档来自技高网...

【技术保护点】
1.一种BMC码的解码系统,其特征在于,包括依次串连的滤波模块、跳变分析模块和数据解码模块,其中:滤波模块,用于接收BMC编码的输入信号,并对所述输入信号进行滤波后,输出滤波信号;跳变分析模块,用于接收所述滤波模块输出的所述滤波信号,并根据所述滤波信号的跳变沿和跳变时间间隔,分析当前跳变是否为数据跳变;数据解码模块,用于根据所述跳变分析模块的分析结果,控制所述数据解码模块中的移位寄存器写入相应数据,然后把所述移位寄存器中的数据作为解码数据输出。

【技术特征摘要】
1.一种BMC码的解码系统,其特征在于,包括依次串连的滤波模块、跳变分析模块和数据解码模块,其中:滤波模块,用于接收BMC编码的输入信号,并对所述输入信号进行滤波后,输出滤波信号;跳变分析模块,用于接收所述滤波模块输出的所述滤波信号,并根据所述滤波信号的跳变沿和跳变时间间隔,分析当前跳变是否为数据跳变;数据解码模块,用于根据所述跳变分析模块的分析结果,控制所述数据解码模块中的移位寄存器写入相应数据,然后把所述移位寄存器中的数据作为解码数据输出。2.根据权利要求1所述的系统,其特征在于,所述滤波模块包括计数子模块和滤波标志子模块,其中:所述计数子模块用于对接收所述输入信号的过程进行时间计数,并在所述输入信号的跳变沿时刻进行时间计数值的清零,清零后又重新开始时间计数;所述计数子模块还用于在所述时间计数值大于预设的滤波窗口值时,停止时间计数,并在所述输入信号的跳变沿时刻进行时间计数值的清零,清零后又重新开始时间计数;所述滤波标志子模块用于在所述时间计数值大于预设的滤波窗口值时,输出高电平标志信号,在所述输入信号的跳变沿时,输出低电平标志信号。3.根据权利要求2所述的系统,其特征在于,所述跳变分析模块包括跳变沿检测子模块、计时子模块和判断子模块,其中:所述跳变沿检测子模块用于检测所述滤波信号的跳变沿;所述计时子模块用于计算所述跳变沿检测子模块检测到的相邻跳变沿之间的跳变时间间隔;判断子模块用于根据所述跳变时间间隔判断当前跳变是数据跳变、边界跳变或者错误跳变。4.根据权利要求3所述的系统,其特征在于,所述数据解码模块包括数据标志子模块和移位寄存器,其中:所述数据标志子模块用于根据所述判断子模块所确定的所述数据跳变的跳变沿的到来而输出数据标志高电平,否则,根据边界跳变的跳变沿的到来而输出数据标志低电平;所述移位寄存器用于根据所述数据标志子模块输出的数据标志高电平,且在边界跳变的跳变沿到来时而写入高电平寄存信号,根据所述数据标志子模块输出的数据标志低电平,且在边界跳变的跳变沿到来时而写入低电平寄存信号,并在数据接收结束后,输出所写入的高电平寄存信号和低电平寄存信号。5.一种BMC码的解码方法,其特征在于,包括如下步骤:步骤1:滤波模块接收BMC编码的输入信号,并对所述输入信号进行滤波后,输出滤波信号,进入步骤2;步骤2:跳变分析模块接收所述滤波模块输出的所述滤波信号,并根据所述滤波信号的跳变沿和跳变时间间隔,分析当前跳变是否为数据跳变,然后进入步骤3;步骤3:所述数据解码模块根据所述跳变分析模块的分析结果,控制其移位寄存器写入相应数据,然后把所述移位寄存器中的数据作为解码数据输出。6.根据权利要求5所述的方法,其特征在于,所述步骤1具体包括如下步骤:步骤11:所述滤波模块接收BMC编码的输入信号,然后进入步骤12;步骤12:所述滤波模块中的计数子模块从零开始对接收所述输入信号的过程进行时间计数,然后进入步骤13...

【专利技术属性】
技术研发人员:赵旺
申请(专利权)人:珠海市一微半导体有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1