首页 » 业界动态 » 基于Nios的温备份智能容错系统的设计

基于Nios的温备份智能容错系统的设计

作者:  时间:2009-03-01 23:08  来源:
下面对上述原理图进行简单的介绍:

  1)通用IO口PIO1只是当作输出口使用,用于控制连接/断开服务器电源的两个继电器、表示服务器状态的双色发光二极管(红绿两种颜色)和用于显示时间间隔(用于决定多长时间检测服务器的状态)等级的一位八段数码管。LED1、LED2分别用于指示两台服务器的工作状态,绿色表示对应服务器正在工作;红色表示对应服务器停止工作;红色闪烁表示对应服务器发生故障,此时蜂鸣器会发出报警声音。上图中没有画出相应的驱动电路[7]。PIO1共占16位,高八位用于控制八段数码管;0~3位用于控制两个双色发光二极管;4~5位用于控制两个继电器;6位用于控制蜂鸣器。

 

  2)通用IO口PIO2只是当作输入口使用,用于接受仲裁器上的控制按键。仲裁器上的SWA、SWB及SWL分别表示开启A服务器、开启B服务器及设置时间间隔等级的按键。SWA和SWB是开关型按键,即:按一下开,再按一下就关。SWL按键从0~9循环改变时间间隔的等级,并在八段数码管上显示等级。

  3)IDE接口控制器是自定义用户逻辑,用于访问与仲裁器连接的IDE硬盘。

  4)Timer1定时器用于控制各台服务器的工作时间以及定时查询服务器的工作状态的,该定时器采用中断方式工作。

  5)Flash控制器,这里指的是CFI(Common Flash InteRFace)控制器,只要支持CFI命令的Flash都可以连接到该系统上。此处用于连接片外的16MB闪存,以便于存储用户程序和相关数据。在该仲裁器中,Flash的开始处保存Boot Loader,在系统启动时,它把用户程序复制到SDRAM中运行,这样可以提高系统效率。

  6)SDRAM控制器,用于连接片外64MB同步动态随机访问存储器,以便于为程序提供运行环境。

  7)UART0和UART1通过电平转换芯片(MAX3232)转换成RS-232电平以便与服务器通过串口通信。

  8)WD Timer定时器,在这里作为看门狗定时器使用,以便提高仲裁器的可靠性,在仲裁器中运行的程序出现故障时,它给系统提供复位信号。

  该系统是使用Quartus II进行硬件设计的,用其中的SOPC Builder工具[4]进行Avalon架构设计,图3是仲裁器的Avalon架构的设计最终界面。由于篇幅有限,此处仅提供UART0、UART1和IDE硬盘相关的部分原理图,如图4所示。

SOPC Builder设计界面

  图3  SOPC Builder设计界面

部分原理图

  图4  部分原理图

  4.2 软件设计思想

  以上主要介绍了硬件部分的设计思想,下面简单描述一下软件开发的相关思想。该仲裁器的软件开发使用Nios IDE[6](Nios集成开发环境),主要包括如下模块:

  1)状态获取模块:该模块被Timer1定时器中断例程定期调用,主要用于获取服务器的当前状态,其设计流程如图5所示:

状态获取模块流程

  图5  状态获取模块流程

  2)显示模块:用于输出用户关心的信息,如根据服务器的状态用不同颜色点亮双色发光二极管、显示当前时间间隔等级以及控制蜂鸣器报警。

  3)通讯模块:主要用于与服务器进行通讯,以便给服务器发送命令以及获得工作服务器的同步信息并把同步信息写入硬盘中。

  4)按键处理模块:用于处理用户按键,根据不同的按键进行不同的控制,如:开/关继电器以及设置时间间隔等级。

  5)硬盘访问模块:用于提供对硬盘进行读写操作的函数,以便需要操作硬盘的模块调用。

  6)读写Flash的模块:用于读取/修改仲裁器的相关参数,如:各服务器运行时间,检测服务器状态的时间间隔等。

  5  结 论

  本文提出的软硬件设计思想经实践证明是可行的,并且在实际的系统中工作良好。该思想可以进一步推广到多机容错系统中。在多机系统中,我们在定制好各台机器的工作计划后,就可以利用本文提到的给每台服务器一个计划运行时间这一思想来解决实际问题。另外,使用Nios软核处理器,可以定制很多的UART口,这一点就远远优于需要扩展串口电路的普通单片机,从而在硬件设计和软件设计上大大降低了难度。

  本文作者创新点:1) 采用SOC(系统级芯片)设计出温备份高速仲裁器。2) 将同步信息放到了仲裁器中。这样,所有同步信息就不依赖于工作设备(如PC机),所以即使工作设备出现故障也无妨,这样就大大提高了系统的可靠性。3) 能够对工作设备进行计划定制,传统的温备份仲裁器没有这一功能。

相关推荐

基于嵌入式的电缆故障检测仪设计

嵌入式  Nios  FPGA  2011-05-09

SoPC系统的综合优化设计策略

SoPC  综合优化  EP2S60  Nios  2010-06-09

基于Nios的GDM12864A显示模块控制

Nios  GDM12864A  显示模块  2009-06-07

基于NIOS II的BCMO4蓝牙通信模块的设计

NIOS II  BCMO4  蓝牙通信  2009-04-27

基于CDMA的无线网络视频监控系统的设计

CDMA  视频监控  SOPC  Nios Ⅱ  2009-04-27

Wind River公司提供Linux支持

Altera  Nios II  Wind River  2009-03-04
在线研讨会
焦点