CN109213673A - 一种基于串口仿真软件的开发方法和装置 - Google Patents

一种基于串口仿真软件的开发方法和装置 Download PDF

Info

Publication number
CN109213673A
CN109213673A CN201710554125.2A CN201710554125A CN109213673A CN 109213673 A CN109213673 A CN 109213673A CN 201710554125 A CN201710554125 A CN 201710554125A CN 109213673 A CN109213673 A CN 109213673A
Authority
CN
China
Prior art keywords
serial
data
simulation software
unit
module
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
CN201710554125.2A
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.)
Shenzhen Neoway Technology Co Ltd
Original Assignee
Shenzhen Neoway Technology 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 Shenzhen Neoway Technology Co Ltd filed Critical Shenzhen Neoway Technology Co Ltd
Priority to CN201710554125.2A priority Critical patent/CN109213673A/zh
Publication of CN109213673A publication Critical patent/CN109213673A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于串口仿真软件的开发方法及发装置,通过虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口,并通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口,以及通过所述第一串口和所述第二串口进行资源访问、监听和发送数据,从而提供一种便捷、高效的辅助开发的组建方案。

Description

一种基于串口仿真软件的开发方法和装置
技术领域
本发明涉及软件仿真领域,特别是涉及一种基于串口仿真软件的开发方法和装置。
背景技术
在串口程序的开发过程中,往往需要将串口设备通过串口线物理地连接到开发机上(如图一中的1和2的虚线连接)。对于通用型的串口程序的开发,或者多人协同开发的情况,这一开发方式有诸多不便之处:一个串口设备只能给一个开发工程师使用;重启和更换串口设备的时候费时费力;串口和串口程序之间的通讯不可见,不利于程序的调试。
发明内容
基于此,有必要针对目前在通用型的串口程序的开发过程中,一个串口设备只能给一个开发工程师使用;重启和更换串口设备的时候费时费力,并且不利于程序调试的问题,提供一种基于串口仿真的开发方法和装置。
本发明提供的基于串口仿真软件的开发方法,包括:虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
在其中一个实施例中,所述方法还包括:对设备数据协议进行解析,以形成仿真软件的插件。
在其中一个实施例中,所述通过所述第一串口和所述第二串口进行资源访问、监听和发送数据的步骤包括:绑定所述第一串口和第二串口;以及设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
在其中一个实施例中,所述方法还包括:按顺序显示接收和发送的数据。
在其中一个实施例中,所述方法还包括:设置插件内部的多个参数;以及根据所述参数,更改设备的运行状态。
本发明提供的基于串口仿真软件的开发装置,包括:
虚拟模块,用于虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;
绑定模块,用于通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;
串口数据处理模块,用于通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
在其中一个实施例中,所述装置还包括:协议解析模块,用于对设备数据协议进行解析,以形成仿真软件的插件。
在其中一个实施例中,所述串口数据处理模块包括:绑定单元,用于绑定所述第一串口和第二串口;以及设置单元,用于设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
在其中一个实施例中,所述装置还包括:显示模块,用于按顺序显示接收和发送的数据。
在其中一个实施例中,所述装置还包括:设置模块,用于设置插件内部的多个参数;以及更改模块,用于根据所述参数,更改设备的运行状态。
本发明提供的基于串口仿真软件的开发方法及发装置,通过虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口,并通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口,以及通过所述第一串口和所述第二串口进行资源访问、监听和发送数据,从而提供一种便捷、高效的辅助开发的组建方案。
附图说明
图1为一种基于串口仿真软件的开发方法的方法流程图;
图2为一种基于串口仿真软件的开发装置的装置框图;
图3为一种基于串口仿真软件的开发装置的串口数据处理模块的内部框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,本发明的一种基于串口仿真软件的开发方法,所述方法包括:
A1:虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;
A2:通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;
A3:通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
在一个具体实施例中,需要说明的是,本发明的目的是解决上述开发方式效率较低的缺点,提供一种便捷、高效的辅助开发的组建方案。
本发明提出的基于仿真软件的技术方案包含如下部分:
(1)虚拟串口:利用串口虚拟技术虚拟出两个或更多个串口资源。例如下Com1和Com2,使用虚拟资源解除了方案对开发机接口的依赖,当下,大部分的笔记本都没有配置串口,部分的台式机也只有一个串口,为解决串口资源不足的问题,其他方案往往采用添加串口转换卡。
(2)串口绑定:即实现一个虚拟的串口线,实现发送到Com1上的数据能自动转发到Com2,反之,发送到Com2上的数据能自动转发到Com1。串口绑定解除了对串口线的依赖,使得不接串口线同样能完成串口通讯过程。
(3)仿真软件:仿真软件有三个基本功能:串口资源访问,监听和发送数据;显示仿真软件和串口程序之间的通讯数据,协议插件的管理。仿真软件的运行,解除了开发过程对物理设备的依赖,降低开发环境配置成本的同时提高了工作效率。
(4)插件式的协议处理:即将对设备数据协议解析部分作成仿真软件的插件,增加某设备的仿真功能,只需要编写针对该设备的协议解析及处理的动态库,再将动态库置于仿真软件目录下。插件式的仿真软件设计在添加仿真功能,软件的开发部署,以及使用上均明显优于非插件式的设计。
在其中一个实施例中,所述方法还包括:
对设备数据协议进行解析,以形成仿真软件的插件。
在其中一个实施例中,所述通过所述第一串口和所述第二串口进行资源访问、监听和发送数据的步骤包括:
绑定所述第一串口和第二串口;
设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
在其中一个实施例中,所述方法还包括:
按顺序显示接收和发送的数据。
在其中一个实施例中,所述方法还包括:
设置插件内部的多个参数;
根据所述参数,更改设备的运行状态。
下面对本发明的设计甚至实现做进一步的详细说明:
本方案的实施细节如下:步骤1,在开发机上虚拟出两个串口,如,Com1和Com2,必须要保证开发机上有至少两个空闲的串口,否则无法用本方法进行串口设备的测试。
步骤2,串口绑定:实现发送到Com1上的数据能自动转发到Com2,反之,发送到Com2上的数据能自动转发到Com1。第三方工具“Virtual Serial Port Driver”是已有串口工具中同时具有虚拟串口功能和串口配对功能的,该工具在只有一个物理串口的机器上另外虚拟出四个串口,并且能将其中任何两个串口进行绑定
步骤3,运行仿真软件,并绑定步骤2中的已配对的串口之一。步骤2中已配对的两个串口是对等的,在本方案中无区别。在这里为了说明的方便,假设绑定了Com2。
步骤4,串口资源访问。在仿真软件上访问串口资源。在软件的左上角,可以选择需要访问的串口,并且设置波特率、数据位、奇偶校验、停止位这些参数。具体应当设置成什么值,应当与需要仿真的设备的参数相同。
步骤5,监听串口数据,在软件右上面板点击开始,即开始监听选中串口,并且软件将串口上接受和发送的数据显示在面板上。
步骤6,仿真设备:软件动态检查插件目录,如果找到插件,例如,是一个实现插件功能的应用程序动态库,根据开放的接口从动态库中读出相应的信息,然后将全部的插件名(通常就是设备名)列在软件左下方的下拉框中。从下拉框中选择一个插件名,从软件右下方点击“模拟器”。当仿真软件处于“模拟器”状态下时,软件将对应的插件加载运行,并且自动把收到的数据通过接口发送给插件,并等待插件的返回数据,一旦收到插件有返回数据,会立即将返回数据从串口发送出去(并同时显示在收发数据的面板上)。
步骤7,协议处理插件的制作。从步骤6看出,只有加载了相应的协议处理插件,仿真软件才能仿真一台设备。这个叙述一下协议处理插件的制作要点。在本方案中,插件即实现了某接口的动态连接库,插件的主要功能是根据仿真软件给出的二进制数据,解析成针对设备的命令,再根据正常情况下设备的反应情况,作出相应的返回。下面举两个例子说明:
例如仿真一款串口模块,以无线通信模块为例,仿真软件发送给插件表示“启动模块”的数据,插件根据内部的某个参数,如果表示运行状态的那个参数状态是非启动状态,则表明当前可以正确执行这个命令,于是插件将该参数的状态改成“已启动”,并且将表示“启动成功”的数据返回给仿真软件。
例如仿真一款串口设备,以投影机为例,仿真软件发送给插件表示“关闭投影机”的数据,插件根据内部的某个参数,如果表示运行状态的那个参数状态是已启动状态,则表明当前可以正确执行这个命令,于是插件将该参数的状态改成“冷却中”,返回一个表示“冷却中”的数据,并启动一个计时器,因为这款投影机在关闭之前有大约15秒的冷却时间(大部分的投影机都有这样的特性)。当计时器计时到15秒时,将状态参数改成“未启动”,再给仿真程序发送一个表示“关闭成功”的数据。
从上面的例子看出,协议处理插件都要实现两部分内容:一仿真软件约定的通讯接口,二,根据具体设备的行为特征,对设备输入输出数据的仿真。对应设备的不同,这个部分的实现可能截然不同,而且没有规律可循。不过,通常这些行为特征可以从设备的串口通讯协议,以及设备说明书上找到参考。在这种情况下,设备制造商自行开发插件是最理想的情况(插件式的软件设计也提供了这种可能性)。
至此,搭建的串口程序的辅助开发环境全部结束,开发工程师可以在开发机上进行开发工作,并且认为某一串口设备已经通过串口线连接在Com1上。当他需要对另外一个串口设备进行开发时,可以直接在仿真软件里重复步骤4~步骤6,改变仿真软件所仿真的设备即可。
进一步需要说明的是,本方案的核心是要求开发一款仿真软件,并且具有如下功能:
串口资源访问,监听和发送数据:即要求仿真软件能绑定本步骤选定的串口(Com2),并可设置它们的波特率、数据位、奇偶校验、停止位等,因为待仿真的串口设备使用的这些串口参数是不同的,这些参数是待仿真串口设备特征的一部分。有多种方式可以实现对串口资源的访问和控制,例如,开发在Windows平台上运行的仿真软件,可以用微软.Net类库中的System.IO.Ports.SerialPort类,该类已经封装了对串口的读、写、配置等功能,从而降低了开发的难度。
显示通讯数据:仿真软件可以按顺序显示它接收与发送的数据,从而可以人工地复查仿真软件和串口程序之间通讯是否正确。比较直接连接串口设备来开发的方式,通讯数据的可视化提高了开发过程中的调试的效率,发现错误的速度提高而难度极大降低。
协议处理插件的管理:所有串口仿真软件的功能可被抽象成两个部分,串口控制部分和协议处理部分。本方案将协议处理部分分离出来,设计成仿真软件的插件。这要求仿真软件具有这些插件的管理能力。插件式的仿真软件设计有许多优点:插件可以单独开发和升级,不再依赖于仿真软件的主体,灵活度增加,甚至第三方可以参与插件的开发;支持新的设备的仿真只需要开发相应的插件,难度降低等等。
请参照图2,一种基于串口仿真软件的开发装置,所述装置包括:
虚拟模块A100,用于虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;
绑定模块A101,用于通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;
串口数据处理模块A102,用于通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
在其中一个实施例中,所述装置还包括:
协议解析模块A103,用于对设备数据协议进行解析,以形成仿真软件的插件。
需要说明的是,该协议解析模块A103接收所述串口数据处理模块A102对串口数据进行处理后的数据信息,并对设备数据协议解析部分作成仿真软件的插件,增加某设备的仿真功能。
在其中一个实施例中,所述串口数据处理模块A102包括:
绑定单元A1021,用于绑定所述第一串口和第二串口;
设置单元A1022,与所述绑定单元通信连接,用于设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
在其中一个实施例中,所述装置还包括:
显示模块A104,用于按顺序显示接收和发送的数据。
在其中一个实施例中,所述装置还包括:
设置模块A105,用于设置插件内部的多个参数;
更改模块A106,用于根据所述参数,更改设备的运行状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于串口仿真软件的开发方法,其特征在于,所述方法包括:
虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;
通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;以及
通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对设备数据协议进行解析,以形成仿真软件的插件。
3.根据权利要求1所述的开发方法,其特征在于,所述通过所述第一串口和所述第二串口进行资源访问、监听和发送数据的步骤包括:
绑定所述第一串口和第二串口;以及
设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
4.根据权利要求1所述的开发方法,其特征在于,所述方法还包括:
按顺序显示接收和发送的数据。
5.根据权利要求1所述的开发方法,其特征在于,所述方法还包括:
设置插件内部的多个参数;以及
根据所述参数,更改设备的运行状态。
6.一种基于串口仿真软件的开发装置,其特征在于,所述装置包括:
虚拟模块,用于虚拟出至少两个串口资源,所述串口资源包括第一串口和第二串口;
绑定模块,用于通过一串口线将所述第一串口和第二串口进行绑定,以将数据从所述第一串口发送至所述第二串口;以及
串口数据处理模块,用于通过所述第一串口和所述第二串口进行资源访问、监听和发送数据。
7.根据权利要求6所述的开发装置,其特征在于,所述装置还包括:
协议解析模块,用于对设备数据协议进行解析,以形成仿真软件的插件。
8.根据权利要求6所述的开发装置,其特征在于,所述串口数据处理模块包括:
绑定单元,用于绑定所述第一串口和第二串口;以及
设置单元,用于设置所述第一串口和第二串口的波特率、数据位、基偶校验位以及停止位。
9.根据权利要求6所述的开发装置,其特征在于,所述装置还包括:
显示模块,用于按顺序显示接收和发送的数据。
10.根据权利要求6所述的开发装置,其特征在于,所述装置还包括:
设置模块,用于设置插件内部的多个参数;以及
更改模块,用于根据所述参数,更改设备的运行状态。
CN201710554125.2A 2017-07-07 2017-07-07 一种基于串口仿真软件的开发方法和装置 Pending CN109213673A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710554125.2A CN109213673A (zh) 2017-07-07 2017-07-07 一种基于串口仿真软件的开发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710554125.2A CN109213673A (zh) 2017-07-07 2017-07-07 一种基于串口仿真软件的开发方法和装置

