基于Nios软核处理器的温备份智能容错系统设计方案
;红色闪烁表示对应服务器发生故障,此时蜂鸣器会发出报警声音。上图中没有画出相应的驱动电路[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所示。
图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) 能够对工作设备进行计划定制,传统的温备份仲裁器没有这一功能。
参考文献
[1] 王仲生.智能故障诊断与容错控制[M].西安:西北工业大学出版社,2005。
[2] 潘松,黄继业,曾毓.SOPC技术实用教程[M].北京:清华大学出版社,2005。
[3] 宋保维,系统可靠性设计与分析.西安:西北工业大学出版社,2000。
[4] Sylvain Poussier, Hassan Rabah, Serge Weber.SOPC-based Embedded Smart Strain Gage Sensor. Lecture Notes in Computer Science[J],2002,2438:1131-1132。
[5] 徐光辉,程东旭等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社,2006。
[6] 郭书军,王玉花, 葛纫秋.嵌入式处理器原理及应用——Nios系统设计和C语言编程[M].北京:清华大学出版社,2004。
[7] 沙占友,孟志永,王彦朋.单片机外围电路设计(第2版)[M].北京:电子工业出版社,2006。
[8] 王俊卿,杨扬,刘庆文.基于NIOS软核处理器的uClinux的移植[J].微计算机信息,2005,21-1:123-124。
- 数字示波器的软硬件设计方案及经典应用案例汇总(08-01)
- 基于SOPC的现场总线多通道实时温度采集系统设计(10-18)
- 基于NiosII的视频采集与DVI成像(06-07)
- 基于RS422接口的备份测试系统设计(07-16)
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)