您的位置 首页 测评

双核实时体系的架构是怎么规划的?

双核实时系统的架构是如何设计的?-本文以 F28M35双核系统为例,介绍了一种以IPC通信机制为核心,基于共享内存的双核软件架构方法。

  1.导言

  嵌入式技能的不断老练以及业界对工业设备小型化、个性化需求的不断进步促进越来越多的工业设备操控系统选用嵌入式系统规划。工业设备操控最大的特点是对系统实时性要求较高。而一般状况下,操控进程中常常一起存在多种不同实时性要求的使命,不同使命对处理器时刻的占用份额也有较大差异,因而怎么有用的满意并进步系统实时功用成为研讨的要害。

  传统的操控系统单核处理器架构是干流,除了经过进步处理器主频来进步系统的呼应速度,还经过运用抢占式实时操作系统,引进多线程,改进系统使命调度战略等软件办法来进一步进步系统功用。但跟着运用不断杂乱,操控精度要求不断进步,有限的系统资源成为操控系统功用进步的最大瓶颈。

  针对单CPU架构的局限性,多处理器系统的研讨运用逐步增多,文献[1]选用FPGA 和多个DSP 互连的并行处理结构,完结了一个高速数据传输带宽、低推迟且核算功用强壮的实时图画处理系统。文献[2]提出了一种根据ARM的双CPU和谐运动操控系统的规划办法。文献[3]选用ARM+DSP的主从式双CPU结构规划完结了嵌入式运动操控器。文献[4]剖析比较了几种典型的嵌入式双核通讯接口,并介绍了典型接口的规划要害。文献[5]在单核嵌入式操作系统构架的基础上,提出一种根据对称通讯的双核处理器嵌入式操作系统构架,处理了异构双核处理器中的通讯功率和同享内存的运用问题。跟着双核架构运用的不断推行,一起双核微处理器技能逐步老练,怎么规划安稳高效的系统软件架构成为当时研讨的要害。本文以 F28M35双核系统为例,介绍了一种以IPC通讯机制为中心,根据同享内存的双核软件架构办法。

  2.双核间通讯的系统结构

  完结双核间的数据通讯,除了数据传输介质——同享内存外,还需求系统供给一套双核间交互的信号机制。一般该信号机制中一起包含中止信号和非中止信号。运用该信号机制,结合同享内存,可规划出各种灵敏的通讯办法。

  从通讯信号的视点,通讯办法可分为轮询办法和中止办法。因为轮询办法使内核处于忙等的状况,因而应尽量防止运用,该办法多用于双核之间事情需严厉依照必定的次序履行的状况,例如系统启动时双核之间的初始化交互。

  从带着数据量的视点讲,双核之间可仅仅运用信号机制完结通讯,两边协议默许的操作;别的,也是大部分时分的通讯办法,两边经过同享内存交流数据,该办法在规划时,将同享内存区分为两种特点的内存区,别离用于两个方向的数据传递。一种内存答应一个内核进行读写操作,而答应别的一个内核进行只读操作,另一种则方向相反。例如,A内核欲向B内核发送数据时,先将数据写入A核空间内的同享内存区,然后向B核发送信号,B核收到信号后从该方向的同享内存区将数据取出,并回复A核,完结一次数据通讯。

  通讯协议和通讯接口封装是双核通讯应该要害考虑的环节。简略的数据通讯,两边能够直接发送数据,默许两边现已知道数据的意义以及数据应该放置的内存地址。可是跟着系统逐步杂乱,代码量逐步添加,无协议的数据通讯给编程和了解都带来很大问题,下降系统的可扩展功用。在规划中双核通讯能够选用和系统外设相同的通讯协议,例如串口通讯运用的Modbus协议,这样能够重复运用协议解析函数,一起也可进步可移植性。别的可根据实践需求自行界说适用的通讯协议,或许将通用的通讯协议做恰当的修改以更习惯同享内存大数据量的数据通讯。关于通讯接口的软件封装一般界说数据发送函数、数据接纳函数、协议解析函数等,准则是接口应尽量精简,最大程度下降双核间的耦合度。

  3.双核间的数据同享机制

  双核间完结数据同享首要有两种战略,一种是将同享数据直接存储于同享内存中,双核均可对其进行操作。该办法要害要处理对同享内存互斥拜访的问题。关于双口RAM互斥拜访的办法大致有两种:

  1)硬件判优,系统经过存储器抵触裁决单元向两个内核供给同享内存拜访抵触标志,当双核一起对相同地址的RAM进行存取时,裁决单元促发相应忙信号,规划中可运用该信号刺进等待时刻,防止拜访抵触。

  2)信号量机制,系统供给独立于双核的信号量办理单元。该办法又名令牌判优办法,每个令牌可对应指定地址,指定长度的同享内存段。双核依照协议的规矩替换取得令牌,从而操作相应的同享内存段。当双核一起请求同一个令牌时,信号量办理单元裁决谁先占用。规划中可经过在拜访内存前先请求对应的令牌完结双核对同享内存区的互斥拜访。

  另一种完结数据同享的战略是在双核各自本地界说相同的数据作为同享数据,依照写后及时更新的准则,运用中止办法经过双核间的数据通讯完结数据同步。这种办法适用于同享数据满意必定条件时,即该同享数据关于其间一个内核是只读的,不然,因为双核独立运转,运转进展几乎没有限制,若呈现双核均改写同享数据的话,无法确保数据的有用性。

  4. 双核使命分配

  使命分配的准则在于充分运用双核资源,最大极限缩小系统呼应时刻。例如在运动操控范畴运用ARM+DSP双核处理器构架操控系统,在ARM核中完结系统逻辑操控,在DSP核中完结运动操控输出,ARM核操控运动进程,经过指令的办法驱动DSP核完结详细的运动动作。别的在注塑机操控实例中,运用ARM核完结注塑进程操控,而在DSP端完结注塑机方位和温度的智能操控算法,完结系统优化处理。

  5. F28M35双核处理器的软件架构规划

  5.1 F28M35双核存储结构

  TI 的全新Concerto-F28M35微操控器选用了一种双子系统架构,其间包含一个TI C28x内核与一个ARM Cortex-M3内核。这种混合架构将业界用于操控和主机通讯功用的最佳技能融入到单个操控器中,而该操控器可供给保持实时操控环路所需的功用、功率及可靠性,并具有低推迟通讯所需的快速呼应才能。

  如图1所示,在F28M35中包含两类同享内存,一类是MTOC-message RAM(MTOCMSGRAM)和CTOM-message RAM(CTOMMSGRAM),巨细都为2K,其特点是一个内核对其有读写的权限,而别的一个内核仅有只读权限。例如,M3内核能够读写 MTOCMSGRAM内存,而C28内核只能对MTOCMSGRAM进行读操作。别的一类同享内存包含8个内存块(S0-S7),巨细均为8K。该类内存能够被区分到恣意内核,系统经过操控寄存器MSxMSEL设置该类内存的特点,每块内存对应该寄存器中的一位,经过设置相应位来设置相应内存块的归属权。例如,若S0被设置为归属M3内核,则M3内核可读写该内存,而C28内核只能对其进行读操作。一起需求留意的是,操控寄存器MSxMSEL只能在M3内核中进行设置。

  

  图1.F28M35x系统结构

  5.2 IPC机制

  在双核技能中,两边之间的通讯是中心。在F28M35x系统结构中,根据IPC信号和IPC中止完结IPC通讯(Inter ProcessorCommunicaTIons)机制。其作业原理如图2所示。

  

  图2.IPC机制原理

  该处理器在每个方向(MTOC/CTOM)上界说了32个IPC信号,前4个信号促发时能够附加中止功用。处理器经过一套寄存器组完结IPC信号的操作。如图所示,每个内核经过自己存储空间内的一套寄存器完结IPC功用,每个寄存器32位,每一位别离代表一个IPC信号,第0-3位一起可设置为IPC中止。以C28内核为例,寄存器组别离包含:

  1)CTOMIPCSET,用于向M3核发送IPC信号或许IPC中止。该寄存器置位时,一起将CTOMIPCFLG和CTOMIPCSTS寄存器相应方位为1。

  2)CTOMIPCCLR,用于铲除C28到M3方向上的IPC信号或IPC中止标志。该寄存器置位时,一起将CTOMIPCFLG和CTOMIPCSTS寄存器相应位清零。

  3)CTOMIPCFLG,该寄存器为只读寄存器,用于显现C28核到M3核方向上当时IPC信号的状况。该寄存器和M3存储空间中的CTOMIPCSTS寄存器在物理上是同一个寄存器。

  4)MTOCIPCSTS,效果和CTOMIPCFLG相似,相同是只读的,仅仅表征方向相反,用于显现M3核到C28核当时IPC信号的状况。相同,它和M3存储空间中的MTOCIPCFLG寄存器在物理上是同一个寄存器。

  5)MTOCIPCACK,该寄存器置位时,一起将MTOCIPCFLG和MTOCIPCSTS寄存器相应位清零。当C28内核收到M3发送来的IPC信号或许IPC中止时,运用该寄存器发送承认信息,完结二者的握手。

  形象的说,双核之间保护了两条彼此独立的全双工通道,每条通道包含了一个方向的信号发送(SET)和反向的信号承认(ACK)。一起两边能够随时读取两个方向下的当时IPC状况(FLG/STS)。终究完结双核间的IPC交互机制。

  此外,F28M35还供给了一套IPC音讯寄存器,别离是MTOC Message Registers和CTOM Message Registers,别离在每个内核空间对应4个寄存器。结合IPC信号和IPC中止完结双核之间的快捷通讯。以M3内核空间为例阐明,如表1所示,该寄存器组包含指令寄存器,地址寄存器,写数据寄存器,读数据寄存器。

  

  5.3 双核芯片的软件系统

  以系统操控块数据结构为中心的双核系统的架构办法。即规划了一种数据结构,称作系统操控块(System Control Block,SCB)。将系统一切相关操控目标均映射到系统操控块中,每个使命对系统的操作均可转化为对SCB的读写操作,这样系统能够很便利的完结模块化,界说SCB操作办理模块即可完结多使命对系统操作的统一办理。关于SCB与实践操控目标的物理相关能够经过对应的驱动模块完结。

  

  图3.根据SCB的系统架构

  图 3中描绘了以SCB为中心的系统简易逻辑架构,SCB不只表现操控器与外部操控目标之间联系,例如,映射人机界面操作、PC机监控进程以及各种输入输出信号等;一起,SCB还包含了双核之间完结系统操控的内部数据映射。SCB的根本结构如图4所示,首要包含A核外设映射区、B核外设映射区、系统参数区、系统状况区等。

  

  图4.SCB结构示意图

  SCB是整个系统的表现,从处理器内部剖析,双核经过保护同一个SCB完结对系统的和谐操控。运用双核之间的通讯,当其间一个内核的SCB被写操作时,当即向另一内核发送更新指令,实时完结双核间的数据同步。以A内核IO资源映射为例阐明SCB的同步,进程如图5所示。

  

  图5.SCB同步示例

  运用上小结中介绍的IPC信号机制,以及多种办法的存储空间,能够灵敏规划出多种双核通讯办法。如下所述:

  1)仅运用IPC信号或许IPC中止办法,多用于完结拓扑序事情履行,或许系统启动时初始化握手交互。

  2)IPC信号/中止+IPC音讯寄存器组办法,用于小数据量的通讯。指令寄存器中的指令完全由软件界说,用户可规划不同的指令来完结不同的数据操作。多用于对字节型内存的读写操作。

  3)IPC信号/中止+MSGRAM/S0-S7办法,S0-S7可别离分配给恣意内核,该办法能够完结大数据量的核间通讯,一起运用通用或许自界说的通讯协议,可进步系统的扩展才能及可移植性。

  6.小结

  如图6所示,是根据F28M35双核处理器规划完结的注塑机主操控器,选用本文介绍的办法完结了主从式软件架构,ARM核作为主核完结与上位机的通讯使命和系统逻辑进程的操控使命,运用DSP高速的核算才能作为从核完结注塑机方位操控和温度操控智能算法的履行使命,双核经过SCB的映射完结彼此的和谐。新的操控器代替了原有的以600MHZ主频处理器为中心的操控系统,较好了完结了注塑机的操控使命。

  

  图6.双核系统在注塑机中的运用

  在今后的作业中,从核智能操控算法仍有优化的空间,系统功用仍可进一步改进。别的,除了主从形式,将研讨双主形式,完结更灵敏有用的系统架构,并完结双端独立的在线监控和程序下载等功用,进一步下降软件开发难度。

  7. 参考文献

  [1] Yan Lu-xin, Zhang TIan-xu, and Zhong Sheng. A DSP+FPGA -based parallel architecture for real-time imageprocessing[C]。 Proceedings of the 6th World Congress onIntelligent Control and Automation, Dalian, China, Jun21-23, 2006: 10022-10025.

  [2] 卢冠军,严义,赵健勇。 根据ARM的双CPU和谐运动操控系统[J]。 机电工程,2012,08:985-988.

  [3] Zheng Yi, Pi Youguo.Design and realization of embedded motion controller based on ARM and DSP[J]。 Computer Measurement Control. 2012, Vol. 20: 4 (962-5)。

  [4] 吕鸿波,刘云海,刘斌兵。 嵌入式双核系统通讯接口研讨[J]。 电视技能,2006,03:24-27.

  [5] 蒋建春,曾素华,岑明。 一种根据异构双核处理器的嵌入式操作系统构架规划[J]。 核算机运用,2008,10:2686-2689.

  [6] 陈芳园,张冬松,王志英。 异构多核处理器系统结构规划研讨[J]。 核算机工程与科学,2011,12:27-36.

  [7] F28M35x Concerto Microcontrollers [EB/OL]。 www.ti.com. 2013.

  [8] Concerto F28M35x Technical Reference Manual[EB/OL]。 www.ti.com. 2013.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/175920.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部