一种供终端应用程序调用的串口代理及实现方法技术

技术编号:25040942 阅读:25 留言:0更新日期:2020-07-29 05:32
本发明专利技术公开了一种供终端应用程序调用的串口代理及实现方法,所述的串口代理包括主机侧与代理侧两部分,主机侧为一个与代理测串口代理软件匹配的接口管理程序;代理侧为在串口和连接对象之间接入的由串口代理硬件及其嵌入式软件程序组成的系统;所述方法对使用串行接口的模块以及器件进行了统一管理,能够接入各种具有异步串行口的模块与器件。此串口代理有两种运行状态,分别是管理状态以及工作状态;当串口代理处于管理状态下时,能确认接口的有效性并提供代理的下层属性,使得应用程序能够根据不同的连接设备自主选择工作的模式;当串口代理处于工作状态下时,串口代理透明地在主机和接口对象间转发数据,不进行任何处理。

【技术实现步骤摘要】
一种供终端应用程序调用的串口代理及实现方法
本专利技术属于计算机以及嵌入式
,具体涉及一种供终端应用程序调用的串口代理及实现方法。
技术介绍
连接处于物联网感知层的终端设备是实现万物互联的第一步。物联网技术的持续发展,催生了大量与物联网相关的需求和应用,要求物联网能够接入各种具有异步串行接口的模块以及器件。但仅依靠Windows和Linux的应用程序无法实现对不同连接对象进行识别管理。当连接对象断连或改变时,不能自主改变工作状态,需要人工参与配置。上述缺陷耗费大量人工并加大了物联网维护的成本,也不利于物联网平台的智能化,破坏了物联网平台的适用性。
技术实现思路
专利技术目的:本专利技术提供一种供终端应用程序调用的串口代理及实现方法,能够做到串口及其接入的对象系统的即插即用。4、
技术实现思路
:本专利技术所述的一种供终端应用程序调用的串口代理,包括主机侧与代理侧两部分,主机侧为一个与代理测串口代理软件匹配的接口管理程序;代理侧为在串口和连接对象之间接入的由串口代理硬件及其嵌入式软件程序组成的系统;所述主机侧包括主机侧接口处理模块和主机侧数据处理模块;所述主机侧接口处理模块实现主机侧接口的管理,供主机侧应用程序调用;所述主机侧数据处理模块实现与连接对象之间的数据传输,包括全局传感、执行数据以及全局管理数据;所述代理侧包括主机接口适配模块、代理侧数据处理模块和南向接口适配模块;所述主机接口适配模块将来自代理侧的电平接口转换为主机侧电平接口;所述代理侧数据处理模块完成配置代理工作状态,数据格式转换,数据转发功能;所述南向接口适配模块处理与连接对象接口的电平转换和接口协议转换。所述代理侧硬件由一个至少带有两个UART串口的低价8位处理器组成。本专利技术还提供一种供终端应用程序调用的串口代理的实现方法,包括以下步骤:(1)主机启动,主机向代理侧发送类型请求指令;代理侧收到类型请求,进入初始化状态并向主机侧返回该串口所连接终端设备的类型信息;主机侧向代理侧发送进入工作状态命令,代理侧进入工作状态;(2)主机侧定时检查串口,对已知串口类型的代理进行心跳检测,对未知串口类型的代理与步骤1相同;已进入工作状态的代理对心跳检测返回心跳响应,其余时间正常转发数据;尚未初始化的代理与步骤1中相同。进一步地,所述步骤(1)包括以下步骤:(11)网关中维护一个现有串口表,每个串口一条记录,记录中只有三个参数:虚拟的串口标识,串口的操作系统名称和串口接口类型编码;(12)网关程序启动时,首先检查系统中所有存在的串口,并进行串口的初始化,即向每个串口中的代理发送类型请求消息,如果获得回复,则建立该串口的记录,并使串口进入工作状态;(13)主机侧有一个串口检测线程,定时启动,检测串口是否有更新,如果串口不再工作,则从现有串口表中删除其记录;如果发现新的串口,则向其发送类型请求消息,进入初始化过程;(14)串口代理接入系统时,不进行任何操作,等待网关侧的初始化,初始化以后,串口才可以收发数据;(15)代理接口处于初始化状态时,通信双方不传输全局数据,而是进行管理信息的交换;(16)接口数据结构比较简单,当主机侧需要进行管理交互的时候,发送以4个0xfe起始的管理帧,当前管理帧包括以下三种:接口类型请求帧以及接口类型响应帧,方向分别为代理至主机侧和主机至代理侧;工作状态命令帧,方向为主机至代理侧;接口心跳请求帧以及接口心跳响应帧,方向分别为代理至主机侧和主机至代理侧。进一步地,所述步骤(2)包括以下步骤:(21)接口检查定时器溢出时,主机程序检查系统中存在的所有串行口;(22)若存在串行接口,主机程序任取一个串口准备处理,若不存在则返回步骤(21);(23)查看接口代理表中是否存在该串口,如果存在进入步骤(24),如果不存在则进入步骤(25);(24)启动心跳检查,主机程序检查串口的实际类型是否相符,如果相符,则不进行任何操作;如果不相符,主机程序查看接口类型表中是否有该串口类型,如果有则建立记录并启动正常工作状态,否则装载新的串口程序,处理结束后进入步骤(26);(25)主机程序对该串口代理执行初始化操作,成功以后,在接口代理表中添加相应的记录;(26)返回步骤(22),直到处理完所有串口后返回步骤(21)。有益效果:与现有技术相比,本专利技术的有益效果:1、本专利技术能够做到串口及其接入的对象系统的即插即用;2、本专利技术能够保证串口相关程序的可移植性;3、本专利技术能够在操作系统侧控制串口接入的嵌入式系统的GPIO;4、本专利技术屏蔽了USB转换后串口名称的改变,保证了程序的运行;5、本专利技术在有缓冲的情况下,两侧串口的传输速率(或称波特率)可以不相同,扩展了可使用的传输速率。附图说明图1为本专利技术中的串口代理结构。图2为本专利技术中的代理实现方式步骤图;图3为本专利技术中实现方法步骤1中主机侧流程图;图4为本专利技术中实现方法步骤1中代理侧流程图;图5为本专利技术中实现方法步骤2中主机侧流程图;图6为本专利技术中实现方法步骤2中代理侧流程图。具体实施方式下面结合附图对本专利技术的技术方案进行详细说明:图1为本专利技术中的串口代理结构。串口代理包括主机侧与代理侧两部分,主机侧为一个与代理测串口代理软件匹配的接口管理程序;代理侧为在串口和连接对象之间接入的由串口代理硬件及其嵌入式软件程序组成的系统;主机侧包括主机侧接口处理模块和主机侧数据处理模块;主机侧接口处理模块实现主机侧接口的管理,供主机侧应用程序调用;主机侧数据处理模块实现与连接对象之间的数据传输,包括全局传感、执行数据以及全局管理数据;代理侧包括主机接口适配模块、代理侧数据处理模块和南向接口适配模块;主机接口适配模块将来自代理侧的电平接口转换为主机侧电平接口;代理侧数据处理模块完成配置代理工作状态,数据格式转换,数据转发功能;南向接口适配模块处理与连接对象接口的电平转换和接口协议转换。对于应用程序来说,代理侧的三个模块形成一个整体,能够被应用程序所调用,相当于一个可以自动识别接口对象类型的普通串口。即代理机制是透明的,应用程序无须了解其内部操作细节,按调用接口的要求调用即可。图2为串口代理实现方式步骤图,状态的转换由网关(主机)侧发起,其步骤如下:1、主机启动,主机向代理侧发送类型请求指令;代理侧收到类型请求,进入初始化状态并向主机侧返回该串口所连接终端设备的类型信息;主机侧向代理侧发送进入工作状态命令,代理侧进入工作状态。如图3所示,主机程序启动时删除接口代理表中的所有记录;主机程序检查系统中存在的所有串行口;若存在未记录串口,则主机程序对该串口代理执行初始化操作。操作成功后,网关(主机)程序在接口代理表中添加相应的记录,启动接口检查定时器。具体包括以下步骤:(1)网关中维护一个现有串口表,每个串口一条记录,记录中只有三个参数:虚拟的串口标识,串口的操作系统名称和串口接口类型编码;(本文档来自技高网...

【技术保护点】
1.一种供终端应用程序调用的串口代理,其特征在于,包括主机侧与代理侧两部分,主机侧为一个与代理测串口代理软件匹配的接口管理程序;代理侧为在串口和连接对象之间接入的由串口代理硬件及其嵌入式软件程序组成的系统;所述主机侧包括主机侧接口处理模块和主机侧数据处理模块;所述主机侧接口处理模块实现主机侧接口的管理,供主机侧应用程序调用;所述主机侧数据处理模块实现与连接对象之间的数据传输,包括全局传感、执行数据以及全局管理数据;所述代理侧包括主机接口适配模块、代理侧数据处理模块和南向接口适配模块;所述主机接口适配模块将来自代理侧的电平接口转换为主机侧电平接口;所述代理侧数据处理模块完成配置代理工作状态,数据格式转换,数据转发功能;所述南向接口适配模块处理与连接对象接口的电平转换和接口协议转换。/n

【技术特征摘要】
1.一种供终端应用程序调用的串口代理,其特征在于,包括主机侧与代理侧两部分,主机侧为一个与代理测串口代理软件匹配的接口管理程序;代理侧为在串口和连接对象之间接入的由串口代理硬件及其嵌入式软件程序组成的系统;所述主机侧包括主机侧接口处理模块和主机侧数据处理模块;所述主机侧接口处理模块实现主机侧接口的管理,供主机侧应用程序调用;所述主机侧数据处理模块实现与连接对象之间的数据传输,包括全局传感、执行数据以及全局管理数据;所述代理侧包括主机接口适配模块、代理侧数据处理模块和南向接口适配模块;所述主机接口适配模块将来自代理侧的电平接口转换为主机侧电平接口;所述代理侧数据处理模块完成配置代理工作状态,数据格式转换,数据转发功能;所述南向接口适配模块处理与连接对象接口的电平转换和接口协议转换。


2.根据权利要求1所述的一种供终端应用程序调用的串口代理,其特征在于,所述代理侧硬件由一个至少带有两个UART串口的低价8位处理器组成。


3.一种采用如权利要求1所述的串口代理的实现方法,其特征在于,包括以下步骤:
(1)主机启动,主机向代理侧发送类型请求指令;代理侧收到类型请求,进入初始化状态并向主机侧返回该串口所连接终端设备的类型信息;主机侧向代理侧发送进入工作状态命令,代理侧进入工作状态;
(2)主机侧定时检查串口,对已知串口类型的代理进行心跳检测,对未知串口类型的代理与步骤1相同;已进入工作状态的代理对心跳检测返回心跳响应,其余时间正常转发数据;尚未初始化的代理与步骤1中相同。


4.根据权利要求3所述的一种供终端应用程序调用的串口代理的实现方法,其特征在于,所述步骤(1)包括以下步骤:
(11)网关中维护一个现有串口表,每个串口一条记录,记录中只有三个参数:虚拟的串口标识,串口的操作系统名称和串口接口类型编码;
(12)网关程...

【专利技术属性】
技术研发人员:束丰卢捍华闵丽娟王亚石
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1