一种usb串口智能通信系统及usb串口通信监视方法

文档序号:10488889阅读:617来源:国知局
一种usb串口智能通信系统及usb串口通信监视方法
【专利摘要】本发明提供一种USB串口智能通信系统,包括USB接口和16个单向端点,每两个单向端点共用一个端点地址,一共为8个端点地址,在USB接口和至少3个端点地址之间设置串口通信实时监视模块,用于接收所有端点数据包,对端点数据包进行侦听、拦截、记录、分析串行通信协议,得到监视信息;所述的3个端点地址中,其中1个对应用于USB设备枚举的双向收发端点,1个对应用于向USB接口传输数据的IN端点,1个对应用于从USB接口接收数据转发至串口的OUT端点;所述的监视信息通过其它端点地址发送出去,或通过串口输出。本发明通过在数据端口设置串口通信实时监视模块,实现通信数据的监视及信息输出,完成智能辅助动作。
【专利说明】
一种USB串口智能通信系统及USB串口通信监视方法
技术领域
[0001 ]本发明属于数据通信领域,具体涉及一种USB串口智能通信系统及USB串口通信监视方法。
【背景技术】
[0002]串行通信接口,作为一种标准端口类型,它的应用非常广泛。例如RS-232,其电气接口电路采用不平衡传输方式,容易受到共地干扰,信号电平较高,容易损坏接口电路的芯片,不支持热插拔。随着科学技术的发展,出现了快速的通用串行总线(Universal SerialBus)接口,简称USB接口,以及更高速度的以太网(Ethernet)等,但USB接口通信距离更短,以太网接口较为昂贵,因此出现了将USB转换为RS-232或其它接口的转换装置。这种装置解决了 RS-232的热插拔问题,也解决了 USB通信距离过短的问题。
[0003]比较著名的USB-T0-RS232芯片出自FTDI公司,http: //www.ftdichip.com/,典型芯片是FT232RL,中国台湾的Pro Iif i c公司,http: //www.prolific, com.tw/,典型芯片是PL2303,南京丨心恒,http: //www.wch.cn/product/CH341.html,典型芯片是CH341,还有其它厂商提供的CP2102、XR21V1410等。这些厂家提供的USB-RS232芯片都属于专用芯片,不能通过编程的方法,实现一些智能的辅助动作。
[0004]现有芯片组成的USB转RS232通信设备原理如图1所示,无通信监视功能。现有的技术中,通过软件实现串口监视的原理为:Eltima Serial Port Monitor是较著名的串口通信监视的商业软件,利用软件技术,侦听、拦截、记录、分析串行通信协议,占用串口资源,不能实现一些智能操作;CommMoni tor是一个应用比较广泛的国产软件,利用较新的技术,侦听、拦截、记录、分析串行通信协议,不占用串口资源,不能实现一些智能操作。通过硬件实现串口监视的原理为:通过增加硬件电路,获取串口发送或接收的数据内容,这种方法和软件监听的方式不同,不会影响正常通信,也不会占用当前的串口资源,但这种方法必须要改硬件,且需要测量通信波特率,并不方便。

【发明内容】

