通讯自适应云台解码器及其解码方法

文档序号:7986279阅读:421来源:国知局
通讯自适应云台解码器及其解码方法
【专利摘要】本发明提供了一种应用于安防监控领域的通讯自适应云台解码器及其解码方法。本发明所述解码器包括中央处理器、中央处理器的输出端口、具有反相器功能的电子电路、RS485通讯接口芯片、RS485通讯线及CPU串口输入端口组成,根据解码器结构,通过初始化中央处理器、自动检查通讯参数、自动脉冲宽度检查、自动检测控制协议类型、自动检测RS485通讯线极性、自动检测波特率等步骤,并在此基础上改变这些通讯参数、实现云台解码器的通讯自适应功能。本发明所述技术方案能够给安防监控系统的安装、维护、升级改造等提供极大便利。
【专利说明】通讯自适应云台解码器及其解码方法【技术领域】
[0001]本发明属于安防监控领域,特别涉及一种云台解码器及其解码方法。
【背景技术】
[0002]在安防监控行业里,云台解码器的作用是将串口控制命令转化为云台的实际动作电信号,用来驱动云台和摄像机的各个电机和继电器,从而实现对云台和摄像机的远程控制。在现有工业应用中,为获得比较强的通讯稳定性和工程施工的便利性,云台通讯线串口通常都采用RS485标准,这样就自然涉及到串口通讯的通讯参数设置和控制协议的设置,如:串口波特率、数据位数、校验方式、起始位、停止位、通讯协议等。在绝大多数情况下:数据位数、校验方式、起始位、停止位都是固定的,变动的只有波特率和通讯协议。目前,在商品化运用的云台解码器中,上述通讯参数的设置方式是通过云台解码器的拨码开关进行手动设置。
[0003]在RS485通讯中,RS485的两根通讯线分别是A、B,它们是不能接反的,否则不能正常通讯。当两根通讯线接反或者接错时一般通过靠检查核对接线是否正确来实现正常通讯。在视频监控系统安装的过程中,RS485通讯线接反时有发生,接反之后只能到前端将其调整回来,否则系统无法工作。
[0004]在视频监控系统中,云台摄像机的位置都在前端,安装维护工作比较不便。当系统升级改造、中心控制设备更换时,通讯参数或通讯协议会发生变化,此时为了视频监控系统的正常运行,就必须到前端,在云台解码器的拨码开关上进行设置校正,然后重新开机。同样,当通讯线极性接反了的时候,也要到前端进行校正,这些工作都非常繁琐不便,而且视频监控系统会停止工作较长时间,为系统添加了安全隐患。

【发明内容】

[0005]为了解决上述【背景技术】中存在的:当通讯线极性接反或系统参数、协议等因系统升级改造、设备更换等原因而改变时,只能通过云台解码器的拨码开关进行手动设置,从而存在工作程序复杂、增加安全隐患等技术问题,本发明提供了一种通讯自适应云台解码器及其解码方法。本发明就是针对现有云台解码的不足,添加了自适应通讯功能,自动检测通讯波特率、通讯协议、RS485通讯线极性,并能自动调整,以适应波特率、通讯协议、RS485通讯线极性的改变,使云台解码器可以正常工作。
[0006]本发明具体技术方案如下:
[0007]本发明提供了一种通讯自适应云台解码器,包括:中央处理器、中央处理器输出端口、RS485通讯接口芯片、RS485通讯线、中央处理器串口输入端口,所述中央处理器包括非易失性存储器,此外还包括具有反相器功能的电子电路。
[0008]作为本发明所述通讯自适应云台解码器的一种优选实施方式,所述具有反相器功能的电子电路为74HC86集成电路、分立元件、可编程逻辑电路CPLD、可编程逻辑电路FPGA中的一种。[0009]本发明还提供了一种上述通讯自适应云台解码器的解码方法,包括:用于初始化所述中央处理器的步骤;用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤;用于通讯端口设置的步骤;用于脉宽检测、确定通讯波特率的步骤;用于波特率确定后通讯端口设置的步骤;用于通讯协议检测的步骤;用于通讯参数保存的步骤;用于控制反相的步骤;用于控制命令识别的步骤。
[0010]所述通讯自适应云台解码器的解码方法中所述通讯参数包括:波特率、协议类型、RS485通讯线极性。
[0011]本发明所述多通讯自适应云台解码器及其解码方法,至少可实现以下有益技术效果,但不限于此:
[0012](I)通讯自适应云台解码器由于采用了通讯参数的自动查找,通讯参数的自动更换,从而实现自适应通讯参数变更。
[0013](2)本发明由于采用了波特率自动检测、控制协议类型自动检测、RS485通讯线极性自动检测,所以可以跟踪通讯参数,并可以改变这些通讯参数,故可以实现通讯自适应的功能。
[0014](3)云台解码器具有通讯自适应的功能后,给系统安装、维护、升级、改造等都提供的极大的便利。
【专利附图】

