微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于PIC18F系列单片机的嵌入式系统设计

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

时间:11-19 来源:微计算机信息 点击:


为了提高系统的实时性,可以采用基于嵌入式实时操作系统(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系列单片机的几种嵌入式实时操作系统

名称

μC/OS-II

Salvo

CMX

PIC18OS

版权

源码公开的免费实时内核

商用实时内核

商用实时内核

源码公开的免费实时内核

可靠性

可靠性高。通过了美国FAA认证。

可靠性高。

可靠性高。

未测试。

内核大小

可裁剪。内核ROM占用量最少2K,RAM需求由具体应用而定。

内核小,可裁剪。RAM需求很小,一般每个任务需4~12bytes,每个事件需3~4bytes。

较大。

非常小。内核ROM占用量小于1K,RAM最少需求约120bytes。

系统服务

丰富。最多支持64个任务。支持信号量、事件标志组、消息邮箱、消息队列、时间管理、内存管理等。

较丰富。

非常丰富。支持信号量、事件管理、消息邮箱、消息队列、内存管理、设备管理、TCP/IP协议栈等。

少。最多支持8个任务,目前仅支持事件标志,最多支持8个事件。

适用

硬件

平台

非常广泛,已经被移植到了40多种CPU上(包括PIC18F系列单片机)。

较为广泛,适用于8051系列单片机、Microchip的8位单片机、TI的2000系列DSP等。

非常广泛,适用于多种型号的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top