CN104516333A - 多核cpu多操作系统的控制器 - Google Patents
多核cpu多操作系统的控制器 Download PDFInfo
- Publication number
- CN104516333A CN104516333A CN201310586092.1A CN201310586092A CN104516333A CN 104516333 A CN104516333 A CN 104516333A CN 201310586092 A CN201310586092 A CN 201310586092A CN 104516333 A CN104516333 A CN 104516333A
- Authority
- CN
- China
- Prior art keywords
- controller
- operating system
- interface module
- core cpu
- multiple operating
- 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
- 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/0421—Multiprocessor system
-
- 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/22—Pc multi processor system
- G05B2219/2214—Multicontrollers, multimicrocomputers, multiprocessing
-
- 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/22—Pc multi processor system
- G05B2219/2231—Master slave
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明提供一种多核CPU多操作系统的控制器,包括硬件部分与软件部分,所述硬件部分包括:多核CPU;内存模块;通信模块,至少包括总线通信模块、串行通信模块、网络通信模块,用于与所述上位机、外部设备及运动控制器进行通信连接;电源模块,用于为所述多核CPU多操作系统的控制器进行供电;所述软件部分包括:硬件驱动、操作系统以及应用软件,用于同时支持Windows主系统与Linux从系统的驱动与软件应用。既充分利用了多核CPU带来的性能优势,在保障实时性的前提下又满足了机器人应用的多样化需求,并且能够由已有的单核Linux实时控制系统进行快速的迁移,降低应用开发、性能测试的成本。
Description
技术领域
本发明涉及控制器,尤其涉及一种多核CPU多操作系统的控制器。
背景技术
机器人是现代工业生产线中不可缺少的工具,它标志着工业的现代化程度。由于机器人应用范围的扩大、执行任务的愈发复杂、以及对执行效果的要求不断严苛,机器人控制器作为机器人控制系统的核心,就成为了革新机器人控制性能的关键。
传统的实时操作系统对硬件设备要求较高,并缺乏性能扩展、灵活迁移的手段,无法发挥最新硬件尤其是多核CPU的性能优势。如今,多核CPU逐渐取代单核CPU成为处理器的主流产品。而沿用单核CPU的实时操作系统的传统机器人控制器逐渐成为控制系统的性能瓶颈,限制了机器人向更高应用需求的领域延伸。而仅仅为提高性能使用多核CPU、单实时操作系统的控制器则造成了CPU性能资源的严重浪费。
因此,需要提供一种多核CPU多操作系统的控制器,用于解决控制性能的问题的同时还应避免资源的浪费。
发明内容
有鉴于此,我们提供了一种新型的多核CPU多操作系统的控制器,用以解决上述问题。
本发明的多核CPU多操作系统的控制器,应用于机器人系统中,所述机器人系统还包括上位机、外部设备、运动控制器,其中所述多核CPU多操作系统的控制器包括硬件部分与软件部分,所述硬件部分包括:多核CPU,包括主CPU与从CPU;内存模块,用于进行数据缓存、交换;通信模块,至少包括总线通信模块、串行通信模块、网络通信模块,用于与所述上位机、外部设备及运动控制器进行通信连接;电源模块,用于为所述多核CPU多操作系统的控制器进行供电;所述软件部分包括:硬件驱动、操作系统以及应用软件,用于同时支持Windows主系统与Linux从系统的驱动与软件应用。
优选地,所述硬件还包括接口模块,所述接口模块包括I/O接口模块、USB接口模块、外部设备卡接口模块和显示接口模块中的一个或多个的组合。
优选地,所述硬件还包括接口模块,所述接口模块至少包括I/O接口模块、USB接口模块、显示接口模块、外部设备卡接口模块,用于为多核CPU多操作系统的控制器提供丰富的外部设备扩展支持。
优选地,所述多核CPU是非对称多处理的双核异构CPU。
优选地,所述内存模块还包括非易失性内存模块,用于写入非易失性数据进行下电存储。
优选地,所述硬件驱动用于对上述各模块的硬件进行驱动。
优选地,操作系统中,Windows嵌入式系统作为主操作系统运行于所述主CPU上,协调整个控制系统的工作,为Linux嵌入式实时系统分配资源,并监测其运行状态;Linux嵌入式实时操作系统作为从操作系统运行于所述从CPU上,向Windows嵌入式系统申请共享资源,并实时更新当前系统状态。
优选地,所述应用软件包括Windows非实时应用软件与Linux实时应用软件。
本发明通过,用以解决了机器人及其类似产品在控制性能、应用开发方面的不足,避免控制器的资源浪费,并较好地改善了机器人控制器的控制效果,从而达到对机器人实时控制与灵活应用相结合的目的。
附图说明
图1是本发明中多核CPU多操作系统的控制器的应用环境示意图。
图2是本发明中多核CPU多操作系统的控制器的硬件模块示意图。
图3是本发明中多核CPU多操作系统的控制器的软件系统架构示意图。
具体实施方式
请参照图1,描述了多核CPU多操作系统的控制器在的应用环境,即在机器人系统中的位置。
多核CPU多操作系统的控制器接收上位机的控制指令,上报多核CPU多操作系统的控制器当前的状态信息。
多核CPU多操作系统的控制器接收外部设备的控制指令,并汇报控制结构和请求信息,实现外部设备对机器人的实时应用操作。
多核CPU多操作系统的控制器通过调度与运算,实时与运动控制器进行通信,根据运算结果值,并下发控制值,通过运动控制器实现对运动电机等设备M的控制。
本发明的多核CPU多操作系统的控制器分为硬件、软件两部分,请分别参阅图2与图3。
一、硬件部分
如图2所示,硬件部分采用支持的多核CPU1作为机器人控制器的主控处理器,还包括内存模块2、通信模块3、电源模块4、以及接口模块5。
其中,多核CPU1作为控制器的核心,采用支持非对称多处理(Asymmetric Multi-Processing,AMP)的双核异构CPU实现。其中CPU0作为主CPU,协调整个CPU的工作、分配共享资源并监测CPU1的状态,CPU1作为从CPU,需要向主CPU申请共享资源,并向主CPU实时发送状态。
面向用户的应用开发主要位于CPU0之上,实现控制器的用户应用、资源分配与基础调度;针对控制系统的控制算法主要位于CPU1之上,实现对控制系统的实时调度与控制。
内存模块2用于进行数据缓存、交换。其中,非易失性内存模块3用于写入非易失性数据,提供高速、安全、下电存储。
通信模块3,包括串行通信模块31、总线通信模块32以及网络通信模块33,用于完成控制器与上位机、机器人运动控制设备、外部控制设备的通信作用。具体而言,主要完成三个方面的作用:
1.接收上位机的控制指令,上报多核CPU多操作系统的控制器当前的状态信息;实现机器人软件的在线更新;实现机器人状态的实时监控。
2.接收外部设备的控制指令,并汇报控制结构和请求信息,实现外部设备40对机器人的实时应用操作。
3.多核CPU多操作系统的控制器通过调度与运算,实时与运动控制器进行通信,实时接收运算结果值,并向运动控制器下发控制值。
电源模块4为多核CPU多操作系统的控制器10的各个模块供电。
接口模块5包括I/O接口模块51、USB接口模块52、显示接口模块53和外部设备卡接口模块54中的一个或多个的组合。其中,I/O接口模块51用于连接待扩展传感器,传感器输出的I/O信号通过光耦隔离后,输入到多核CPU1的引脚。光耦芯片采用TLP280-4实现。
USB设备接口模块52为多核CPU多操作系统的控制器10提供灵活的外设扩展能力。
显示接口模块53,用于外接显示设备,丰富系统的监视、交互功能。
外部设备卡接口54模块用于接入外部存储卡设备。
二、软件部分
如图3所示,软件部分为应用在特定控制板卡之上的软件系统,主要包含硬件驱动、操作系统以及应用软件三部分。
硬件驱动:主要是针对不同的操作系统以及应用需求,对底层的通用硬件进行驱动。驱动包括非易失性内存模块驱动,串行通信接口模块设备驱动,总线通信设备驱动,网络通信模块驱动,USB设备接口驱动等,图中未详述。
操作系统:图中的多操作系统以Windows与Linux为例进行说明。
Windows嵌入式系统作为主操作系统运行于CPU0上,协调整个控制系统的工作,为Linux嵌入式实时系统分配必须的控制、计算资源,并监测其运行状态。在Windows嵌入式系统中,主要与用户进行交互,实现初步的运动规划、以及基础的控制调度,实现远程控制、离线编程、在线更新等上层高级功能,满足现代机器人对丰富应用的要求。
Linux嵌入式实时操作系统作为从操作系统运行于CPU1上,需要向Windows系统申请共享资源,并实时更新当前系统状态。在Linux嵌入式实时操作系统中,主要实现对整个控制系统的实时控制,接收Windows系统发送的初步规划值,进行实时运行与实时控制,满足机器人系统对控制器的实时性、稳定性的要求。
应用软件:为Windows非实时应用软件以及Linux实时应用软件。
Windows应用软件不需过分考虑机器人系统的实时性,在保障Linux系统正常、安全运行之后,可以运行丰富的应用开发,实现多种高级功能,并实现高性能的应用扩展,满足快速增长的机器人应用与功能需求。
Linux实时应用软件需要严苛考虑机器人系统的实时性,其应用功能单一并相对固定,可以直接由已经成熟的机器人控制器中进行迁移而无需过多的修改。
本发明提供一种基于多核CPU的多操作系统机器人控制器。采用支持AMP的多核CPU作为主控制器,并分别使用Windows嵌入式操作系统与Linux嵌入式实时操作系统。既充分利用了多核CPU带来的性能优势,在保障控制器实时性的前提下又满足了机器人应用的多样化需求,并且能够由已有的单核Linux实时控制系统进行快速的迁移,降低应用开发、性能测试的成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种多核CPU多操作系统的控制器,应用于机器人系统中,所述机器人系统还包括上位机、外部设备、运动控制器,其中所述多核CPU多操作系统的控制器包括硬件部分与软件部分,其特征在于,所述硬件部分包括:
多核CPU,包括主CPU与从CPU;
内存模块,用于进行数据缓存、交换;
通信模块,至少包括总线通信模块、串行通信模块、网络通信模块,用于与所述上位机、外部设备及运动控制器进行通信连接;
电源模块,用于为所述多核CPU多操作系统的控制器进行供电;
所述软件部分包括:硬件驱动、操作系统以及应用软件,用于同时支持Windows主系统与Linux从系统的驱动与软件应用。
2.如权利要求1所述的多核CPU多操作系统的控制器,其特征在于,所述硬件还包括接口模块,所述接口模块包括I/O接口模块、USB接口模块、外部设备卡接口模块和显示接口模块中的一个或多个的组合。
3.如权利要求1所述的多核CPU多操作系统的控制器,其特征在于,所述硬件还包括接口模块,所述接口模块至少包括I/O接口模块、USB接口模块、显示接口模块、外部设备卡接口模块,用于为多核CPU多操作系统的控制器提供丰富的外部设备扩展支持。
4.如权利要求1所述的多核CPU多操作系统的控制器,其特征在于,所述多核CPU是非对称多处理的双核异构CPU。
5.如权利要求1所述的多核CPU多操作系统的控制器,其特征在于,所述内存模块还包括非易失性内存模块,用于写入非易失性数据进行下电存储。
6.如权利要求1或2或3所述的多核CPU多操作系统的控制器,其特征在于,所述硬件驱动用于对上述各模块的硬件进行驱动。
7.如权利要求1所述的多核CPU多操作系统的控制器,其特征在于,操作系统中,Windows主系统运行于所述主CPU上,协调整个控制系统的工作,为Linux从系统实时系统分配资源,并监测其运行状态;Linux从系统运行于所述从CPU上,向Windows主系统申请共享资源,并实时更新当前系统状态。
8.如权利要求7所述的多核CPU多操作系统的控制器,其特征在于,所述应用软件包括Windows非实时应用软件与Linux实时应用软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310586092.1A CN104516333A (zh) | 2013-09-28 | 2013-11-19 | 多核cpu多操作系统的控制器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310452174 | 2013-09-28 | ||
CN2013104521747 | 2013-09-28 | ||
CN201310586092.1A CN104516333A (zh) | 2013-09-28 | 2013-11-19 | 多核cpu多操作系统的控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104516333A true CN104516333A (zh) | 2015-04-15 |
Family
ID=52791817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310586092.1A Pending CN104516333A (zh) | 2013-09-28 | 2013-11-19 | 多核cpu多操作系统的控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104516333A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502956A (zh) * | 2016-10-28 | 2017-03-15 | 张军 | 一种多核异构cpu‑gpu系统架构的操作系统原型 |
CN107577185A (zh) * | 2017-09-14 | 2018-01-12 | 浙江国自机器人技术有限公司 | 一种任务执行方法及基于多核处理器的控制器 |
CN108073543A (zh) * | 2016-11-12 | 2018-05-25 | 北京迪文科技有限公司 | 一种8051处理器实现多核互联soc |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201156186Y (zh) * | 2007-06-11 | 2008-11-26 | 陈宇 | 可扩展型通用机器人开发平台 |
CN101911019A (zh) * | 2008-01-18 | 2010-12-08 | 库卡罗伯特有限公司 | 计算机系统,用于机器、特别是工业机器人的控制装置及工业机器人 |
CN102053869A (zh) * | 2009-10-29 | 2011-05-11 | 杭州华三通信技术有限公司 | 一种多操作系统的资源分配方法和装置 |
CN102929713A (zh) * | 2012-10-08 | 2013-02-13 | 清华大学 | 支持多操作系统并行的松散耦合异质多核处理系统 |
-
2013
- 2013-11-19 CN CN201310586092.1A patent/CN104516333A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201156186Y (zh) * | 2007-06-11 | 2008-11-26 | 陈宇 | 可扩展型通用机器人开发平台 |
CN101911019A (zh) * | 2008-01-18 | 2010-12-08 | 库卡罗伯特有限公司 | 计算机系统,用于机器、特别是工业机器人的控制装置及工业机器人 |
CN102053869A (zh) * | 2009-10-29 | 2011-05-11 | 杭州华三通信技术有限公司 | 一种多操作系统的资源分配方法和装置 |
CN102929713A (zh) * | 2012-10-08 | 2013-02-13 | 清华大学 | 支持多操作系统并行的松散耦合异质多核处理系统 |
Non-Patent Citations (1)
Title |
---|
艾定军等: "实时嵌入式多处理器操作系统实现框架", 《计算机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502956A (zh) * | 2016-10-28 | 2017-03-15 | 张军 | 一种多核异构cpu‑gpu系统架构的操作系统原型 |
CN108073543A (zh) * | 2016-11-12 | 2018-05-25 | 北京迪文科技有限公司 | 一种8051处理器实现多核互联soc |
CN107577185A (zh) * | 2017-09-14 | 2018-01-12 | 浙江国自机器人技术有限公司 | 一种任务执行方法及基于多核处理器的控制器 |
CN107577185B (zh) * | 2017-09-14 | 2019-10-25 | 浙江国自机器人技术有限公司 | 一种任务执行方法及基于多核处理器的控制器 |
CN109558174A (zh) * | 2018-11-28 | 2019-04-02 | 江苏艾萨克机器人股份有限公司 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10265848B2 (en) | Robotic hybrid system application framework based on multi-core processor architecture | |
CN107577185B (zh) | 一种任务执行方法及基于多核处理器的控制器 | |
CN103744342B (zh) | 一种基于双核处理器的pac实时控制系统 | |
CN104516333A (zh) | 多核cpu多操作系统的控制器 | |
WO2013103509A1 (en) | A system and method for transmitting and receiving data using an industrial expansion bus | |
CN107942797A (zh) | 基于sopc的嵌入式双核伺服控制器及其设计方法 | |
CN202421873U (zh) | 支持功能安全与信息安全的分散控制系统 | |
CN109947539A (zh) | 一种机器人控制器 | |
CN101876825A (zh) | 小型plc的人机界面装置 | |
CN205229926U (zh) | 一种64路服务器上处理器协同互连板 | |
CN113946537A (zh) | 一种加速装置及服务器 | |
CN201489345U (zh) | 双处理器运动控制卡 | |
CN113485953A (zh) | 多核嵌入式系统及其基于串口虚拟化实现通信的方法 | |
CN202878317U (zh) | 一种多自由度工业机器人运动控制器 | |
CN101795085A (zh) | 一种通用变频器实时控制器 | |
CN205263790U (zh) | 一种显示控制板 | |
CN101620428A (zh) | 基于fpga芯片的vme总线电机控制器 | |
CN110376936A (zh) | 一种一体化运动控制器 | |
CN103809581A (zh) | Ssb-iii总线伺服模拟器及其控制方法 | |
CN204576487U (zh) | 并行计算多任务设备 | |
CN208622092U (zh) | 一种基于双龙芯处理器的高性能数据处理装置 | |
CN107832244B (zh) | 一种安全计算机的处理器系统 | |
CN204576496U (zh) | 多种io接口的计算机设备 | |
CN102540972B (zh) | 支持多点跨平台通讯的数控机床远程控制方法 | |
CN203204370U (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |
|
WD01 | Invention patent application deemed withdrawn after publication |