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

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

3天内不再提示

怎么样把单片机来简化复杂设计

麦辣鸡腿堡 来源:Microchip微芯 作者:Robert Perke 2023-01-22 14:44 次阅读

如今,运行实时操作系统(RTOS)的大型32位单片机MCU)和微处理器(MPU)日益普及。不过,如果使用一个大型单片机处理复杂的应用,可能会在执行小型后台处理任务时遇到CPU资源方面的问题,这些任务虽然并不复杂,但十分耗时。8位和16位MCU等小型器件可用于减轻32位器件的工作负荷。

试想一下这样一个示例:将一个32位MCU用于控制汽车的非安全功能,如娱乐系统、环境照明和空调。此32位器件必须对其资源进行分配,以便处理与这些功能相关的所有任务。这样的任务还包括测量驾驶室内多个点的温度、打开/关闭空调系统、更新图形显示、处理用户输入、调整照明条件和播放音乐。即使对于大型32位器件,这些工作量也过于繁重。

但是,如果32位器件将部分任务负荷转移给几乎不需要监控的子处理器,每个子处理器仅负责处理其中的1或2个任务,那么这些任务会更易于管理。这可以释放主处理器上的CPU资源,从而降低软件的复杂性,同时提高性能并缩短执行时间。

这种解决方案与单片机中的外设有异曲同工之妙。外设是专用硬件的小型模块,可以添加新功能(例如运算放大器模数转换器),也可以减少执行给定功能时CPU必须承担的工作量。在某些情况下,初始化后,外设可独立于CPU运行。

为了说明外设的优势,我们以产生脉宽调制(PWM)信号为例。要在没有专用外设的情况下产生PWM,只需将I/O线设为高电平,等待一定数量的周期后,将其设为低电平,再等待一段时间,然后重复操作。这会占用大量CPU周期,并且对于某些功能(如RTOS)来说,难以可靠地执行。相比之下,PWM外设允许CPU在执行其他任务的同时设置所需的波形参数

本文中介绍的第一个示例说明了减轻CPU密集型任务负荷的优势。在该案例中,使用了一个8位MCU来创建I/O扩展器。I/O扩展器并不复杂;然而,由于需要频繁处理中断,因此它们会占用大量的CPU时间。通过使用专用MCU来完成这项任务,大型32位器件可以减少I/O使用和需要处理的中断次数。此外,I/O扩展器的功能集可在软件中设置,因此支持针对应用进行定制和调整。

本文中的第二个示例以创建独立于CPU运行的电压频率(V/F)转换器为例,展示了独立于内核的外设的性能。在这个示例中,CPU的唯一功能是初始化外设并将调试打印消息发送到UART。在大型系统中,当V/F在后台运行时,CPU可以执行另一个简单的任务。

I/O扩展器

使用8位MCU创建I/O扩展器的最大好处是提高灵活性。I/O扩展器ASIC的功能集已嵌入到器件中,而MCU可基于其执行的软件定义其行为。这种灵活性使基于MCU的版本能够满足最终应用的需求。

实现高级I/O扩展器

在器件内部,高级I/O扩展器在基于查找表的结构上运行。在读取或写入之前,会发送一个虚拟地址。该地址与单片机上的寄存器无关——仅特定于查找表。这意味着,可以透明地添加不在单片机硬件寄存器中的功能。此外,还可以针对特定用途,轻松地重新排列表格中的条目。这种结构的另一个优势是,能够向查找表添加权限。例如,要创建一个只读寄存器,只需省略查找表的写条目即可。

poYBAGO3wrCAf2P1AAIOaxhlKqs272.png

这种较为复杂的结构也适用于非标准功能。“MEM OP”功能允许MCU将其当前的通用输入和输出(GPIO)配置保存或加载到存储器中。

pYYBAGO3wsyAGHhZAAEuNUMcMNU300.png

器件中的存储器存储

MEM OP也可以将GPIO配置重置为编译时设置的参数。

poYBAGO3wuGAa9XXAAH3jnUxh04700.png

注:并非所有字段均可用于所有操作

MEM OP的功能

此外,也可以选择将单片机设置为在上电时加载保存的设置。如果已使能,单片机会尝试加载配置0中的设置。如果配置执行校验和验证失败,则MCU将恢复为编译时常数。如果不需要,可以在软件中禁用此功能。

该解决方案的要点

基于MCU的解决方案的优势在于出色的灵活性。与市场上的ASIC不同,我们可以为MCU配置特定于应用场景的非标准功能。此应用程序针对通用PIC16F15244系列MCU开发。

