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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
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 (26)
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 | 深圳市飞思通信技术有限公司 | 通信设备 |
CN114463163A (zh) * | 2022-01-18 | 2022-05-10 | 泉州华中科技大学智能制造研究院 | 一种异构多核的图像处理方法及装置 |
CN114625061A (zh) * | 2020-12-08 | 2022-06-14 | 山东新松工业软件研究院股份有限公司 | 一种导航控制器 |
CN114756225A (zh) * | 2020-12-25 | 2022-07-15 | 中国科学院沈阳自动化研究所 | 基于模型化开发的Zynq加速平台及其加速方法 |
CN115145645A (zh) * | 2022-09-01 | 2022-10-04 | 南京芯驰半导体科技有限公司 | 一种支持多操作***的触摸屏控制方法、***及芯片 |
CN115741736A (zh) * | 2022-11-24 | 2023-03-07 | 国网智能科技股份有限公司 | 一种绝缘包覆机器人及其包覆控制方法 |
CN115958600A (zh) * | 2022-12-28 | 2023-04-14 | 上海新时达机器人有限公司 | 一种机器人控制*** |
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 (34)
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的健康管理平台的实现方法及*** |
CN110687843A (zh) * | 2019-10-14 | 2020-01-14 | 湖南强军科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN110687843B (zh) * | 2019-10-14 | 2021-09-28 | 北京长峰天通科技有限公司 | 一种基于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 | 成都鼎桥通信技术有限公司 | 双操作***智能终端中启停后台操作***的方法和设备 |
CN111726201A (zh) * | 2020-06-15 | 2020-09-29 | 哈工大机器人(合肥)国际创新研究院 | 一种airt-ros虚拟网卡丢包解决方法 |
CN111745651A (zh) * | 2020-06-15 | 2020-10-09 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作***结构及其运作方法 |
CN111726201B (zh) * | 2020-06-15 | 2023-09-12 | 合肥哈工轩辕智能科技有限公司 | 一种airt-ros虚拟网卡丢包解决方法 |
CN111745651B (zh) * | 2020-06-15 | 2022-04-05 | 哈工大机器人(合肥)国际创新研究院 | 一种智能机器人操作***结构及其运作方法 |
CN112327692A (zh) * | 2020-11-02 | 2021-02-05 | 珠海格力电器股份有限公司 | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 |
CN114625061A (zh) * | 2020-12-08 | 2022-06-14 | 山东新松工业软件研究院股份有限公司 | 一种导航控制器 |
CN114756225A (zh) * | 2020-12-25 | 2022-07-15 | 中国科学院沈阳自动化研究所 | 基于模型化开发的Zynq加速平台及其加速方法 |
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 | 深圳市飞思通信技术有限公司 | 通信设备 |
CN114463163A (zh) * | 2022-01-18 | 2022-05-10 | 泉州华中科技大学智能制造研究院 | 一种异构多核的图像处理方法及装置 |
CN115145645A (zh) * | 2022-09-01 | 2022-10-04 | 南京芯驰半导体科技有限公司 | 一种支持多操作***的触摸屏控制方法、***及芯片 |
CN115145645B (zh) * | 2022-09-01 | 2022-11-25 | 南京芯驰半导体科技有限公司 | 一种支持多操作***的触摸屏控制方法、***及芯片 |
CN115741736A (zh) * | 2022-11-24 | 2023-03-07 | 国网智能科技股份有限公司 | 一种绝缘包覆机器人及其包覆控制方法 |
CN115958600A (zh) * | 2022-12-28 | 2023-04-14 | 上海新时达机器人有限公司 | 一种机器人控制*** |
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双操作***机器人控制器 | |
CN101814024B (zh) | 一种跨平台3d界面设计***和方法 | |
CN100446942C (zh) | 一种模块化嵌入式多足机器人运动控制器 | |
CN102135950B (zh) | 基于星型互联架构的片上异构多核***及其通信方法 | |
US9052957B2 (en) | Method and system for conducting intensive multitask and multiflow calculation in real-time | |
CN201020717Y (zh) | 一种模块化嵌入式多足机器人运动控制器 | |
CN102331733A (zh) | 基于片上可编程***的数控***逻辑控制器及其实现方法 | |
CN101382833A (zh) | 具有多种操作***的***、电子装置及其运作方法 | |
CN110647380A (zh) | 用于支持边缘计算的超融合服务器*** | |
JP2003524969A5 (zh) | ||
CN101901207A (zh) | 异构共享存储多处理机***的操作***及其工作方法 | |
WO2016188344A1 (zh) | 一种基于软处理器的图像信号源及其处理图像信号的方法 | |
CN103645678A (zh) | 一种实时响应网络控制*** | |
CN101533262A (zh) | 一种基于服务的机械与控制***联合仿真实现的方法 | |
CN103188157A (zh) | 一种路由器设备 | |
CN112306946B (zh) | 一种多核处理器及其执行复杂计算的方法 | |
CN101710281A (zh) | 基于Agent的动态集成开发平台***和方法 | |
CN110766600B (zh) | 一种分布式架构的图像处理*** | |
CN104978174A (zh) | 多操作***中网卡之间的切换方法和*** | |
CN114035916A (zh) | 计算图的编译、调度方法及相关产品 | |
CN101739380A (zh) | 基于共享内存结构的多处理机通信装置及其方法 | |
CN109144749A (zh) | 一种使用处理器实现多处理器间通信的方法 | |
CN102012877A (zh) | 一种利用cpld来扩展嵌入式处理器gpio的方法 | |
CN103677917A (zh) | 基于fpga重配置技术的可定制嵌入式处理*** | |
CN105137903A (zh) | 一种在SocFPGA上实现PLC运行环境的方法 |
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 |