多核嵌入式系统及其基于串口虚拟化实现通信的方法

文档序号:85958 发布日期:2021-10-08 浏览:26次 >En<

阅读说明:本技术 多核嵌入式系统及其基于串口虚拟化实现通信的方法 (Multi-core embedded system and method for realizing communication based on serial port virtualization ) 是由 项智 杨明华 韦天保 徐华丽 于 2021-05-26 设计创作,主要内容包括:本发明提供一种多核嵌入式系统及其基于串口虚拟化实现通信的方法,所述多核嵌入式系统包括:片上系统,所述片上系统包括多核异构嵌入式处理器系统和可编程逻辑模块;所述可编程逻辑模块包括:通信模块,所述通信模块通过通信接口建立可编程逻辑模块与服务器系统之间的通信连接;串口控制器,所述串口控制器基于局部总线连接于多核异构嵌入式处理器系统和通信模块之间,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统。本发明可以有效解决多核嵌入式系统在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题。(The invention provides a multi-core embedded system and a method for realizing communication based on serial port virtualization, wherein the multi-core embedded system comprises: the system on chip comprises a multi-core heterogeneous embedded processor system and a programmable logic module; the programmable logic module comprises: the communication module establishes communication connection between the programmable logic module and the server system through a communication interface; the serial port controller is connected between the multi-core heterogeneous embedded processor system and the communication module based on a local bus, and the serial port controller realizes the virtual connection of the serial port controller to the server system based on the conversion of a local bus address domain and an address domain of the communication module. The invention can effectively solve the technical problem that the multi-core embedded system can not realize serial data communication under the condition of no actual physical serial link.)

多核嵌入式系统及其基于串口虚拟化实现通信的方法

技术领域

本发明属于嵌入式系统

技术领域

,特别是涉及一种多核嵌入式系统及其基于串口虚拟化实现通信的方法。

背景技术

MPSoC(Multi Processor System on Chip,多核处理器片上系统)是赛灵思公司公司推出的第二代多处理SoC系统(System on Chip,片上系统),MPSoC包括先进的电源管理系统,高密度片上静态存储器,单通道速率高达32Gbps的高速收发器,PCI-Express接口以及高性能可编程逻辑等。

传统的MPSoC平台固件一般需要外置UART、Ethernet或USB接口,并且需要相关的线缆,用于软件调试和人机交互。但是在数据中心领域往往是不存在这些外置接口,只有PCI-Express接口。未配置UART,Ethernet,USB接口的情况下,不便于MPSoC平台的软件调试和人机交互。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种多核嵌入式系统及其基于串口虚拟化实现通信的方法,用于解决现有技术中多核嵌入式系统在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题。

本发明的实施例提供一种多核嵌入式系统,所述多核嵌入式系统包括:片上系统,所述片上系统包括多核异构嵌入式处理器系统和可编程逻辑模块;所述通信模块通过通信接口建立所述可编程逻辑模块与服务器系统之间的通信连接;所述可编程逻辑模块包括:通信模块,所述通信模块通过通信接口建立所述可编程逻辑模块与所述服务器系统之间的通信连接;串口控制器,所述串口控制器基于局部总线连接于所述多核异构嵌入式处理器系统和所述通信模块之间,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统。

于本申请的一实施例中,所述可编程逻辑模块为FPGA,所述多核异构嵌入式处理器系统为多核异构嵌入式ARM处理器系统;所述服务器系统为X86服务器系统。

于本申请的一实施例中,所述多核异构嵌入式处理器系统采用MPSoC异构芯片。

于本申请的一实施例中,所述通信模块为PCI-Express通信模块;所述通信接口为PCI-Express接口;所述局部总线为AXI4总线。

于本申请的一实施例中,所述多核异构嵌入式处理器系统中包括双倍速率内存颗粒或者是内存芯片,嵌入式多媒体存储器,基于队列串行外围接口协议的闪存器。

于本申请的一实施例中,所述串口控制器为异步收发串口控制器。

本申请的实施例还提供一种多核嵌入式系统基于串口虚拟化实现通信的方法,包括:将多核嵌入式系统的可编程逻辑模块与服务器系统通过通信模块相连;于所述可编程逻辑模块内配置基于局部总线的串口控制器;所述串口控制器连接于所述多核异构嵌入式处理器系统和所述通信模块之间,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统。

于本申请的一实施例中,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统包括:所述多核异构嵌入式处理器系统通过串口驱动将多核异构嵌入式处理器系统要发送的数据通过局部总线发送至串口控制器,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换将数据发送至所述通信模块,所述通信模块通过PCI-Express接口将所述多核异构嵌入式处理器系统的要发送的数据发送至服务器系统;所述多核异构嵌入式处理器系统通过串口驱动从所述串口控制器接收来自服务器系统的数据,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换将接收的服务器系统的数据传入所述多核异构嵌入式处理器系统。