如需深入了解该实现或想要试用该示例,请参见源资源库中的README文件。此外,还提供带有Arduino的高级I/O扩展器的演示。

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

    关注

    6037

    文章

    44558

    浏览量

    635311
  • 操作系统
    +关注

    关注

    37

    文章

    6825

    浏览量

    123332
收藏 人收藏

    评论

    相关推荐

    部署处理特定任务的单片机简化复杂设计

    摘要:处理特定任务的单片机可减轻主单片机或微处理器的任务和工作负荷,从而有助于简化各种应用的设计流程。   如今,运行实时操作系统(RTOS)的大型32位单片机(MCU)和微处理器(M
    的头像 发表于 05-11 15:39 2454次阅读
    部署处理特定任务的<b class='flag-5'>单片机</b><b class='flag-5'>来</b><b class='flag-5'>简化</b><b class='flag-5'>复杂</b>设计

    单片机程序简化问题

    请问单片机的程序简化应该从哪些方面入手,才可以使单片机的运行速度加快?
    发表于 04-07 17:01

    双机热备单片机系统内部通信接口的简化设计

    双机热备单片机系统内部通信接口的简化设计 分析了工业测控系统中双机热备单片机系统内部通信的特点,以简化设计,降低成本,降低系统复杂度为目标
    发表于 10-01 22:02 13次下载

    单片机大虾是怎么炼成的

    单片机大虾是怎么炼成的 强烈要求学习单片机的同志们看完!前言:近来在论坛总是见到一些菜鸟们在大叫:“我想学单片机”,“我要学单片机”,
    发表于 04-09 14:20 35次下载

    单片机应用技术》笔试试题

    单片机应用技术》笔试试题
    发表于 09-19 20:26 44次下载

    基于单片机双CPU构成的复杂系统应用研究

    介绍了单片机双CPU构成复杂系统的电路以及该系统的几种应用实例。    关键词:单片机,双CPU,总线,数据存储器
    发表于 05-06 20:44 641次阅读
    基于<b class='flag-5'>单片机</b>双CPU构成的<b class='flag-5'>复杂</b>系统应用研究

    单片机,单片机是什么意思

    单片机,单片机是什么意思 1、什么是单片机 单片机是一种集成在电路芯片,是采用超大规模集成电路技术具有数据处理
    发表于 03-11 09:12 8940次阅读

    烧录单片机的步骤

    单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一。只是不同的
    发表于 07-03 17:24 6025次阅读

    怎么51单片机的程序移植到AVR单片机

    讲解如何51单片机的程序移植到AVR单片机
    的头像 发表于 07-10 04:18 6918次阅读
    怎么<b class='flag-5'>样</b><b class='flag-5'>把</b>51<b class='flag-5'>单片机</b>的程序移植到AVR<b class='flag-5'>单片机</b>中

    怎么才能学好单片机

    ,它的资料比较多,用的人也较多,市场也很大,51单片机内部结构比较简单,非常适合初学者学习,建议初学者将51单片机做为入门级芯片。单片机属于硬件,我强烈不推荐大家使用单片机仿真软件
    的头像 发表于 10-04 10:01 3395次阅读

    单片机选择的原则有哪些

    根据设计任务的复杂程度决定选择什么单片机研发阶段,推荐使用Flash单片机,它有电写入、电擦除的优点,使得修改程序很方便,可以提高开发
    发表于 07-03 18:12 14次下载
    <b class='flag-5'>单片机</b>选择的原则有哪些

    简化单片机的几个基本概念,你都了解吗?

    我们思考一个问题,当我们在编程器中一条指令写进单片机内部,然后取下单片机单片机就可以执行这条指令。 那么这条指令一定保存在
    发表于 02-24 07:27 7次下载
    <b class='flag-5'>简化</b><b class='flag-5'>单片机</b>的几个基本概念,你都了解吗?

    单片机升级

    我了解的单片机升级有两种:一种是通过单片机的程序走得,自动升级。需要单片机当前软件支持的第二种是模拟烧写器,不需要单片机当前软件支持的。1.
    发表于 11-15 11:51 5次下载
    <b class='flag-5'>单片机</b>升级

    处理特定任务的单片机简化复杂设计

    处理特定任务的单片机可减轻主单片机或微处理器的任务和工作负荷,从而有助于简化各 种应用的设计流程
    发表于 05-17 11:04 2次下载

    单片机选型的基本原则你都知道吗

    如何选择单片机,首先也是最重要的一点就是考虑功能要求,即设计的对象是什么,要完成什么的 任务,再根据设计任务的复杂程度决定选择什么
    发表于 03-20 11:17 1001次阅读