[发明专利]一种解码方法及装置有效
申请号: | 201510276129.X | 申请日: | 2015-05-26 |
公开(公告)号: | CN104868921B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 陈军伟;张晓刚;沈利斌 | 申请(专利权)人: | 浙江中控技术股份有限公司 |
主分类号: | H03M5/12 | 分类号: | H03M5/12;G06F9/44;H04L25/02 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解码 方法 装置 | ||
本申请提供了一种解码方法及装置,以接收队列中的帧数的数量为产生中断的触发条件,而非现有技术中的以电平的变化触发解码中断的产生,所以,能够避免频繁出现解码中断的现象,从而缓解处理器的计算压力,因此,能够实现使用主频较低的处理器进行解码的目的。
技术领域
本申请涉及电子信息领域,尤其涉及一种解码方法及装置。
背景技术
相比于使用解码电路进行解码的方式而言,使用处理器解码的方式更为满足低功耗的要求。
现有的使用处理器进行解码的方式,在检测到电平的变化时,产生中断,进行解码。
而对于工业总线型的应用场景而言,在此情况下,处理器不可能支持处理频繁的中断解码。例如,曼彻斯特码在总线供电的应用中经常采用,如符合IEC61158-2标准的PROFIBUS-PA和FF-H1现场智能设备。总线供电对处理器的功耗有较高要求,一般处理器的主频不超过20MHz。曼彻斯特码的频率一般固定为31.25kHz,可见,现有的处理器解码方式并不适用于主频较低的处理器,因此,如何使用主频较低的处理器进行解码成为目前亟待解决的问题。
申请内容
本申请提供了一种解码方法及装置,目的在于解决如何使用主频较低的处理器进行解码的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种解码方法,包括:
对接收到的编码进行采样;
将采样得到的数据序列存储到接收队列;
在所述接收队列中的数据序列的帧数达到第一数值后,产生解码中断;
在本次中断周期,对所述接收队列中的数据帧进行解码。
可选地,所述对所述接收队列中的数据帧进行解码包括:
判断所述接收队列中的数据帧是否为全0或全1,如果否,则对所述数据帧进行解码,如果所述本次解码中断周期中的先入先出接收队列中的数据帧为全0,则记录总线为空闲低电平状态,如果所述本次解码中断周期中的先入先出接收队列中的数据帧为全1,则记录总线为空闲高电平状态。
可选地,在所述编码为曼彻斯特码的情况下,所述对所述数据帧进行解码包括:
将所述接收队列中的数据帧存储到预设字节的存储缓冲区中,其中,所述数据帧在所述存储缓冲区中的存放顺序与其在所述接收队列中的存放顺序相同;
依据所述存储缓冲区中的字节,依次检测前导码起始位、前导码、帧前界定码、数据码及帧结束码。
可选地,所述依据所述存储缓冲区中的字节,检测所述前导码起始位包括:
检测所述存储缓冲区中的数据帧是否存在由高到低的跳变;
若检测到由高到低的跳变,且所述总线为空闲高电平状态,则确定从所述缓冲存储区中的数据帧中检测到编码的前导码起始位;
若检测到由高到低的跳变,且所述总线为空闲低电平状态,则判断所述由高到低的跳变之前的高电平被采样的次数是否达到第二数值,如果是,则确定从所述缓冲存储区中的数据帧中检测到前导码起始位。
可选地,所述存储缓冲区为8个字节;
所述检测所述存储缓冲区中的数据帧是否存在由高到低的跳变至少包括以下一项:
取上一中断周期中存放在存储缓冲区中的最后一个字节的后4位作为高4位,取本次中断周期中存放在存储缓冲区中的第一个字节的前4位作为低4位,组成新字节,如果在所述新字节中出现以下任意一个预设数值,则确定存在由高到低的跳变,所述预设数值包括:0x80、0xC0、0xE0、0xF0、0xF8、0xFC、0xFE;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江中控技术股份有限公司,未经浙江中控技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510276129.X/2.html,转载请声明来源钻瓜专利网。