Publications (1)

Publication Number Publication Date
CN109213673A true CN109213673A (zh) 2019-01-15

Family

ID=64991519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710554125.2A Pending CN109213673A (zh) 2017-07-07 2017-07-07 一种基于串口仿真软件的开发方法和装置

Country Status (1)

Country Link
CN (1) CN109213673A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825617A (zh) * 2019-09-27 2020-02-21 福建星云电子股份有限公司 一种用于模拟设备间通讯交互的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894041A (zh) * 2010-07-15 2010-11-24 中兴通讯股份有限公司 多虚拟串口系统及其通信方法
CN102521183A (zh) * 2011-12-02 2012-06-27 深圳市科陆电子科技股份有限公司 用于嵌入式系统的模拟串口方法
CN102546840A (zh) * 2010-12-15 2012-07-04 中兴通讯股份有限公司 对虚拟串口和物理串口进行绑定的方法、装置及系统
CN105183686A (zh) * 2015-07-30 2015-12-23 深圳市振邦智能科技有限公司 一种启动模拟串口通信的方法和装置
CN106155766A (zh) * 2016-06-29 2016-11-23 广州大彩光电科技有限公司 一种虚拟串口屏模拟系统及其模拟方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894041A (zh) * 2010-07-15 2010-11-24 中兴通讯股份有限公司 多虚拟串口系统及其通信方法
CN102546840A (zh) * 2010-12-15 2012-07-04 中兴通讯股份有限公司 对虚拟串口和物理串口进行绑定的方法、装置及系统
CN102521183A (zh) * 2011-12-02 2012-06-27 深圳市科陆电子科技股份有限公司 用于嵌入式系统的模拟串口方法
CN102521183B (zh) * 2011-12-02 2018-01-26 深圳市科陆电子科技股份有限公司 用于嵌入式系统的模拟串口方法
CN105183686A (zh) * 2015-07-30 2015-12-23 深圳市振邦智能科技有限公司 一种启动模拟串口通信的方法和装置
CN106155766A (zh) * 2016-06-29 2016-11-23 广州大彩光电科技有限公司 一种虚拟串口屏模拟系统及其模拟方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825617A (zh) * 2019-09-27 2020-02-21 福建星云电子股份有限公司 一种用于模拟设备间通讯交互的方法及装置
CN110825617B (zh) * 2019-09-27 2023-09-08 福建星云电子股份有限公司 一种用于模拟设备间通讯交互的方法及装置

