一种解码方法及装置的制造方法_5

文档序号:8545981阅读:来源:国知局
电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011OO11OO11OOI,则确定检测到前导码,否则,则确定解码出错。
7.根据权利要求6所述的方法,其特征在于,所述依据所述存储缓冲区中的字节,检测所述帧前界定码包括: 设置16位的全局变量A,所述A的最高位为I ; 确定所述前导码起始位在采样得到的数据序列中的位置a ; 按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为0,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011001001001101,则确定检测到帧前定界码,否则,则确定解码出错O
8.根据权利要求7所述的方法,其特征在于,所述依据所述存储缓冲区中的字节,检测所述数据码包括: 设置16位的全局变量A,所述A的最高位为I ; 确定所述前导码起始位在采样得到的数据序列中的位置a ; 按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为O,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 依据预设的规则,将A转换为数据码B,预设的规则可以为将A从高位到低位两两分成一组,每组对应数据码B中的一位,对于任意一组,第一类型组合对应第一码值,第二类型组合对应第二码值。
9.根据权利要求8所述的方法,其特征在于,所述依据所述存储缓冲区中的字节,检测所述帧结束码包括: 设置16位的全局变量A,所述A的最高位为I ; 确定所述前导码起始位在采样得到的数据序列中的位置a ; 按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为O,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011001100100110,则确定检测到帧结束码,否则,则确定解码出错O
10.一种解码装置,其特征在于,包括: 采样模块,用于对接收到的编码进行采样; 存储模块,用于将采样得到的数据序列存储到接收队列; 中断模块,用于在所述接收队列中的数据序列的帧数达到第一数值后,产生解码中断; 解码模块,用于在本次中断周期,对所述接收队列中的数据帧进行解码。
11.根据权利要求10所述的装置,其特征在于,所述解码模块用于对所述接收队列中的数据帧进行解码包括: 所述解码模块具体用于,判断所述接收队列中的数据帧是否为全O或全1,如果否,则对所述数据帧进行解码,如果所述本次解码中断周期中的先入先出接收队列中的数据帧为全0,则记录总线为空闲低电平状态,如果所述本次解码中断周期中的先入先出接收队列中的数据帧为全1,则记录总线为空闲高电平状态。
12.根据权利要求11所述的装置,其特征在于,所述解码模块用于对所述数据帧进行解码包括: 所述解码模块具体用于,在所述编码为曼彻斯特码的情况下,将所述接收队列中的数据帧存储到预设字节的存储缓冲区中,其中,所述数据帧在所述存储缓冲区中的存放顺序与其在所述接收队列中的存放顺序相同;依据所述存储缓冲区中的字节,依次检测前导码起始位、前导码、帧前界定码、数据码及帧结束码。
13.根据权利要求12所述的装置,其特征在于,所述解码模块用于依据所述存储缓冲区中的字节,检测所述前导码起始位包括: 所述解码模块具体用于,检测所述存储缓冲区中的数据帧是否存在由高到低的跳变;若检测到由高到低的跳变,且所述总线为空闲高电平状态,则确定从所述缓冲存储区中的数据帧中检测到编码的前导码起始位;若检测到由高到低的跳变,且所述总线为空闲低电平状态,则判断所述由高到低的跳变之前的高电平被采样的次数是否达到第二数值,如果是,则确定从所述缓冲存储区中的数据帧中检测到前导码起始位。
14.根据权利要求13所述的装置,其特征在于,所述解码模块用于检测所述存储缓冲区中的数据帧是否存在由高到低的跳变包括: 所述解码模块具体用于,采用以下至少一项检测所述存储缓冲区中的数据帧是否存在由尚到低的跳变: 取上一中断周期中存放在存储缓冲区中的最后一个字节的后4位作为高4位,取本次中断周期中存放在存储缓冲区中的第一个字节的前4位作为低4位,组成新字节,如果在所述新字节中出现以下任意一个预设数值,则确定存在由高到低的跳变,所述预设数值包括:0x80、0xC0、0xE0、0xF0、0xF8、0xFC、0xFE,所述存储缓冲区为 8 个字节; 判断本次中断周期、所述存储缓冲区中的第一个字节,如果出现所述预设数值中的任意一个,则确定存在由高到低的跳变; 遍历所述存储缓冲区中的所有字节:取本次中断周期、存储缓冲区中的本次遍历字节的后4位作为高4位,本次遍历字节的后一个相邻字节的前4位作为低4位,组成新字节,如果所述新字节中出现所述预设数值中的任意一个,则确定存在由高到低的跳变; 判断本次中断周期、存储缓冲区中的第二个字节,如果为所述预设数值中的任意一个,则确定存在由高到低的跳变。
15.根据权利要求14所述的装置,其特征在于,所述解码模块用于依据所述存储缓冲区中的字节,检测所述前导码包括: 所述解码模块具体用于,设置16位的全局变量A,所述A的最高位为I ;确定所述前导码起始位在采样得到的数据序列中的位置a ;按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中的位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为O ;如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011OO11OO11OOI,则确定检测到前导码,否则,则确定解码出错。
16.根据权利要求15所述的装置,其特征在于,所述解码模块用于依据所述存储缓冲区中的字节,检测所述帧前界定码包括: 所述解码模块具体用于,设置16位的全局变量A,所述A的最高位为I ;确定所述前导码起始位在采样得到的数据序列中的位置a ;按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为O,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011001001001101,则确定检测到帧前定界码,否则,则确定解码出错O
17.根据权利要求16所述的装置,其特征在于,所述解码模块用于依据所述存储缓冲区中的字节,检测所述数据码包括: 所述解码模块具体用于,设置16位的全局变量A,所述A的最高位为I ;确定所述前导码起始位在采样得到的数据序列中的位置a ;按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为0,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 依据预设的规则,将A转换为数据码B,预设的规则可以为将A从高位到低位两两分成一组,每组对应数据码B中的一位,对于任意一组,第一类型组合对应第一码值,第二类型组合对应第二码值。
18.根据权利要求16所述的装置,其特征在于,所述解码模块用于依据所述存储缓冲区中的字节,检测所述帧结束码包括: 所述解码模块具体用于,设置16位的全局变量A,所述A的最高位为I ; 确定所述前导码起始位在采样得到的数据序列中的位置a ; 按照以下方式分别确定A的剩余位数的值: A:在本次中断周期以及其之后的中断周期、存储缓冲区中的后续字节中查找由低到高的跳变; B:记录所述低到高的跳变在采样得到的数据序列中位置b ; C:如果不小于a,将b减去a的差值作为低电平的采样次数,如果b小于a,则将b减去a的差值与64之和作为低电平的采样次数; D:如果所述低电平的采样次数在第三数值与第四数值之间,则确定所述A的次高位为O,如果所述低电平的采样次数在第五数值与第六数值之间,则确定所述A的次高位及所述次高位的前一位均为O ;如果所述低电平的采样次数为其它数值,则确定解码出错; 循环执行A至D,直至得到A中全部位置的数值; 如果所述A的值为1011001100100110,则确定检测到帧结束码,否则,则确定解码出错ο
【专利摘要】本申请提供了一种解码方法及装置,以接收队列中的帧数的数量为产生中断的触发条件,而非现有技术中的以电平的变化触发解码中断的产生,所以,能够避免频繁出现解码中断的现象,从而缓解处理器的计算压力,因此,能够实现使用主频较低的处理器进行解码的目的。
【IPC分类】H03M5-12, H04L25-02, G06F9-44
【公开号】CN104868921
【申请号】CN201510276129
【发明人】陈军伟, 张晓刚, 沈利斌
【申请人】浙江中控技术股份有限公司
【公开日】2015年8月26日
【申请日】2015年5月26日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1