[go: up one dir, main page]

CN101599055B - 基于互关总线的嵌入式异构cpu阵列系统 - Google Patents

基于互关总线的嵌入式异构cpu阵列系统 Download PDF

Info

Publication number
CN101599055B
CN101599055B CN2009100749635A CN200910074963A CN101599055B CN 101599055 B CN101599055 B CN 101599055B CN 2009100749635 A CN2009100749635 A CN 2009100749635A CN 200910074963 A CN200910074963 A CN 200910074963A CN 101599055 B CN101599055 B CN 101599055B
Authority
CN
China
Prior art keywords
bus
cpu
redundant
clock
redundant subsystems
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.)
Expired - Fee Related
Application number
CN2009100749635A
Other languages
English (en)
Other versions
CN101599055A (zh
Inventor
满梦华
巨政权
褚杰
周永学
原亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN2009100749635A priority Critical patent/CN101599055B/zh
Publication of CN101599055A publication Critical patent/CN101599055A/zh
Application granted granted Critical
Publication of CN101599055B publication Critical patent/CN101599055B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种基于互关总线的嵌入式异构CPU阵列系统,包括有若干冗余子系统,所有冗余子系统经互关总线相互连接,形成阵列;冗余子系统是由一个CPU配接独立的Flash外存模块F、本地高速内存模块M、全局信息存储模块T和外设I/O接口模块所形成;系统使用物理指标各不相同的CPU;互关总线为34线制结构,包括有32条数据线、1条时钟线和1条功能信号线,具有完整传输协议;所有冗余子系统的CPU将其34个通用端口通过“逻辑与”方式与互关总线相连接,每个连接到互关总线的CPU都具有唯一的识别标记和优先级;系统中的某一冗余子系统为校验模块,将经过校验的多数结果作为系统的最终输出。当某个冗余子系统的软件或硬件部分受到损伤而无法正常工作时,会被自动剔除而不影响其它部分,系统仍有正常输出。

Description

基于互关总线的嵌入式异构CPU阵列系统
技术领域
本发明涉及一种计算机系统,具体地说是一种基于互关总线的嵌入式异构CPU阵列系统。
背景技术
随着嵌入式系统应用的日益广泛和不断深入,控制环节在整个被嵌入的设备中发挥着越来越重要的作用。作为控制器核心的集成电路,现已获得突飞猛进的发展。电路集成度的提高,导致其对各种电磁能量越来越敏感。随着各种电磁辐射体如雷达、通信设备、导航设备等辐射源的功率的不断加大和频谱的增宽,再加上系统自身存在的电磁辐射和静电等问题,使得许多类型的控制系统在其有限的空间范围内面临着更加复杂和恶劣的电磁环境。高度电子化的设备在如此环境下,其工作效果自然会受到很大影响。情况较为严重时,甚至连其生存能力都会受到一定的威胁。
一般而言,电路集成度越高,电磁效应则越为明显;承担的任务越复杂,各类干扰造成的后果就越严重。在恶劣的电磁环境下,嵌入式系统的抗干扰、抗毁伤能力,主要就体现在集成电路芯片的抗干扰、抗毁伤能力上。而且,集成电路本身对于应用环境中的电磁干扰的抵抗能力也是较差的。
集成电路通常的抗扰措施就是加强屏蔽和改善电路布线结构等,以尽量减少外部电磁环境对其内部电路的影响。但随着电磁干扰规模的不断扩大,形式越发复杂,许多传统且行之有效的电磁防护措施和抗扰手段会受到许多限制,常常难以奏效。
发明内容
本发明的目的就是提供一种基于互关总线的嵌入式异构CPU阵列系统,以解决集成电路抗扰和电磁防护措施受限的问题,从而使整个系统能够满足在不同层面上的多种安全运行要求,系统的安全性和可靠性得到提高。
本发明是这样实现的:一种基于互关总线的嵌入式异构CPU阵列系统,该系统包括有若干冗余子系统,所有冗余子系统均经互关总线相互连接,形成阵列结构;
所述冗余子系统是由一个CPU配接独立的Flash外存模块F、本地高速内存模块M、全局信息存储模块T和外设I/O接口模块;
各冗余子系统中所用CPU的类型或物理指标互不相同;
所述互关总线为34线制总线结构,包括有32条数据线DATA、1条时钟线CLK和1条功能信号线FUN,具有完整传输协议;
所有冗余子系统的CPU将其34个通用端口通过“逻辑与”方式与34线制的所述互关总线相连接,每个连接到所述互关总线的器件都具有唯一的识别标记和优先级;
在系统中有一个冗余子系统配置成为校验模块,系统的最终输出为经过校验的多数结果。
本发明所述冗余子系统按照多主机方式分别运行独立的操作系统。
本发明所述冗余子系统配置成为一主多辅的方式,运行在同一个操作系统之下。
本发明所述互关总线的时钟线CLK的时钟采用动态获取和主传主发模式,供多主机控制,具有优先级可编程、单一的数据字校验、时钟校验、冲突检测和仲裁机制。
本发明所述冗余子系统的优先级是动态可变的,既可以是同级别的,也可以是不同级别的。所有冗余子系统均在互关总线联接下经编程的方式对数据传输的优先级予以选择,即用户程序可以通过编程方式进行各个CPU数据传输优先级的确定。
本发明的实质就是实现了一种建立在互关总线基础上的、由多个异构CPU所组成的阵列结构及系统,这种异构CPU阵列系统可按照嵌入式计算机方式运行。
本发明异构CPU阵列中的冗余子系统可以使用同一个操作系统,或将同一操作系统分别使用在独立运行的CPU中,即并行运行同一类型的操作系统。此外,这种异构CPU阵列还可以按照多主机方式分别运行不同的操作系统。当然,本发明异构CPU阵列所有冗余子系统最终在应用层面是运行同样的应用程序。
由于CPU的类型不同,其逻辑电路的实现方式、工作模式、指令集、软件环境以及编程方式等也就均有不同。正是由于各种异构CPU在原理设计(CISC和RISC,哈佛结构和冯·诺依曼结构等)、实现方式(ASIC和FPGA等)和半导体材质(CMOS和双极型等)上存在较大的差异性,使其对于不同类型工作环境(例如复杂电磁环境)干扰的耐受程度也有所不同。因此,在一个特定的恶劣工作环境中,只要不是全局性的毁损,只要阵列中有一个CPU还在运行,就能得到运行结果。
由于这种方式构成的计算机系统依靠内部的各CPU模块能够建立一种“平行”运行的模式,相互校验并进行错误检测和制约,因此,整体表现为一个高度可靠的工作系统,成为控制系统在电磁干扰等恶劣环境下所采取的一个有效防护手段。
本发明正是基于这一设计思想和要求设计而成,并且在这一防护方法和结构的基础上,利用全新的异构CPU阵列的结构优势,可进一步增强各种类型的核心控制系统的抗扰能力,使得系统能够在恶劣环境下完成通常只能在正常环境下完成的工作,由此可大大延长系统的整体使用寿命。
本发明所提出的基于“异构CPU阵列”和“互关总线”概念的电磁防护技术,是考虑到系统中芯片损伤的不可避免性以后,建立在“以数量保质量”、“以容错求生存”的结构基础上所进行的电磁防护新模式。其目的是希望通过“整体功能局部化”的方式,使得控制系统的总体构成能够在一定程度上“容忍”所处的恶劣环境,在其已经成为“局部”的任何工作程序、各个系统的状态发生紊乱、甚至是部分芯片遭受局部毁伤、某个操作系统发生崩溃的情况出现后,仍然能够不依赖于外界的干预而容错运行。
根据实际应用环境和防护需求的不同,本发明各冗余子系统中的CPU采用不同的架构。利用异构CPU阵列结构与互关总线的连接,既可解决其内部数据高效可靠通信时所面临的问题,又可降低同构冗余系统中的“共因失效”对系统可靠性所造成的影响,从而有效地提高冗余系统的可靠性。
本发明使得在恶劣环境下控制系统一级的新型防护设想在技术上成为可能,并使被防护的控制系统最终能够满足在不同层面上的多种安全运行的要求。因此,本发明是一种电磁抗扰能力强、运行安全可靠、综合生存能力显著提高的计算机系统。
本发明的结构特点是:
1、具有多个不同类型的嵌入式CPU芯片分别构成冗余子系统,在专用的互关总线连接下形成基本的阵列结构。每个连接到总线的器件都具有唯一的地址,可由软件编程设定。其中,须将某一个冗余子系统配置成为校验模块。
2、这些冗余子系统既可以按照多主机方式分别运行独立的操作系统,又可以配置成为一主多辅的方式,运行在同一个操作系统之下。阵列中所有CPU最终运行同样的应用程序,根据同样的输入,得到各自的输出。此时,这些结果在正常情况下应能完全一致。
3、所有冗余子系统均经互关总线相互连接,其数据线为并行32位,与控制线分离。控制信号线只有两条,一为时钟线CLK,一为功能信号线FUN。总线时钟采用“动态获取”和“主传主发”模式,可供多主机控制,具有优先级可编程设定、单一数据字校验、时钟校验、冲突检测和高效仲裁机制。
4、冗余子系统的优先级是动态可变的。可以是等同的,也可以是不等的,均在互关总线环境下经编程的方式予以选择,即用户程序可以通过编程方式进行各个CPU数据传输优先级的确定。一旦某一CPU受到损伤或内部程序出现混乱,其输出结果必定与其它模块的输出不一致,但并不影响其它CPU的正常工作。此时,不一样的结果能被系统的校验模块检测出来并被屏蔽(或称“剔除”)。所以,系统的最终输出为经过校验的多数结果。
本发明是一种关键模块高度自治和系统松散耦合的组织模式。这种结构既有利于降低共享总线的带宽压力,又可提高整个系统的效率和并行度,还有利于隔离各个冗余子系统、防止危险故障蔓延,由此提高了系统的安全性。
因此,在任何情况下,只要多数CPU能够具有正常的输出,系统就可以输出下常的结果。这就是“多模块冗余”的容错运行方式。与传统的并行运行方式不同,这种由独立CPU构成的阵列方式最大的优势在于可以运行不同类型或不同版本的操作系统,并在此基础之上,同时运行分别在相应的操作系统环境下编译完成的、具有相同功能和相近运行时间的应用程序。此即本发明的异构CPU阵列的冗余软件“平行运行”方式。
这种基于异构CPU阵列的“平行运行”之目的并非希望通过提高CPU的数量而提高整个系统的工作速度,而是通过相互校验的方式增加其系统的工作可靠性。如果将其拓展为通用的高可靠性计算机系统,本发明还可同样实现其“双异同”模式,即异构CPU,异类操作系统,同时运作,同享外设接口。
附图说明
图1是本发明的系统硬件逻辑结构图。
图2是数据传输时的时钟同步图。
图3是由4个冗余子系统构成的异构CPU阵列和互关总线的硬件逻辑结构图。
图4是数据字传输形式图。
图5是互关总线的启动和停止条件图。
图6是寻址数据字格式图。
图7是总线应答信号图。
图8是总线的数据传输格式图。
图9是总线响应图。
具体实施方式
本发明基本的硬件结构如图1所示,是由具有不同材质、类型、时钟频率和电磁敏感度等物理指标的CPU芯片配接独立的Flash外存模块F、本地高速内存模块M、全局信息存储模块T和外设I/O接口模块,构成一个冗余子系统。本发明阵列中最多可以容纳32个冗余子系统,所有冗余子系统的CPU将其34个通用端口通过“逻辑与”方式与34线制的互关总线相连接。该总线具有32条数据线DATA[0..31]、1条时钟线CLK和1条功能信号线FUN,用以将各冗余子系统连接成为一个可以按照多种模式协调运行的CPU阵列。此即本发明“异构阵列”的基本模式。各冗余子系统中的CPU间的信息传递是依靠互关总线进行的,每个器件都有唯一的地址识别和优先级。
利用互关总线传输数据的具体过程如下:
首先是系统地址的动态分配:在系统正常启动后,连接到互关总线的每个冗余子系统拥有一个默认的起始标记和起始优先级,并保存在全局信息存储模块内,形成初始主机标记表。然后利用执行程序自动为每个冗余子系统分配地址和优先级。执行程序使用伪随机法,每个正常运行的冗余子系统通过伪随机算法产生一个32位的伪随机数,按其在互关总线初始主机标记表中的顺序依次广播给其余的冗余子系统。这样,每个冗余子系统在其全局信息存储模块T中保存了所有冗余子系统产生的伪随机数,并将其排序后保存。统一规定产生的伪随机数大的冗余子系统的优先级最高;依次类推,产生伪随机数最小的冗余子系统的优先级最低。然后,根据优先级为每个冗余子系统分配地址。通过这样的“初始化”过程,就能实现系统内地址的动态分配。这种系统地址的动态分配的一个最大优势就是可以在系统的长期使用过程中,通过每次系统上电时的地址重分而实现负载的平衡。
其次是校验模块的选取:系统中的这些冗余子系统工作于多主方式,形成多模冗余结构。通过程序自动选取某一冗余子系统作为校验模块,例如选用优先级最高的冗余子系统充当校验模块。当校验模块出现故障时,优先级次高的冗余子系统自动顶替充当校验模块,依次类推。相对于传统的固定校验方式,这种多模冗余系统中校验模块动态选定的方法具有更多的优势,可以较好地解决固定校验模块一旦受损则无法修复的制约性问题。这样既能有效地利用冗余资源,又可提高系统利用率。校验模块负责校验其它冗余子系统上运行的冗余任务的结果,并通过互关总线将其它冗余子系统上冗余任务的运行结果统一汇集起来,校验后通知相应的冗余子系统输出结果,或者直接控制外设运作。校验模块在与其它冗余子系统进行信息通讯时,还会收集到整个系统中所有冗余子系统的运行情况,并将其广播给其它所有的冗余子系统。其主要目的在于,一旦某个冗余子系统出现故障,其它冗余子系统便能及时获知并不再与其进行数据交换等工作,即自动将其屏蔽并剔除其相应的数据或结果。
再者是时钟的同步方式:如图2所示,时钟同步通过“逻辑与”方式连接互关总线接口到时钟线CLK来执行。也就是说,互关总线的时钟线CLK的电平由高到低的切换,会使各冗余子系统分别开始计数它们的低电平周期,而且一旦冗余子系统本身的时钟变为低电平,它会使互关总线的时钟线CLK保持这种状态直到该冗余子系统的时钟到达高电平。但是,如果有另一个冗余子系统的时钟此时仍处于低电平周期时,则这个时钟由低到高的切换不会改变互关总线的时钟线CLK的状态。也就是说,互关总线的时钟线CLK是被具有最长低电平周期的冗余子系统保持为低电平,而低电平周期短的冗余子系统在此时则处于时钟为高电平的等待状态。当所有冗余子系统对它们的低电平周期计数完毕之后,互关总线的时钟线CLK的低电平被释放,并随之转变成高电平。
这样,产生同步时钟的低电平周期就是由进行数据交互的冗余子系统中低电平时钟周期最长的器件所决定,而高电平周期则是由阵列中高电平时钟周期最短的器件所决定。在这种情况下,时钟频率与此时占用总线速率最低的那个传输子系统一致。此即由主传子系统进行时钟主发的基本含义,亦可简称为“主传主发”模式。
如前所述,冗余子系统的地址是动态分配的,并经程序自动选取优先级别最高的冗余子系统作为校验模块。阵列中总线时钟频率并不固定,而完全取决于某一时刻占用互关总线进行数据交换的两个冗余子系统。严格来说,就是取决于两者中频率较低的一方。所以,其最高传输速度和效率是根据互关总线上不同冗余子系统的切换而随时变化的,既可满足某一冗余子系统不得不使用较低频率的时钟要求,又可满足希望整个互关总线时钟频率尽可能高的要求。所有冗余子系统的运行状况全部相互关联,以期实现整个异构CPU阵列中互关总线的整体运行效率最高。此即“互关总线”的基本含义。
根据需求的不同,本发明系统中的各个CPU既可以是相同的架构,也可以是不同的架构;既可以使用相同的操作系统,也可以使用不同的操作系统。其中,不同架构的情况更为复杂,称为“异构CPU阵列”。
所谓“异构CPU阵列”,就是使用材质、类型、结构和电磁敏感度等物理指标均不同的CPU芯片构建一个可以按照多种模式协调运行的CPU阵列。这些CPU既可配置成为多主的工作方式,也可配置成为“一主多辅”的工作方式;所有CPU的优先级的设定,均由软件编程方式予以选择。
而一旦考虑采用不同的CPU和操作系统,则CPU间的高速通讯技术就可能成为制约系统性能的一个主要因素。为此,本发明专门为采用异构方式构成的CPU阵列设计了一种“互关”式的总线结构,以满足其实用要求。
所谓“互关总线”,是一种基于CPU异构阵列的并行、高速、具有完整协议的专用多主机总线。该总线采用32位数据线与控制线分离的结构,具有多主机控制、优先级可编程、单一的数据字校验机制和运行状态相互关联的特点。总线时钟频率根据不同的总线占有模块而动态可调,每个连接到总线的器件地址唯一,而且能够通过程序设定而无需地址译码器等类型的逻辑连接电路,进而可按照冲突检测和高效的优先级仲裁方式解决总线竞争问题。
本发明中的互关总线与现有其它嵌入式系统总线技术相对比时,具有比串行总线速度快、比现有并行总线工作方式灵活的明显优势。通过完成专用传输协议的制定,使得用户程序能够在整个阵列环境中,以可编程的方式进行各个CPU数据传输优先级的确定。
实施例:
图3显示了由4个冗余子系统构成的异构CPU阵列和互关总线的硬件逻辑结构。在该阵列中,每个CPU配接独立的Flash外存模块F、本地高速内存模块M、全局信息存储模块T和外设I/O接口模块,构成一个冗余子系统。所有的冗余子系统采用“逻辑与”的方式挂接到互关总线上,由此形成一个四冗余子系统的异构CPU阵列系统。
该阵列系统可以使用同一个操作系统,也可将同一操作系统分别使用在独立运行的CPU中,即并行运行同一类型的操作系统,还可按照多主机方式分别运行不同的操作系统。然而,该阵列所有冗余子系统最终须在应用层面运行同样的应用程序。
在正常情况下,该阵列系统应能根据同样的输入获得相同的输出结果。为了满足高可靠性的要求,事先根据程序选定某一工作正常的冗余子系统充当校验模块。该校验模块负责获取各项冗余任务的输出结果,并在校验成功后通知外设控制单元进行最终的系统输出。如果某一冗余子系统受到损伤或内部程序(包括操作系统)出现混乱,则其不正常的系统输出通过校验模块的对比可立即被发现。但这个错误情况并不影响其它冗余子系统的正常工作。在这种情况下,校验模块将不一致的结果剔除,并将其它冗余子系统经过校验并且一致的结果作为最终结果输出。
如前所述,本发明中的互关总线是一个多主机的总线,用于板载多CPU互联,即可以连接多于一个能控制总线的器件到总线上。CPU间的信息传递是依靠总线进行,每个器件都有一个唯一的地址识别。而且都可以作为一个发送器或接收器。除了作为发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输端,并且也是产生允许传输的同步时钟信号的器件。此时任何被寻址的器件都被认为是从机。
本发明中的互关总线突出了总线的主机-从机和接收器-发送器的关系,而这些关系并非持久,只由当时数据传输的方向决定。所有线路都是双向的,均经一个电流源或上拉电阻连接到正的电源电压。当互关总线空闲时,所有线路都是高电平。连接到互关总线的器件输出级必须是漏极开路或集电极开路结构,以便于执行“逻辑与”的功能。
本系统中的一个完整的数据传输过程为:启动、仲裁、寻址、传输、停止。下面进行详细阐述。
1、假设微控制器A要发送信息到微控制器B,其数据传输过程为:
a、微控制器A(主机)寻址微控制器B(从机);b、微控制器A(主机-发送器)发送数据到微控制器B(从机-接收器);c、微控制器A终止传输。
2、如果微控制器A想从微控制器B接收信息,其数据传输过程为:
a、微控制器A(主机)寻址微控制器B(从机);b、微控制器A(主机-接收器)从微控制器B(从机-发送器)接收数据;c、微控制器A终止传输。
如图4所示,本发明异构CPU阵列的主机每传输一个数据字,就产生一个时钟脉冲。数据只在时钟的高电平周期有效。所以,DATA线上的数据必须在时钟的高电平周期保持稳定。数据线的高电平或低电平状态只有在时钟线CLK的时钟信号是低电平时才能改变。
互关总线的启动和停止条件被定义在启动(虚线框S)和停止(虚线框P)的情况下,见图5。当时钟线CLK是高电平时,功能信号线FUN从高电平向低电平切换。这个情况表示起始条件。当时钟线CLK是高电平时,功能信号线FUN从低电平向高电平切换。这种情况表示停止条件。启动和停止条件一般由主机产生。互关总线在启动条件之后被认为处于忙的状态;在停止条件的某段时间之后,互关总线被认为再次处于空闲状态。
一般而言,在多CPU系统中,总线的仲裁是系统能够稳定运行的关键。本发明所述异构CPU阵列中的互关总线为整个系统所公用。主机必须在总线空闲的时候启动传输。两个或多个主机可能同时申请占用总线,而其结果是在总线上只能产生一个规定的起始条件。正式开始传输的第一个数据字为各主机的标记,也是其仲裁优先级。所有标记使用“对位”编码方式,其最大优势在于按位进行“逻辑与”运算,直接区分其数值的大小,以便于仲裁电路的实现,使其所用时间做到最短。可规定标记值较低的主机具有较高的仲裁优先级,其标记码值的分配如表1所示。
表1:主机标记分配表
标记分配表     仲裁优先级
0000 0000 0000 0000 0000 0000 0000 0000     广播地址(保留)
0000 0000 0000 0000 0000 0000 0000 0001     1
0000 0000 0000 0000 0000 0000 0000 0011     2
0000 0000 0000 0000 0000 0000 0000 0111     3
0000 0000 0000 0000 0000 0000 0000 1111     4
0000 0000 0000 0000 0000 0000 0001 1111     5
0000 0000 0000 0000 0000 0000 0011 1111     6
0000 0000 0000 0000 0000 0000 0111 1111     7
0000 0000 0000 0000 0000 0000 1111 1111     8
0000 0000 0000 0000 0000 0001 1111 1111     9
0000 0000 0000 0000 0000 0011 1111 1111     10
0000 0000 0000 0000 0000 0111 1111 1111     11
0000 0000 0000 0000 0000 1111 1111 1111     12
0000 0000 0000 0000 0001 1111 1111 1111     13
0000 0000 0000 0000 0011 1111 1111 1111     14
0000 0000 0000 0000 0111 1111 1111 1111     15
0000 0000 0000 0000 1111 1111 1111 1111     16
0000 0000 0000 0001 1111 1111 1111 1111     17
  0000 0000 0000 0011 1111 1111 1111 1111   18
标记分配表     仲裁优先级
  0000 0000 0000 0111 1111 1111 1111 1111   19
  0000 0000 0000 1111 1111 1111 1111 1111   20
  0000 0000 0001 1111 1111 1111 1111 1111   21
  0000 0000 0011 1111 1111 1111 1111 1111   22
  0000 0000 0111 1111 1111 1111 1111 1111   23
  0000 0000 1111 1111 1111 1111 1111 1111   24
  0000 0001 1111 1111 1111 1111 1111 1111   25
  0000 0011 1111 1111 1111 1111 1111 1111   26
  0000 0111 1111 1111 1111 1111 1111 1111   27
  0000 1111 1111 1111 1111 1111 1111 1111   28
  0001 1111 1111 1111 1111 1111 1111 1111   29
  0011 1111 1111 1111 1111 1111 1111 1111   30
  0111 1111 1111 1111 1111 1111 1111 1111   31
  1111 1111 1111 1111 1111 1111 1111 1111   32
因为数据线DATA[0..31]是依靠“逻辑与”连接总线接口到互关总线上的,所以在数据线DATA上的每一个数据位在被某个主机置为0后,其它主机不能将其置为1。在主机仲裁方面,当传输第一个数据字时,申请仲裁的主机都将同时读取。读取到的数据字与自己的标记不同的主机竞争失败,失去总线控制权。而读取到的数据字与自己标记相同的主机仲裁成功,从而获得总线控制权。获得总线控制权的主机自行产生第一个应答信号以表示此次仲裁结束。
在异构CPU阵列中,某一主机获得总线控制权后,第一个数据字用来寻址从机地址,其中也包含了主机的地址和读写控制位。其寻址数据字格式如图6所示。
数据线DATA[0]是读写控制位(R/W),‘0’表示发送(写),‘1’表示请求数据(读)。
数据线DATA[1..5]表示主机地址。对应于32个优先权标记,可为阵列提供32个主机地址。
数据线DATA[6..10]表示从机地址。实际上,当主机确定后,系统只能寻址31个从机。
数据线其它各位作为保留位,可供进行系统全局信息发布等服务。
当被寻址的从机检测此信息后,在功能信号线FUN上产生一个应答信号,表示主机、从机寻址成功,即进行“握手”,如图7所示。
发送到数据线DATA[0..31]上的每个数据字可以为1--32位。每次传输可以发送的字数不受限制,但每个数据字后必须在信号线FUN上跟发一个响应位。如果从机要在完成一些其它功能之后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字,则可以使时钟线CLK保持低电平,迫使主机进入等待状态。当从机准备好接收下一个数据字并释放时钟线CLK后,数据传输将继续进行,如图8所示。
数据传输必须在响应的情况下进行,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间,发送器释放数据线DATA[0..31],使之均为高电平。此时,接收器必须将功能信号线FUN的电平拉低,使其在这个时钟脉冲的高电平期间保持稳定的低电平,如图9所示。
当从机不能响应从机地址(例如它正在执行一些实时函数不能接收或发送)时,从机必须使数据线DATA保持高电平。主机随后产生一个停止条件,终止传输或者产生重复起始条件,开始新的传输。
如果从机接收器响应了从机地址,但是在传输了一段时间后不能接收更多的数据字节,主机必须再一次终止传输。另外,主机接收器在允许从机产生数据的最后一个数据字之后,不产生相应的响应,然后通知从机发送器数据传输结束。这两种情况均用从机在一个数据字传输之后没有产生响应来表示。从机使功能信号线FUN保持高电平,主机便可以产生一个停止或重复起始条件。
可以看出,本发明是专为解决嵌入式计算机系统在恶劣环境下的安全运行问题而设计。基于异构的嵌入式CPU,形成若干冗余子系统。所有的冗余子系统经互关总线连接,组成异构式CPU阵列系统。其中,每个冗余子系统的优先级可以通过软件编程而灵活设定。一旦某个CPU受到损伤或内部程序出现混乱,便可因其结果异常而能被系统的校验模块检出并予以剔除。此时,并不影响其它冗余子系统的正常运行,系统的最终输出仍为经过校验的多数结果。若是系统的校验模块受到损伤,则系统必须立即另行配置校验模块。尽管在这种情况下系统的输出会有短时中断,但可迅速得以恢复,以使整个阵列能够继续正常工作。

Claims (2)

1.一种基于互关总线的嵌入式异构CPU阵列系统,其特征在于:该系统包括有至多32个冗余子系统,所有冗余子系统均经互关总线相互连接,形成阵列结构;
所述冗余子系统是由一个CPU配接独立的Flash外存模块F、本地高速内存模块M、全局信息存储模块T和外设I/O接口模块;
各冗余子系统中所用CPU的类型或物理指标互不相同;
所述互关总线是一种基于CPU异构阵列的并行、高速、具有完整协议的专用多主机总线,为34线制总线结构,包括有32条数据线DATA、1条时钟线CLK和1条功能信号线FUN,具有完整传输协议;总线时钟频率根据不同的总线占有模块而动态可调,每个连接到总线的器件地址唯一且能够通过程序设定,并能够按照冲突检测和优先级仲裁方式解决总线竞争问题;
所有冗余子系统的CPU将其34个通用端口通过“逻辑与”方式与34线制的所述互关总线相连接,每个连接到所述互关总线的器件都具有唯一的识别标记和优先级;
在系统中有一个冗余子系统配置成为校验模块,负责校验其它冗余子系统上运行的冗余任务的结果,并在校验成功后通知外设控制单元进行最终的系统输出。
2.根据权利要求1所述的基于互关总线的嵌入式异构CPU阵列系统,其特征在于具有优先级可编程、单一的数据字校验、时钟校验、冲突检测和仲裁机制,所述互关总线的同步时钟线CLK的时钟采用动态获取和主传主发模式;所述主传主发模式是时钟同步通过“逻辑与”方式连接互关总线接口到时钟线CLK来执行,产生同步时钟的低电平周期由进行数据交互的冗余子系统中低电平时钟周期最长的器件所决定,高电平周期由阵列中高电平时钟周期最短的器件所决定,时钟频率与此时占用总线速率最低的冗余子系统一致。
CN2009100749635A 2009-07-24 2009-07-24 基于互关总线的嵌入式异构cpu阵列系统 Expired - Fee Related CN101599055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100749635A CN101599055B (zh) 2009-07-24 2009-07-24 基于互关总线的嵌入式异构cpu阵列系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100749635A CN101599055B (zh) 2009-07-24 2009-07-24 基于互关总线的嵌入式异构cpu阵列系统

Publications (2)

Publication Number Publication Date
CN101599055A CN101599055A (zh) 2009-12-09
CN101599055B true CN101599055B (zh) 2010-08-11

Family

ID=41420503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100749635A Expired - Fee Related CN101599055B (zh) 2009-07-24 2009-07-24 基于互关总线的嵌入式异构cpu阵列系统

Country Status (1)

Country Link
CN (1) CN101599055B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856199B (zh) * 2012-11-28 2017-02-08 苏州新宏博智能科技股份有限公司 一种用于数据总线上的上拉装置
CN103929424B (zh) * 2014-04-18 2017-06-06 卡斯柯信号有限公司 软硬件结合的三取二安全数据处理与仲裁方法及其装置
DE102014213245A1 (de) 2014-07-08 2016-01-14 Robert Bosch Gmbh Verfahren zum Verarbeiten von Daten für eine Fahrfunktion eines Fahrzeuges
CN109144578B (zh) * 2018-06-28 2021-09-03 中国船舶重工集团公司第七0九研究所 一种基于龙芯计算机的显卡资源配置方法及装置
CN109634171B (zh) * 2018-12-06 2020-09-25 通号万全信号设备有限公司 双核双锁步二取二架构及其安全平台
CN112526463B (zh) * 2021-02-07 2021-05-04 四川赛狄信息技术股份公司 一种基带处理模块及处理方法
CN113193997B (zh) * 2021-04-27 2023-04-07 合肥移瑞通信技术有限公司 一种冗余设备配置方法、装置,冗余系统及冗余设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1077412A2 (en) * 1999-08-16 2001-02-21 Hewlett-Packard Company Bus system having improved control process
CN101000591A (zh) * 2006-12-30 2007-07-18 中国船舶重工集团公司第七一一研究所 基于嵌入式cpu的双机冗余系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1077412A2 (en) * 1999-08-16 2001-02-21 Hewlett-Packard Company Bus system having improved control process
CN101000591A (zh) * 2006-12-30 2007-07-18 中国船舶重工集团公司第七一一研究所 基于嵌入式cpu的双机冗余系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
丁国良, 原亮, 禇杰, 杨文飞.内进化演化硬件平台的设计与实现.《军械工程学院学报》.2007,第19卷(第1期),66-68. *
满梦华,原 亮,丁国良,巨政权,宋 亮.嵌入式高可靠性异构双机冗余系统的设计.《计算机应用》.2009,第29卷(第8期),2143-2145. *

Also Published As

Publication number Publication date
CN101599055A (zh) 2009-12-09

Similar Documents

Publication Publication Date Title
CN101599055B (zh) 基于互关总线的嵌入式异构cpu阵列系统
CN103634150B (zh) 一种冗余的高安全性can总线通信方法
US10210121B2 (en) System for switching between a single node PCIe mode and a multi-node PCIe mode
EP0514075A2 (en) Fault tolerant processing section with dynamically reconfigurable voting
CN104346317B (zh) 共享资源访问方法和装置
CN108132910B (zh) 系统互连以及具有系统互连的片上系统
CN105721357A (zh) 交换设备、外围部件互连高速系统及其初始化方法
CN107070795B (zh) 多通道交换网络中的通道选择
CN101593164A (zh) 基于嵌入式Linux的从USB HID装置及固件实现方法
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
CN110597745A (zh) 一种交换机系统多主多从i2c通信实现方法和装置
CN117075572A (zh) 测试系统
CN105068955A (zh) 一种局部总线结构及数据交互方法
KR20220007558A (ko) 계층화된 레디 상태 리포팅 구조
CN100361118C (zh) 一种多cpu系统及其控制方法
US10176131B1 (en) Controlling exclusive access using supplemental transaction identifiers
US7353315B2 (en) Bus controller with virtual bridge
CN105373511A (zh) 一种与多个光模块可同时通信的装置和方法
CN112506851B (zh) 一种解决多核访问冲突的soc芯片架构构建方法
CN114281751B (zh) 芯片系统
CN101604304B (zh) 一种多cpu间通信的方法和继电保护装置
CN201540569U (zh) 基于互关总线的嵌入式异构cpu阵列系统
CN104572487B (zh) 反射内存卡的内存访问装置及方法
US10452574B2 (en) Read performance on a SATA storage device behind a host bus adapter
US20230137609A1 (en) Data synchronization method and apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100811

Termination date: 20110724