Similar Documents

Publication Publication Date Title
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
CN101065740B (zh) USB便携式(On-The-Go)控制器
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
CN107907814B (zh) 一种提高芯片量产测试效率的方法
JP2005518575A (ja) Edaシミュレーション環境における複数のシミュレーション領域に関する同期
CN112286746B (zh) 针对axi从设备接口的通用验证平台及方法
US6611912B1 (en) Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN106970810A (zh) 固件烧录方法和系统
CN102385523A (zh) 一种云操作系统的驱动安装和管理方法
CN109656841A (zh) 基于软件模拟i2c和硬件i2c的混合控制方法及装置
CN111209154A (zh) 虚拟1553b总线设备的实现方法
CN107370622A (zh) 一种虚拟机复用宿主机mac和ip的方法及系统
CN102750249B (zh) 上位机与下位机通信的方法、装置及系统
CN107368219A (zh) 触摸响应方法、芯片及智能设备
US20040153579A1 (en) Virtual disc drive control device
US8874966B1 (en) Storage device error simulator tool
US6868375B1 (en) Emulation of dynamically reconfigurable computer system
CN109213673A (zh) 一种基于串口仿真软件的开发方法和装置
CN116431546B (zh) 参数配置方法、电子设备、存储介质及程序产品
CN104570967B (zh) 基于Android系统的远程控制方法及系统
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
CN107861803A (zh) 一种基于中断的xp系统下cpci总线rs422通信驱动方法
CN107643938A (zh) 数据传输方法、装置及存储介质
CN114218138B (zh) 一种usb设备模拟装置及测试系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190115

RJ01 Rejection of invention patent application after publication