本发明涉及串行总线,尤其涉及在通过开启供电与关闭供电原理实现供电与总线通讯的两线回路中。
背景技术:
1、通过开启供电与关闭供电原理实现供电与总线通讯的两线回路,主要应用于低码率通讯,同时还要兼顾通过此回路供电与受电的系统中。如消防中的烟感、温感、急照明系统,部分物联网应用中的设备感知层等。因在通讯的同时,需要兼顾到对受电设备的供电,但在传输信号的关闭供电周期,两线回路是不能提供电能的,此时只能依靠受电设备自身存储的电力续电。如若在通讯期间,能够减少关闭供电的时间宽度或者次数,则可在单位时间内为设备提供更多电力供应。
技术实现思路
1、本发明提出了一种减少关闭供电的次数的8b/9b编解码方法。
2、根据本发明的一个方面,提出了一种8b/9b编码方法,为该方法包含下述步骤:
3、步骤1:数据编码。按下述原理将单字节即8b数据,转换为9b数据:
4、若“8b数据”中出现关闭供电次数<4次,则直接在前部增加1个关闭供电周期;
5、若“8b数据”中出现关闭供电次数≥4次,则先将此值取反即补码,再在前部增加开启供电周期;
6、使用上述规则将8b数转换为9b数后,可保证每个8b数据关闭供电周期的≤4次;
7、步骤2:根据步骤1中的运算法则生成“原始数据编码表”,如附表a所示;
8、步骤3:对原始编码表中生成的256个9b数据与原始的8b数据进行重新组合,生成最终使用的“数据编码表”。如:十进制“0”可以选择前述步骤2中的256个9b编码中的1个,十进制“1”可以选择余下255个9b编码中的1个,以此方法编码完所有256个8b数据的编码.数据编码表可提前约定组合方式静态生成。也可跟随某种机制动态生成以实现加密;
9、步骤4:若需要总线控制类数据,如通讯时钟同步码、数据帧开始码,结束码,仲裁数据与仲裁码等,可利用原始编码表中未使用到的9b编码,约定并生成“控制编码表”;
10、步骤5:将总线上的8b数据按照前述步骤3编制好的“数据编码表”查表编为9b 数据,然后发送出去。若需要传输控制类数据,则按照前述步骤4编制好的“控制编码表”查表编为9b 数据,然后发送出去;
11、根据本发明的另一个方面,将前述生成的“数据编码表”与“控制编码表”反向运算可生成接收方的解码表。接收方接收到此9b数据后,查此译码表可还原为原始8b数据或控制类数据。
12、根据本发明的另一个方面,如果查解码表结果为空,则表明这是一个错误的码字,以此可识别总线被干扰或入侵。
13、附表a的末尾统计了出现0,实例为关闭供电的次数,编码前数据由原来的1024个关闭供电周期,减少到了837个关闭供电周期,仅为原来的81.7%,表明本发明的8b/9b编解码方案可有效减少关闭供电周期,从而提升总线供电带载能力。
1.一种应用于通过开启供电与关闭供电原理实现供电与总线通讯的两线回路上的8b/9b编解码方法,其特征在于并包括:
2.一种与权利要求1编码方法相对应的串行总线8b/9b解码方法,其特征在于:编制与权利要求1所述编码表相对应的解码表;对从总线上接收到的9bit码字查解码表解码。