基于Nios软核处理器的温备份智能容错系统设计方案

时间:2012-10-12来源:网络

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) 能够对工作设备进行计划定制,传统的温备份仲裁器没有这一功能。

参考文献

[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。

1 2

关键词: Nios 软核处理器 备份 智能容错系

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版