于本申请的一实施例中,所述可编程逻辑模块为FPGA,所述多核异构嵌入式处理器系统为多核异构嵌入式ARM处理器系统;所述服务器系统为X86服务器系统;所述多核异构嵌入式处理器系统采用MPSoC异构芯片。

于本申请的一实施例中,所述串口控制器为异步收发串口控制器。

如上所述,本发明的多核嵌入式系统的在线升级方法及系统,具有以下有益效果:

1、本发明通过片上系统的可编程逻辑模块中设置串口控制器,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统,使得MPSoC处理器系统中多核异构嵌入式ARM处理器系统的串口(ARM的串口)与可编程逻辑模块(FPGA)的串口通信,可编程逻辑模块(FPGA)的串口通过PCIe总线与服务器系统(X86 Server)通信来实现异构处理器串口数据通信、数据交互的目的,有效解决现有技术中多核嵌入式系统在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题。

2、本发明中多核嵌入式系统实现方式简单,MPSoC平台无需额外的硬件接口和线缆即可实现软件调试和人机交互。

附图说明

图1显示为本发明的多核嵌入式系统的原理结构示意图。

图2显示为本发明的多核嵌入式系统的原理框架结构示意图。

图3显示为本发明的多核嵌入式系统的通信原理示意图。

图4显示为本发明的多核嵌入式系统的软件框架示意图。

图5显示为本发明的多核嵌入式系统的通信流程示意图。

图6显示为本发明中服务器系统具体的通信流程示意图。

图7显示为本发明的多核嵌入式系统的在线升级方法的流程示意图。

元件标号说明

10 服务器系统

20 多核嵌入式系统

200 片上系统

210 多核异构嵌入式处理器系统

201 MPSoC异构芯片

211 内存模块

212 存储器

213 闪存模块

214 通用异步收发传输器

215 扩展的多功能IO接口

216 嵌入式多媒体存储控制器

217 嵌入式多媒体存储器

220 嵌入可编程逻辑模块

221 串口控制器

222 通信模块

S100~S200 步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

本实施例的目的在于提供一种多核嵌入式系统及其基于串口虚拟化实现通信的方法,用于解决现有技术中多核嵌入式系统在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题。

以下将详细阐述本实施例的多核嵌入式系统的在线升级方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的多核嵌入式系统的在线升级方法及系统。

实施例1

本实施例提供一种多核嵌入式系统20。图1显示为本发明的多核嵌入式系统20的原理结构示意图。如图1所示,本实施例中,所述多核嵌入式系统20包括:片上系统200,所述片上系统200包括多核异构嵌入式处理器系统210和嵌入可编程逻辑模块220。

本实施例中的所述多核嵌入式系统20实现异构虚拟机串口采用的技术手段是异构处理器串口数据通信。通过将多核嵌入式系统20中多核异构嵌入式处理器系统210(ARM)的串口与嵌入可编程逻辑模块220(FPGA)的串口通信,嵌入可编程逻辑模块220(FPGA)的串口通过PCIe总线与服务器系统10(例如X86 Server)通信来达到数据的交互。

其中,于本实施例中,所述服务器系统10用于提供所述多核嵌入式系统20的软件调试和人机交互等上位机功能。具体地,所述服务器系统10为但不限于X86服务器系统10。

图2显示为本实施例的多核嵌入式系统20的原理框架结构示意图。如图2所示,于本实施例中,所述多核异构嵌入式处理器系统210采用MPSoC异构芯片201。进一步地,于本实施例中,所述嵌入可编程逻辑模块220为FPGA(Field Programmable Gate Array,现场可编程门阵列),所述多核异构嵌入式处理器系统210为多核异构嵌入式ARM处理器系统。

于本实施例中,所述嵌入可编程逻辑模块220为FPGA,所述嵌入可编程逻辑模块220通过局部总线将所述嵌入可编程逻辑模块220的可编程逻辑寻址单元映射存映射到服务器系统10中。其中,所述局部总线为但不限于AXI4-LITE总线。

也就是说,于本实施例中,所述嵌入可编程逻辑模块220通过AXI4-LITE总线实现地址映射。具体地,在所述嵌入可编程逻辑模块220(FPGA)内部通过AXI4-LITE总线将可编程逻辑寻址单元映射到服务器系统10(X86 server系统)中,服务器系统10(X86 server系统)通过PCI-Express总线访问可编程逻辑寻址单元。其中,本实施例中,AXI4-LITE总线的数据位宽为32bit,地址位宽为32位。

于本实施例中,所述可编程逻辑模块包括:通信模块222,所述通信模块222通过通信接口建立所述可编程逻辑模块220与所述服务器系统10之间的通信连接。于本实施例中,所述通信模块222优选为PCI-Express通信模块;所述通信接口为PCI-Express接口。

