基于S3C2410芯片的掉电保护系统设计
2016-12-19宋启祥
周 玮,宋启祥
(宿州学院,安徽 宿州 234000)
基于S3C2410芯片的掉电保护系统设计
周 玮,宋启祥
(宿州学院,安徽 宿州 234000)
云计算数据中心UPS的要求较高,为了在断电时能正常运行系统,基于ARM9系列的S3C2410,使用μC/OS-II内核实现了断电保护系统.通过分析掉电保护基本硬件平台,首先进行基于S3C2410芯片的精简掉电保护模块设计:UART控制模块、电源模块、晶震模块和JTAG电路模块.然后,进行了断电保护电路硬件芯片设计.最后,给出了整体系统软件程序设计:等待捕获方式和μC/OS-II内核调用方式.基于S3C2410芯片和μC/OS-II内核的掉电保护系统解决了数据中心供电系统中掉电保护的需求,能够实时捕捉到掉电信号并保存系统状态,恢复现场数据.
ARM;掉电保护;UPS
云计算数据中心对电源要求较高,突然掉电不仅有可能对电子设备产生巨大的冲击,而且可能丢失系统内的数据,对云存储会带来灾难性的后果.因此,断电保护是必要的,一旦电源不能正常供电,瞬时系统信号脉冲将启动断电备用装置,从而保证核心设备的重要数据并保存恢复系统当前状态,保证系统的正常运行[1].
本文主要研究了ARM9平台的S3C2410芯片,并设计了基于μC/OS-II内核的掉电保护系统,能够为云计算数据中心UPS提供更安全稳定的供电保护.
1 系统平台
本系统基于ARM9的S3C2410芯片,并结合μC/OS-II内核构建嵌入式平台的断电防护.
ARM9系列芯片相比ARM7系列有更高的处理能力,能并行处理数据,提高了系统整体性能.外部中断请求会在外部中断引脚有效(一般是低电平),和程序状态登记相关(控制位)设置为允许处理器响应[2].响应处理器进入中断模式后,PC装入中断矢量0x00000018.当想要执行中断的位置装入了中断入口程序后,就可以在该位置执行中断程序[3].
μC/OS-II 操作系统集成了完整操作系统的功能,可以同时执行多任务处理,实时抢占,任务时间规划等功能,操作系统可以通过判断任务优先级对任务队列中的消息进行处理,具有独立性、准确性、可扩展性和可移植性等优点,方便程序编程实现.它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得更容易,使应用程序的设计过程减化[4].
2 掉电保护硬件平台
掉电电路硬件平台如图1所示,整个平台基于ARM9系列的S3C2410芯片.S3C2410芯片通过总线与SDRAM和NAND FLASH进行数据交互,用户可通过可编程器件将程序写入缓存,S3C2410芯片接入以太网控制器,可以直接通过PHY芯片引出以太网接口.芯片外接可扩展接口,通过输入输出扩展接入扩展输入输出设备.S3C2410外部数据总线(双向、32位)支持外部8位、16位、32位的数据宽度[5].
图1 基于S3C2410芯片的硬件平台
基于ARM9系列的嵌入式硬件断电保护思想是当系统检测到掉电数据时,由于SDRAM中的数据丢失,对掉电数据产生实时响应,并将SDRAM数据写入到NAND Flash中.
SDRAM:单片机程序为了保证高效快速运行,数据加载在SDRAM中.如果遇到单片机掉电,会造成SDRAM中的数据丢失,给用户带来困扰,因此,在系统掉电后需要将数据导入到NAND Flash中.
NAND Flash:其内部采用非线性宏观单元模型,实现了固态海量存储器,适合大量数据的存储,通过总线连接SDRAM.其存取数据低于SDRAM,但能够进行掉电保护.
经过分析,使用中断复位控制进行掉电保护信息量小,不利于大规模文件的掉电保护设计.因此,我们设计了基于μC/OS-II内核的掉电保护.
3 基于μC/OS-II的掉电保护设计
3.1 系统模块设计
为了保证单片机功能的正常运行,引入断电保护电路设计,简化了系统的功能模块.S3C2410功能模块如图2所示,整个系统由UART控制电路、电源电路、晶震电路、JTAG电路构成.
图2 系统模块框架
各模块功能如下:
(1)晶震电路:给整个系统提供时钟信号.无源晶震精度好,温漂比较小;有源晶震精度最好,温漂极小[6-7].该系统选择有源晶震作为不同频率的运作速度.
(2)UART控制电路:使用标准的TTL/CMOS逻辑电平(0~5v、0~3.3v、0~2.5v或0~1.8v)表示数据,发送数据时,UART接收来自CPU的数据;接收数据时,UART将数据写入缓冲区供CPU读取.
(3)电源电路:该系统使用5V电源,部分外设使用3.3V电源.为了增加带断电保护的电源设计功能,该系统电源硬件设计了专门的断电保护电路.
(4)JTAG接口电路:由1根主复位信号,4根接口线路构成.
3.2 断电保护电路设计
整个保护电路设计的思想是当系统在外界失电的情况下,产生掉电信号并记录系统当前的状态,当系统供电正常后,恢复系统原始数据并恢复系统当前状态,电路如图3所示.
图3 电源电路图
当电源掉电时,该系统可以提供以下功能:①为系统提供预警功能.当供电设备由于外界因素不能正常供电时,电路回路产生低压预警信号,LM78M05模块检测到该信号,发出中断请求信号,开始启用预备供电回路.②为整个系统掉电提供延时,给用户一定响应时间,减轻对电子器件的伤害.当外界电源中断时,电路回路通过电容放电,可以延长系统的供电时间,保护系统基本模块数据和状态.
3.3 断电保护软件设计
基于μC/OS-II系统获取断电信息的流程和工作原理是:
(1)利用等待捕获的方式,主服务程序通过子进程监控系统产生的数据,当系统检测到低电平信号时,设置掉电标志物,保存系统状态信息,读取关键部件文件信息并保存.
(2)使用系统提供调用方式,通过函数调用捕获掉电信号.在μC/OS-II中,共有31个系统中断信号,其中掉电信号为SIGPWR,如果掉电中断服务程序中断服务无效,中断服务和信号通过内部信号关联[8].
系统上电时初始化状态信息,配置模块参数,创建放子进程数组,存放子进程编号,创建管道文件描述数组,创建读取掉电子进程,初始化工作结束后,工作流程如图4所示:
(1)掉电进程监控到电路中断信号,管道通信信息告诉主进程判断中断信号,主进程实施断电系统保护程序.
(2)主进程获取系统函数调用值,当监测到函数的特定中断信号结果值时,主进程启动状态保护设置,保存模块数据信息.
图4 掉电系统软件算法处理流程
掉电系统软件保护主要是通过系统函数调用和等待捕获信号的方式检测掉电信号,对系统提供保护.由于μC/OS-II系统信号机制自身存在的信号丢失的问题,并不能完全保证掉电防护的可靠进行,因此,使用等待捕获信号的方式对系统的掉电防护提供了进一步的保障.
4 结束语
基于ARM9的S3C2410芯片的掉电保护系统满足了云计算数据中心中对UPS电源可靠性的要求.本文通过从硬件层和软件层设计合理的掉电保护装置,使得系统在失去外界供电的时候,可以快速捕捉到掉电信号,记录系统当前的状态,当系统供电正常后,恢复系统原始数据并恢复系统当前状态.通过软件系统的优化,使得掉电信号的监测更加可靠,解决了传统通过系统内核函数调用信号丢失的问题,基于ARM的单片机掉电保护系统在数据中心电源系统中有很强的实用价值.
[1]张茂.基于51单片机的路灯照明系统定时器的设计[J].中国照明电器,2014(12).
[2]彭丽霞.一种实用的电源监测仪设计[J].机电一体化,2012(09).
[3]李明明,王全忠,郭伟,郑永瑞.一种NOR FLASH控制器验证平台的研究[J].现代电子技术,2015(10).
[4]陈超文,彭国杰,王忆文,李辉.基于PLB总线的NOR FLASH控制器设计[J].微电子学与计算机,2014(05).
[5]JING-HU L,,XING-BAO Z,MING-YAN Y.A1.2-V Piecewise Curvature-Corrected Bandgap Referencein0.5μm CMOS Process[C]//Very Large Scale Integration (VLSI) Systems,IEEE Transactions on,2011.
[6]Bendali,A.,Audet,Y.A 1-V CMOS Current Reference With Temperature and Process Compensation[C]//Circuits and Systems I:Regular Papers,IEEE Transactions on,2007.
[7]Eyee Hyun Nam,Bryan Suk JoonKim,HyeonsangEom,SangLyulMin.Ozone:An Out-of-Order Flash Memory Controller Architecture[C]//IEEE Transactions on Computers,2011.
[8]HildermanV,Baghi T.Avionics certification:a complete guide to DO-178B and DO-254 (hardware)[M]//Digital Arionics Handbook,2007.
(责任编辑:王前)
Power-fail Protection System Based on S3C2410 Chip Design
ZHOU Wei,SONG Qi-xiang
(SUZHOUUniversity,SUZHOU,Anhui234000,China)
In order to ensure the system run normally, the uC/OS- II kernel power-fail protection system was designed by using S3C2410 based on ARM9. Basic hardware platform based on the analysis of power-fail protection was analyzed. Based on S3C2410 chip and uC/OS-II kernel power-fail protect -ion system, it can satisfy the data center of power-fail protection demand of power supply system. At the same time, it can capture the real-time electrical signal and save the system state, restore the scene data.
ARM; Power-fail protection; UPS
10.13877/j.cnki.cn22-1284.2016.08.006
2016-06-23
2014年省级质量工程教学研究重点项目(2014jyxm380);2014年宿州学院一般科研项目(2014yyb05)
周玮,女,湖南永顺人,教师.
TP31.2
A
1008-7974(2016)04-0020-03