论文部分内容阅读
8051微控制器是嵌入式控制领域的一个重要体系。它被广泛用在各种嵌入式系统中。传统上,在8051系列微处理器平台上开发的应用均是单任务执行,不能满足同时执行多个任务并要求较好的响应速度的场合。随着软硬件技术的不断进步,在8051系列单片机上实现多任务并行不仅是一种可能,而且在很多情况下成为需要。实现多任务的一种方法是在硬件系统和应用程序之间引入一个操作系统。通过操作系统实现多任务调度,使得运行的每个任务并行执行,从而获得良好的响应速度。本文工作不同于以往的通用操作系统在8051上的移植,主要研究的是在保持操作系统通用性与可读性的条件下如何进一步提高8051系统的实时性。研究工作集中在两个方面,分别是对现有重入方案和中断系统实时性的研究与改进。为提高重入函数的执行效率,本文提出了一种基于页的新型8051存储器模型。文章对8051页变量特征进行了分析,通过将这些特性与重入问题相联系,从理论角度说明了页函数支持多任务重入的原理。本文还结合开发工具对基于页的存储器模型的执行效率进行了定量分析,其结果显示基于页的存储器模型带宽是目前重入堆栈模型带宽的3.75倍。这表示新模型使多任务程序执行效率得到较大提升,接近传统单任务的紧凑模式的执行效率。我们在8051微控制器上实现了基于页的多任务模型。论文总结了实现过程中的关键技术,存在的问题及相应的对策。在中断处理方面,本文从影响实时性较大的关中断问题和中断服务程序复杂度两个方向进行了实时性的研究。我们引用了中断延时队列,分离了对核心关键数据的写同步问题,从而避免了关中断操作。同时,为提高中断服务程序的可预测性,我们使用delta链对时钟节拍中的定时器管理进行了改进。论文结合8051程序执行特征,给出了对delta链方式复杂度的证明。证明显示,delta链的时间复杂度并非在任何情况下都比目前的算法好,而且特殊情况下会更差。但是尽管如此,证明还显示delta链的大部分运算是在中断服务程序之外完成的。这使得中断服务程序时间复杂度保持为常数级O(1)。因此改进后的中断服务程序是可预测的,提高了系统实时性。本文最后还对进一步的研究方向进行了展望。