CN108021398A - 串口优先级评价方法和调用方法、存储介质 - Google Patents
串口优先级评价方法和调用方法、存储介质 Download PDFInfo
- Publication number
- CN108021398A CN108021398A CN201711158501.2A CN201711158501A CN108021398A CN 108021398 A CN108021398 A CN 108021398A CN 201711158501 A CN201711158501 A CN 201711158501A CN 108021398 A CN108021398 A CN 108021398A
- Authority
- CN
- China
- Prior art keywords
- serial ports
- time
- priority
- serial
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种多串口优先级评价方法、串口调用方法和存储介质,存储介质存储以下指令:设定多串口通信中每个串口的优先级评价策略;建立串口通信线程池,线程池中线程个数与系统连接的串口个数相同;初始启动时所有线程均为最低级;将接收侦听数据为主的线程设为高优先级接收数据后,再通过优先级评价策略对各线程的优先级不断进行评价,并根据评价的优先级结果进行通信,设定休眠时间内处于零通信状态的线程进入休眠程度挂起;以发送数据为主的线程在空闲时进入休眠,需要再次发送命令时唤醒。本发明的操作系统中,多串口操作效率更高,更加稳定,实时性能够得到保证,且设置的串口优先级调整策略设置灵活,可以根据设备类型进行灵活设定。
Description
技术领域
本发明涉及一种优先级评价策略和串口调用策略。
背景技术
在工业控制领域,串口通信是计算机与其他下位机/设备进行数据通讯的常用方法,具有使用灵活、数据传输可靠、编程简单等几个优点,特别是在实时监控系统中得到广泛应用。为系统设计方便,下位机的CPCI、USB等总线也经常虚拟转换为串口通信。
由于工业控制领域多路数据通信的需要,上位机经常需要同时操作多路通信接口,多路通信接口操作的稳定性、易用性和效率显得尤为重要。
为满足需求,一般采用线程池来管理多串口通讯的多线程应用,用配置项来保存各路串口对应的硬件端口,从而可以保证通信时打开正确的端口。
多串口通信时,在操作系统设备列表里存在多个硬件接口。采用线程池的方式来管理多个串口时,若串口个数超过20个,操作系统在单一应用里管理轮询多个线程会对系统性能造成较大影响。此种情况下,通信的实时性无法保证,通信过程有失败的风险。
采用配置项来保存串口设定信息不能适应CPCI总线转串口的通信方式。CPCI设备启动时,板卡启动顺序存在改变的可能性,在系统内注册的串口地址和号码会变更。串口变更后,上位机不能检测串口变更,仍然根据设定的串口号发送数据,数据不能到达正确的下位机端口,通信过程难以完成。
发明内容
本发明提供一种存储有提高多串口通信效率和灵活性的软件指令的存储设备,以解决现有技术存在的问题。
本发明采用以下技术方案:
一种多串口优先级评价方法,包括
(1)对串口分为以发送数据为主的串口和接收侦听数据为主的串口两类,每个分类均设定一个分值;
(2)对串口根据实时性的高低,划分为高实时性的串口和低实时性的串口两类;
多串口的优先级顺序由高到低依次为:接收数据为主、高实时性的串口,接收数据为主、低实时性的串口,发送数据为主、高实时性的串口,发送数据为主、低实时性的串口。
(3)动态计算前T时刻内的各串口通信数据量,对串口的通信数据量按照预设的高通信数据量与低通信数据量的控制比例化分为两部分;
进一步,多串口的优先级顺序由高到低依次为:接收数据为主、高实时性、低通信数据量的串口,接收数据为主、高实时性、高通信数据量的串口,接收数据为主、低实时性、低通信数据量的串口,接收数据为主、低实时性、高通信数据量的串口,发送数据为主、高实时性、低通信数据量的串口,发送数据为主、高实时性、高通信数据量的串口,发送数据为主、低实时性、低通信数据量的串口,发送数据为主、低实时性、高通信数据量的串口。
一种多串口调用方法,包括
(1)设定多串口通信中每个串口的优先级评价策略;建立串口通信线程池,线程池中线程个数与系统连接的串口个数相同;
(2)初始启动时所有线程的优先级均为最低级;
(3)将接收侦听数据为主的线程设为高优先级接收数据后,再通过优先级评价策略对各线程的优先级不断进行评价,并根据评价的优先级结果进行通信;
(4)设定休眠时间内处于零通信状态的线程进入休眠程度挂起;
(5)以发送数据为主的线程在空闲时进入休眠,需要再次发送命令时唤醒。
进一步,处于最高级优先级的线程数目不超过N个,N为正整数。
进一步,在多串口两侧的上位机和下位机进行通信的通信协议中设置设备类型会话环节和设备类型标识;
上位机启动后,轮询各串口,发出询问命令,下位机接收到查询命令后,返回设备类型标识;
上位机接收到回复的设备类型标识后,自动记录配置信息。
进一步,所述上位机每隔设定查询时间发出一轮查询命令,进行串口配置信息的更新。
所述设备类型标识包括设备类型和设备编号。
一种存储介质,所述存储介质上存储适用于处理器执行的计算机指令,且所述计算机指令被所述处理器执行时实施上述的方法。
本发明的有益效果:通过设定优先级评价策略,使得上位机的操作系统中,多串口操作效率更高,更加稳定,实时性能够得到保证,且设置的串口优先级调整策略设置灵活,可以根据设备类型进行灵活设定。串口配置更加自动化,不需要人工进行,同时可以预防设备重新上电造成的串口顺序变化。
附图说明
图1为本发明的多串口优先级评价流程图。
图2为本申请的自动串口匹配配置流程图。
具体实施方式
下面结合具体实施方式对本发明作进一步详细说明。
本发明针对目前通信系统中多串口同时通信,通信实时性无法保证,通信过程有可能失败的问题,提出一种多串口优先级评价策略,该策略对进行同时通信的多串口进行优先级分级,高优先级的优先通信,低优先级的滞后通信,提高系统通信的实时性和成功率。
该优先权评价策略能够应用于任何进行多串口通信的装置之间。
如图1所示,本发明的多串口优先级评价方法,包括以下内容:
(1)对串口根据通信特点划分为以发送数据为主的串口和接收侦听数据为主的串口两类;
(2)对串口根据实时性的高低,划分为高实时性的串口和低实时性的串口两类,其中高低实时性要求为主观设定,由设计人员根据串口连接的串口通信优先级要求进行提前设定;
根据上述两个分类方法对串口的优先级进行分类后,设定多串口的优先级顺序由高到低依次为:接收数据为主、高实时性的串口,接收数据为主、低实时性的串口,发送数据为主、高实时性的串口,发送数据为主、低实时性的串口。对于优先级相同的串口,分值高的
上述的分类方法还可包括:
(3)动态计算前T时刻通信时间内的各串口通信数据量,对串口的通信数据量按照预设的高通信数据量与低通信数据量的控制比例化分为两部分;T预先设定,可取值一分钟或者两分钟等;而控制比例根据具体需要设定,例如在本发明的一些实施例中,对个串口按照通信数据量从高到底排序后,可设定后80%的串口为低通信数据量的串口,前20%的串口为高通信数据量的串口。
上述进一步分类后,多串口的优先级顺序由高到低依次为:接收数据为主、高实时性、低通信数据量的串口,接收数据为主、高实时性、高通信数据量的串口,接收数据为主、低实时性、低通信数据量的串口,接收数据为主、低实时性、高通信数据量的串口,发送数据为主、高实时性、低通信数据量的串口,发送数据为主、高实时性、高通信数据量的串口,发送数据为主、低实时性、低通信数据量的串口,发送数据为主、低实时性、高通信数据量的串口。
本发明同时提供一种多串口调用方法,进行高效率高实时性的串口调用,该方法包括:
(1)设定多串口通信中每个串口的优先级评价策略,用于对个串口的通信优先级进行设定;该优先级评价策略可采用现有的评价方法,也可采用本发明的前述优先级评价策略。
然后在系统启动时建立串口通信线程池,线程池中线程个数与系统连接的串口个数相同。
(2)系统启动时,首先将所有线程的优先级均设为最低级;
(3)对已经根据通信特点划分为以发送数据为主的串口和接收侦听数据为主的串口,将接收侦听数据为主的线程设为高优先级并接收数据;
(4)判断接收数据量的大小,然后通过优先级评价策略对各线程的优先级不断进行评价,并根据评价的优先级结果进行通信;
(4)设定休眠时间内处于零通信状态的线程进入休眠程度挂起;
(5)以发送数据为主的线程在空闲时进入休眠状态,需要再次发送数据时唤醒。
处于最高级优先级的线程数目不超过N个,N为正整数,用于避免处于最高优先级的线程数目过多,达不到本发明实时性的要求,作为一种实施例,N可取值10。
在通信过程中,可能存在由于下位机重新启动或者下位机板卡重新插拔换为会造成的串口配置信息变更,进而导致通信错误,为应对该通信错误,本发明还设计一种串口设置的自适应策略,用于进行自动串口匹配配置。如图2所示,该方法包括:
在进行通信的串口两侧的上位机和下位机的通信协议中设置设备类型会话环节和设备类型标识,会话环节为常用的通信与应答,设备类型标识至少包括设备类型和设备编号。
当上位机启动后,回轮询各串口,发出询问命令,下位机接收到询问命令后,应答返回设备类型标识;
上位机接收到回复的设备类型标识后,自动记录串口的配置信息。
为防止板卡插拔造成的串口混乱,上位机每隔设定查询时间发出一轮查询命令,进行串口配置信息的更新。
本发明的方法在进行串口优先级评价时,各种参数可以根据实际需要或者实际情况进行设定,设置灵活,且串口配置更加的自动化,不需要进行人工配置,可预防设备重新上电或者热插拔导致的串口顺序混乱。
本发明还提供一种存储介质,该存储介质上存储适用于处理器执行的计算机指令,且计算机指令被处理器执行时实施上述本发明的串口优先级评价策略、串口调度策略、串口设置自适应策略。
该存储介质可以包括各种形式的计算机可读介质,例如易失性存储器、费易失性存储器、半导体存储器、磁性介质存储器等。
在存储介质上存储一个或者多个计算机程序指令,处理器可执行该指令,以实施上述本发明公开的至少一种方法进行多串口的通信。在所述的存储介质中还可存储多种数据,用于处理器直接调用实施本发明的方法。
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的技术人员来说,在不脱离本发明整体构思前提下,还可以作出若干改变和改进,这些也应该视为本发明的保护范围。
Claims (8)
1.一种多串口优先级评价方法,其特征在于:包括
(1)对串口分为以发送数据为主的串口和接收侦听数据为主的串口两类,每个分类均设定一个分值;
(2)对串口根据实时性的高低,划分为高实时性的串口和低实时性的串口两类;
多串口的优先级顺序由高到低依次为:接收数据为主、高实时性的串口,接收数据为主、低实时性的串口,发送数据为主、高实时性的串口,发送数据为主、低实时性的串口。
2.根据权利要求1所述的一种多串口优先级评价方法,其特征在于:还包括:
(3)动态计算前T时刻内的各串口通信数据量,对串口的通信数据量按照预设的高通信数据量与低通信数据量的控制比例化分为两部分;
多串口的优先级顺序由高到低依次为:接收数据为主、高实时性、低通信数据量的串口,接收数据为主、高实时性、高通信数据量的串口,接收数据为主、低实时性、低通信数据量的串口,接收数据为主、低实时性、高通信数据量的串口,发送数据为主、高实时性、低通信数据量的串口,发送数据为主、高实时性、高通信数据量的串口,发送数据为主、低实时性、低通信数据量的串口,发送数据为主、低实时性、高通信数据量的串口。
3.一种多串口调用方法,其特征在于:包括
(1)设定多串口通信中每个串口的优先级评价策略;建立串口通信线程池,线程池中线程个数与系统连接的串口个数相同;
(2)初始启动时所有线程的优先级均为最低级;
(3)将接收侦听数据为主的线程设为高优先级接收数据后,再通过优先级评价策略对各线程的优先级不断进行评价,并根据评价的优先级结果进行通信;
(4)设定休眠时间内处于零通信状态的线程进入休眠程度挂起;
(5)以发送数据为主的线程在空闲时进入休眠,需要再次发送命令时唤醒。
4.根据权利要求3所述的一种串口调用方法,其特征在于:
处于最高级优先级的线程数目不超过N个,N为正整数。
5.根据权利要求3所述的一种串口调用方法,其特征在于:
在多串口两侧的上位机和下位机进行通信的通信协议中设置设备类型会话环节和设备类型标识;
上位机启动后,轮询各串口,发出询问命令,下位机接收到查询命令后,返回设备类型标识;
上位机接收到回复的设备类型标识后,自动记录配置信息。
6.根据权利要求5所述的一种串口调用方法,其特征在于:
所述上位机每隔设定查询时间发出一轮查询命令,进行串口配置信息的更新。
7.根据权利要求5所述的一种串口调用方法,其特征在于:
所述设备类型标识包括设备类型和设备编号。
8.一种存储介质,所述存储介质上存储适用于处理器执行的计算机指令,且所述计算机指令被所述处理器执行时实施如权利要求3~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711158501.2A CN108021398A (zh) | 2017-11-20 | 2017-11-20 | 串口优先级评价方法和调用方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711158501.2A CN108021398A (zh) | 2017-11-20 | 2017-11-20 | 串口优先级评价方法和调用方法、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108021398A true CN108021398A (zh) | 2018-05-11 |
Family
ID=62079992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711158501.2A Pending CN108021398A (zh) | 2017-11-20 | 2017-11-20 | 串口优先级评价方法和调用方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021398A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033577A (zh) * | 2018-07-11 | 2018-12-18 | 深圳市新威尔电子有限公司 | 基于LabVIEW的电化学工作站控制方法、上位机及存储介质 |
CN111726344A (zh) * | 2020-06-12 | 2020-09-29 | 安徽云中联讯科技有限公司 | 一种多串口安全网闸调度算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054968B2 (en) * | 2003-09-16 | 2006-05-30 | Denali Software, Inc. | Method and apparatus for multi-port memory controller |
CN102486764A (zh) * | 2010-12-04 | 2012-06-06 | 中国科学院沈阳自动化研究所 | 一种单串口多组数据涌入的同步协调处理方法及装置 |
CN102929823A (zh) * | 2012-09-08 | 2013-02-13 | 佳都新太科技股份有限公司 | 一种基于线程池的多串口通讯系统及方法 |
CN104536926A (zh) * | 2014-12-22 | 2015-04-22 | 深圳市科漫达智能管理科技有限公司 | 串口设备的控制方法及装置 |
-
2017
- 2017-11-20 CN CN201711158501.2A patent/CN108021398A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054968B2 (en) * | 2003-09-16 | 2006-05-30 | Denali Software, Inc. | Method and apparatus for multi-port memory controller |
CN102486764A (zh) * | 2010-12-04 | 2012-06-06 | 中国科学院沈阳自动化研究所 | 一种单串口多组数据涌入的同步协调处理方法及装置 |
CN102929823A (zh) * | 2012-09-08 | 2013-02-13 | 佳都新太科技股份有限公司 | 一种基于线程池的多串口通讯系统及方法 |
CN104536926A (zh) * | 2014-12-22 | 2015-04-22 | 深圳市科漫达智能管理科技有限公司 | 串口设备的控制方法及装置 |
Non-Patent Citations (3)
Title |
---|
吕佩: "基于优先级排队算法的改进型串口服务器设计", 《工业技术创新》 * |
周秦武: "《嵌入式系统设计与应用》", 30 September 2015 * |
郑岗 等: "动态优先级思想在CAN总线网络中的应用", 《测控技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033577A (zh) * | 2018-07-11 | 2018-12-18 | 深圳市新威尔电子有限公司 | 基于LabVIEW的电化学工作站控制方法、上位机及存储介质 |
CN109033577B (zh) * | 2018-07-11 | 2022-11-08 | 深圳市新威尔电子有限公司 | 基于LabVIEW的电化学工作站控制方法、上位机及存储介质 |
CN111726344A (zh) * | 2020-06-12 | 2020-09-29 | 安徽云中联讯科技有限公司 | 一种多串口安全网闸调度算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106488500B (zh) | 一种公网与专网自适应的方法及装置 | |
CN102387022A (zh) | 一种以太网供电方法和装置 | |
CN101583054A (zh) | 利用光模块实现光接口支持多种速率模式的方法及装置 | |
US10666049B2 (en) | Power-over-ethernet power method and system | |
CN104270273B (zh) | 一种自配置通讯管理机 | |
CN108021398A (zh) | 串口优先级评价方法和调用方法、存储介质 | |
CN107147553A (zh) | 从站波特率及帧格式的调整方法、调整装置及调整设备 | |
CN112306939A (zh) | 一种总线调用方法、装置、设备及存储介质 | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN108647131A (zh) | 运行日志的输出系统 | |
CN108540551A (zh) | 一种服务器节点信息的获取方法和获取系统 | |
CN108445788A (zh) | 一种酒店场景控制方法及相关装置 | |
CN109901664A (zh) | 提供时钟信号的方法、装置、系统、设备及可读存储介质 | |
CN110262344A (zh) | 基于分层架构的星务分系统及卫星事务数据处理方法 | |
CN103795550B (zh) | 供电方法与装置 | |
CN103828294A (zh) | 基于信用的功率管理 | |
CN105656794A (zh) | 数据分发方法及装置 | |
CN110532149A (zh) | 存储设备的管理方法及装置 | |
CN109542812A (zh) | 数据通信控制方法、装置及终端设备 | |
CN109388598A (zh) | 一种信息处理方法及通用串行总线usb集群服务器 | |
WO2014089984A1 (zh) | 一种终端及其实现功率自适应的方法 | |
CN105812172B (zh) | 用户终端及其hsic从设备故障处理方法及装置 | |
CN107197323A (zh) | 一种基于dvfs的网络视频点播服务器及其应用 | |
CN208589930U (zh) | 智能卡 | |
CN103561126B (zh) | 分组设备中cpu扣板与板卡自动关联方法 |
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: 20180511 |
|
RJ01 | Rejection of invention patent application after publication |