● 摘要
本文针对嵌入式实时操作系统在开关磁阻电机调速系统中的应用进行研究,采用AT91M55800A做为硬件系统的核心处理器,AT91M55800A是Atmel公司基于ARM7TDMI核的AT91 16/32 位微控制器家族成员之一。同时,本课题选用uClinux和实时内核RTAI相结合的双内核实时操作系统,来解决AT91M55800A没有MMU (内存管理单元)的问题。 uClinux继承了Linux的分时特性,本文总结出影响其实时性的四个主要因素:非抢占式内核、临界区关中断机制、实时进程调度算法弱实时、时钟粒度粗糙;并在综合比较了典型的Linux实时化方案的实现途径、基本原理等因素后,优选了RTAI实时应用接口方案。 其次,本文研究了 RTAI的原理和实现机制,生成和测试了RTAI 实时内核原型,并与标准Linux进行了对比,测试结果表明:RTAI的中断延迟时间小于3微秒,上下文切换时间小于2微秒,明显改善了Linux的实时性。 经过研究和实践,本文实现了U-boot在硬件平台上的移植,实现了通过U-boot下载内核的功能。进而完成了双内核实时操作系统(uClinux+RTAI)在硬件平台上的移植,成功构建了一个实时软件开发平台。同时,初步改善了RTAI缺乏对多种调度算法支持的问题,也即:扩展实现了RM(单调速率)调度算法和 EDF(最早时限优先)调度算法。 最终,系统测试表明,双内核实时操作系统(uClinux+RTAI)在控制系统中能够稳定运行,并满足系统实时性要求。