基于PIC18F系列单片机的嵌入式系统设计

[09-12 18:13:21]   来源:http://www.88dzw.com  单片机学习   阅读:8680

文章摘要: 以PIC18F452为主控器件构成的系统硬件框图如图1所示。 值得说明的是:① 系统中的换相逻辑由可编程逻辑器件完成,主要是为了提高系统的可靠性,从功能上讲,完全可由单片机实现;② 电机的速度检测,可根据位置信号利用软件计算得来,故省略了速度传感器;③ 模拟输入为电机的速度给定信号。3.嵌入式系统软件开发模式 对于简单的应用系统,系统的软件开发模式通常如图2所示,称为前后台系统(也叫无限循环系统)。 前后台系统中,应用程序就是一个无限循环。循环中调用函数完成相应的操作,这些操作称为后台任务;中断服务程序处理异步事件,这部分称为前台行为。因为中断服务程序提供的信息一直要

基于PIC18F系列单片机的嵌入式系统设计,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

     以PIC18F452为主控器件构成的系统硬件框图如图1所示。

     值得说明的是:

① 系统中的换相逻辑由可编程逻辑器件完成,主要是为了提高系统的可靠性,从功能上讲,完全可由单片机实现;

② 电机的速度检测,可根据位置信号利用软件计算得来,故省略了速度传感器;

③ 模拟输入为电机的速度给定信号。

3.嵌入式系统软件开发模式

     对于简单的应用系统,系统的软件开发模式通常如图2所示,称为前后台系统(也叫无限循环系统)。



     前后台系统中,应用程序就是一个无限循环。循环中调用函数完成相应的操作,这些操作称为后台任务;中断服务程序处理异步事件,这部分称为前台行为。因为中断服务程序提供的信息一直要等到后台程序运行到该处理这个信息时才得到处理,所以最坏情况下的任务响应时间等于整个循环的执行时间。因为后台循环的执行周期不是常数,所以基于前后台模式的应用软件开发,虽然设计过程简单,但系统的实时性得不到保障。



     为了提高系统的实时性,可以采用基于嵌入式实时操作系统(RTOS)的软件开发模式。RTOS分为两类:非可剥夺型内核和可剥夺型内核,一般商用的都是可剥夺型内核,所以本文只讨论此类RTOS,其内核结构如图3所示。

     RTOS将整个应用细分为多个任务,每个任务完成特定的功能,并被赋予一定的优先级,拥有自己的任务控制块和栈空间。一般地,每个任务在程序结构上都是一个无限循环,它有多个状态——休眠态、就绪态、运行态、挂起态和中断态等。系统内核总是让就绪态的高优先级任务先运行,中断服务程序可抢占CPU,中断服务程序完成时,系统内核让此时就绪态中优先级最高的任务运行(不一定是被中断的任务)。可见,基于RTOS的软件开发模式使系统的任务响应时间得到了最优化。更重要的是,这种开发模式将以往面向功能的应用开发转化为面相任务的应用开发,简化了系统设计的逻辑结构;同时,由于有了RTOS,屏蔽了应用软件对底层硬件的可见性,将以往软件系统的两层结构转化为三层结构(如图4所示),极大地方便了系统的软件扩展与硬件升级。



     对于PIC18F系列单片机,目前常用的嵌入式实时操作系统有:μC/OS-II、Salvo、CMX、PIC18OS等。它们都是可剥夺型的实时内核,详细的比较如表1所示。

     结合本文的具体应用,综合考虑系统硬件资源及上述几种实时操作系统的特点,最终选用基于操作系统的软件开发模式,并选择μC/OS-II作为系统软件平台。

4.基于μC/OS-II的应用软件开发

     μC/OS-II是一个可移植、可固化、可裁剪及可剥夺型的多任务实时内核,应用开发时首先必须完成其在特定硬件上的移植。μC/OS-II在编写的过程中就充分考虑到了可移植性,它的绝大部分代码都由ANSI C写成,与处理器相关的代码集中在OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C这三个文件中,因此只要针对具体的硬件改写这些文件,就可以完成移植工作。


 

表1 适用于PIC18F系列单片机的几种嵌入式实时操作系统

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行