计算机系统及计算机系统的总线监控方法 【技术领域】
本发明涉及计算机技术领域,尤其涉及一种计算机系统及计算机系统的总线监控方法。
背景技术
计算机系统广泛应用于IT、电信、工业控制、交通运输、航空航天等领域。计算机系统中的背板总线用于实现不同类型的设备的连接,是一组为多个功能部件提供信号传送的传输线。在不同应用领域及应用场合的计算机系统,其背板总线的形式也不同。
随着计算机技术、网络技术的发展,背板总线经历了VME、ISA/PCI等并行总线,及PCI-E等点到点互联的发展。并且,随着安全领域,如工业控制、交通运输、航空航天等各领域技术的发展,对计算机系统的可靠性提出了更高的要求。相对应地,对背板总线的可靠性也提出了更高的要求。
现有技术中,计算机系统采用欧洲工业领域的标准模块板卡(VersaModule Eurocard,VME)总线实现设备的连接。VME总线结合了摩托罗拉(Motorola)公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种采用开放式架构的通用总线。采用VME总线的计算机系统经过多年的发展,广泛应用于工业控制、军用系统、航空航天、交通运输和医疗等领域。
采用VME总线的计算机系统即VME系统的功能架构如图1所示,VME总线采用异步传输机制,地址线宽度为16、24、32、40或64位,数据线宽度是8、16、24、32、64位。VME系统主要由信号线、背板接口逻辑和功能模块组成。VME总线包括四大类:数据传输总线、数据传输仲裁总线、优先中断总线和通用总线。数据传输总线是一个高速异步平行数据传输总线,能传输数据和地址信号。数据传输仲裁总线是为确保在特定的时间内只有一个模块占用数据传输总线而设定的,工作在数据传输仲裁总线上的请求器和仲裁器将负责协调各模块发出的指令。优先中断总线是处理各模块中断请求的总线。各种中断请求在VME系统中被分成了7个等级。根据等级的高低,各种中断请求依次对信号线进行中断工作。通用总线负责系统对时钟的控制、初始化、错误检测等基本工作。通用总线由两条时钟线、一个系统复位线、一个系统失效线、一个AC失效线和一个串行数据线构成。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:计算机系统中VME总线信号线至少需要82根,数量很大,增加了系统的体积;并且,VME总线接口复杂,采用逻辑芯片完成,成本高。
【发明内容】
本发明实施例提出一种计算机系统及计算机系统的总线监控方法,以减小计算机系统的体积,减低计算机系统的成本。
本发明实施例提供了一种计算机系统,包括主设备、从设备、背板总线及总线定时器,所述主设备与从设备通过所述背板总线连接;其中,所述背板总线包括:
地址锁存使能信号线,用于传输地址锁存使能信号;
总线错误信号线,用于传输总线错误信号;
所述计算机系统还包括:
总线监控单元,与所述地址锁存使能信号线及总线错误信号线相连,用于在通过所述地址锁存使能信号线接收到总线地址锁存使能信号时,启动所述总线定时器计时;在所述总线定时器超时时,通过所述总线错误信号线发出总线错误信号。
本发明实施例还提供了一种计算机系统的总线监控方法,包括:
当接收到总线地址锁存使能信号时,启动总线定时器计时;
当所述总线定时器超时时,发出总线错误信号。
上述实施例根据地址锁存使能信号启动定时器计时,并在定时器超时的情况下发出总线错误信号,使得计算机系统采用传输机制简单的局部总线(Local Bus),便能够实现的总线数据传输,从而大大减少了总线数量,减小了体积,降低了成本。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
图1为现有技术中VME系统的功能架构图;
图2为本发明实施例提供的一种计算机系统的结构示意图;
图3为本发明实施例提供的另一种计算机系统的结构示意图;
图4为图3所示计算机系统中的一种总线系统单元示意图;
图5为图3所示计算机系统中的另一种总线系统单元示意图;
图6为图3所示计算机系统中总线的状态流程图;
图7为图3中总线监控单元31的工作流程图;
图8为图3所示计算机系统中主设备33发起的读周期中存在设备发生错误时的时序图;
图9为图3所示计算机系统中主设备33发起的写周期中存在设备发生错误时的时序图;
图10为图3所示计算机系统中主从设备发生错误的写周期时序图;
图11为图3所示计算机系统中主从设备发生错误的读周期时序图;
图12为本发明实施例提供的又一种计算机系统的结构示意图;
图13为图12所示系统工作的流程图;
图14为本发明实施例提供的计算机系统的一种应用示意图;
图15为本发明实施例提供的计算机系统的另一种应用示意图;
图16为本发明实施例提供的一种计算机系统的总线监控方法地流程图。
【具体实施方式】
图2为本发明实施例提供的一种计算机系统的结构示意图。该计算机系统包括位于背板20上的主设备21、从设备22、背板总线23、总线定时器24及总线监控单元25。所述主设备21与从设备22通过所述背板总线23连接。所述背板总线23可包括:地址锁存使能信号线231、总线错误信号线232。地址锁存使能信号线231用于传输地址锁存使能信号(ALE)。总线错误信号线232用于传输总线错误信号(BERR#)。总线监控单元25与所述地址锁存使能信号线231及总线错误信号线232相连,用于在通过所述地址锁存使能信号线231接收到ALE时,启动所述总线定时器24计时;在所述总线定时器24超时时,通过所述总线错误信号线232发出BERR#。
所述总线监控单元25可位于主设备21、从设备22或背板20上。
所述背板总线23还可包括:地址数据(AD)信号线、读写(R/W)信号线、总线使能(EN_BUS)信号线。
所述背板总线23还可包括:总线应答信号线233。总线应答信号线233与所述总线监控单元25相连,用于传输所述从设备22针对所述主设备21发起的读写信号的应答信号即总线应答信号(DTACK#)。此时,所述总线监控单元25在通过所述总线应答信号线233接收到DACK#时,停止所述总线定时器24计时。
本发明实施例提供的计算机系统还可包括:背板总线驱动器26。背板总线驱动器26设置于所述主设备21及所述从设备22上,用于在通过所述总线错误信号线232接收到BERR#时,输出为高阻的AD信号。
本发明实施例提供的计算机系统还可包括:时序监控单元27。时序监控单元27位于所述主设备21或从设备22,用于监控所述主设备21或从设备22的时序状态,并当所述主设备21或从设备22的时序状态异常时,关闭总线使能(EN_BUS#),或关闭所述主设备21或从设备22的AD信号输出,或复位所述主设备21或从设备22的总线时序发生器28,或复位所述总线监控单元25。
所述背板总线可至少为两套。至少为两套的所述背板总线采用相同的时钟。如背板总线可为n(n≥2)套,这n套背板总线采用的时钟相同。
本实施例中,背板总线采用地址锁存使能信号线、总线错误信号线及总线应答信号线,使得计算机系统采用传输机制简单的局部总线(Local Bus)便能够实现的总线数据传输,从而大大减少了总线数量,减小了体积,降低了成本。并且,计算机系统通过总线监控单元对总线进行监控,有效抑制了总线错误导致的总线死锁、电平拉死现象。
图3为本发明实施例提供的另一种计算机系统的结构示意图。本实施例中,计算机系统包括总线监控单元31、总线定时器32、主设备33、第一从设备34、第二从设备35及背板总线36。主设备33上设置有时序监控单元331、总线时序发生器332及背板总线驱动器333。第一从设备34上设置有时序监控单元341、总线时序发生器342及背板总线驱动器343。第二从设备35上设置有时序监控单元351、总线时序发生器352及背板总线驱动器353。背板总线36的电气特性规格符合低电压晶体管-晶体管逻辑电路电平(LVTTL)规格。背板总线36包括局部总线、握手总线、中断请求信号IRQ[3:0]#线、背板槽位指示信号GM[4:0]线、电源失效信号线及附加的RS-485串行总线。局部总线的信号包括:数据/地址信号AD[15:0]、地址锁存使能信号ALE、总线使能信号EN_BUS#、读写信号R/W#。当有两套背板总线时,局部总线还包括用于同步的时钟信号CLK。握手总线的信号包括:设备响应应答信号DTACK#及传输错误指示信号BERR#。背板总线36中各线的信号定义具体详见表1。
表1
信号 定义 详细描述 AD[15:0] 数据/地址信号 总线的地址/数据传输通路,在地址相位指示地址, 数据相位指示数据 ALE 地址锁存使能信号 高电平时,地址通过;低电平地址锁存 EN_BUS# 总线使能信号 使能整个总线有效操作的信号 R/W# 读写信号 高电平时,主设备读取从设备数据,低电平时,主 设备写数据到从设备 GM[4:0] 槽位信号 通过这些信号决定在位单板的基地址;其中GM4是 槽位号校验位。 IRQ[3:0]# 中断信号 从设备请求主设备与其通信的事件等触发请求信号 DTACK# 总线应答信号 从设备在主设备发起读写信号后,做出相应的响应 指示 BERR# 总线错误信号 在主设备发起读写信号后,主设备或从设备因从设 备无法做出相应的响应而产生的错误指示 SYSRESET# 系统复位信号 主设备对整个系统的从设备的复位信号 DCFAIL# 电源失效信号 用于指示输入电源跌落或掉电 SYSCLK 系统时钟信号 系统总线同步时钟 RS-485+ 差分串行通信正信号 差分串行通信正信号 RS-485- 差分串行通信负信号 差分串行通信负信号
其中,#表示低电平有效。
图3所示计算机系统中的总线系统单元如图4、图5所示。总线系统单元包括各主从设备与背板总线交互的背板接口逻辑,以及各主从设备上对背板接口逻辑与背板总线交互结果进行处理的功能模块、数据处理设备以及数据输入/输出设备。
图6为图3所示计算机系统中总线的状态流程图。背板总线36通过独立的总线错误处理机制,比如独立的逻辑状态机检测总线状态,同时控制总线隔离器件,使得从设备出现错误时隔离背板总线,防止背板总线电平被拉死。下面结合图3及图6对这种错误处理机制进行说明。
计算机系统启动后,主设备33使EN_BUS#有效,指示第一从设备34、第二从设备35开始工作;使ALE有效,指示总线监控单元31开始工作、背板总线36中的AD信号线输出地址。
总线监控单元31发起总线操作时,总线定时器开始计数。如果总线操作正常完成,则总线定时器32计数未到设定值如N=64个时钟周期(CLOCK)而不致定时器溢出,总线操作完成时,触发独立的总线定时器32终止计数,并清零总线定时器32的计数。如果总线操作因异常导致状态机工作超时,总线定时器32计时到设定值如N=64个时钟周期(CLOCK)而溢出,则总线监控单元31触发总线错误信号BERR#有效,终止此次总线操作,主设备及从设备输出信号AD均输出三态,释放总线,并复位总线状态机。此时,计算机系统通过总线定时器32溢出释放背板总线36。
当与背板总线36独立的时序监控单元331、时序监控单元341或时序监控单元351检测到总线监控单元31的时序状态机因故障无法翻转,也无法复位或排除故障时,时序监控单元331、时序监控单元341或时序监控单元351关闭总线使能,隔离总线输出。如采用控制74LVT16245的使能信号无效的方式关闭总线使能信号,同时复位相应的总线时序发生器332、总线时序发生器342或总线时序发生器352及总线监控单元31。
总线监控单元31的工作流程如图7所示。图7为图3中总线监控单元31的工作流程图。总线监控单元31监控EN_BUS#是否有效,当检测到EN_BUS#无效后,总线不翻转,处于空闲状态;当检测到EN_BUS#有效之后,状态机开始翻转。并且,总线监控单元31中的时序监控单元监控背板总线36状态机的时序是否正常。当状态机不正常时,主设备33通过时序监控单元监控到时序翻转不正确,即为总线状态机不正常时,关闭总线使能,隔离总线输出,并复位总线状态机和总线监控单元31。
背板总线36可以采用异步传输机制传输信号,也可以采用同步传输机制传输信号。
在背板总线36采用异步传输机制实现信号传输的情况下,当第一从设备34发生异常,比如第一从设备34忙,无法处理该总线周期,或者第一从设备34已经不能工作,自身通过74HC16245隔离了背板总线36,无法响应背板总线36时,主设备33进行超时处理,输出超时错误指示,第二从设备35收到超时错误指示时,做出相应的反应,确保背板总线36正常操作。
主设备33发起的读周期中存在设备发生错误时的时序如图8所示。主设备33由自身的时钟MASTER_CLK驱动EN_BUS#为低电平,及ALE置为高电平,R/W#信号置高电平,AD[15:0]输出地址信号,同时启动总线定时器32计时。三个时钟周期后,主设备33驱动ALE信号为低电平,同时终止地址输出。第一从设备34及第二从设备35由自身的时钟SLAVE_CLK驱动采样接收到的地址信号,并判断是否寻址自己,是则在主设备33驱动ALE信号为低电平时,把相应地址单元的数据放到总线的AD信号线上。如果被寻址设备因某种原因无法应答,导致DTACK#为高电平,则总线监控单元31因为DTACK#一直保持高电平导致总线定时器32计数超过64周期而溢出,进行总线出错处理,驱动BERR#信号为低电平,经过两个时钟周期之后,驱动BERR#信号至高电平,并驱动EN_BUS#为高电平。
主设备33发起的写周期中存在设备发生错误时的时序如图9所示。主设备33由自身的时钟MASTER_CLK驱动EN_BUS#低电平,及ALE置高电平,并驱动R/W#信号为低电平,AD[15:0]输出地址信号,同时启动总线定时器32计时。三个时钟之后,主设备33驱动ALE信号低电平,同时终止地址输出。第一从设备34及第二从设备35由自身的时钟SLAVE_CLK驱动采样接收到的地址信号,并判断是否寻址自己。是则在ALE为低电平时,把数据放到总线AD信号线上。如果被寻址设备因某种原因无法应答,导致DTACK#为高电平,则总线监控单元31因为DTACK#一直保持高电平而导致总线定时器32溢出,进行总线出错处理,驱动BERR#信号为低电平,接着驱动R/W#信号为高电平,之后驱动BERR#信号至高电平,并驱动EN_BUS#为高电平。
背板总线36采用总线同步传输机制进行信号传输的情况下,主从设备发生错误的写周期时序如图10所示,读周期时序如图11所示。背板总线36采用总线同步传输机制进行信号传输的总线同步传输时序与异步输时序相同,区别在于,由于总线同步传输机制中主从设备采用同一个时钟源,总线时序状态保持时间只需要一个周期,通过同步时钟采样完成;而异步传输总线因为主从设备的时钟不同步,需要保持最少三个时钟周期以保证足够的采样时间,完成时序采样。因此,同步传输可以大大加快传输速率和效率,其错误响应周期也同样大大缩小,超过8个时钟周期则作为错误处理。
本实施例中,计算机系统采用传输机制简单的局部总线,并通过增加少量的握手信号线、附加信号线如IRQ[3:0]#等,以及硬件实现了简单、可靠、稳定的总线传输机制以及定时处理错误机制。并且,独立的总线错误输出三态处理机制,可靠保证防止了因本板无法响应总线造成的总线电平拉死。另外,由于计算机系统中采用了局部总线及握手总线,使得计算机系统的总线数量减少,保证了完全相同、并且完全独立的双通道系统总线能够在96针的连接器上实现。
图12为本发明实施例提供的又一种计算机系统的结构示意图。本实施例中,计算机系统采用了两套总线,即每个系统都有各自一套总线,是典型的故障-安全控制系统的模型。第一套系统121中设置有第一总线123,第二套系统122中设置有第二总线124。第一套系统121的每个具有安全功能的模块都需要与第二套系统122的对应功能的结果进行比较,结果一致才输出,不一致则封锁输出,同时输出错误告警信息。在一个背板上实现两套完全一致的背板总线,即第一总线123与第二总线124,方便而有效地实现了对应的安故障-安全系统的功能。
图13为图12所示系统工作的流程图。外部信息分别输入到一块单板上的两套系统的IO单元,完成比较后,通过一块背板的两套独立的总线输送到两套系统的控制器处理;如果采用同步方式,则数据同步输入到两套系统中。一块单板内的两套系统的控制器处理数据的同时进行同步与比较,比较结果一致,才继续运算处理;比较结果不一致,则回退到正确的一步重新运算。如果采用同步方式,则数据的处理和比较采用同步方式完成。运算得到的最后结果,通过同一块背板的两套独立的总线输送到一块单板内的两套IO系统。两套IO系统对接收到的结果进行比较,结果一致,则同时输出执行;结果不一致,则封锁输出,并产生告警信息。
本实施例中,计算机系统采用两套系统及独立的两套总线进行数据传输处理,提高了数据传输处理的可靠性,可应用于工业控制、航空航天等安全要求高的领域。并且,一个系统还可采用多套总线来进一步提高可靠性,便于故障-安全技术实现。
上述实施例提供的计算机系统可应用到工业等控制领域,数据传输速率不太高的控制机框的背板总线上。本实施例提供的计算机系统应用于工业控制系统时,控制器机框如图14所示。图14为本发明实施例提供的计算机系统的一种应用示意图。本实施例提供的计算机系统应用于安全产品双总线时,如图15所示,图15为本发明实施例提供的计算机系统的另一种应用示意图。
图16为本发明实施例提供的一种计算机系统的总线监控方法的流程图。该方法包括:
步骤161、当接收到总线ALE时,也即总线ALE有效时,启动总线定时器计时;
步骤162、当所述总线定时器超时时,发出BERR#,即,使BERR#有效。
上述步骤161、步骤162可由上述系统实施例提供的计算机系统执行。
上述步骤161中,当总线地址锁存使能信号有效时,计算机系统中的总线监控单元启动总线定时器计时。
上述步骤162中,总线监控单元在总线定时器到达设定值,且总线操作仍未完成时,则定时器超时,总线监控单元发出BERR#,以终止此次总线操作,释放总线,具体详见上述系统实施例中的说明。
本实施例提供的技术方案通过在定时器超时的情况下发出BERR#,释放总线,有效抑制了计算机系统中背板总线电平被拉死的现象。
本发明实施例提供的计算机系统的总线监控方法中,当所述总线定时器超时时,还可以执行以下至少一种操作:终止所述总线定时器计时;控制本板AD总线输出信号为高阻。其中,终止总线定时器计时可由上述系统实施例提供的计算机系统中的总线监控单元执行,控制本板AD总线输出信号为高阻可由各主从设备执行,具体详见上述系统实施例中的说明。
本发明实施例提供的计算机系统的总线监控方法还可包括:当DTACK#有效时,停止总线定时器计时。该动作可由上述系统实施例提供的计算机系统中的总线监控单元执行,具体详见上述系统实施例中的说明。
本发明实施例提供的计算机系统的总线监控方法还可包括:监控主设备或从设备的时序状态,当所述主设备或从设备的时序状态异常时,关闭总线使能信号,或关闭所述主设备或从设备的AD信号输出,或复位总线时序发生器,或复位总线监控单元,该动作可由上述系统实施例提供的计算机系统中的时序监控单元执行,具体详见上述系统实施例中的说明。
上述实施例提供的技术方案通过总线监控单元有效抑制了总线错误导致的总线死锁、电平拉死现象,保证了系统部分故障时,设备正常部分能够作出故障-安全措施。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。