CN103186485A - 通用的usb转串口设备控制方法 - Google Patents

通用的usb转串口设备控制方法 Download PDF

Info

Publication number
CN103186485A
CN103186485A CN2011104512058A CN201110451205A CN103186485A CN 103186485 A CN103186485 A CN 103186485A CN 2011104512058 A CN2011104512058 A CN 2011104512058A CN 201110451205 A CN201110451205 A CN 201110451205A CN 103186485 A CN103186485 A CN 103186485A
Authority
CN
China
Prior art keywords
data
equipment
message
subprocess
serial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104512058A
Other languages
English (en)
Inventor
于忠清
王艳青
丁香乾
王恒刚
胡章军
刘伟国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haiersoft Co Ltd
Original Assignee
Qingdao Haiersoft Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Haiersoft Co Ltd filed Critical Qingdao Haiersoft Co Ltd
Priority to CN2011104512058A priority Critical patent/CN103186485A/zh
Publication of CN103186485A publication Critical patent/CN103186485A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明涉及一种USB转串口设备控制技术。本发明的通用的USB转串口设备控制方法,包括如下步骤:(1)监听应用消息;(2)判断是否收到应用消息,没有收到,返回步骤(1);收到,进行下一步骤;(3)判断是否为初始化消息:(4)将控制指令封装成消息发送给处理设备的子进程;(5)子进程解析消息;(6)子进程将指令数据发送给设备;(7)子进程判断设备是否为被动型设备;(8)接收设备数据;(9)将设备数据封装成消息,发送给主进程;(10)主进程解析子进程消息,得到设备数据,对数据进行封装,将数据发送给应用。本发明的通用USB转串口设备控制方法,为USB转串口设备的远程控制提供了条件。

Description

