CN110780616A - 一种基于流水线技术处理通讯命令的方法 - Google Patents
一种基于流水线技术处理通讯命令的方法 Download PDFInfo
- Publication number
- CN110780616A CN110780616A CN201910843843.0A CN201910843843A CN110780616A CN 110780616 A CN110780616 A CN 110780616A CN 201910843843 A CN201910843843 A CN 201910843843A CN 110780616 A CN110780616 A CN 110780616A
- Authority
- CN
- China
- Prior art keywords
- instruction
- computer
- communication
- data
- executed
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Abstract
本发明涉及一种基于流水线技术处理通讯命令的方法,属于计算机领域。该方法包括以下步骤:当系统接收到通讯端口的数据时,判断是否是有效指令;若是,则答复上位机;下位机按指令工作;在系统工作时,收到答复的上位机发送下一条指令,并将该指令缓存到指令池中;当上一条指令执行完毕,从指令池中取出指令执行。在利用MCU通过串口通讯控制伺服电机运动的工控系统中,就运用该方法。通过对一个工作流程进行实测,比顺序操作的方式,流水线方式节约了1/5的时间。
Description
技术领域
本发明属于计算机领域,涉及一种基于流水线技术处理通讯命令的方法。
背景技术
流水线技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术,它是一种广泛应用于计算机系统中的数据收发技术,它通常用来解决CPU与外设通信速度不匹配、造成CPU资源浪费的问题。
如图1所示,在工业控制领域,系统之间通讯通常是顺序操作:即是收到指令后→处理指令→执行指令,执行完毕后再重复以上过程。工业控制领域的执行过程通常比较长,如电机控制时,执行过程可能长达好几秒。采用顺序操作时,系统是无法接受指令的,通讯模块进入闲置状态,接收指令和处理指令的都必须等到执行完毕后。也就是说通讯的时间消耗也线性的增加到了系统运行时间中,对于要求高效率的场合,通讯的时间白白浪费掉是极不合理的。
发明内容
有鉴于此,本发明的目的在于提供一种基于流水线技术处理通讯命令的方法,对效率敏感的工业控制场合,能节省通讯占用的时间,提高系统工作效率。
为达到上述目的,本发明提供如下技术方案:
一种基于流水线技术处理通讯命令的方法,该方法包括以下步骤:
当系统接收到通讯端口的数据时,判断是否是有效指令;
若是,则答复上位机;
下位机按指令工作;
在系统工作时,收到答复的上位机发送下一条指令,并将该指令缓存到指令池中;
当上一条指令执行完毕,从指令池中取出指令执行。
可选的,所述系统工作为电机驱动。
可选的,所述上位机为位置编码器。
可选的,所述下位机为电机驱动器。
一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现所述的方法所执行的操作。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述的方法。
本发明的有益效果在于:在利用MCU通过串口通讯控制伺服电机运动的工控系统中,就运用该方法。通过对一个工作流程进行实测,比顺序操作的方式,流水线方式节约了1/5的时间。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为现有技术原理图;
图2为本发明的电机应用原理图;
图3为本发明流程图;
图4为本发明原理图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图2~图4,为一种基于流水线技术处理通讯命令的方法。
针对主从模式、答复模式的通讯系统,当系统接收到通讯端口的数据时(触发中断),只要通过解析处理数据后发现是有效的命令,马上就答复上位机。同时下位机控制系统按指令工作,在系统工作时(通常时间较长,如电机运动),收到答复的上位机继续发送下一条指令。此时系统将该指令缓存到指令池中,一旦上一条指令执行完毕,可以马上从内存中取出指令执行,而不必花费与上位机通讯的时间。
在利用MCU通过串口通讯控制步进电机运动的工控系统中,就运用该方法。通过对一个工作流程进行实测,比顺序操作的方式,流水线方式节约了1/5的时间。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
可选的,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的基于流水线技术处理通讯命令的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于流水线技术处理通讯命令的方法,其特征在于:该方法包括以下步骤:
当系统接收到通讯端口的数据时,判断是否是有效指令;
若是,则答复上位机;
下位机按指令工作;
在系统工作时,收到答复的上位机发送下一条指令,并将该指令缓存到指令池中;
当上一条指令执行完毕,从指令池中取出指令执行。
2.根据权利要求1所述的一种基于流水线技术处理通讯命令的方法,其特征在于:所述系统工作为电机驱动。
3.根据权利要求1所述的一种基于流水线技术处理通讯命令的方法,其特征在于:所述上位机为位置编码器。
4.根据权利要求1所述的一种基于流水线技术处理通讯命令的方法,其特征在于:所述下位机为电机驱动器。
5.一种电子设备,其特征在于:所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1~4任一项所述的方法所执行的操作。
6.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行权利要求1~4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843843.0A CN110780616A (zh) | 2019-09-06 | 2019-09-06 | 一种基于流水线技术处理通讯命令的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843843.0A CN110780616A (zh) | 2019-09-06 | 2019-09-06 | 一种基于流水线技术处理通讯命令的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110780616A true CN110780616A (zh) | 2020-02-11 |
Family
ID=69383349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843843.0A Pending CN110780616A (zh) | 2019-09-06 | 2019-09-06 | 一种基于流水线技术处理通讯命令的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780616A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1074771A (zh) * | 1992-01-23 | 1993-07-28 | 英特尔公司 | 带有并行执行指令的装置的微处理机 |
CN1170906A (zh) * | 1996-03-29 | 1998-01-21 | 松下电器产业株式会社 | 可变流水线级数的数据处理装置 |
CN1516001A (zh) * | 2003-01-08 | 2004-07-28 | 上海海尔集成电路有限公司 | 一种新型risc流水线微控制器构架及其操作方法 |
CN101118485A (zh) * | 2007-09-18 | 2008-02-06 | 成都方程式电子有限公司 | 一种8051微控制器指令流水系统及实现方法 |
CN102195555A (zh) * | 2010-03-15 | 2011-09-21 | 欧姆龙株式会社 | 伺服系统及其控制方法、伺服电机驱动装置以及安全单元 |
CN109388392A (zh) * | 2018-10-31 | 2019-02-26 | 陈黎明 | 一种指令处理方法 |
CN109921967A (zh) * | 2019-03-08 | 2019-06-21 | 美的智慧家居科技有限公司 | 指令处理方法及系统、网关设备和计算机可读存储介质 |
-
2019
- 2019-09-06 CN CN201910843843.0A patent/CN110780616A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1074771A (zh) * | 1992-01-23 | 1993-07-28 | 英特尔公司 | 带有并行执行指令的装置的微处理机 |
CN1170906A (zh) * | 1996-03-29 | 1998-01-21 | 松下电器产业株式会社 | 可变流水线级数的数据处理装置 |
CN1516001A (zh) * | 2003-01-08 | 2004-07-28 | 上海海尔集成电路有限公司 | 一种新型risc流水线微控制器构架及其操作方法 |
CN101118485A (zh) * | 2007-09-18 | 2008-02-06 | 成都方程式电子有限公司 | 一种8051微控制器指令流水系统及实现方法 |
CN102195555A (zh) * | 2010-03-15 | 2011-09-21 | 欧姆龙株式会社 | 伺服系统及其控制方法、伺服电机驱动装置以及安全单元 |
CN109388392A (zh) * | 2018-10-31 | 2019-02-26 | 陈黎明 | 一种指令处理方法 |
CN109921967A (zh) * | 2019-03-08 | 2019-06-21 | 美的智慧家居科技有限公司 | 指令处理方法及系统、网关设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1674989B1 (en) | Information processing device, information processing method, semiconductor device, and computer program | |
CN101713970B (zh) | 重启飞行控制系统的方法和系统 | |
CN110967992A (zh) | 用于机器人的控制系统及方法 | |
JP2010262625A (ja) | 知識ベースの選択的な視覚分析のための人工視覚システムおよび方法 | |
CN115003460A (zh) | 多机器人操作环境中的机器人配置 | |
US20170277170A1 (en) | Hmi system | |
CN112207829A (zh) | 机器人的控制方法及装置、可读存储介质 | |
US20160224325A1 (en) | Hiding compilation latency | |
CN104391754A (zh) | 一种任务异常的处理方法及装置 | |
CN110690835A (zh) | 一种使用s型曲线进行电机加减速的方法 | |
CN110780616A (zh) | 一种基于流水线技术处理通讯命令的方法 | |
JP2007086921A (ja) | 機械装置制御プログラム実行システム | |
KR20130017698A (ko) | 실시간 로봇 제어 프레임워크 | |
CN103777976A (zh) | 单片机及其在线升级方法和在线升级装置 | |
US8533376B1 (en) | Data processing method, data processing apparatus and robot | |
CN113010177B (zh) | 软件定义的仪器和信息采集方法、计算机、存储介质 | |
CN110750477A (zh) | 一种伺服电机与磁电编码器通过spi方式通讯的方法 | |
CN113050614B (zh) | 机器人自主管理执行能力的方法、设备及存储介质 | |
CN107145379B (zh) | 实现具有数据信号连接关系虚拟设备组件的方法及系统 | |
CN102023879A (zh) | 一种龙芯刀片南桥sata控制器bios的实现方法 | |
EP3048544A1 (en) | Method for generating CAD models | |
US10360332B2 (en) | Handling blind statements in mixed language environments | |
CN104678875A (zh) | 一种变频器配置方法及变频器配置系统 | |
CN113733103B (zh) | 工业机器人的控制方法、控制装置、系统及存储介质 | |
JP2019144910A (ja) | リアルタイム処理装置及びその作製方法 |
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 |