[0005]本发明要解决的技术问题是:提供一种USB串口智能通信系统及USB串口通信监视方法,在USB转串口装置中,通过分析端点数据包,实现通信数据的监视及信息输出,完成智能辅助动作。
[0006]为解决上述技术问题,本发明所采取的技术方案为:一种USB串口智能通信系统,包括USB接口和16个单向端点,每两个单向端点共用一个端点地址,一共为8个端点地址,其特征在于:在USB接口和至少3个端点地址之间设置串口通信实时监视模块,用于接收所有端点数据包,对端点数据包进行侦听、拦截、记录、分析串行通信协议,得到监视信息;所述的3个端点地址中,其中I个对应用于USB设备枚举的双向收发端点,I个对应用于向USB接口传输数据的IN端点,I个对应用于从USB接口接收数据转发至串口的OUT端点;所述的监视信息通过其它端点地址发送出去,或通过串口输出。
[0007]基于上述一种USB串口智能通信系统实现的USB串口通信监视方法,其特征在于:它包括以下步骤:
51、在USB通信端点的入口处获取端点数据包,进行存储;
52、通过监视端点动作内容获取串口的状态,并对端点数据包进行处理;串口的状态包括串口是否被上位机软件打开、串口的波特率、校验位和停止位信息;
53、从处理后的端点数据包中获取通信内容,通过其它端点或串口输出。
[0008]按上述方法,所述的S2对端点数据包的处理具体包括:
实时监视通信数据包中特定的字符串,进行过滤或替换;
实时监视通信控制命令或特定字符串,实现DTR针脚控制、RTS针脚控制;
根据现场情况在端点数据包中插入额外的信息。
[0009]本发明的有益效果为:本发明通过在数据端口设置串口通信实时监视模块,直接对端点数据包进行分析,方便快捷的获取串口的状态,通信波特率测量方便快捷,并且可以对端点数据包的内容进行控制动作,例如通过监视通信控制命令或特定字符串来实现DTR针脚控制、RTS针脚控制等,还可以对监视到的特定字符串进行过滤和替换,在特定的位置插入额外信息,最终实现通信数据的监视及信息输出,完成智能辅助动作。
【附图说明】
[0010]图1为传统芯片USB转RS232通信设备原理图。
[0011 ]图2为本发明一实施例的方法流程图。
[0012]图3为本发明一实施例的RS232接口电路图。
[0013]图4为本发明一实施例的USB接口及处理器硬件结构图。
【具体实施方式】
[0014]下面结合具体实例和附图对本发明做进一步说明。
[0015]本发明提供一种USB串口智能通信系统,包括USB接口和16个单向端点,每两个单向端点共用一个端点地址,一共为8个端点地址,如图2所示,在USB接口和至少3个端点地址之间设置串口通信实时监视模块,用于接收所有端点数据包,对端点数据包进行侦听、拦截、记录、分析串行通信协议,得到监视信息;所述的3个端点地址中,其中I个对应用于USB设备枚举的双向收发端点,I个对应用于向USB接口传输数据的IN端点,I个对应用于从USB接口接收数据转发至串口的OUT端点;所述的监视信息通过其它端点地址发送出去,或通过串口输出。
[0016]基于上述一种USB串口智能通信系统实现的USB串口通信监视方法,包括以下步骤:
51、在USB通信端点的入口处获取端点数据包,进行存储;
52、通过监视端点动作内容获取串口的状态,并对端点数据包进行处理;串口的状态包括串口是否被上位机软件打开、串口的波特率、校验位和停止位信息;
53、从处理后的端点数据包中获取通信内容,通过其它端点或串口输出。
[00?7]所述的S2对端点数据包的处理具体包括:
实时监视通信数据包中特定的字符串,进行过滤或替换; 实时监视通信控制命令或特定字符串,实现DTR针脚控制、RTS针脚控制;
根据现场情况在端点数据包中插入额外的信息。
[0018]本发明提供一种USB串口通信监视的方法,用于分析串口通信信息,并通过这些信息完成一些辅助动作,即智能控制动作。
[0019]USB串口通信监视的信息包括:(I)监视/监听串口控制命令信息:包括串口的打开和关闭,通信波特率,校验位,停止位。(2)监视/监听串口发送和接收通信数据内容,以及特定特征的字符串。
[0020]智能控制的信号来源及辅助动作的内容包括:(I)监视串口通信特定特征的数据流,替换为其它内容。(2)监视串口控制命令信息,包括DTR控制命令信息,BREAK控制命令信息。(3)通过监视以上两个信号源的内容,执行以下智能动作,包括:DTR针脚控制、RTS针脚控制、在数据包转发时智能插入额外的信息(分析通信现场综合信息)。
[0021 ]本实施例基于意法半导体的USB通信专利技术,其Cortex-M3内核的ARM芯片集成了USB2.0全速设备通信子部件(FS Device core),串口为RS232,其硬件原理图如图3和图4所示,图中仅为关键芯片和接口原理图,未包含一些外围电路,外围电路可根据不同产品的需求,本领域技术人员自行配备。基于本发明思想和实施例的附图,本发明还可以适用于USB转RS485或CAN总线等。
[0022]USB通信子部件有8个双向收发端点(IN/OUT endpoint),对应8个状态和控制寄存器。至少需要一个双向端点,用于USB设备的枚举,一般是ΕΡ0。其余七个端点是EPl至EP7。物理上有16个单向端点,每两个单向端点共用一个端点地址。
[0023]实现一个USB虚拟串口,需要至少三个端点地址:一个双向收发端点EPO,用于USB设备枚举。一个IN端点,通过USB接口向PC传输数据,一个OUT端点,从PC接收到数据转发至串口。
[0024]监视信息可以通过串口输出,也可以通过其余的端点发往PC机。
[0025]串口通信实时监视模块的内容可以自行设定,本发明的核心在于该模块的设置位置,及其对数据处理的思想。本实施例提供以下方法,作为串口通信实时监视模块的内容:
一种USB串口控制命令信息的获取方法,通过监视端点动作内容获取串口的状态,包括:串口是否被上位机软件打开,串口的波特率,校验位,停止位信息。
[0026]—种USB串口通信内容的获取方法,包括发送及接收的内容。
[0027]根据以上方法衍生的智能辅助动作实现的一种方法,即通过监视通信控制命令或特定字符串实现的控制动作(包括:DTR针脚控制、RTS针脚控制)。
[0028]根据以上方法衍生的一种USB串口通信特定字符串过滤及替换的方法,特定字符串被包含在发送或接收内容中。
[0029]根据以上方法衍生的一种额外信息插入办法(包含给接收数据自动添加换行的功會泛)。
[0030]本发明功能:用于常规USB转RS232/RS485设备的通信(包括研发和调试,以及产品程序的批量下载或功能升级)。也可用于侦听、拦截、记录、分析串行通信协议,并实现一些智能控制动作。
[0031]以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
【主权项】
1.一种USB串口智能通信系统,包括USB接口和16个单向端点,每两个单向端点共用一个端点地址,一共为8个端点地址,其特征在于:在USB接口和至少3个端点地址之间设置串口通信实时监视模块,用于接收所有端点数据包,对端点数据包进行侦听、拦截、记录、分析串行通信协议,得到监视信息;所述的3个端点地址中,其中I个对应用于USB设备枚举的双向收发端点,I个对应用于向USB接口传输数据的IN端点,I个对应用于从USB接口接收数据转发至串口的OUT端点;所述的监视信息通过其它端点地址发送出去,或通过串口输出。2.基于权利要求1所述的一种USB串口智能通信系统实现的USB串口通信监视方法,其特征在于:它包括以下步骤: 51、在USB通信端点的入口处获取端点数据包,进行存储; 52、通过监视端点动作内容获取串口的状态,并对端点数据包进行处理;串口的状态包括串口是否被上位机软件打开、串口的波特率、校验位和停止位信息; 53、从处理后的端点数据包中获取通信内容,通过其它端点或串口输出。3.根据权利要求2所述的USB串口通信监视方法,其特征在于:所述的S2对端点数据包的处理具体包括: 实时监视通信数据包中特定的字符串,进行过滤或替换; 实时监视通信控制命令或特定字符串,实现DTR针脚控制、RTS针脚控制; 根据现场情况在端点数据包中插入额外的信息。
【文档编号】G06F13/10GK105843762SQ201510970288
【公开日】2016年8月10日
【申请日】2015年12月22日
【发明人】王建
【申请人】武汉理工通宇新源动力有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1