为实现异构虚拟机串口,于本实施例中,所述嵌入可编程逻辑模块220包括:串口控制器221;所述串口控制器221基于局部总线(AXI4-LITE总线)连接于所述多核异构嵌入式处理器系统210和所述通信模块222之间,所述串口控制器221基于局部总线地址域和所述通信模块222的地址域的转换从而实现将所述串口控制器221虚拟化连接到所述服务器系统10。

于本实施例中,所述串口控制器221为异步收发串口控制器,所述嵌入可编程逻辑模块220通过异步收发串口控制器与多核异构嵌入式ARM处理器系统实现异步收发数据通信。即在所述嵌入可编程逻辑模块220(FPGA)内部通过将基于AXI4-LITE总线接口的串口控制器221虚拟化连接到所述服务器系统,实现服务器系统10(X86 server系统)与多核异构嵌入式ARM处理器系统之间数据通信的桥接。

具体地,服务系统10和所述可编程逻辑模块220(FPGA)之间的PCI-Express总线数据传输是基于PCI-Express总线地址域,所述可编程逻辑模块220(FPGA)与多核嵌入式ARM处理器系统之间的AXI4-LITE总线数据传输是基于AXI4-LITE总线地址域,这两个地址域不能直接进行数据传输,所述串口控制器221进行AXI4-LITE总线地址域到PCI-Express总线地址域的转换,所述串口控制器221通过进行AXI4-LITE总线地址域到PCI-Express总线地址域的转换即对应于实现将所述串口控制器221虚拟化连接到所述PCI-Express接口,实现所述多核嵌入式处理器系统210与所述服务系统10之间的通信桥接。

也就是说,所述嵌入可编程逻辑模块220中的串口控制器221通过AXI4-LITE总线与所述多核异构嵌入式ARM处理器系统的串口相连,所述嵌入可编程逻辑模块220中的串口控制器221通过PCIe总线与所述服务器系统10(X86 server系统)通信,进而实现所述多核嵌入式系统20在没有实际的物理串口链路的情况下实现串口数据通信的目的。

如图2所示,于本实施例中,所述多核异构嵌入式处理器系统210采用MPSoC异构芯片201,所述多核异构嵌入式处理器系统210还包括与MPSoC异构芯片201相连的内存模块211,存储器212和闪存模块213等。更进一步地,于本实施例中,所述多内存模块211为但不限于双倍速率内存颗粒或者是内存芯片,所述存储器212为但不限于嵌入式多媒体存储器(eMMC,Embedded Multi Media Card),所述闪存模块213为但不限于基于队列串行外围接口协议(QSPI)的闪存器。其中双倍速率内存颗粒或者是内存芯片优选采用第四代双倍速率动态内存颗粒或者是动态内存芯片(DDR4)。

此外,如图3所示,所述多核异构嵌入式处理器系统210设有嵌入式多媒体存储器217、控制嵌入式多媒体存储器217的嵌入式多媒体存储控制器216以及通用异步收发传输器214(UART)。所述通用异步收发传输器214通过扩展的多功能IO接口215(EMIO)与所述嵌入可编程逻辑模块220(FPGA)的串口控制器221相连,所述嵌入可编程逻辑模块220(FPGA)的串口控制器221通过AXI4_数据线与通信模块222(PCIE通信模块)相连,通信模块222(PCIE通信模块)经通信接口和PCIE_数据线与服务器系统10(X86 server系统)进行通信相连。

图4显示为本实施例的多核嵌入式系统20的软件框架示意图。如图4所示,所述服务器系统10(X86 server系统)包括应用程序和通信设备驱动(即PCIE设备驱动);其中应用程序将设备终端输入的字符转为ASCII码后下发至PCIE设备驱动,所述应用程序从PCIE设备驱动程序接收ASCII码,将ASCII码转为字符,并输出至设备终端。PCIE设备驱动程序用于实现服务器系统10(X86 server系统)与嵌入可编程逻辑模块220(FPGA)PCIe设备的交互功能,以及实现与多核嵌入式系统20中的PCIE设备驱动的交互功能。

多核异构嵌入式处理器系统210包括运行于嵌入式Linux系统的应用程序(ARM应用程序)、通用异步收发传输器设备驱动程序、以及由所述通用异步收发传输器设备驱动程序进行驱动的通用异步收发传输器214,其中嵌入式Linux系统的应用程序在启动和运行后,由所述通用异步收发传输器设备驱动程序驱动所述通用异步收发传输器214,通过所述通用异步收发传输器214将输出的信息发送至嵌入可编程逻辑模块220(FPGA)的串口控制器221。

于本实施例中,所述多核嵌入式系统20与服务器系统10具体的通信过程如下:

