基于PIC18Fxx的永磁无刷直流电动机控制系统的开发
时性,可以采用基于嵌入式实时操作系统(RTOS)的软件开发模式。RTOS分为两类:非可剥夺型内核和可剥夺型内核,一般商用的都是可剥夺型内核,所以本文只讨论此类RTOS,其内核结构如图3所示。 RTOS将整个应用细分为多个任务,每个任务完成特定的功能,并被赋予一定的优先级,拥有自己的任务控制块和栈空间。一般地,每个任务在程序结构上都是一个无限循环,它有多个状态--休眠态、就绪态、运行态、挂起态和中断态等。系统内核总是让就绪态的高优先级任务先运行,中断服务程序可抢占CPU,中断服务程序完成时,系统内核让此时就绪态中优先级最高的任务运行(不一定是被中断的任务)。可见,基于RTOS的软件开发模式使系统的任务响应时间得到了最优化。更重要的是,这种开发模式将以往面向功能的应用开发转化为面相任务的应用开发,简化了系统设计的逻辑结构;同时,由于有了RTOS,屏蔽了应用软件对底层硬件的可见性,将以往软件系统的两层结构转化为三层结构(如图4所示),极大地方便了系统的软件扩展与硬件升级。 对于PIC18F系列单片机,目前常用的嵌入式实时操作系统有:μC/OS-II、Salvo、CMX、PIC18OS等。它们都是可剥夺型的实时内核,详细的比较如表1所示。 表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等。 非常广泛,适用于多种型号的8位、16位、32位、64位处理器,支持大部分DSP。 目前仅支持Microchip公司的PIC18F系列单片机。 调试工具 较少 一般 非常丰富 少 备注 实际开发过程中可针对具体硬件优化内核,从而进一步减少内核代码,提高系统实时性。 有三个版本,Salvo Lite为免费测试版,Salvo SE为标准版,Salvo PRO为增强版。
- 基于集成芯片的ABS驱动电路设计(08-02)
- 汽车用永磁无刷直流电机技术原理(05-23)
- 基于AVR单片机的电动代步车控制器(07-10)
- 现代汽车电子技术综述(06-24)
- 基于uClinux的汽车黑匣子的设计(06-28)
- MicroBlaze微处理器在实时汽车系统中的应用(10-01)