【附图说明】
[0015]图1为本发明所述通讯自适应云台解码器硬件逻辑结构图;
[0016]图2为本发明所述通讯自适应云台解码器的解码方法流程图;
【专利附图】
附图
【附图说明】:
[0017]I为中央处理器CPU;
[0018]2为中央处理器的输出端口 ;
[0019]3为具有反相器功能的电子电路;
[0020]4为RS485通讯接口芯片;
[0021]5 为 RS485 通讯线;
[0022]6为CPU串口输入端口 ;
[0023]101为用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤;
[0024]102为用于通讯端口设置的步骤;
[0025]103为用于脉宽检测、确定通讯波特率的步骤;
[0026]104为用于波特率确定后通讯端口设置的步骤;
[0027]105为用于通讯协议检测的步骤;
[0028]106为用于通讯参数保存的步骤;
[0029]107为用于控制反相的步骤;
[0030]108为用于控制命令识别的步骤;
【具体实施方式】[0031]为了使本发明所述通讯自适应云台解码器及其解码方法更容易理解,现结合附图采用具体实施例的方式,对本发明的技术方案进行清晰、完整的描述。应当注意,在此所述的实施例仅为本发明的部分实施例,而非本发明的全部实现方式,所述实施例只有示例性,其作用只在于为审查员及公众提供理解本
【发明内容】
更为直观明了的方式,而不是对本发明所述技术方案的限制。在不脱离本发明构思的前提下,所有本领域普通技术人员没有做出创造性劳动就能想到的其它实施方式,及其它对本发明技术方案的简单替换和各种变化,都属于本发明的保护范围。
[0032]本发明是通过在云台解码器的程序和外围硬件配合来实现云台解码器的自适应通讯功能。
[0033]如图1所示所述本发明所述通讯自适应云台解码器包括中央处理器(CPU)l、中央处理器的输出端口 2、具有反相器功能的电子电路3、RS485通讯接口芯片4、RS485通讯线5XPU串口输入端口 6,所述中央处理器I包括非易失性存储器。具有反相器功能的电子电路3通过中央处理器输出端口 6及中央处理器串口输入端口 2与中央处理器I电性连接。
[0034]图2为本发明所述通讯自适应云台解码器的解码方法流程图,本发明所述通讯自适应云台解码器的解码方法具体实现方法为:
[0035]首先初始化所述中央处理器,之后进入用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤101:此时若存在通讯参数,进入用于通讯端口设置的步骤102 ;若不存在通讯参数,进入用于脉宽检测、确定通讯波特率的步骤103 ;
[0036]进入用于通讯端口设置的步骤102后:根据检测到的通讯参数,设置中央处理器的串口,通讯端口接收控制命令,然后进入用于控制命令识别的步骤108 ;
[0037]进入用于脉宽检测、确定通讯波特率的步骤103后:将中央处理器通讯端口设置为普通输入端口,检测中央处理器的通讯端口信号的脉冲宽度来确定通讯波特率;波特率确定后进入用于波特率确定后通讯端口设置的步骤104 ;
[0038]进入用于波特率确定后通讯端口设置的步骤104后:根据从新确定的通讯波特率,设置中央处理器的串口,通讯端口接收控制命令,之后进入用于通讯协议检测的步骤105 ;
[0039]进入用于通讯协议检测的步骤105后:若找到通讯协议类型,进入用于通讯参数保存的步骤106 ;若找不到通讯协议类型,进入用于控制反相的步骤107 ;
[0040]进入用于通讯参数保存的步骤106后:将所述通讯参数写入非易失性存储器保存,作为后续开机使用,并进入用于控制命令识别的步骤108 ;
[0041]进入用于控制反相的步骤107后:因在用于通讯协议检测的步骤中若找不到协议类型,此时可确定RS485通讯线极性接反,通过具有反相器功能的电子电路,使RS485通讯线的TTL电平反相,然后返回用于脉宽检测、确定通讯波特率的步骤103 ;
[0042]用于控制命令识别的步骤108:若能识别所述控制命令,解析接收到的所述控制命令,分别控制不同的云台电机和摄像机电机转动;若不能识别所述控制命令,返回用于脉宽检测、确定通讯波特率的步骤103 ;
[0043]在实际运用中本发明所述通讯自适应云台解码器的解码方法通常分为三种情况来实现:
[0044]第一种情况:云台解码器第一次开机。[0045]此时,云台解码器没有存储通讯的相关参数:波特率、协议类型、RS485极性。工作过程如下:
[0046]首先初始化中央处理器I,进入用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤101,因为是第一次开机,没有找到存储好的通讯参数;
[0047]此时进入用于脉宽检测、确定通讯波特率的步骤103,在此步骤中进行脉宽检测:将中央处理器通讯端口设置为普通的输入端口,检测中央处理器的通讯端口信号的脉冲宽度,在检测一定数量的脉冲后,通讯波特率就是检测到的最小的脉冲宽度,这样就可以确定通讯波特率;
[0048]确定通讯波特率后,进入用于波特率确定后通讯端口设置的步骤104:设置中央处理器I的串口,串口开始工作;设置好处理器通讯端口后,进入用于通讯协议检测的步骤105,通讯端口接收控制命令,然后根据不同通讯协议的特征,如包头、校验、包长等,找到协议类型,之后:
[0049]若RS485通讯线5接线正确,CPU输出端口 2输出的电平不反相,则进入用于通讯参数保存的步骤106,找到波特率、协议类型、缺省的RS485极性后,将这些通讯参数写入存储器保存,留作下一次开机使用;通讯参数保存后,进入用于控制命令识别的步骤108:若能识所述控制命令,解析接收到的所述控制命令,分别控制不同的云台电机和摄像机电机转动;若不能识别所述控制命令,返回用于脉宽检测、确定通讯波特率的步骤103 ;
[0050]若RS485通讯线5接线错误,CPU输出端口 2输出的电平反相,此时进入用于控制反相的步骤107:在用于通讯协议检测的步骤中若找不到协议类型,则为RS485通讯线极性接反,通过具有反相器功能的电子电路,使RS485通讯线的TTL电平反相,然后返回用于脉宽检测、确定通讯波特率的步骤103。
[0051]第二种情况:云台解码器后续开机。
[0052]云台解码器第一次开机后,已经将波特率、协议类型、RS485通讯线极性找到并存储到非易失性存储器里。这样后续开机不用再一次查找这些参数,开机即可使用。
[0053]所述通讯自适应云台解码器的解码方法工作过程如下:
[0054]初始化中央处理器I,进入用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤101,读出存储在非易失存储器里的通讯参数:波特率、协议类型、RS485通讯电缆极性。然后进入用于通讯端口设置的步骤102:根据检测到的通讯参数,设置中央处理器的串口,通讯端口接收控制命令,之后进入用于控制命令识别的步骤108:将接收到的命令解析,分别控制不同的云台电机和摄像机电机转动,从而实现云台的控制。
[0055]第三种情况:在使用过程中,通讯参数变更。
[0056]此时所述通讯自适应云台解码器的解码方法工作过程如下:
[0057]首先初始化中央处理器1,中央处理器I的串口按原先的通讯参数接收控制命令,直到进入用于控制命令识别的步骤108 ;由于通讯参数已经改变,经检查是不能识别的命令。在连续几次检测到不能识别的命令后,程序转入用于脉宽检测、确定通讯波特率的步骤103,通过脉宽检测获取修改后的波特率:将中央处理器通讯端口设置为普通的输入端口,检测中央处理器的通讯端口信号的脉冲宽度,在检测一定数量的脉冲后,通讯波特率就是检测到的最小的脉冲宽度,这样就可以确定新的通讯波特率;
[0058]确定新的通讯波特率后,进入用于波特率确定后通讯端口设置的步骤104,重新按新波特率初始化中央处理器的串口,串口开始工作;设置好处理器通讯端口后,进入用于通讯协议检测的步骤105,通讯端口接收控制命令,然后根据不同通讯协议的特征,如包头、校验、包长等,找到协议类型;
[0059]若RS485通讯线5接线正确,CPU输出端口 2输出的电平不反相,则进入用于通讯参数保存的步骤106,找到波特率、协议类型、缺省的RS485极性后,将这些通讯参数写入存储器保存,留作下一次开机使用;通讯参数保存后,进入用于控制命令识别的步骤108:若能识所述控制命令,解析接收到的所述控制命令,分别控制不同的云台电机和摄像机电机转动;若不能识别所述控制命令,返回用于脉宽检测、确定通讯波特率的步骤103 ;
[0060]若RS485通讯线5接线错误,CPU输出端口 2输出的电平反相,此时进入用于控制反相的步骤107:在用于通讯协议检测的步骤中若找不到协议类型,则为RS485通讯线极性接反,通过具有反相器功能的电子电路,使RS485通讯线的TTL电平反相,然后返回用于脉宽检测、确定通讯波特率的步骤103。
[0061]通过本发明所述通讯自适应云台解码器的应用,当通讯参数改变时,不需要去前端对云台解码器做任何手动设置,就可以自动识别并切换到新的通讯参数中,只需要在参数切换过程中,发出几十个控制命令,使云台解码器“学习”新的通讯参数。
[0062]本发明所述控制命令识别技术,在业内是一种通用技术,它根据各种不同控制协议的特点进行协议识别,如协议包头、校验方式、包长等来综合判断命令包是属于哪种控制协议。
[0063]本发明所述RS485通讯线换相技术:RS485标准采用差分驱动方式,通讯线有两根,分别是A和B,A的电平高于B,并且这两相不能接反,否则,经过RS485接收芯片后,产生的TTL电平也是反相的,本发明的实现中,没有对通讯线A、B进行交叉切换,而是在通过485接收芯片处理变成TTL电平后,用一个有反相器功能的电路将TTL电平反相,这个具有反相器功能的电路可以是集成电路,如74HC86,也可以用分立元件实现,还可以用可编程逻辑电路CPLD/FPGA实现。
[0064]本发明所述串口波特率检测技术:串口通讯中,数据含有1、5、a等十六进行数据时,最小脉宽就是波特率,只要检测出串口信号的最小位宽就能获得波特率,故可以采用测量通讯信号的高电平或低电平的宽度,在检测一定数量的脉冲如1000个后,而这些数据中肯定含有1、5、a等十六进行数,故取最小高电平宽度就是此时串行通讯的最小脉宽,从而得出波特率。
【权利要求】
1.一种通讯自适应云台解码器,包括:中央处理器、中央处理器输出端口、RS485通讯接口芯片、RS485通讯线、中央处理器串口输入端口,所述中央处理器包括非易失性存储器,其特征为:还包括具有反相器功能的电子电路。
2.根据权利要求1所述的通讯自适应云台解码器,其特征为:所述具有反相器功能的电子电路为74HC86集成电路、分立元件、可编程逻辑电路CPLD、可编程逻辑电路FPGA中的一种。
3.根据权利要求1所述通讯自适应云台解码器的解码方法,其特征为,包括:用于初始化所述中央处理器的步骤;用于读取所述非易失性存储器数据、检测所述中央处理器通讯参数的步骤;用于通讯端口设置的步骤;用于脉宽检测、确定通讯波特率的步骤;用于波特率确定后通讯端口设置的步骤;用于通讯协议检测的步骤;用于通讯参数保存的步骤;用于控制反相的步骤;用于控制命令识别的步骤。
4.根据权利要求3所述通讯自适应云台解码器的解码方法,其特征为:所述通讯参数包括:波特率、协议类型、RS485通讯线极性。
【文档编号】H04L29/08GK103840990SQ201210488631
【公开日】2014年6月4日 申请日期:2012年11月26日 优先权日:2012年11月26日
【发明者】李金成 申请人:富盛科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1