发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于曼彻斯特编解码的自适应系统及其方法,用于解决现有技术中现场总线仪表之间通信,使用曼彻斯特编解码通信时,无法降低通信成本和提高传输性能的问题。
为实现上述目的及其他相关目的,本发明提供一种基于曼彻斯特编解码的自适应系统,所述自适应系统至少包括:
接收电路,适用于根据波特率控制信号调节相应波特率,解码曼彻斯特信号生成相应波形信号;
处理单元,适用于检测该波形信号是否存在下降沿,当检测下降沿波形信号时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期调节波特率,生成相应的波特率控制信号,当检测到三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束;及
还适用于将源数据进行曼彻斯特编码生成曼彻斯特信号,以串行移位的方式发送该曼彻斯特信号至发送电路;
协议转换单元,适用于将源数据转换为符合预设格式的数据;
发送电路,适用于根据波特率控制信号,以接收曼彻斯特信号相同的波特率,发送所述曼彻斯特信号。
优选地,所述接收电路包括第一放大单元、第二放大单元和第一比较单元,所述第一放大单元的输出端分别连接所述第二放大单元正向输入端和所述第一比较单元的正向输入端,适于为第二放大单元和第一比较单元提供基准电压;所述第二放大单元的负向输入端连接总线输入正端,所述第二放大单元的输出端连接所述第一比较单元的负向输入端,适于放大总线输入正端的曼彻斯特信号;所述第一比较单元的输出端连接所述处理单元输入端,适于整形曼彻斯特信号生成相应波形信号。
优选地,所述第一放大单元包括第一运算放大器、第一电阻、第二电阻和第一电容,所述第一电阻一端和第二电阻一端串联,所述第一电阻另一端接VCC,所述第二电阻另一端接地,所述第一电容并联于第二电阻两端,且所述第一运算放大器的正向输入端连接于第一电阻和第二电阻之间,所述第一运算放大器的输出端与其负向输入端相连。
优选地,所述第二放大单元包括第二运算放大器、第三电阻、第四电阻、第二电容与第三电容,所述第二运算放大器的负向输入端通过所述第三电容连接第三电阻一端,所述第三电阻另一端连接总线输入正端,所述第四电容一端与所述第四电阻一端相连,所述第四电阻另一端连接所述第二运算放大器的负向输入端,所述第四电容另一端连接所述第三电阻一端,所述第二运算放大器的正向控制端分别连接VCC和所述第二电容,且所述第二电容另一端接地,所述第二运算放大器的负向控制端接地,所述第二运算放大器的输出端分别连接第四电阻一端和所述第一比较单元的负向输入端。
优选地,所述第一比较单元包括第一比较器、第五电阻、第六电阻和第五电容,所述第一比较器的正向输入端通过所述第五电阻连接所述第一运算放大器的输出端,所述第一比较器的正向输入端连接所述第六电阻一端,所述第六电阻另一端连接所述第一比较器的输出端,所述第五电容并联于所述第六电阻两端,所述第一比较器的正向控制端接地,所述第一比较器的负向控制端接VCC,所述第一比较器的输出端连接所述处理单元的输入端。
优选地,所述发送电路包括:连接电流生成电路的总线电源正极、总线电源负极以及连接所述电流生成电路输入端的控制器,所述电流生成电路用于根据该控制器传输的电流信号产生响应,其中,所述控制器的一个输出端通过数模转换器连接所述电流生成电路输入端,用于控制4~20mA电流环电流信号的启停;所述控制器的另一个输出端连接所述电流生成电路输入端,用于控制曼彻斯特电流信号的启停。
优选地,还包括曼彻斯特电路,所述曼彻斯特电路的输入端连接所述控制器的输出端,所述曼彻斯特电路的输出端连接所述电流生成电路的输入端。
优选地,所述协议转换单元为ST公司型号为STM32F411的单片机。
优选地,所述处理单元为ST公司型号为STM32L152的单片机。
本发明的另一目的在于提供一种基于曼彻斯特编解码的自适应方法,包括:
检测波形信号是否存在下降沿;
当检测到下降沿波形信号时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期调节波特率,生成相应的波特率控制信号;
根据波特率控制信号调节相应波特率,解码曼彻斯特信号生成相应波形信号;
当检测到三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束;或者,
将源数据转换为符合预设格式的数据;
将源数据进行曼彻斯特编码生成曼彻斯特信号,以串行移位的方式发送该曼彻斯特信号;
根据波特率控制信号,以接收曼彻斯特信号相同的波特率,发送所述曼彻斯特信号。
如上所述,本发明的基于曼彻斯特编解码的自适应系统及其方法,具有以下有益效果:
本发明通过定时检测所述波形信号,判断所述波形信号是否变化,当所述波形信号出现下降沿时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期,生成波特率控制信号调节接收电路接收波形信号的波特率;当检测到所述波形信号无变化,即三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束。根据传输距离的不同自适调节相应波特率,降低通信速率提高了传输的准确性,从而降低了传输时的误码率。同时,通过设定的接收电路和发送电路配合处理单元,完成曼彻斯特信号的编码和解码,替代了传统曼彻斯特编解码需要特定的芯片,降低了芯片费用,而且在功耗方面,本发明通过配合发送电路和接收电路,大大地降低使用功耗,降低了运行成本。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图7。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,为本发明实施例中的一种基于曼彻斯特编解码的自适应系统结构框图,具体包括:
接收电路1,适用于根据波特率控制信号调节相应波特率,解码曼彻斯特信号生成相应波形信号;
处理单元2,适用于检测该波形信号是否存在下降沿,当检测下降沿波形信号时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期调节波特率,生成相应的波特率控制信号,当检测到三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束;及
还适用于将源数据进行曼彻斯特编码生成曼彻斯特信号,以串行移位的方式发送该曼彻斯特信号至发送电路4;
协议转换单元3,适用于将源数据转换为符合预设格式的数据;
发送电路4,适用于根据波特率控制信号,以接收曼彻斯特信号相同的波特率,发送所述曼彻斯特信号。
在本实施例中,所述接收电路1的输入端连接V+,即总线电源正端,所述接收电路1的输出端直接连接所述处理单元2的输入端,所述发送电路4的输出端分别连接V+、V-,控制端和发送数据的端口连接处理单元2,协议转换单元3通过将源数据转换为预设格式的数据,发送给处理单元2进行编码,编码后生成曼彻斯特信号,经串行移位的方式传输至发送电路4。
在本实施例中,与传统的通信方式相比,本发明采用两线制,同时传输电源和数据,相比其他的四线制或八线制,节约了布线成本;而且,本系统的通信速率为100KbpS与同样的两线制HART(1.2KbpS)仪表和FF(31.25KbpS)通信速率有大幅度提升,可广泛解决传统曼彻斯特编码成本高和功耗大的问题。
在本实施例中,处理单元2通过检测曼彻斯特信号的起始位和停止位,当检测到起始位时,即检测到下降沿时,计算此时三个前导码电平所对应的平均时间,根据此平均时间一半为周期,按照该周期对应调节波特率,以该波特率接收波形信号,解码该波形信号生成相应的解码数据,通过串口传输到协议转换机,可以根据传输距离的自适应调整波特率,确保传输的准确性,降低传输的误码率。
如图2所示,为图1中本发明实施例中接收电路1的电路图,具体包括:
所述接收电路1包括第一放大单元、第二放大单元和第一比较单元,所述第一放大单元的输出端分别连接所述第二放大单元正向输入端和所述第一比较单元的正向输入端,适于为其提供基准电压;所述第二放大单元的负向输入端连接总线输入正端,所述第二放大单元的输出端连接所述第一比较单元的负向输入端,适于放大总线输入正端的曼彻斯特信号;所述第一比较单元的输出端连接所述处理单元2输入端,适于整形曼彻斯特信号生成相应波形信号。
其中,所述第一放大单元包括第一运算放大器U1、第一电阻R1、第二电阻R2和第一电容C1,所述第一电阻R1一端和第二电阻R2一端串联,所述第一电阻R1另一端接VCC,所述第二电阻R2另一端接地,所述第一电容C1并联于第二电阻R2两端,且所述第一运算放大器U1的正向输入端连接于第一电阻R1和第二电阻R2之间,所述第一运算放大器U1的输出端与其负向输入端相连。
其中,所述第二放大单元包括第二运算放大器U2、第三电阻R3、第四电阻R4、第二电容C2与第三电容C3,所述第二运算放大器U2的负向输入端通过所述第三电容C3连接第三电阻R3一端,所述第三电阻R3另一端连接总线输入正端,所述第四电容C4一端与所述第四电阻R4一端相连,所述第四电阻R4另一端连接所述第二运算放大器U2的负向输入端,所述第四电容C4另一端连接所述第三电阻R3一端,所述第二运算放大器U2的正向控制端分别连接VCC和所述第二电容C2,且所述第二电容C2另一端接地,所述第二运算放大器U2的负向控制端接地,所述第二运算放大器U2的输出端分别连接第四电阻R4一端和所述第一比较单元的负向输入端。
其中,所述第一比较单元包括第一比较器U3、第五电阻R5、第六电阻R6和第五电容C5,所述第一比较器U3的正向输入端通过所述第五电阻R5连接所述第一运算放大器U1的输出端,所述第一比较器U3的正向输入端连接所述第六电阻R6一端,所述第六电阻R6另一端连接所述第一比较器U3的输出端,所述第五电容C5并联于所述第六电阻R6两端,所述第一比较器U3的正向控制端接地,所述第一比较器U3的负向控制端接VCC,所述第一比较器U3的输出端连接所述处理单元2的输入端。
在本实施例中,所述接收电路1中所述第一放大单元为第二放大单元和第一比较单元提供基准电压,所述第二放大单元将总线电源正端的放大后,输出相应的放大模拟信号,通过整形后,第一放大单元将放模拟信号大转换为脉冲波形,即波形信号。
在本实施例中,所述接收电路1可以4~20mA电流环中运行,相对于其他的芯片解码,即FPGA芯片不仅功耗高,还价格昂贵,不宜在工业仪表领域中使用,本接收电路1配合处理单元2能够在8mA电流下工作,降低电流功耗。
如图3所示,为图1中本发明实施例中发送电路4的电路图,所述发送电路4具体包括:连接电流生成电路的总线电源正极、总线电源负极以及连接所述电流生成电路输入端的控制器,所述电流生成电路用于根据该控制器传输的电流信号产生响应,其中,所述控制器的一个输出端通过数模转换器连接所述电流生成电路输入端,用于控制4~20mA电流环电流信号的启停;所述控制器的另一个输出端连接所述电流生成电路输入端,用于控制曼彻斯特电流信号的启停。
曼彻斯特电路,所述曼彻斯特电路的输入端连接所述控制器的输出端,所述曼彻斯特电路的输出端连接所述电流生成电路的输入端。
其中,所述曼彻斯特电路包括控制开关U4、第三运算放大器U5、第七电阻R7至第十一电阻R11和第六电容C6;
所述控制开关U4的使能端连接所述控制器的输出端,所述控制开关U4的第一输出端通过所述第七电阻R7连接所述第三运算放大器U5的负向输入端,所述控制开关U4的第二输出端连接所述第三运算放大器U5的正向输入端,且所述第八电阻R8和所述第十电阻R10串联分压连接所述第三运算放大器U5的正向输入端;
所述第六电容C6和所述第九电阻R9并联在所述第三运算放大器U5的负向输入端和输出端之间,第三运算放大器U5的输出端通过第十一电阻R11连接所述电流生成电路的输入端。
其中,所述电流生成电路包括稳压子电路、控制子电路和解码子电路,所述控制子电路的输入端分别连接曼彻斯特电路的输入端和电流环电路的输入端,所述稳压子电路为所述解码子电路提供稳定电压。
所述控制子电路包括第四运算放大器U6、三极管T、第十二电阻R12至第十五电阻R15和第七电容C7;所述第四运算放大器U6的正向输入端通过第十二电阻R12连接其正向使能端,所述第四运算放大器U6的正向使能端连接3.3V电压,所述第十三电阻R13一端连接所述第四运算放大器U6的正向输入端,所述第四运算放大器U6的正向输入端连接所述曼彻斯特电路的输入端;所述第七电容C7连接在所述第四运算放大器U6的负向输入端与其输出端之间,所述第四运算放大器U6的负向输入端通过第十四电阻R14接地;所述第四运算放大器U6的输出端通过第十五电阻R15连接所述三极管T的基极。
所述三极管T的集电极连接第一二极管V1的正极,所述第一二极管V1的负极连接总线电源负极。
所述解码子电路包括第十六电阻R16、第二二极管V2、第三二极管V3、第八电容C8和电解电容E1,所述第十六电阻R16的一端和所述控制子电路中三极管T的发射极均接地,所述第十六电阻R16的另一端连接第十三电阻R13的另一端,所述十三电阻电阻的另一端并联所述第八电容C8和所述电解电容E1,且所述电解电容E1的负极接地,所述第二二极管V2的负极和第三二极管V3的负极均接地,所述第二二极管V2的正极和第三二极管V3的正极均连接所述第十三电阻R13的另一端。
所述稳压子电路包括型号为TL451集成芯片U7,第十七电阻R17至第十九电阻R19、第四二极管V4和第五二极管V5,所述集成芯片U7的正向输入端与其输出端之间连接有第十八电阻R18和第十七电阻R17,且所述第十七电阻R17和所述第十八电阻R18的之间连接3.6V电压,所述集成芯片U7的负向输入端与其输出端之间连接有第十九电阻R19,且所述十九电阻远离所述集成芯片U7输出端的一端接地,所述第四二极管V4的负极、所述第五二极管V5的负极和所述电解电容E1的正极均连接3.6V电压,所述第四二极管V4的正极极和所述第五二极管V5的正极均连接总线电源负极。
在本实施例中,接收电路1将处理单元2发送的曼彻斯特信号发送至总线,当控制开关U4的使能端接收到高电平时,则控制开关U4闭合,开始运转发送曼侧斯特信号;当控制开关U4的使能端为低电平时,则控制开关U4断开,不发送曼侧斯特信号,则提高了其数据传输的准确性和抗干扰能力。
如图4所示,为图1中本发明实施例中协议转换单元3的结构框图,具体为:
所述协议转换单元3为ST公司型号为STM32F411的单片机,所述协议转换单元3将从处理单元2接收到的数据进行协议处理,或者将源数据转换为预设格式数据,由于曼彻斯特编码是以沿的跳变表示数据,因此,要将一位原始数据转换成曼彻斯特编码数据需要对应为两位数据,比如实际要传输原始数据1,那么转换为曼彻斯特数据需用1和0表示,即下降沿表示原始数据1;同样如传输原始数据0,那么转换曼彻斯特数据需用0和1表示,即上升沿表示原始数据0;,将该数据发送至处理单元2。
其中,该协议转换单元3外围设置晶振电路,包括晶振Y1,电容C9、C10,第二十电阻R20,该晶振电路适于在定时时间内检测是否接收到起始位或停止位,其余电容C11~C14用于对整形滤波,
其中,所述协议转换单元3中SPISI、SPISO分别为数据总线的输入端、输出端,RXD1、TXD1分别为接收端口和发送端口,通过该端口可与处理单元2连接,形成串口连接,JTCK-SWCLK端口为PA14,JTMS-SWDIO端口为PA13。
如图5所示,为图1中本发明实施例中处理单元2为结构框图,具体为:
所述处理单元2为ST公司型号为STM32L152的单片机,所述处理单元2具有功耗低,速度快。
其中,该处理单元2外围设置晶振电路,包括晶振Y2,电容C18、C19,第二十一电阻R21,该晶振电路适于在定时时间内检测是否接收到起始位或停止位,其余电容C11~C14用于整形滤波。
其中,所述处理单元2通过PO_PHPDU、PI_PHPDU分别连接发送电路4和接收电路1,NRSR1端为复位脚,VDDA端口连接数字电压、VSSA端口连接模拟电压,且WDI 1端口为检测电平是否翻转,根据电平翻转变化开始计数,而通过TXD1、RXD1连接上述协议转换单元3。
如图6所示,为本发明实施例中基于曼彻斯特解码的自适应方法流程图,具体如下:
步骤S601,检测波形信号是否存在下降沿;
步骤S602,当检测到下降沿波形信号时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期调节波特率,生成相应的波特率控制信号;
步骤S603,根据波特率控制信号调节相应波特率,解码曼彻斯特信号生成相应波形信号;
步骤S604,当检测到三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束。
在本实施例中,通过检测是否存在下降沿波形信号,其中,该下降沿波形信号相当于起始位,该起始位的电平为(0、1、0),通过计算该三个前导码电平的平均时间,以该平均时间的一半为周期,例如,当前导码的平均时间为32微秒,则以16微秒为周期对应波特率,并且前导码的个数可以降低周期误差,误差自适应调节接收的波特率,在增加脉宽的基础上,提高了测量的精度。
在本实施例中,当检测到三个任意连续地导码电平所对应的电平值不变时,如果无上升沿或下降沿时,则表示波形信号接收结束。
如图7所示,为本发明实施例中基于曼彻斯特编码的自适应方法流程图,具体如下:
步骤S701,将源数据转换为符合预设格式的数据;
步骤S702,将源数据进行曼彻斯特编码生成曼彻斯特信号,以串行移位的方式发送该曼彻斯特信号;
步骤S703,根据波特率控制信号,以接收曼彻斯特信号相同的波特率,发送所述曼彻斯特信号。
在本实施例中,源数据符合预设格式,可以通过曼彻斯特编码生成曼彻斯特信号,以串行移位的方式发送该曼彻斯特信号,当接收到该曼彻斯特信号时,以接收电路1相同的波特率发送曼彻斯特信号,传输至总线输入端,形成收发皆为曼彻斯特信号的电路。
综上所述,本发明通过定时检测所述波形信号,判断所述波形信号是否变化,当所述波形信号出现下降沿时,计算该下降沿波形所对应的三个前导码电平的平均时间,以所述平均时间的一半为周期,生成波特率控制信号调节接收电路1接收波形信号的波特率;当检测到所述波形信号无变化,即三个任意连续地导码电平所对应的电平值不变时,则波形信号接收结束。根据传输距离的不同自适调节相应波特率,降低通信速率提高了传输的准确性,从而降低了传输时的误码率。同时,通过设定的接收电路1和发送电路4配合处理单元2,完成曼彻斯特信号的编码和解码,替代了传统曼彻斯特编解码需要特定的芯片,降低了芯片费用,而且在功耗方面,本发明通过配合发送电路4和接收电路1,大大地降低使用功耗,降低了运行成本。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。