0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PIC18F452 单片机的嵌入式系统的开发模式与流程

MCU开发加油站 来源:未知 作者:佚名 2017-12-08 09:21 次阅读

1.前 言

嵌入式系统是指以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、体积、成本、可靠性、功耗严格要求的专用计算机系统。嵌入式系统是面向应用的,系统的硬件选型和软件开发模式都必须根据具体的应用确定。

永磁无刷直流电动机是电机控制研究领域的热点之一,这与其自身固有的技术优势密切相关:以电子换相取代了有刷直流电动机的机械换相。从根本上革除了普通有刷直流电动机由于电刷换相带来的火花、噪音、高故障率等一系列问题,同时又使系统的性能能够与普通有刷直流电动机相媲美,因此得到了广泛的应用。永磁无刷直流电动机的电子换相离不开电机的转子位置信号,传统的方法是采用霍尔器件或其他位置传感器检测位置信号,这使得系统的维护和制造都不方便,并且由于传感器的工作特性不稳定,给系统的安全运行带来了一些隐患。因此,无位置传感器方案引起了人们的极大兴趣。

本文结合无位置传感器永磁无刷直流电动机控制系统的开发,以 MICroChip 公司PIC18F452 单片机 为主控器件,并采用嵌入式实时操作系统μ C/OS-II 作为软件开发平台,详细讨论了嵌入式系统的开发模式与流程。

2. 系统硬件平台设计

嵌入式系统设计的第一步是结合具体的应用,综合考虑系统对成本、性能、可扩展性、开发周期等各个方面的要求,确定系统的主控器件,并以之为核心搭建系统硬件平台。

无位置传感器永磁无刷直流电动机控制系统的关键问题是位置检测。目前已经有了很多位置检测方案,其中,反电势法由于简单实用而得以广泛采用。反电势法的原理是:基于电机的三相端电压,通过硬件检测电路或软件算法得到三相反电势过零信号,然后用软件移相得到换相时刻,并在换相时刻按换相逻辑完成换相,触发逆变桥以合适的导通时序工作,从而保证了电机的正常运行。

反电势法的永磁无刷直流电动机无位置传感器控制对系统硬件提出了更高的要求:

① 三个外部中断输入引脚,便于捕捉三相反电势过零信号;

② 至少一个 PWM模块,实现电机的斩波调速;

③ 丰富的定时器资源,完成软件移相、测速等功能;

④ 多通道的 AD转换模块,能够采样速度给定及主电路的电流、电压信号;

⑤ 硬件乘法器,保证速度、电流调节器的快速性;

⑥ 足够的程序和数据存储器,便于系统扩展;

⑦ 高速的系统工作频率,保证系统的强实时性;

⑧ 丰富的通信模块,便于系统与其他嵌入式系统的互连。

对于无位置传感器永磁无刷直流电动机控制系统的设计,有很多专用芯片可供选用,但为了进一步提高系统性能,增强设计的灵活性,多采用 DSP 或专用 单片机 等智能器件。但是,这样在提高系统性能的同时却增加了系统开发成本。为了设计一个高性能、低成本的开发平台,针对应用对系统硬件的要求,考虑到 PIC18F452 单片机的高性价比,选用其作为主控器件。

PIC18F452 是 Microchip 公司推出的一款增强型8位单片机 ,采用精简指令集( RISC )的设计,有两级流水线,最高运行频率可达到 10MIPS ,能够满足系统对实时性的要求;指令总线 16 位宽,数据总线 8 位宽;单片机内部有 32K 字节的 FLASH 程序存储器, 1.5K 字节的数据存储器和 256 字节的 EEPROM ,便于系统的扩展;自带 8 × 8 硬件乘法器;中断资源丰富,提供 18 个中断源,两个中断优先级,并且中断优先级可配置。 PIC18F452 单片机配备了丰富的外围模块,极大地简化了单片机外围电路的设计。同时, Microchip 公司为 PIC18F 系列单片机提供了功能强大的指令集,共 77 条指令,绝大部分指令为单字( 2 个字节)存储,单周期执行,应用代码的存储压缩率高,指令执行效率高。

以 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 系列 单片机 的几种嵌入式实时操作系统

来源:广电电器

MCU开发加油站

关注MCU开发最新资讯及相关技术应用,交流MCU创新设计心得、与MCU开发达人结网同行!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43970

    浏览量

    620785
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3427

    浏览量

    128215
  • PIC18F452
    +关注

    关注

    0

    文章

    3

    浏览量

    8441
