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

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

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

8位、16位、32位、64位处理器,支持大部分DSP。

目前仅支持Microchip公司的PIC18F系列单片机。

调试工具

较少

一般

非常丰富

备注

实际开发过程中可针对具体硬件优化内核,从而进一步减少内核代码,提高系统实时性。

有三个版本,Salvo Lite为免费测试版,Salvo SE为标准版,Salvo PRO为增强版。

有两个版本,CMX-RTX为完全版,CMX-TINY+为简化版本。

基于OSEK/VDX标准,但目前仅实现了其Operating System部分。


移植成功之后,就可以开始应用程序的编写工作。RTOS将面向功能的应用开发转化为了面相任务的应用开发,因此软件开发的过程就是将应用系统按照功能细分为多个任务,然后实现每个任务,并为任务确定合适的优先级;对于实时性要求高的操作,需要编写相关的中断服务程序。

永磁无刷直流电动机正常运行的基本条件是:在最佳换相时刻按最佳换相逻辑换相。这个过程对实时性要求很高,所以由中断服务程序完成。反电势过零时,程序进入反电势过零中断服务程序,该中断服务程序根据当前的电机速度设定软件移相定时器的溢出值;当软件移相定时器溢出中断时,程序进入移相定时器中断服务程序,显然,此时即最佳换相时刻。因此,在移相定时器中断服务程序中按最佳换相逻辑完成换相,就能保证电机的正常运行。此外,对于过流、过压、欠压等紧急故障的处理也必须由相应的中断服务程序完成。系统还要完成的功能有:定时采样速度给定,并将采样结果经过调节器转化为PWM波的占空比;响应键盘输入;显示电机的速度、PWM波占空比等系统状态信息;与上位PC机串口通信;系统非紧急故障的处理等等。这些功能对实时性的要求不是很高,故由任务级完成。应用系统的任务如表2所示。

表2 应用系统任务列表

任务名称

TaskAD

TaskKey

TaskShow

TaskErr

TaskCom

TaskIdle

任务优先级

2

3

4

1

5

7

任务描述

处理AD采用结果,更新PWM占空比

键盘任务

显示任务

系统非紧急故障处理任务

与上位PC机进行串行通讯

操作系统的缺省任务

系统运行时,首先进行系统初始化操作,并创建任务。所有新创建的任务都被置为就绪态,操作系统内核首先调用就绪态中优先级最高的任务运行。系统运行过程中,始终保证运行任务的优先级高于就绪态中的所有任务。当运行着的任务因等待某一事件或延时而被挂起,或者有更高优先级的任务进入了就绪态,则内核中止当前运行着的任务,把CPU的使用权交给就绪态中优先级最高的任务。当中断发生时,系统运行中断服务程序,中断返回时,系统内核将进行任务调度,将优先级最高的就绪态任务转为运行态。例如,系统运行过程中发生了AD采样完成中断,程序进入AD采样完成中断服务程序;中断服务程序向邮箱ADResult发送AD采样结果,由于任务TaskAD早先因等待邮箱ADResult而被挂起,所以此时任务TaskAD的状态被转为就绪态;中断返回时,内核进行任务调度,由于TaskAD是就绪态中优先级最高的任务(系统正常运行时TaskErr任务始终为挂起态),因此不管原先被中断的任务是什么,

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

网站地图

Top