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

文档序号:6613571阅读:158来源:国知局
专利名称:单端串口实现多功能复用的方法
技术领域
本发明涉及一种单端串口实现多功能复用的方法,该方法包括硬件和软 件的设计。
背景技术
在诸多产品的开发过程中,存在串口 "资源"不充足的问题,譬如在设 计中仅仅设计一个物理串口和外部进行连接、而同时系统可能有多个应用或 多个外部器件需要进行联系。但现有技术中还没有实现单端物理串口通道上 实现多功能复用的设计。

发明内容
本发明的目的是提供一种单端串口实现多功能复用的方法,该方法实现 了在单端串口上进行多个应用(或多个器件)的通信。
本发明的目的是通过以下技术方案实现的
一种单端串口实现多功能复用的方法,其特点在于,其包括以下步骤
在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道, 每对逻辑通道和虚拟端口组成一对虚拟串口 ;
在终端设备端,建立设备端通用异步收发器中间层,该设备端通用异步 收发器中间层管理该逻辑通道、负责和物理串口通讯,并将各个逻辑通道的 数据包封装或解码;
在通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识 的数据包来区分不同虚拟串口的数据;在个人电脑端建立个人电脑端通用异步收发器中间层,将来自各个逻辑 通道的数据包封装或解码,并在各虚拟端口上进行数据的传递。
其中,在物理串口上还外挂一串口芯片,将串口通讯转到该串口芯片上。 其中,在外挂该串口芯片步骤中,还设有一路由芯片,并在使用该串口 芯片时,利用该路由芯片将终端设备的物理串口和该串口芯片的物理串口进 行连接。
本发明的积极进步效果在于实现了单端物理串口通道上实现多功能复 用和多器件的访问。软件框架设计简单;硬件电路上,避免了PDA(个人数 字助理)的物理串口同时和PC上的串口以及其它串口芯片的串口相互连接 而产生的"物理干扰"。


图1为本发明的软硬件设计的示意图。 图2为本发明的单端串口实现多功能复用的方法的流程图。 图3为本发明的软件设计中数据包格式的示意图,图中英文单词为程序 源代码中的变量,所以按照编程规范统一用英文表示。
具体实施例方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。 本发明提供了软件设计和硬件设计组合方案的实现,如图1所示,整个 设计分PDA (个人数字助理)端软件设计(本实施例中终端设备采用PDA)、 PC端软件设计和硬件电路三个部分。本单端串口实现多功能复用的方法的 具体流程如图2所示
步骤IOI,在PDA端,系统建立若干个逻辑通道,每个通道和PC端的 虚拟端口进行对应,在开发者和用户看来,每对通道和虚拟端口就是一对串 口 (这个串口是虚拟的串口),各个应用程序可以在各自的虚拟串口上进行 一对一的通讯,互不干扰。步骤102,在PDA上设计一个UART (通用异步收发器)中间层,由它 来管理各个逻辑的通道、并负责和物理串口通讯,负责把各个逻辑通道的数 据包进行封装或解码。
步骤103,在通讯时,各个虚拟串口的数据都传输在同一个物理串口上, 在物理串口上,以组装带有标识的数据包来区分不同虚拟串口的数据。
步骤104,在PC上设计一个UART中间层(可以是驱动),由它来从物 理串口通讯,并把各个逻辑通道的数据包进行封装或解码,在各个Virtual Port上进行数据的传递。
步骤105,在硬件电路部分,在这个物理串口上同时外挂一个其它串口 芯片,本实施例中该串口芯片采用GPS (全球定位系统)芯片,上述的软件 设计使开发者很容易的把串口通讯转到GPS芯片上,使GPS芯片在工作时 独占使用这个物理串口。
图3是在这个物理串口上传输的数据包。在软件编程实现中,当数据包 的第一个字段通道为0时,表示这个数据包不会转发到各个逻辑通道上或虚 拟端口上,控制包在PDA端UART中间层(本实施例中命名为"UART MUX")的管理层和PC端管理层间进行传递,可用来通知某个逻辑通道的 打开或关闭、通知各个通道的缓冲区大小、以及优先级等。当通道为非O时, 表示当前数据包是逻辑通道上的数据包,数据包使用CRC (循环冗余校验) 进行数据包完整性的简单检查。
下面对本实施例软件设计中的函数代码作进一步详细的描述,以使本发 明更佳清楚,方便实施。
PDA端UARTMUX的部分接口设计包括四个主要函数,分别是打开逻 辑通道函数,发送数据函数,接收数据函数,关闭逻辑通道函数。其中,打 开逻辑通道函数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、一种单端串口实现多功能复用的方法,其特征在于,其包括以下步骤在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道,每对逻辑通道和虚拟端口组成一对虚拟串口;在终端设备端,建立设备端通用异步收发器中间层,该设备端通用异步收发器中间层管理该逻辑通道,负责和物理串口通讯,并将各个逻辑通道的数据包封装或解码;在通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据;在个人电脑端建立个人电脑端通用异步收发器中间层,将来自各个逻辑通道的数据包封装或解码,并在各虚拟端口上进行数据的传递。
2、 根据权利要求1所述的单端串口实现多功能复用的方法,其特征 在于,在该物理串口上还外挂一其它串口芯片,将串口通讯转到该串口芯片 上。
3、 根据权利要求2所述的单端串口实现多功能复用的方法,其特征 在于,在外挂该串口芯片步骤中,还设有一路由芯片,并在使用该串口芯片 时,利用该路由芯片将终端设备的物理串口和该串口芯片的物理串口进行连 接。
全文摘要
一种单端串口实现多功能复用的方法,包括以下步骤在终端设备端,建立若干个与个人电脑端的虚拟端口对应的逻辑通道并建立设备端通用异步收发器中间层;通讯时,各虚拟串口的数据在同一物理串口上传输,以组装带有标识的数据包来区分不同虚拟串口的数据;在个人电脑端建立个人电脑端通用异步收发器中间层,将来自各个逻辑通道的数据包封装或解码,并在各虚拟端口上进行数据的传递,同时依靠“路由芯片”,在系统物理上“单端对多端”的串口连接方式时、实现器件的独占访问。本发明在单端物理串口通道上实现了多功能复用。软件框架设计简单;硬件电路上,避免了PDA的物理串口同时和PC上的串口以及其它串口相互连接而产生的“物理干扰”。
文档编号G06F13/42GK101470688SQ20071017367
公开日2009年7月1日 申请日期2007年12月28日 优先权日2007年12月28日
发明者健 辛 申请人:希姆通信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1