通用的USB转串口设备控制方法
技术领域
本发明涉及一种USB转串口设备控制技术。
背景技术
随着科技的进步,各种各样的设备开始走进人们的生活。其中有很大一批设备是可以与电脑进行连接的,同时有很大一批设备是通过USB转串口方式连接到电脑上的。有很多设备生产厂商针对自己的产品定义了协议,根据协议向设备发送控制命令,以及接受并解析设备返回的指令。这些设备厂商在发布自己的产品时都会相应地提供一套可在PC机上运行的软件,用于对自己生产的某种或某几种设备进行处理。如果某个厂商想针对另外一个商家的设备开发应用,就必须了解其设备的通信协议,同时处理对设备数据的读写。这就造成了设备与厂商的紧密依赖关系。
经过对USB转串口设备的研究,我们发现对所有USB转串口设备都有如下特性:串口波特率,数据位,奇偶校验,停止位,流控制方式。目前研究的USB转串口设备或者主动输出数据,或者需要外部出发才会传输数据。同时我们也发现USB转串口设备的接收和发送的指令数据的格式可以分成几大类,其中包括:指令字+指令长度+指令数据;指令头+指令数据+指令尾。有些USB转串口设备的数据的长度是固定的,有些USB转串口设备需要首先向其发送一条某个长度的指令,然后会返回一个已知长度的数据。利用这些研究结果我们可以设计一种通用的USB转串口设备控制方案。这种方案经过一个USB转串口设备的初始化过程,然后就可以通过向设备发送指令对其进行控制,获取其返回数据了。
如2011年4月29日公开的中国专利,公开号为CN102185918A,公开了一种用于远程串口控制的无线节点,此方法是使用ZigBee技术,通过两个接口节点,一个通过串口与串口设备连接,另一个通过USB接口与PC连接,通过在PC端发送指令控制串口设备,但该技术没有解决远端串口设备的数据的读取问题。
发明内容
本发明的技术效果能够克服上述缺陷,提供一种通用的USB转串口设备控制方法,其提高应用开发者针对USB转串口设备进行应用开发的效率,免去其在USB转串口开发上的工作。
为实现上述目的,本发明采用如下技术方案:其包括如下步骤:
(1)监听应用消息;
(2)判断是否收到应用消息,没有收到,返回步骤(1);收到,进行下一步骤;
(3)判断是否为初始化消息:
是初始化消息,进行如下步骤:
(I)解析消息,启动设备处理子进程,当主进程启动设备处理子进程后返回监听应用消息步骤;
(II)子进程启动监听主进程消息的线程;
(III)子进程判断设备是否为主动型设备:
不是主动型设备,接收设备数据,并判断是否接收到数据,若没有收到数据,继续接收设备数据;收到数据,将设备数据封装发送给主进程,主进程对消息进行解析、封装,发送给对应应用;
是主动型设备,子进程启动监听设备消息的线程;
不是初始化消息,进行下一步骤;
(4)将控制指令封装成消息发送给处理设备的子进程;
(5)子进程解析消息;
(6)子进程将指令数据发送给设备;
(7)子进程判断设备是否为被动型设备,是被动型设备,进行下一步骤;
(8)接收设备数据;
(9)将设备数据封装成消息,发送给主进程;
(10)主进程解析子进程消息,得到设备数据,对数据进行封装,将数据发送给应用。
本发明主要解决如下几个问题:USB转串口设备数据格式的抽象,分类;USB转串口设备初始化信息的抽取;USB转串口设备的初始化,包括设备本身及对其处理的方式的初始化。
双数流程可以描述为:如果是初始化消息,解析出初始化数据,包括串口点(相对于Linux系统为文件挂载点,相对于Windows系统为端口号)串口波特率,数据位,奇偶校验,停止位,流控制方式,数据格式类别,设备类别(主动型设备或被动型设备)。启动设备处理子进程,设备处理子进程启动监听接收主进程消息的线程,设备处理子进程根据设备是否是主动型设备,决定是否启动监听设备消息的线程。
如果不是初始化消息,解析出设备控制指令,将控制指令封装成消息发送给相应的设备处理子进程。设备数据处理子进程解析消息,将指令数据发送给设备,如果设备是被动型设备,则接收起返回数据,封装消息发送给主进程,主进程解析消息,封装,并发送给对应应用。
初始化消息包括串口波特率、数据位、奇偶校验、停止位、流控制方式、数据格式类别、设备类别。设备分为被动型设备和主动型设备,主动型设备的设备本身不需要出发指令,而主动输出数据;被动型设备只有在接收到控制指令后,才输出数据。
数据格式包括控制指令格式和返回指令格式,其包括四种类型:
控制指令及返回指令格式均为:指令字+指令长度+指令数据;
控制指令及返回指令格式均为:指令头+指令数据+指令尾;
控制指令及返回指令具有固定的长度;
某条控制指令对应某条数据指令,并且该条数据指令的长度可知。
根据初始化信息进行串口初始化,以及数据格式相关项初始化。
按照数据格式类别进行控制指令的接收,向串口写入数据实现对设备的控制,进行串口数据的接收,向设备应用发送实现设备数据的传输。
本发明的通用USB转串口设备控制方法,为USB转串口设备的远程控制提供了条件,扩大了设备的应用空间,免除了应用开发商对硬件设备的处理工作。
附图说明
图1为本发明的流程示意图。
具体实施方式
本发明的通用USB转串口设备控制方法包括如下步骤:
(1)监听应用消息;
(2)判断是否收到应用消息,没有收到,返回步骤(1);收到,进行下一步骤;
(3)判断是否为初始化消息:
是初始化消息,进行如下步骤:
(I)解析消息,启动设备处理子进程,当主进程启动设备处理子进程后返回监听应用消息步骤;
(II)子进程启动监听主进程消息的线程;
(III)子进程判断设备是否为主动型设备:
不是主动型设备,接收设备数据,并判断是否接收到数据,若没有收到数据,继续接收设备数据;收到数据,将设备数据封装发送给主进程,主进程对消息进行解析、封装,发送给对应应用;
是主动型设备,子进程启动监听设备消息的线程;
不是初始化消息,进行下一步骤;
(4)将控制指令封装成消息发送给处理设备的子进程;
(5)子进程解析消息;
(6)子进程将指令数据发送给设备;
(7)子进程判断设备是否为被动型设备,是被动型设备,进行下一步骤;
(8)接收设备数据;
(9)将设备数据封装成消息,发送给主进程;
(10)主进程解析子进程消息,得到设备数据,对数据进行封装,将数据发送给应用。
本发明的控制方法不仅能够实现USB转串口设备的控制,同时能够实现对USB转串口设备数据的读取。
根据USB转串口设备输出数据的情形将设备分为被动型设备(编号01)和主动型设备(编号02)。当设备本身不需要出发指令,而主动输出数据时,称该设备为主动型设备;当设备本身只有在接收到控制指令后,才输出数据时,称该设备为被动型设备。
将USB转串口设备的数据格式进行抽象,分类。根据现有研究结果可分为如下四类(根据研究的深入,可能会发现新的数据格式类,此处可进行扩展),并进行编号:
控制指令及返回指令格式均为:指令字+指令长度+指令数据,此类编号为01。
控制指令及返回指令格式均为:指令头+指令数据+指令尾,此类编号为02。
控制指令及返回指令具有固定的长度,此类编号为03。
某条控制指令对应某条数据指令,并且该条数据指令的长度可知,此类编号为04。
定义数据格式解析相关规则内容
数据格式类别为01时,数据格式解析按照“&指令字长度&指令长度长度&”规则进行,其中“&”为分隔符。
数据格式类别为02时,数据格式解析按照“&指令头长度&指令尾长度&”规则进行,其中“&”为分隔符。
数据格式类别为03时,数据格式解析按照“&指令长度&”规则进行,其中“&”为分隔符。
数据格式类别为04时,数据格式不在此处解析。

