论文部分内容阅读
工业控制领域中,系统的实时性问题应当放在极其重要的地位加以考虑。系统不仅需要保证数据采集、控制、传输等周期任务在确定时间内完成,也要保证突发事件等非周期任务的及时响应。 uClinux是一种优秀的嵌入式Linux版本,专门针对微控制领域而设计,但由于其自身并没有实时性设计,需要我们加以改进和完善。将具有实时性的嵌入式系统引入到工业控制领域,无疑有着广泛的应用空间,这一技术必将成为未来工业控制领域的发展趋势,必将成为企业谋求新一轮发展的基石。 为此,本文首先针对课题背景,以MCF5307为核心搭建系统硬件平台;使用Metrowerks CodeWarrior集成开发环境开发Bootloader程序;移植、裁减uClinux,实现了JFFS文件系统并比较了各种烧写方法;在此基础上编写了监控程序,基本满足设计需要。 针对系统实时性的不足,从处理器调度、进程调度、内核时钟三方面着手,分析了标准Linux内核的实时性能,总结出影响Linux实时性的四个主要因素:非抢占式内核、临界区关中断机制、进程调度算法软实时、时钟精度粗糙。 在综合比较四种比较典型的Linux实时化方案的实现途径、基本原理、源代码开放程度及价格等各方面因素后,选择RTAI实时应用接口方案。从RTHAL及RTAI功能模块两方面入手,详细分析了RTAI的实现原理。 随后研究了将RTAI移植到MCF5307平台的实现途径,研究了应用程序的移植过程,并通过设备访问时间的优化及设备调度器的设计进一步提高了系统的实时性能。使用逻辑分析仪LA-2124搭建测试平台,针对周期及非周期任务编写测试程序,测试结果表明uClinux+RTAI方案性能优秀,适合工业控制领域对于实时性能有着较高要求的应用场合。 最后,在总结全文的基础上,本文提出了若干有待进一步深入研究和探讨的问题,并对今后的研究工作提出了一些建议。