收藏 人收藏

    评论

    相关推荐

    pic18f452单片机问题求解 AD转换

    我是单片机初学者,在做实验时遇到两个问题,希望有人能够帮我解答一下,谢谢!什么情况下,使用pic18进行AD转换需要加入放大器?pic进行AD转换如果输入电压超出量程(最大参考电压),会有什么结果?
    发表于 05-07 20:10

    单片机测试信号频率

    PIC18F452单片机控制射频芯片发射13.56MHz正弦波,如何用单片机测试信号频率呢??从哪查相关资料?急求!!!
    发表于 08-22 10:58

    单片机嵌入式系统的区别 单片机嵌入式linux区别

    `在如今高速发展的社会下,电子信息技术的更新迭代相当迅速,想要不被社会淘汰,就要不断更新自己的技术水平。本文简单分析了单片机嵌入式系统的联系、组成结构对比等基础知识,并列举了几种适用于PIC
    发表于 03-16 16:22

    PIC18F系列单片机如何实现永磁无刷直流电机

    ,以Microchip公司的PIC18F452单片机为主控器件,并采用嵌入式实时操作系统μC/OS-II作为软件开发平台,详细讨论了
    发表于 08-06 06:22

    PIC18F452错误长度

    我用PIC18F452编写了一个程序,在编写程序时,上面的错误表明:MPLINK 4.12,Linker Copyright(c)2007 Micro..Inc.error-.
    发表于 10-17 07:07

    AN843十六进制代码开发18F45218C452不工作在硬件电路怎么回事

    你好,我正在做三相泵控制项目,AN843十六进制代码开发18F45218C452都工作在蛋白质模拟非常好,但不工作在硬件电路,我没有得到任何振荡引脚13和14的PIC18F452
    发表于 05-12 08:14

    怎么实现基于PIC18F系列单片机嵌入式系统设计?

    本文结合无位置传感器永磁无刷直流电动机控制系统开发,以Microchip公司的PIC18F452单片机为主控器件,并采用嵌入式实时操作
    发表于 04-29 07:00

    单片机嵌入式有何区别

    单片机嵌入式芯片平台片上资源价格应用场景不同开发模式技术特征芯片平台主流单片机平台:51、PIC
    发表于 07-13 08:47

    什么是嵌入式单片机开发嵌入式开发的区别在哪

    一、初识嵌入式1.1 什么是嵌入式?1.1.1单片机开发:1.1.2嵌入式开发:1.2 单片机
    发表于 02-24 06:29

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

    本文结合无位置传感器永磁无刷直流电动机控制系统开发,以Microchip 公司的PIC18F452 单片机为主控器件,采用嵌入式实时操作
    发表于 08-06 08:39 43次下载

    PIC18F452/PIC18F442中文资料 (闪存单片机

    PIC18F452/PIC18F352中文资料 (闪存单片机) 高性能RISC CPU:• 优化的C 语言编译器架构/ 指令集- 源代码与PIC16 指令集和
    发表于 02-23 15:27 409次下载

    读写PIC18F452內部EEPROM的实例源程序

    读写PIC18F452內部EEPROM的实例源程序  list p=18f452     #i nclude ;   ;----
    发表于 01-16 11:27 1916次阅读

    基于PIC18F452的测频仪设计

    详细阐述了PIC18F452自带的CCP模块的测频原理,同时给出了仪器软硬件的设计思路,最后在Proteus中对系统进行了仿真测试。测试结果表明了该方案的可行性。该仪器的研制也为西部望远镜
    发表于 12-22 10:05 4197次阅读
    基于<b class='flag-5'>PIC18F452</b>的测频仪设计

    基于PIC18F452的测频仪设计[图]

    摘要: 介绍一种测频仪的设计方案,并将此仪器应用到云南天文台丽江2.4m望远镜圆顶温度的测量工作中。详细阐述了PIC18F452自带的CCP模块的测频原理,同时给出了仪器软硬件的设计思路,最后
    发表于 01-19 05:01 550次阅读

    使用PIC单片机开发需要什么东西

    PIC单片机,由Microchip制造。目前,它有许多类型的单片机,具有相同替代方案的国产单片机有英锐恩的EN系列。但这里仅以PIC18F452
    发表于 06-29 14:28 2189次阅读
    使用<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b><b class='flag-5'>开发</b>需要什么东西