Claims (4)

1.一种通用的USB转串口设备控制方法,其特征在于,包括如下步骤:
(1)监听应用消息;
(2)判断是否收到应用消息,没有收到,返回步骤(1);收到,进行下一步骤;
(3)判断是否为初始化消息:
是初始化消息,进行如下步骤:
(I)解析消息,启动设备处理子进程,当主进程启动设备处理子进程后返回监听应用消息步骤;
(II)子进程启动监听主进程消息的线程;
(III)子进程判断设备是否为主动型设备:
不是主动型设备,接收设备数据,并判断是否接收到数据,若没有收到数据,继续接收设备数据;收到数据,将设备数据封装发送给主进程,主进程对消息进行解析、封装,发送给对应应用;
是主动型设备,子进程启动监听设备消息的线程;
不是初始化消息,进行下一步骤;
(4)将控制指令封装成消息发送给处理设备的子进程;
(5)子进程解析消息;
(6)子进程将指令数据发送给设备;
(7)子进程判断设备是否为被动型设备,是被动型设备,进行下一步骤;
(8)接收设备数据;
(9)将设备数据封装成消息,发送给主进程;
(10)主进程解析子进程消息,得到设备数据,对数据进行封装,将数据发送给应用。
2.根据权利要求1所述的通用的USB转串口设备控制方法,其特征在于,初始化消息包括串口波特率、数据位、奇偶校验、停止位、流控制方式、数据格式类别、设备类别。
3.根据权利要求1或2所述的通用的USB转串口设备控制方法,其特征在于,设备分为被动型设备和主动型设备,主动型设备的设备本身不需要出发指令而主动输出数据;被动型设备只有在接收到控制指令后,才输出数据。
4.根据权利要求2所述的通用的USB转串口设备控制方法,其特征在于,数据格式包括控制指令格式和返回指令格式,其包括四种类型:
控制指令及返回指令格式均为:指令字+指令长度+指令数据;
控制指令及返回指令格式均为:指令头+指令数据+指令尾;
控制指令及返回指令具有固定的长度;
某条控制指令对应某条数据指令,并且该条数据指令的长度可知。
CN2011104512058A 2011-12-29 2011-12-29 通用的usb转串口设备控制方法 Pending CN103186485A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104512058A CN103186485A (zh) 2011-12-29 2011-12-29 通用的usb转串口设备控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104512058A CN103186485A (zh) 2011-12-29 2011-12-29 通用的usb转串口设备控制方法

