位同步解码方法
技术领域
本发明涉及直流载波通信领域,尤其涉及一种主从式直流载波通信系统中的解码方法。
背景技术
在诸如电子雷管网路、智能传感网路的通信系统中,维持各节点从机工作需要的能量较小,这就便于主机向从机直接提供工作电源,并有利于对网路的维护。除此之外,上述类型的通信系统中,还要求从机的体积尽可能小。专利申请文件200810172410.9中给出了一种主从式直流载波通信系统,提供了一种双线无极性区分的、能在主机向从机提供直流工作电源的同时进行单工双向数据传输的通信系统,从而最大程度地简化了主机和从机的设计和连接,使之适用于诸如电子雷管网路、智能传感网路等类似小型从机系统。
上述通信系统的从机中若需内置参考时钟电路,则可采用晶体振荡器或者RC振荡器。若需将振荡器用于类似电子雷管等要求同时具备抗冲击性、可集成性和高延期精度的从机中,则必须采用具备抗冲击性能的RC振荡器,原因如下:
1.由于在从机(此处即为电子雷管)的实际爆破应用中,每发雷管的延期时间不尽相同,因此,先爆雷管对未爆雷管会产生爆炸冲击。而由于晶体依靠其机械谐振输出稳定的频率进而产生时钟,因此,爆破冲击波会对晶体的谐振频率产生影响,从而影响电子雷管的延期精度。严重时,晶体甚至可能被爆炸冲击波损坏,从而使时钟电路停止工作,导致雷管拒爆。
2.晶体振荡器使用的晶体无法集成到控制芯片内部,这也增大了电子雷管的体积和成本。
而若将RC振荡器用于类似电子雷管的从机中,由于充放电电压、 电阻和电容间的个体差异等因素会导致诸从机中的各个RC振荡器输出的时钟频率具有较大的离散性,而且每个从机中的RC振荡器参数还存在一定的时漂和温漂现象,因此,RC振荡器的频率稳定性较差。这就会影响从机数据接收的可靠性和从机数据解码的准确性,尤其在连续接收多位数据的时候,误差的累积会导致接收数据的错误。
在数字通信系统中,信号发送端按照确定的时间顺序,逐个传输数码脉冲序列中的每个码元。同时,信号接收端必须有准确的抽样判决时刻才能正确判决发送端发出的码元。因此,接收端必须提供一个确定抽样判决时刻的定时脉冲序列。这个定时脉冲序列的重复频率必须与发送的数码脉冲序列一致,同时在最佳判决时刻(或称为最佳相位时刻)对接收码元进行抽样判决。这就是所谓码元同步,或称位同步。
实现位同步的方法和载波同步类似,也有直接法(又称自同步法)和插入导频法(又称外同步法)两种。在自同步法中,比较常用的是曼彻斯特编码方法,由(1,0)和(0,1)表达数据位“0”和“1”,利用中间的边沿信号对数据位的采样过程进行同步。这些位同步方式,基本采用具有确定频率和确定时钟的采样,用以克服无线信号传输过程产生的相位偏移对传输可靠性的影响。
在应用于诸如电子雷管系统的主从式直流载波通信系统中,采用有线方式发送数据,且传输距离有限,因此,波形本身产生的相位偏移可以忽略。但在从机中采用RC振荡器提供时钟信号后,时钟本身的不稳定性和频率的不确定性,会造成数据接收不可靠。因此,传统的位同步方式在主从式直流载波通信系统中的应用受到了限制。
在交替发送01数据的时候,采用曼彻斯特编码方法会形成连续的0或1,例如发送“01”时,实际发送的数据将为0110或者1001,这就会使接收到的数据丢失数据位起始信息,从而存在数据解码错误的可能性。除此之外,有线传输过程中,在传输线路中存在的容抗和感抗可能会导致波形产生畸变。波形边沿的变化和不一致性,也使得曼彻斯特编码的自同步法在诸如电子雷管系统的应用受到了限制。
发明内容
本发明的目的在于解决上述现有技术的缺陷,提供一种能对发送到从机的数据进行准确解码的位同步解码方法,通过设定接收数据的起始信息的方式,提高了从机时钟频率不稳定时数据解码的准确性。
本发明的技术目的是通过以下技术方案实现的:
本发明中所述的主从式直流载波通信系统,由一台主机、一台或者多台从机、以及连接主机和从机的信号总线组成,从机并联在由主机引出的信号总线之间。在上述主从式直流载波通信系统中,从机内部的数据解调电路接收并解调主机发送来的信号,并输出解调信号至从机内部的控制模块。该控制模块包含中央处理器、预定标器、串行通信接口、输入/输出接口、和计数器。其中,串行通信接口对上述数据解调电路输出的解调信号进行采样,并将采样序列输出至中央处理器,由中央处理器对其进行解码。
中央处理器接收到串行通信接口输出的采样序列后,执行以下位同步解码流程对采样序列进行解码:
第一步,中央处理器接受并监测串行通信接口输出的信号:若接收到下降沿信号,则执行第二步;若未接收到,则继续监测。
第二步,中央处理器向计数器发送控制信号,启动计数器对低电平信号宽度进行计数。
第三步,中央处理器接收并继续监测串行通信接口输出的信号:若接收到上升沿信号,则执行第四步;若未接收到,则中央处理器继续监测,计数器继续计数。
第四步,读取计数器中的计数值,并将其保存为低电平宽度计数值。并且计数器继续计数。
第五步,中央处理器接收并继续监测串行通信接口输出的信号:若再次接收到下降沿信号,则执行第六步;若未接收到,则执行第九步。
第六步,读取计数器中的计数值,并将其保存为数据位宽度计数值。
第七步,中央处理器执行数据位解码进程。
第八步,中央处理器向计数器发送控制信号,将计数器清零;然 后返回上述第二步。
第九步,中央处理器读取计数器中的计数值,并判断该计数值是否与预设数据位宽度值相等:若相等,则执行第十步;若不相等,则返回上述第五步。
第十步,结束本位同步解码流程。
上述位同步解码流程中,中央处理器监测到下降沿信号即对接收到的低电平信号开始计数,再次监测到下降沿信号即停止计数并清零计数器,认为该数据位接收结束并转而接收下一数据位。执行这样的处理流程,则无论待接收的数据位是“0”还是“1”,均将从机接收到的下降沿信号作为接收数据的起始,从而避免了采用曼彻斯特编码方式导致的缺乏数据位起始信息的问题。
上述位同步解码流程中的第七步,中央处理器按照以下步骤执行数据位解码进程:
步骤一,中央处理器依据低电平宽度计数值与数据位宽度计数值计算高电平宽度计数值,即,数据位宽度计数值减去低电平宽度计数值,即得到高电平宽度计数值。
步骤二,中央处理器依据低电平宽度计数值与高电平宽度计数值,将串行通信接口输出的数据位解码:若低电平宽度计数值与高电平宽度计数值之间的关系符合表达数据位“1”的预设关系,则判定该数据位为“1”;若低电平宽度计数值与高电平宽度计数值之间的关系符合表达数据位“0”的预设关系,则判定该数据位为“0”;若低电平宽度计数值与高电平宽度计数值之间的关系既不符合表达数据位“1”的预设关系,也不符合表达数据位“0”的预设关系,则判定该数据位为噪声。
步骤三,结束本数据位解码进程。
上述数据位解码进程的技术方案,采用预设高电平宽度与低电平宽度之间相对关系的方式,给出数据位“1”和数据位“0”的判定规则。这种方式实现简单、判定准确,提高了从机进行数据解码的效率和准确性。同时,在数据位“0”和“1”的判定规则中,预留了非“0”和非“1”的过渡状态,从而允许接收波形的边沿可以存在一定的畸 变,这也降低了对接收波形的要求。
作为上述解码过程的优选方案,将上述高电平宽度与低电平宽度之间的预设关系设定为大小关系,则中央处理器对低电平宽度计数值与高电平宽度计数值进行简单的加减运算,即可对该数据位进行解码。采用这种大小关系判定接收到的数据位为“1”还是为“0”,最大程度地降低了中央处理器的运算量,从而进一步提高了从机进行数据解码的效率。
附图说明
图1为本发明主从式直流载波通信系统的网路连接示意图;
图2为本发明中从机的内部构成示意图;
图3为本发明中从机控制模块的构成框图;
图4为本发明中位同步解码流程的流程示意图;
图5为本发明中数据位解码进程的一种实施方式的流程示意图;
图6为本发明中接收到的采样序列的波形示意图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步详细说明。
专利申请文件200810172410.9中给出的主从式直流载波通信系统,包括一台主机100、一台或者多台从机200、以及连接主机100和从机200的信号总线300,从机200并联在由主机100引出的信号总线300之间,如图1。
图2给出了从机200的内部构成框图。其中,从机200内部的通信接口电路230由从机数据调制模块231和从机数据解调模块232构成。从机数据解调模块232内部的数据解调电路233接收并解调主机100发送来的信号,并输出解调信号至从机200内部的控制模块260。控制模块260又进一步包含中央处理器261、预定标器262、串行通信接口263、计数器264、和输入/输出接口265,如图3所示。串行通信接口263对上述数据解调电路233输出的解调信号进行采样,并将采样序列输出至中央处理器261,由中央处理器261对其进行解码。
上述中央处理器261接收到串行通信接口263输出的采样序列 后,执行以下位同步解码流程对采样序列进行位同步解码,如图4,采样序列可参见图6所示波形图:
第一步,中央处理器261接收并监测串行通信接口263输出的信号:若接收到下降沿信号10,则执行第二步;若未接收到,则继续监测。由于在主从式载波通信系统中,在不进行数据传输时,主机需要给从机提供电源,总线间保持为高输出状态,因此接收的数据位总是从下降沿开始。通过对下降沿的判断,就可以获取数据位的起始同步信息。
第二步,中央处理器261向计数器264发送控制信号,启动计数器264,使所述计数器264对接收到的低电平信号15的宽度开始计数。
第三步,中央处理器261接收并继续监测串行通信接口263输出的信号,等待数据位的上升沿到达:若接收到上升沿信号20,则表达数据位的低电平接收完成,执行第四步;若未接收到,则中央处理器261继续监测,所述计数器264继续对低电平信号15的宽度进行计数。
第四步,中央处理器261读取计数器264中的计数值,并将其保存为低电平宽度计数值T11。所述计数器264保持计数状态,继续对接收到的高电平信号25的宽度进行计数。
第五步,中央处理器261接收并继续监测串行通信接口263输出的信号:若接收到下降沿信号30,则表示本数据位接收完毕,开始接收下一数据位,中央处理器261继续执行第六步;若未接收到,则执行第九步。
第六步,中央处理器261读取计数器264中的计数值,并将其保存为数据位宽度计数值T1。
第七步,中央处理器261执行数据位解码进程。
第八步,中央处理器261向计数器264发送控制信号,将计数器264清零;然后返回上述第二步。
第九步,中央处理器261读取计数器264中的计数值,并判断该计数值是否与预设数据位宽度值T相等:若相等,则表示接收到的信号的长度已达到单个数据位可能的最大宽度,表示数据接收结束,主机结束向从机发送数据,系统恢复向从机供电的状态,中央处理器261 继续执行第十步;若不相等,则返回上述第五步,继续等待接收下降沿信号30。
第十步,结束本位同步解码流程。
上述图4所示位同步解码流程中,中央处理器261监测到下降沿信号10即对接收到的低电平信号15开始计数,监测到下降沿信号30即停止计数并清零计数器264,认为该数据位接收结束,并开始对下一数据位进行接收。执行这样的处理流程,则无论待接收的数据位是“0”还是“1”,均将从机接收到的下降沿信号作为数据位接收的起始,从而避免了采用曼彻斯特编码方式导致的缺乏数据位起始信息的问题。
上述位同步解码流程中的第七步,中央处理器261按照以下步骤执行数据位解码进程,参见图5:
步骤一,中央处理器261依据其内部保存的低电平宽度计数值T11与数据位宽度计数值T1计算高电平宽度计数值T12,并有T12=T1-T11。
步骤二,中央处理器261依据低电平宽度计数值T11与高电平宽度计数值T12,将串行通信接口263输出的数据位解码:若计数值T11与计数值T12之间的关系符合表达数据位“1”的预设关系,则判定该数据位为“1”;若计数值T11与计数值T12之间的关系符合表达数据位“0”的预设关系,则判定该数据位为“0”;若计数值T11与计数值T12之间的关系既不符合表达数据位“1”的预设关系,也不符合表达数据位“0”的预设关系,则判定该数据位为噪声。
步骤三,结束本数据位解码进程。
上述数据位解码进程的技术方案,采用预设高电平宽度与低电平宽度之间相对关系的方式,给出数据位“1”和数据位“0”的判定规则。这种方式实现简单、判定准确,从而提高了从机进行数据解码的效率和准确性。同时,在数据位“0”和“1”的判定规则中,预留了非“0”和非“1”的过渡状态,从而允许接收波形的边沿可以存在一定的畸变,这也降低了对接收波形的要求。
作为上述解码过程的优选方案,将上述低电平信号15的宽度与高电平信号25的宽度之间的预设关系设定为大小关系,则中央处理器261对低电平宽度计数值与高电平宽度计数值进行简单的加减运算,即可对该数据位进行解码。采用这种大小关系判定接收到的数据位为“1”还是为“0”,最大程度地降低了中央处理器的运算量,从而进一步提高了从机进行数据解码的效率。
图5给出了数据位解码进程的一种实现方式。该实现方式中,在计算出高电平宽度计数值T12后,首先判断该数据位是否为“1”;若不是,则再进一步判断该数据位是否为“0”;若仍然不是,则判断接收到的数据为噪声。事实上,也可先判断该数据位是否为“0”,再判断该数据位是否为“1”,并且这两种实现方式完全等效。
结合图6所示采样序列的波形,对本发明的位同步解码方法再做一详细说明。
1.对于主从式直流载波通信系统来说,主机100通过信号总线300上电压的变化向从机200发送数据,并且从机200正常工作所需能量由主机100通过信号总线300提供。因此,当主机100不向从机200发送数据时,信号总线300上保持为高电平信号60,主机100持续地向从机200供电。
2.经由从机200内部的从机数据解调模块232解调出的解调信号输出到控制模块260内部的串行通信接口263,由串行通信接口263采样后输出采样序列至中央处理器261。
3.中央处理器261持续地接收串行通信接口263发送来的采样序列。具体如下:
中央处理器261监测接收到下降沿信号10,则向计数器264发送控制信号,启动计数器264对接收到的低电平信号15的宽度进行计数。当中央处理器261监测接收到上升沿信号20,则读取计数器264中的计数值,并将其保存为低电平宽度计数值T11;计数器264继续对高电平信号25的宽度进行计数。若中央处理器261监测接收到下降沿信号30,则读取计数器264中的计数值,并将其保存为数据位宽度计数值T1。至此完成对一个数据位的接收。然后,中央处理器261向计数器264发送控制信号,将计数器264中的计数值清零,开始对 下一数据位的计数。依此类推。
而若计数器264中的计数值已达到预设数据位宽度值T,但中央处理器261始终未接收到下降沿信号,则表示接收到的信号的长度已达到单个数据位可能的最大宽度T,表示数据接收结束。此时,主机100结束与从机200的通信,信号总线300上恢复为高电平信号60,主机100继续持续地向从机200供电。
4.中央处理器261依据低电平宽度计数值和数据位宽度计数值及其预设关系,判断接收到的数据位为“0”还是为“1”。以图6所示波形为例,若用低电平信号15的宽度小于高电平信号25的宽度这一预设关系表达数据位“1”、用低电平信号35的宽度大于高电平信号45的宽度这一预设关系表达数据位“0”,并且发送完两数据位后即结束发送,总线300上恢复为高电平信号60,则图6所示波形可解码为“10”。
除将高低电平信号之间的关系预设为宽度计数值的大小关系外,还可将其预设为比例关系等其他运算关系。但预设为大小关系,从机的实现最简单,所需的运算量最小,中央处理器能最快地做出判断结果。