单端串口实现多功能复用的方法技术

技术编号:2911851 阅读:243 留言:0更新日期:2012-04-11 18:40
一种单端串口实现多功能复用的方法,包括以下步骤:在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道并建立设备端通用异步收发器中间层;通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据;在个人电脑端建立个人电脑端通用异步收发器中间层,将来自各个逻辑通道的数据包封装或解码,并在各虚拟端口上进行数据的传递,同时依靠“路由芯片”,在系统物理上“单端对多端”的串口连接方式时、实现器件的独占访问。本发明专利技术在单端物理串口通道上实现了多功能复用。软件框架设计简单;硬件电路上,避免了PDA的物理串口同时和PC上的串口以及其它串口相互连接而产生的“物理干扰”。

【技术实现步骤摘要】

本专利技术涉及一种单端串口实现多功能复用的方法,该方法包括硬件和软件的设计。
技术介绍
在诸多产品的开发过程中,存在串口“资源”不充足的问题,譬如在设计中仅仅设计一个物理串口和外部进行连接、而同时系统可能有多个应用或多个外部器件需要进行联系。但现有技术中还没有实现单端物理串口通道上实现多功能复用的设计。
技术实现思路
本专利技术的目的是提供一种单端串口实现多功能复用的方法,该方法实现了在单端串口上进行多个应用(或多个器件)的通信。本专利技术的目的是通过以下技术方案实现的:一种单端串口实现多功能复用的方法,其特点在于,其包括以下步骤:在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道,每对逻辑通道和虚拟端口组成一对虚拟串口;在终端设备端,建立设备端通用异步收发器中间层,该设备端通用异步收发器中间层管理该逻辑通道、负责和物理串口通讯,并将各个逻辑通道的数据包封装或解码;在通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据;-->在个人电脑端建立个人电脑端通用异步收发器中间层,将来自各个逻辑通道的数据包封装或解码,并在各虚拟端口上进行数据的传递。其中,在物理串口上还外挂一串口芯片,将串口通讯转到该串口芯片上。其中,在外挂该串口芯片步骤中,还设有一路由芯片,并在使用该串口芯片时,利用该路由芯片将终端设备的物理串口和该串口芯片的物理串口进行连接。本专利技术的积极进步效果在于:实现了单端物理串口通道上实现多功能复用和多器件的访问。软件框架设计简单;硬件电路上,避免了PDA(个人数字助理)的物理串口同时和PC上的串口以及其它串口芯片的串口相互连接而产生的“物理干扰”。附图说明图1为本专利技术的软硬件设计的示意图。图2为本专利技术的单端串口实现多功能复用的方法的流程图。图3为本专利技术的软件设计中数据包格式的示意图,图中英文单词为程序源代码中的变量,所以按照编程规范统一用英文表示。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。本专利技术提供了软件设计和硬件设计组合方案的实现,如图1所示,整个设计分PDA(个人数字助理)端软件设计(本实施例中终端设备采用PDA)、PC端软件设计和硬件电路三个部分。本单端串口实现多功能复用的方法的具体流程如图2所示:步骤101,在PDA端,系统建立若干个逻辑通道,每个通道和PC端的虚拟端口进行对应,在开发者和用户看来,每对通道和虚拟端口就是一对串口(这个串口是虚拟的串口),各个应用程序可以在各自的虚拟串口上进行一对一的通讯,互不干扰。-->步骤102,在PDA上设计一个UART(通用异步收发器)中间层,由它来管理各个逻辑的通道、并负责和物理串口通讯,负责把各个逻辑通道的数据包进行封装或解码。步骤103,在通讯时,各个虚拟串口的数据都传输在同一个物理串口上,在物理串口上,以组装带有标识的数据包来区分不同虚拟串口的数据。步骤104,在PC上设计一个UART中间层(可以是驱动),由它来从物理串口通讯,并把各个逻辑通道的数据包进行封装或解码,在各个VirtualPort上进行数据的传递。步骤105,在硬件电路部分,在这个物理串口上同时外挂一个其它串口芯片,本实施例中该串口芯片采用GPS(全球定位系统)芯片,上述的软件设计使开发者很容易的把串口通讯转到GPS芯片上,使GPS芯片在工作时独占使用这个物理串口。图3是在这个物理串口上传输的数据包。在软件编程实现中,当数据包的第一个字段通道为0时,表示这个数据包不会转发到各个逻辑通道上或虚拟端口上,控制包在PDA端UART中间层(本实施例中命名为“UARTMUX”)的管理层和PC端管理层间进行传递,可用来通知某个逻辑通道的打开或关闭、通知各个通道的缓冲区大小、以及优先级等。当通道为非0时,表示当前数据包是逻辑通道上的数据包,数据包使用CRC(循环冗余校验)进行数据包完整性的简单检查。下面对本实施例软件设计中的函数代码作进一步详细的描述,以使本专利技术更佳清楚,方便实施。PDA端UART MUX的部分接口设计包括四个主要函数,分别是打开逻辑通道函数,发送数据函数,接收数据函数,关闭逻辑通道函数。其中,打开逻辑通道函数Openchannel包括如下参数:channel,phyport,streamcontrol,buffersize,priority,exclude,RouteFunc,上述参数按照编程语言的规范统一用英文表示。在访问逻辑串口前先要打开逻辑串口,参数channel表示要打开的逻辑串口号(非0),参数phyport表示这个逻辑串口“绑定”的物-->理串口号,参数streamcontrol表示是否实现流控,本实施例中实现了软件流控,参数buffersize表示管理层建立的缓冲区大小,参数priority建立这个逻辑通道进行数据通讯的优先级,参数exclude和RouteFunc用于独占物理串口的访问。当有应用程序在打开逻辑通道函数Openchannel时,当参数streamcontrol为TRUE时就使用软件流控,同时PDA端的管理层通过控制包把参数buffersize的大小传递给PC端的管理层,双方发送数据时数据包的大小不能超过参数buffersize的上限。当有应用程序在打开逻辑通道函数Openchannel时,当参数exclude为TRUE时,那么PDA端的管理层直接让这个逻辑通道和物理串口通讯。在通讯时,不使用系统设计的数据包格式,这些数据是和GPS芯片进行通讯时的原始数据;当这个逻辑通道独占访问物理串口后,PDA端管理层不理会其它逻辑通道的数据。由于在硬件电路上,PDA的物理串口可能同时和PC上的串口以及GPS芯片的串口相互连接,为了避免“物理干扰”,增加路由芯片,通过控制开关,在使用GPS时使路由芯片把PDA的物理串口和GPS芯片的物理串口进行连接,而打开逻辑通道函数Openchannel的参数RouteFunc是个函数指针,它在使用GPS时会调用这个函数指针,这个函数用来实现把路由芯片连接到GPS芯片,从而独占访问PDA的物理串口。虽然以上描述了本专利技术的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本专利技术的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。因此,本专利技术的保护范围由所附权利要求书限定。-->本文档来自技高网...

【技术保护点】
一种单端串口实现多功能复用的方法,其特征在于,其包括以下步骤: 在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道,每对逻辑通道和虚拟端口组成一对虚拟串口; 在终端设备端,建立设备端通用异步收发器中间层,该设备端通用异 步收发器中间层管理该逻辑通道,负责和物理串口通讯,并将各个逻辑通道的数据包封装或解码; 在通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据; 在个人电脑端建立个人电脑端通用异步收发器中 间层,将来自各个逻辑通道的数据包封装或解码,并在各虚拟端口上进行数据的传递。

【技术特征摘要】
1、一种单端串口实现多功能复用的方法,其特征在于,其包括以下步骤:在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道,每对逻辑通道和虚拟端口组成一对虚拟串口;在终端设备端,建立设备端通用异步收发器中间层,该设备端通用异步收发器中间层管理该逻辑通道,负责和物理串口通讯,并将各个逻辑通道的数据包封装或解码;在通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据;在个人电脑端建立...

【专利技术属性】
技术研发人员:辛健
申请(专利权)人:希姆通信息技术上海有限公司
类型:发明
国别省市:31[中国|上海]

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

1