新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PIC单片机的永磁无刷直流电动机控制系统的开发

基于PIC单片机的永磁无刷直流电动机控制系统的开发

作者: 时间:2012-04-12 来源:网络 收藏

值得说明的是:

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

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

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

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

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

22.jpg

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

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

33.jpg

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

44.jpg

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



评论


相关推荐

技术专区

关闭