所述多核异构嵌入式处理器系统210通过串口驱动将多核异构嵌入式处理器系统要发送的数据发送至串口控制器221,所述串口控制器221基于局部总线地址域和所述通信模块的地址域的转换将数据发送至PCI-Express接口,PCI-Express接口将所述多核异构嵌入式处理器系统的发送数据发送至服务器系统10;所述多核异构嵌入式处理器系统210通过串口驱动从所述串口控制器221接收来自服务器系统10的数据,所述串口控制器221基于局部总线地址域和所述通信模块的地址域的转换将接收的服务器系统10的数据传入所述多核异构嵌入式处理器系统。

具体地,本实施例中,所述多核嵌入式系统20与服务器系统10具体的通信过程如下:

1)如图5所示,对于多核异构嵌入式ARM处理器系统:

多核异构嵌入式ARM处理器系统的Linux系统启动,多核异构嵌入式ARM处理器系统的通用异步收发传输器214设备串口驱动发送数据至嵌入可编程逻辑模块220(FPGA)的串口控制器221,然后监测Linux系统数据通信,在Linux系统发送数据时,串口驱动发送数据至嵌入可编程逻辑模块220(FPGA)的串口控制器221,在Linux系统接收数据时,串口驱动接收来自嵌入可编程逻辑模块220(FPGA)的串口控制器221的数据,并将数据发送至Linux系统。

2)如图6所示,对于服务器系统10(X86 server系统):

服务器系统10(例如为X86 server系统)的PCIE设备驱动程序初始化,服务器系统10同时监测来自嵌入可编程逻辑模块220(FPGA)的串口控制器221的数据和终端设备的数据。在监测到串口控制器221的接收端有数据时,读取串口控制器221的数据,然后将读取的数据转为字符输出至终端设备显示。在监测到终端设备有数据输入时,将终端设备输入的字符转为ASCII码到串口控制器221的发送端。

由此可见,本实施例中的多核嵌入式系统20通过片上系统200的嵌入可编程逻辑模块220中设置串口控制器221,使得MPSoC处理器系统中多核异构嵌入式ARM处理器系统的串口(ARM的串口)与嵌入可编程逻辑模块220(FPGA)的串口通信,嵌入可编程逻辑模块220(FPGA)的串口通过PCIe总线与服务器系统10(X86 Server)通信来实现异构处理器串口数据通信、数据交互的目的,有效解决现有技术中多核嵌入式系统20在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题,而且MPSoC平台无需额外的硬件接口和线缆即可实现软件调试和人机交互。

实施例2

如图7所示,本实施例提供一种多核嵌入式系统的在线升级方法,应用于MPSoC平台,所述多核嵌入式系统的在线升级方法包括以下步骤:

步骤S100,将多核嵌入式系统的可编程逻辑模块与服务器系统通过通信模块相连;

步骤S200,于所述可编程逻辑模块内配置基于局部总线的串口控制器;所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统。

于本实施例中,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统包括:所述多核异构嵌入式处理器系统通过串口驱动将多核异构嵌入式处理器系统要发送的数据通过局部总线发送至串口控制器,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换将数据发送至所述通信模块,所述通信模块通过PCI-Express接口将所述多核异构嵌入式处理器系统的要发送的数据发送至服务器系统;所述多核异构嵌入式处理器系统通过串口驱动从所述串口控制器接收来自服务器系统的数据,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换将接收的服务器系统的数据传入所述多核异构嵌入式处理器系统。

其中,于本实施例中,所述可编程逻辑模块为FPGA,所述串口控制器为异步收发串口控制器,所述多核异构嵌入式处理器系统为多核异构嵌入式ARM处理器系统;所述服务器系统为X86服务器系统;所述多核异构嵌入式处理器系统采用MPSoC异构芯片。

本实施例中多核嵌入式系统的在线升级方法与的实现原理与实施例1中的多核嵌入式系统20的实现原理相同,实施例间相似或相同的技术特征不再赘述。

综上所述,本发明通过片上系统的可编程逻辑模块中设置串口控制器,所述串口控制器基于局部总线地址域和所述通信模块的地址域的转换从而实现将所述串口控制器虚拟化连接到所述服务器系统,使得MPSoC处理器系统中多核异构嵌入式ARM处理器系统的串口(ARM的串口)与可编程逻辑模块(FPGA)的串口通信,可编程逻辑模块(FPGA)的串口通过PCIe总线与服务器系统(X86 Server)通信来实现异构处理器串口数据通信、数据交互的目的,有效解决现有技术中多核嵌入式系统在没有实际的物理串口链路的情况下无法实现串口数据通信的技术问题;本发明中多核嵌入式系统实现方式简单,MPSoC平台无需额外的硬件接口和线缆即可实现软件调试和人机交互。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种CAN控制单元和离子加速器电源控制器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!