CN109558174A - 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 - Google Patents
基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 Download PDFInfo
- Publication number
- CN109558174A CN109558174A CN201811430065.4A CN201811430065A CN109558174A CN 109558174 A CN109558174 A CN 109558174A CN 201811430065 A CN201811430065 A CN 201811430065A CN 109558174 A CN109558174 A CN 109558174A
- Authority
- CN
- China
- Prior art keywords
- module
- dual
- core
- double
- zynq
- 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
- 230000009977 dual effect Effects 0.000 title claims abstract description 68
- 230000006854 communication Effects 0.000 claims abstract description 54
- 238000004891 communication Methods 0.000 claims abstract description 51
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 230000002093 peripheral effect Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000003321 amplification Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 239000011521 glass Substances 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
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/4405—Initialisation of multiprocessor systems
-
- 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/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
Abstract
本发明涉及一种基于ZYNQ双核处理器的RTOS‑GPOS双操作系统机器人控制器,包括ZYNQ双核处理器、以ZYNQ双核处理器为控制核心的外围硬件模块和以ZYNQ双核处理器为硬件基础的RTOS‑GPOS双操作系统,所述RTOS‑GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。本发明通过在双核芯片ZYNQ上建立基于非对称多处理架构的双操作系统并行运行机制,构建出一种双系统机器人控制器,可同时运行通用操作系统Linux和实时操作系统FreeRTOS,从而既能完成人机交互、路径规划等上层任务,又能执行运动控制、应急操作等实时任务,从而为机器人开发提供了一种轻便、通信效率高、复用性好的控制器,可以很好地满足实际应用的需要。
Description
技术领域
本发明属于自动化控制技术领域,具体涉及一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器。
背景技术
机器人是一种机电一体化的控制对象,其控制软件既包含人机交互、路径规划等上层非实时任务,又包含运动控制、应急操作等底层实时任务。机器人控制系统的实现,目前多采用上位机+运动控制卡的形式,上位机运行通用操作系统来完成非实时任务,运动控制卡运行实时操作系统或裸板程序来完成实时任务。这种传统的控制结构使得机器人控制器需要至少两块控制板卡,增加了空间,同时上下层通信效率较低,复用性较差。
目前,国内外已经对新型的机器人控制器开展了研究。一些机器人团队提出了模块化的机器人控制器设计方案。例如由北京航空航天大学设计的基于ARM+FPGA的模块化控制器是其中一种选择。这种设计可以提高硬件平台重用性,缩短开发时间,但缺点在于ARM和FPGA的没有专门的通信通路,容易影响整体性能提升,FPGA的硬件加速特性也无法得以发挥。固高科技的四轴运动控制器采用DSP+FPGA实现,但单台价格相对比较昂贵,而且系统设计复杂,设计成本较高。
因此,有必要开发一种低成本,通信效率高,系统易于设计的机器人控制器。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技术缺陷的基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器。
为了实现上述发明目的,本发明提供的技术方案如下:
一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,包括ZYNQ双核处理器和以ZYNQ双核处理器为控制核心的外围硬件模块。
进一步地,所述外围硬件模块包括电机驱动模块、应急制动模块、电机状态反馈模块、电源模块和人机交互模块;所述电机驱动模块包括差动驱动器电路和光耦电路,用于将处理器输出的脉冲信号、方向信号以及控制信号通过差动放大以及和光耦隔离控制伺服电机驱动器;所述应急制动模块利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;所述电机状态反馈模块利用伺服电机驱动器的串列通信功能,通过串口与驱动器进行通信;所述电源模块通过电源转换芯片以及稳压器件为其他各模块所供电;所述人机交互模块包括触摸屏和上位机连接串口,触摸屏用于人机交互软件显示,上位机串口用于与PC相连将通用系统输出信息打印到PC端。
进一步地,所述控制器还包括以ZYNQ双核处理器为硬件基础的RTOS-GPOS双操作系统,所述RTOS-GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。
进一步地,所述主系统模块包括通用操作系统Linux,用于控制从系统的启动关闭、运行上层非实时软件;所述从系统模块包括实时操作系统FreeRTOS,用于运行底层实时任务软件;所述系统启动控制模块运行在主系统模块中,用于控制在从CPU上加载和卸载非对称多处理架构下的从系统模块的过程;所述双核通信模块以驱动程序的形式运行在主系统模块中,以库函数的形式运行于从系统模块中,利用共享内存,在两CPU间建立通信通道,用于主系统和从系统间的通信。
进一步地,所述RTOS-GPOS双操作系统运行在拥有双ARM内核的ZYNQ芯片上,其中有主CPU和从CPU,双操作系统包括运行在主CPU上的主系统通用操作系统Linux和运行在从CPU上的从系统实时操作系统FreeRTOS,二者在非对称多处理架构下并行运行,由主系统引导从系统的启动和关闭,其中主操作系统运行上层非实时任务,从操作系统运行底层实时任务。
进一步地,所述双核通信模块将外部DDR3内存一部分取消掉cache功能,由软件控制读取,划分为双核共享内存作为通信通道;使用基于中断的通信机制通信,通信过程中发送方通过向ICDSGIR寄存器写入SGI中断号以及指定目标CPU来产生一个软件中断,接收方收到中断后读取内存,并向ICDICPR寄存器相应位置写1清除中断。
进一步地,所述双核启动模块采用由主CPU引导的启动方式,从操作系统以主系统上运行的远程固件的形式由其控制开启和关闭;双核启动模块是Linux驱动程序,它控制在从CPU上加载和卸载非对称多处理架构下的从操作系统的过程。
进一步地,所述双核启动模块的启动方法,由主CPU引导,首先双核在对称多处理架构下共同运行主系统Linux,当双核启动模块启动后,主CPU调用启动控制模块获取从系统启动镜像并获取资源列表,并将从系统的系统镜像文件和资源列表文件加载到从CPU的内存空间上,加载完毕后再给从CPU发送复位启动信号,使其读取从系统镜像,从操作系统镜像作为一个固件存储在主系统Linux的文件系统目录下;启动完成后,双操作系统控制器开始运行,两系统中的程序通过调用通信模块进行通信,当需要从操作系统关闭时,由主系统通过通信模块向从系统发送特定的关闭信息,从系统确认后再次调用双核启动控制模块进行析构,释放从系统使用的资源,使双CPU重新在对称多处理架构下运行Linux。
所述机器人控制器的建立方法,包括以下步骤:
第一步,建立基于ZYNQ的硬件平台,包括对ZYNQ处理器的配置和对外围硬件模块的配置;使用Vivado开发工具,通过加入GPIO、系统复位、内部通信模块,使用AXI总线连接;生成位流文件,用于对芯片内部的可编程逻辑PL部分进行配置,通过PL建立起处理系统PS与片内和外围硬件模块之间的连接,构成控制器硬件基础;
第二步,建立双系统并行运行机制并移植到上述平台上,使用Petalinux建立主系统Linux,按需要裁剪,分别对共享资源、双核通信、双核启动进行配置和搭建,使用SDK建立从系统FreeRTOS以及各系统软件程序,最终使用Petalinux生成主系统文件,使用SDK生成启动引导文件,通过SD卡拷入烧写启动。
所述控制器的运行方法,包括:通过在主系统Linux上运行的人机交互软件获取控制信息,经由Linux上的机器人控制程序解析生成发送给下位机的控制序列,通过通信模块发送给从系统FreeRTOS,FreeRTOS根据输入对机器人执行机构进行实时的控制;双系统运行的可行性通过软件程序得到验证,当双系统启动完成后,由Linux端软件通过通信模块向FreeRTOS端发送信息,FreeRTOS软件再将收到的信息返回,由Linux端软件验证原信息是否完整正确。
本发明提供的基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,通过在双核芯片ZYNQ上建立基于非对称多处理架构的双操作系统并行运行机制,构建出一种双系统机器人控制器,可同时运行通用操作系统Linux和实时操作系统FreeRTOS,从而既能完成人机交互、路径规划等上层任务,又能执行运动控制、应急操作等实时任务,从而为机器人开发提供了一种轻便、通信效率高、复用性好的控制器,可以很好地满足实际应用的需要。
附图说明
图1是本发明中控制器的结构框架图;
图2是本发明中双核通信模块的结构图;
图3是本发明中启动控制模块流程图;
图4是本发明中主操作系统中软件运行流程图;
图5是本发明中从操作系统中软件运行流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,包括ZYNQ双核处理器以及以ZYNQ双核处理器为硬件基础的RTOS-GPOS双操作系统,所述双操作系统包括作为主系统的通用操作系统(GPOS)Linux、作为从系统的实时操作系统(RTOS)FreeRTOS、双核共享资源、双核启动模块和双核通信模块。
实施过程中,所述ZYNQ处理器选用高性价比的ZYNQ-7000AP Soc芯片,ZYNQ-7000系列全可编程芯片是Xilinx公司2010年发布的可扩展处理器芯片。该系列芯片采用了28nm工艺流程,将双核Cortex-A9ARM内核和FPGA集成在一块芯片内,构成全可编程芯片。ZYNQ内部分为以APU为主要部分的处理系统PS(Processing System)和以FPGA为主体的可编程逻辑PL(Programmable Logic)。本设计要在双核处理器上进行系统移植,因此以PS部分为主。PS部分主要包含以下功能模块:应用处理单元APU、存储器接口、外设I/O、内部总线。APU是PS部分中的运算单元,主要部分是两个Cortex-A9ARM处理器。每个CPU的私有设备主要包括:32KB的L1级缓存、内存管理单元MMU(Memory Management Unit)、NEON协处理器等。其中MMU负责存储器保护和地址转换,它控制着对外部存储器的读写。由于ZYNQ中每个CPU各拥有一个MMU,使两个CPU可以并行对各自的存储区域进行读写,这为双核异构提供了硬件基础。
实施过程中,使用开发工具通过可编程逻辑PL建立起处理系统PS与片内和板卡资源之间的连接,包括加入GPIO、系统复位、内部通信模块,使用AXI总线连接,构成处理器硬件基础。
所述的基于ZYNQ双核处理器的RTOS-GPOS双操作系统的机器人控制器,如图1所示。硬件部分包括ZYNQ双核处理器1和以其为控制核心的外围硬件模块,所述外围硬件模块包括电机驱动模块2、应急制动模块3、电机状态反馈模块4、电源模块5和人机交互模块6。所述的电机驱动模块2包括差动驱动器电路和光耦电路,用于将处理器输出的脉冲信号、方向信号以及控制信号通过差动放大以及和光耦隔离控制伺服电机驱动器。所述的应急制动模块3利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开。所述的电机状态反馈模块4利用伺服电机驱动器的串列通信功能,通过串口与驱动器进行通信。所述的电源模块5通过电源转换芯片以及稳压器件为其他各模块所供电。所述的人机交互模块6包括触摸屏和上位机连接串口,触摸屏用于人机交互软件显示,上位机串口用于与PC相连将通用系统输出信息打印到PC端。所述的ZYNQ开发平台建立在Zedboard上,使用开发工具通过可编程逻辑PL建立起处理系统PS与片内和板卡资源之间的连接,包括加入GPIO、系统复位、内部通信模块,使用AXI总线连接,构成控制器硬件基础。
软件部分包括RTOS-GPOS双操作系统架构。所述的双操作系统架构包括主系统模块8、从系统模块9、系统启动控制模块10和双核通信模块11。所述的主系统模块8,包括通用操作系统Linux,用于控制从系统的启动关闭,运行人机交互、路径规划等上层非实时软件。所述从系统模块9,包括实时操作系统FreeRTOS,用于运行实施运动控制、应急制动等底层实时任务软件。所述的系统启动控制模块10,以驱动程序的形式运行在主系统模块中,用于控制在从CPU上加载和卸载非对称多处理架构下的从系统模块的过程。所述的双核通信模块11,以驱动程序的形式运行在主系统模块中,以库函数的形式运行于从系统模块中,利用共享内存,在两CPU间建立通信通道,可由两系统中的软件调用,用于两系统间的通信。
所述的RTOS-GPOS双操作系统,运行在拥有双ARM内核的ZYNQ芯片上,其中有主核CPU0(简称主CPU)和从核CPU1(简称从CPU),双操作系统包括运行在CPU0上的主系统通用操作系统Linux和运行在CPU1上的从系统实时操作系统FreeRTOS,二者在非对称多处理架构下并行运行,由主系统引导从系统的启动和关闭,其中主操作系统可以运行人机交互、路径规划等上层非实时任务软件,从操作系统可以运行实时运动控制、应急制动等底层实时任务软件。
实施过程中,需要对双核共享资源进行划分,包括ZYNQ芯片上的512KB的L2缓存、256KB的片上内存OCM、外部的DDR存储器等,需要对它们进行分配以使两个CPU能够在各自拥有的资源下独立运行。共享资源根据各操作系统的需求进行分配,在Linux系统编译之前进行配置。DDR内存有1GB存储空间,根据内核大小,将DDR的前256MB分配给FreeRTOS,之后的768MB分配给Linux。实时操作系统的一部分内存地址将作为共享内存用于双系统间的通信,如图2所示。其他主要共享资源划分为:L2缓存交给主CPU使用,片上内存OCM在对称多处理状态又双核共同使用,在非对称多处理状态由主CPU使用。
所述的双核通信模块,如图2所示,将外部DDR3内存一部分取消掉cache功能,由软件控制读取,划分为双核共享内存作为通信通道。为了避免双核对共享内存的读取冲突,通信模块使用基于中断的通信机制通信,通信过程中发送方通过向ICDSGIR寄存器写入SGI中断号,以及指定目标CPU,来产生一个软件中断,接收方收到中断后读取内存,并向ICDICPR寄存器相应位置写1清除中断。
所述的双核启动模块,采用了由主CPU引导的启动方式,从操作系统以主系统上运行的远程固件的形式由其控制开启和关闭。双核启动模块是Linux驱动程序,它控制在从CPU上加载和卸载非对称多处理架构下的从操作系统的过程。启动流程如图3所示,首先双核在对称多处理架构下共同运行主系统Linux,当双核启动模块启动后,主CPU会调用启动控制模块获取从系统启动镜像并获取资源列表,并将从系统的系统镜像文件和资源列表文件加载到从CPU的内存空间上,具体是由模块中的remoteproc_init()和remoteproc_resource_init()函数实现。加载完毕后再给从CPU发送复位启动信号,使其读取从系统镜像,由remoteproc_boot()实现。在这个过程中,从操作系统镜像会作为一个固件存储在主系统Linux的文件系统目录下。启动完成后,双操作系统控制器便开始运行,两系统中的程序可以通过调用通信模块进行通信,具体使用模块中的rpmsg_send()函数。当需要从操作系统关闭时,由主系统通过通信模块向从系统发送特定的关闭信息,从系统确认后再次调用双核启动控制模块进行析构,释放从系统使用的资源,使双CPU重新在对称多处理架构下运行Linux,具体是由模块中的remoteproc_deinit()、remoteproc_resource_deinit()和remoteproc_shutdown()函数实现。
控制器具体建立步骤如下:
第一步,建立基于ZYNQ的硬件平台,包括对ZYNQ处理器的配置和对外围硬件模块的配置。使用Vivado开发工具,通过加入GPIO、系统复位、内部通信模块,使用AXI总线连接。生成位流文件,用于对芯片内部的可编程逻辑PL部分进行配置,通过PL建立起处理系统PS与片内和外围硬件模块之间的连接,构成控制器硬件基础;
第二步,建立双系统并行运行机制并移植到上述平台上,使用Petalinux建立主系统Linux,按需要裁剪,分别对共享资源、双核通信、双核启动进行配置和搭建,使用SDK建立从系统FreeRTOS以及各系统软件程序,最终使用Petalinux生成主系统文件,使用SDK生成启动引导文件,通过SD卡拷入烧写启动。
该双操作系统控制器在具体实施过程中运行流程如下:通过在主系统Linux上运行的人机交互软件获取控制信息,经由Linux上的机器人控制程序解析生成发送给下位机的控制序列,通过通信模块发送给从系统FreeRTOS,FreeRTOS根据输入对机器人执行机构进行实时的控制。双系统运行的可行性通过软件程序得到了验证,当双系统启动完成后,由Linux端软件通过通信模块向FreeRTOS端发送信息,FreeRTOS软件再将收到的信息返回,由Linux端软件验证原信息是否完整正确,Linux端软件运行流程如图4所示,FreeRTOS端软件运行流程如图5所示。
本发明的控制器使用具有双ARM内核的ZYNQ芯片实现充分利用ZYNQ芯片的资源,实现双操作系统在双核芯片上以非对称多处理架构并行运行,使其能够同时运行人机交互、路径规划等上位机软件和运动控制、应急制动等下位机软件,提高了机器人控制器通信效率和复用性,降低了控制器开发设计成本,使机器人控制器能集成到一块芯片上。本发明充分利用ZYNQ芯片内部的双核处理器及其资源,通过设计外部硬件、双操作系统的运行机制、共享资源、启动方式、通信方式,实现在双核芯片上双操作系统以非对称多处理架构并行运行,使得扩展了芯片的使用范围,实现了一种低成本小体型高复用性的机器人控制器。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,其特征在于,包括ZYNQ双核处理器。
2.根据权利要求1所述的机器控制器,其特征在于,所述控制器还包括以ZYNQ双核处理器为控制核心的外围硬件模块,所述外围硬件模块包括电机驱动模块、应急制动模块、电机状态反馈模块、电源模块和人机交互模块;所述电机驱动模块包括差动驱动器电路和光耦电路,用于将处理器输出的脉冲信号、方向信号以及控制信号通过差动放大以及和光耦隔离控制伺服电机驱动器;所述应急制动模块利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;所述电机状态反馈模块利用伺服电机驱动器的串列通信功能,通过串口与驱动器进行通信;所述电源模块通过电源转换芯片以及稳压器件为其他各模块所供电;所述人机交互模块包括触摸屏和上位机连接串口,触摸屏用于人机交互软件显示,上位机串口用于与PC相连将通用系统输出信息打印到PC端。
3.根据权利要求1-2所述的机器人控制器,其特征在于,所述控制器还包括以ZYNQ双核处理器为硬件基础的RTOS-GPOS双操作系统,所述RTOS-GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。
4.根据权利要求1-3所述的机器人控制器,其特征在于,所述主系统模块包括通用操作系统Linux,用于控制从系统的启动关闭、运行上层非实时软件;所述从系统模块包括实时操作系统FreeRTOS,用于运行底层实时任务软件;所述系统启动控制模块运行在主系统模块中,用于控制在从CPU上加载和卸载非对称多处理架构下的从系统模块的过程;所述双核通信模块以驱动程序的形式运行在主系统模块中,以库函数的形式运行于从系统模块中,利用共享内存,在两CPU间建立通信通道,用于主系统和从系统间的通信。
5.根据权利要求1-3所述的机器人控制器,其特征在于,所述RTOS-GPOS双操作系统运行在拥有双ARM内核的ZYNQ芯片上,其中有主CPU和从CPU,双操作系统包括运行在主CPU上的主系统通用操作系统Linux和运行在从CPU上的从系统实时操作系统FreeRTOS,二者在非对称多处理架构下并行运行,由主系统引导从系统的启动和关闭,其中主操作系统运行上层非实时任务,从操作系统运行底层实时任务。
6.根据权利要求1-3所述的机器控制器,其特征在于,所述双核通信模块将外部DDR3内存一部分取消掉cache功能,由软件控制读取,划分为双核共享内存作为通信通道;使用基于中断的通信机制通信,通信过程中发送方通过向ICDSGIR寄存器写入SGI中断号以及指定目标CPU来产生一个软件中断,接收方收到中断后读取内存,并向ICDICPR寄存器相应位置写1清除中断。
7.根据权利要求1-6所述的机器控制器,其特征在于,所述双核启动模块采用由主CPU引导的启动方式,从操作系统以主系统上运行的远程固件的形式由其控制开启和关闭;双核启动模块是Linux驱动程序,它控制在从CPU上加载和卸载非对称多处理架构下的从操作系统的过程。
8.双核启动模块的启动方法,其特征在于,由主CPU引导,首先双核在对称多处理架构下共同运行主系统Linux,当双核启动模块启动后,主CPU调用启动控制模块获取从系统启动镜像并获取资源列表,并将从系统的系统镜像文件和资源列表文件加载到从CPU的内存空间上,加载完毕后再给从CPU发送复位启动信号,使其读取从系统镜像,从操作系统镜像作为一个固件存储在主系统Linux的文件系统目录下;启动完成后,双操作系统控制器开始运行,两系统中的程序通过调用通信模块进行通信,当需要从操作系统关闭时,由主系统通过通信模块向从系统发送特定的关闭信息,从系统确认后再次调用双核启动控制模块进行析构,释放从系统使用的资源,使双CPU重新在对称多处理架构下运行Linux。
9.机器人控制器的建立方法,其特征在于,包括以下步骤:
第一步,建立基于ZYNQ的硬件平台,包括对ZYNQ处理器的配置和对外围硬件模块的配置;使用Vivado开发工具,通过加入GPIO、系统复位、内部通信模块,使用AXI总线连接;生成位流文件,用于对芯片内部的可编程逻辑PL部分进行配置,通过PL建立起处理系统PS与片内和外围硬件模块之间的连接,构成控制器硬件基础;
第二步,建立双系统并行运行机制并移植到上述平台上,使用Petalinux建立主系统Linux,按需要裁剪,分别对共享资源、双核通信、双核启动进行配置和搭建,使用SDK建立从系统FreeRTOS以及各系统软件程序,最终使用Petalinux生成主系统文件,使用SDK生成启动引导文件,通过SD卡拷入烧写启动。
10.控制器的运行方法,其特征在于,包括:通过在主系统Linux上运行的人机交互软件获取控制信息,经由Linux上的机器人控制程序解析生成发送给下位机的控制序列,通过通信模块发送给从系统FreeRTOS,FreeRTOS根据输入对机器人执行机构进行实时的控制;双系统运行的可行性通过软件程序得到验证,当双系统启动完成后,由Linux端软件通过通信模块向FreeRTOS端发送信息,FreeRTOS软件再将收到的信息返回,由Linux端软件验证原信息是否完整正确。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811430065.4A CN109558174A (zh) | 2018-11-28 | 2018-11-28 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811430065.4A CN109558174A (zh) | 2018-11-28 | 2018-11-28 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109558174A true CN109558174A (zh) | 2019-04-02 |
Family
ID=65867675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811430065.4A Pending CN109558174A (zh) | 2018-11-28 | 2018-11-28 | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558174A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138291A (zh) * | 2019-06-28 | 2019-08-16 | 北京机械设备研究所 | 一种基于zynq双核处理器的电机驱动器 |
CN110286617A (zh) * | 2019-06-03 | 2019-09-27 | 上海凯尔孚应力腐蚀试验设备有限公司 | 双核全数字动静态控制器及其应用方法 |
CN110471705A (zh) * | 2019-07-15 | 2019-11-19 | 江苏泛腾电子科技有限公司 | 一种定制双系统 |
CN110545319A (zh) * | 2019-08-23 | 2019-12-06 | 武汉久同智能科技有限公司 | 一种SoC核系统的设计和核间任务通信的实现方法 |
CN110597689A (zh) * | 2019-09-16 | 2019-12-20 | 山东超越数控电子股份有限公司 | 一种基于zynq的健康管理平台的实现方法及系统 |
CN110687843A (zh) * | 2019-10-14 | 2020-01-14 | 湖南强军科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN110936381A (zh) * | 2019-12-13 | 2020-03-31 | 珠海格力电器股份有限公司 | 一种机器人控制装置及机器人 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
CN111726201A (zh) * | 2020-06-15 | 2020-09-29 | 哈工大机器人(合肥)国际创新研究院 | 一种airt-ros虚拟网卡丢包解决方法 |
CN111745651A (zh) * | 2020-06-15 | 2020-10-09 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作系统结构及其运作方法 |
CN112327692A (zh) * | 2020-11-02 | 2021-02-05 | 珠海格力电器股份有限公司 | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 |
CN112988244A (zh) * | 2019-12-17 | 2021-06-18 | 成都鼎桥通信技术有限公司 | 双操作系统智能终端中启停后台操作系统的方法和设备 |
CN113079195A (zh) * | 2021-03-04 | 2021-07-06 | 河北德冠隆电子科技有限公司 | 一种远程控制器及远程控制系统 |
CN113124934A (zh) * | 2021-04-21 | 2021-07-16 | 山东领亿智能技术有限公司 | 一种基于双操作系统的输电线路综合在线监测装置 |
CN113268082A (zh) * | 2021-06-03 | 2021-08-17 | 一飞(海南)科技有限公司 | 无人机编队表演舞步航点快速下载保存和获取的方法、系统 |
CN113391821A (zh) * | 2021-05-11 | 2021-09-14 | 中国电力科学研究院有限公司 | 一种非对称多处理器嵌入式操作系统 |
CN114020342A (zh) * | 2021-11-05 | 2022-02-08 | 科东(广州)软件科技有限公司 | 嵌入式设备的启动方法、装置、嵌入式设备及存储介质 |
CN114448494A (zh) * | 2021-12-30 | 2022-05-06 | 深圳市飞思通信技术有限公司 | 通信设备 |
CN114625061A (zh) * | 2020-12-08 | 2022-06-14 | 山东新松工业软件研究院股份有限公司 | 一种导航控制器 |
CN115145645A (zh) * | 2022-09-01 | 2022-10-04 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的触摸屏控制方法、系统及芯片 |
CN116610388A (zh) * | 2023-07-19 | 2023-08-18 | 成都泰格微电子研究所有限责任公司 | 一种快速启动ADC和linux系统的方法及装置 |
CN116955267A (zh) * | 2023-09-20 | 2023-10-27 | 中国船舶集团有限公司第七〇七研究所 | 一种谐振陀螺惯导双处理器同步高速软件架构设计方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103223671A (zh) * | 2013-05-08 | 2013-07-31 | 苏州工业园区职业技术学院 | 一种双核两自由度高速锡焊机器人伺服控制器 |
CN103412619A (zh) * | 2013-07-30 | 2013-11-27 | 中国科学院上海技术物理研究所 | 一种异构多核的红外图像处理系统及方法 |
CN103744342A (zh) * | 2014-01-22 | 2014-04-23 | 大连理工计算机控制工程有限公司 | 一种基于双核处理器的pac实时控制系统 |
US20140204182A1 (en) * | 2010-12-22 | 2014-07-24 | Texas Instruments Incorporated | Multi-sensor video frame synchronization apparatus and methods |
CN104516333A (zh) * | 2013-09-28 | 2015-04-15 | 沈阳新松机器人自动化股份有限公司 | 多核cpu多操作系统的控制器 |
CN204667299U (zh) * | 2015-06-05 | 2015-09-23 | 无锡虎甲虫计算技术有限公司 | 机器人计算机电路板 |
CN105278940A (zh) * | 2014-07-08 | 2016-01-27 | 北京航空航天大学 | 一种基于多核处理器架构的机器人混合系统应用框架 |
CN106426184A (zh) * | 2016-12-13 | 2017-02-22 | 广州中国科学院先进技术研究所 | 一种机器人控制系统 |
CN206154352U (zh) * | 2016-09-18 | 2017-05-10 | 常州机电职业技术学院 | 具有运动目标检测与跟踪功能的机器人视觉系统及机器人 |
CN206312166U (zh) * | 2016-09-18 | 2017-07-07 | 常州机电职业技术学院 | 机器人视觉图像预处理系统及机器人 |
US20170203436A1 (en) * | 2014-07-08 | 2017-07-20 | Hongxing Wei | Robotic hybrid system application framework based on multi-core processor architecture |
CN107097241A (zh) * | 2017-06-05 | 2017-08-29 | 江苏艾萨克机器人股份有限公司 | 一种服务机器人及其控制方法 |
CN107505882A (zh) * | 2017-10-25 | 2017-12-22 | 卢俊 | 一种多轴运动控制器及控制方法 |
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN207924430U (zh) * | 2018-02-28 | 2018-09-28 | 湖南工学院 | 一种机器人控制器 |
-
2018
- 2018-11-28 CN CN201811430065.4A patent/CN109558174A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140204182A1 (en) * | 2010-12-22 | 2014-07-24 | Texas Instruments Incorporated | Multi-sensor video frame synchronization apparatus and methods |
CN103223671A (zh) * | 2013-05-08 | 2013-07-31 | 苏州工业园区职业技术学院 | 一种双核两自由度高速锡焊机器人伺服控制器 |
CN103412619A (zh) * | 2013-07-30 | 2013-11-27 | 中国科学院上海技术物理研究所 | 一种异构多核的红外图像处理系统及方法 |
CN104516333A (zh) * | 2013-09-28 | 2015-04-15 | 沈阳新松机器人自动化股份有限公司 | 多核cpu多操作系统的控制器 |
CN103744342A (zh) * | 2014-01-22 | 2014-04-23 | 大连理工计算机控制工程有限公司 | 一种基于双核处理器的pac实时控制系统 |
CN105278940A (zh) * | 2014-07-08 | 2016-01-27 | 北京航空航天大学 | 一种基于多核处理器架构的机器人混合系统应用框架 |
US20170203436A1 (en) * | 2014-07-08 | 2017-07-20 | Hongxing Wei | Robotic hybrid system application framework based on multi-core processor architecture |
CN204667299U (zh) * | 2015-06-05 | 2015-09-23 | 无锡虎甲虫计算技术有限公司 | 机器人计算机电路板 |
CN206154352U (zh) * | 2016-09-18 | 2017-05-10 | 常州机电职业技术学院 | 具有运动目标检测与跟踪功能的机器人视觉系统及机器人 |
CN206312166U (zh) * | 2016-09-18 | 2017-07-07 | 常州机电职业技术学院 | 机器人视觉图像预处理系统及机器人 |
CN106426184A (zh) * | 2016-12-13 | 2017-02-22 | 广州中国科学院先进技术研究所 | 一种机器人控制系统 |
CN107097241A (zh) * | 2017-06-05 | 2017-08-29 | 江苏艾萨克机器人股份有限公司 | 一种服务机器人及其控制方法 |
CN107505882A (zh) * | 2017-10-25 | 2017-12-22 | 卢俊 | 一种多轴运动控制器及控制方法 |
CN107942797A (zh) * | 2017-11-29 | 2018-04-20 | 上海无线电设备研究所 | 基于sopc的嵌入式双核伺服控制器及其设计方法 |
CN207924430U (zh) * | 2018-02-28 | 2018-09-28 | 湖南工学院 | 一种机器人控制器 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110286617A (zh) * | 2019-06-03 | 2019-09-27 | 上海凯尔孚应力腐蚀试验设备有限公司 | 双核全数字动静态控制器及其应用方法 |
CN110138291A (zh) * | 2019-06-28 | 2019-08-16 | 北京机械设备研究所 | 一种基于zynq双核处理器的电机驱动器 |
CN110471705A (zh) * | 2019-07-15 | 2019-11-19 | 江苏泛腾电子科技有限公司 | 一种定制双系统 |
CN110545319A (zh) * | 2019-08-23 | 2019-12-06 | 武汉久同智能科技有限公司 | 一种SoC核系统的设计和核间任务通信的实现方法 |
CN110597689A (zh) * | 2019-09-16 | 2019-12-20 | 山东超越数控电子股份有限公司 | 一种基于zynq的健康管理平台的实现方法及系统 |
CN110687843B (zh) * | 2019-10-14 | 2021-09-28 | 北京长峰天通科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN110687843A (zh) * | 2019-10-14 | 2020-01-14 | 湖南强军科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
CN110936381A (zh) * | 2019-12-13 | 2020-03-31 | 珠海格力电器股份有限公司 | 一种机器人控制装置及机器人 |
CN112988244A (zh) * | 2019-12-17 | 2021-06-18 | 成都鼎桥通信技术有限公司 | 双操作系统智能终端中启停后台操作系统的方法和设备 |
CN111745651A (zh) * | 2020-06-15 | 2020-10-09 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作系统结构及其运作方法 |
CN111745651B (zh) * | 2020-06-15 | 2022-04-05 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作系统结构及其运作方法 |
CN111726201B (zh) * | 2020-06-15 | 2023-09-12 | 合肥哈工轩辕智能科技有限公司 | 一种airt-ros虚拟网卡丢包解决方法 |
CN111726201A (zh) * | 2020-06-15 | 2020-09-29 | 哈工大机器人(合肥)国际创新研究院 | 一种airt-ros虚拟网卡丢包解决方法 |
CN112327692A (zh) * | 2020-11-02 | 2021-02-05 | 珠海格力电器股份有限公司 | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 |
CN114625061A (zh) * | 2020-12-08 | 2022-06-14 | 山东新松工业软件研究院股份有限公司 | 一种导航控制器 |
CN113079195A (zh) * | 2021-03-04 | 2021-07-06 | 河北德冠隆电子科技有限公司 | 一种远程控制器及远程控制系统 |
CN113079195B (zh) * | 2021-03-04 | 2022-11-01 | 河北德冠隆电子科技有限公司 | 一种远程控制器及远程控制系统 |
CN113124934A (zh) * | 2021-04-21 | 2021-07-16 | 山东领亿智能技术有限公司 | 一种基于双操作系统的输电线路综合在线监测装置 |
CN113391821A (zh) * | 2021-05-11 | 2021-09-14 | 中国电力科学研究院有限公司 | 一种非对称多处理器嵌入式操作系统 |
CN113268082A (zh) * | 2021-06-03 | 2021-08-17 | 一飞(海南)科技有限公司 | 无人机编队表演舞步航点快速下载保存和获取的方法、系统 |
CN113268082B (zh) * | 2021-06-03 | 2022-09-06 | 一飞(海南)科技有限公司 | 无人机编队表演舞步航点快速下载保存和获取的方法、系统 |
CN114020342A (zh) * | 2021-11-05 | 2022-02-08 | 科东(广州)软件科技有限公司 | 嵌入式设备的启动方法、装置、嵌入式设备及存储介质 |
CN114448494A (zh) * | 2021-12-30 | 2022-05-06 | 深圳市飞思通信技术有限公司 | 通信设备 |
CN115145645A (zh) * | 2022-09-01 | 2022-10-04 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的触摸屏控制方法、系统及芯片 |
CN115145645B (zh) * | 2022-09-01 | 2022-11-25 | 南京芯驰半导体科技有限公司 | 一种支持多操作系统的触摸屏控制方法、系统及芯片 |
CN116610388A (zh) * | 2023-07-19 | 2023-08-18 | 成都泰格微电子研究所有限责任公司 | 一种快速启动ADC和linux系统的方法及装置 |
CN116610388B (zh) * | 2023-07-19 | 2023-09-19 | 成都泰格微电子研究所有限责任公司 | 一种快速启动ADC和linux系统的方法及装置 |
CN116955267A (zh) * | 2023-09-20 | 2023-10-27 | 中国船舶集团有限公司第七〇七研究所 | 一种谐振陀螺惯导双处理器同步高速软件架构设计方法 |
CN116955267B (zh) * | 2023-09-20 | 2023-12-15 | 中国船舶集团有限公司第七〇七研究所 | 一种谐振陀螺惯导双处理器同步高速软件架构设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558174A (zh) | 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器 | |
CN101901207B (zh) | 异构共享存储多处理机系统的操作系统及其工作方法 | |
CN101814024B (zh) | 一种跨平台3d界面设计系统和方法 | |
Agha | Actors: a model of concurrent computation in distributed systems | |
CN102135950B (zh) | 基于星型互联架构的片上异构多核系统及其通信方法 | |
CN110083440B (zh) | 多处理器嵌入式系统上应用的动态重新配置 | |
CN101382833A (zh) | 具有多种操作系统的系统、电子装置及其运作方法 | |
CN110647380A (zh) | 用于支持边缘计算的超融合服务器系统 | |
JP2003524969A5 (zh) | ||
CN103677916A (zh) | 一种基于fpga的在线重配置系统及方法 | |
WO2016188344A1 (zh) | 一种基于软处理器的图像信号源及其处理图像信号的方法 | |
CN103645678A (zh) | 一种实时响应网络控制系统 | |
CN101533262A (zh) | 一种基于服务的机械与控制系统联合仿真实现的方法 | |
CN103188157A (zh) | 一种路由器设备 | |
CN112306946B (zh) | 一种多核处理器及其执行复杂计算的方法 | |
CN101710281A (zh) | 基于Agent的动态集成开发平台系统和方法 | |
CN114035916A (zh) | 计算图的编译、调度方法及相关产品 | |
CN101739380A (zh) | 基于共享内存结构的多处理机通信装置及其方法 | |
CN104978174A (zh) | 多操作系统中网卡之间的切换方法和系统 | |
CN110766600A (zh) | 一种分布式架构的图像处理系统 | |
CN108829530B (zh) | 一种图像处理方法及装置 | |
CN110245107A (zh) | 用于提供用于加速器的结构的系统、装置和方法 | |
CN102012877A (zh) | 一种利用cpld来扩展嵌入式处理器gpio的方法 | |
CN105137903A (zh) | 一种在SocFPGA上实现PLC运行环境的方法 | |
CN109144749A (zh) | 一种使用处理器实现多处理器间通信的方法 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20220429 |
|
AD01 | Patent right deemed abandoned |