Publications (1)

Publication Number Publication Date
CN103186485A true CN103186485A (zh) 2013-07-03

Family

ID=48677659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104512058A Pending CN103186485A (zh) 2011-12-29 2011-12-29 通用的usb转串口设备控制方法

Country Status (1)

Country Link
CN (1) CN103186485A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843762A (zh) * 2015-12-22 2016-08-10 武汉理工通宇新源动力有限公司 一种usb串口智能通信系统及usb串口通信监视方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064629A (zh) * 2006-04-26 2007-10-31 英业达股份有限公司 实现虚拟远程设备的系统及其方法
CN101620581A (zh) * 2008-07-03 2010-01-06 西安奇维测控科技有限公司 双口ram实现闪存控制器缓存的结构及实现该缓存的方法
US20110040904A1 (en) * 2006-08-31 2011-02-17 American Megatrends, Inc. Remotely controllable switch and testing methods using same
CN102185918A (zh) * 2011-04-29 2011-09-14 南京航空航天大学 用于远程串口控制的无线节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064629A (zh) * 2006-04-26 2007-10-31 英业达股份有限公司 实现虚拟远程设备的系统及其方法
US20110040904A1 (en) * 2006-08-31 2011-02-17 American Megatrends, Inc. Remotely controllable switch and testing methods using same
CN101620581A (zh) * 2008-07-03 2010-01-06 西安奇维测控科技有限公司 双口ram实现闪存控制器缓存的结构及实现该缓存的方法
CN102185918A (zh) * 2011-04-29 2011-09-14 南京航空航天大学 用于远程串口控制的无线节点

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵政华: "《基于Zigbee技术的无线温、湿度监测系统的设计与实现》", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843762A (zh) * 2015-12-22 2016-08-10 武汉理工通宇新源动力有限公司 一种usb串口智能通信系统及usb串口通信监视方法
CN105843762B (zh) * 2015-12-22 2018-12-11 武汉理工通宇新源动力有限公司 一种usb串口智能通信系统及usb串口通信监视方法

Similar Documents

Publication Publication Date Title
US9575552B2 (en) Device, method and system for operation of a low power PHY with a PCIe protocol stack
US20200241888A1 (en) Method and apparatus for plug and play, networkable iso 18000-7 connectivity
CN108107827B (zh) 一种基于zynq平台软核的srio控制方法
CN104079415B (zh) 网络装置及其联线检测方法
EP2860638B1 (en) Serial communication over communication control pin
CN108255776B (zh) 一种兼容apb总线的i3c主设备、主从系统及通信方法
CN107592250B (zh) 基于航空fc总线多速率自适应测试设备
CN102622136B (zh) 一种多点触摸系统数据处理方法及装置
CN112398714B (zh) 一种背板总线主站、系统及其数据通信方法
CN101763324B (zh) 设备模拟的实现方法和装置
CN106464824B (zh) 引脚控制方法及装置
CN104793759A (zh) 一种基于ps2接口鼠标信号的模拟与监控设备
CN103369711A (zh) 通信连接建立方法及终端设备
CN103186485A (zh) 通用的usb转串口设备控制方法
CN103440218A (zh) 基于usb-hid协议的can总线监控方法
CN108965368A (zh) 具有网络功能的数据管理电路及基于网络的数据管理方法
CN113452538B (zh) 控制设备、执行设备、设备管理方法和设备管理系统
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
WO2021098157A1 (zh) 通信芯片的检测方法、装置、设备及介质
CN110572387B (zh) 一种链路层处理方法
CN203859747U (zh) 一种蓝牙通信卡
CN117834750B (zh) 获取协议数据的装置、方法、系统、设备、介质及服务器
CN103200248A (zh) 基于嵌入式系统的电力参数监测的通信方法
CN110519740B (zh) 一种链路层处理装置
CN116701005A (zh) 一种基于连接器的端口管理方法及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130703