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扩展器的演示。

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

    关注

    6001

    文章

    43977

    浏览量

    620862
  • 操作系统
    +关注

    关注

    37

    文章

    6288

    浏览量

    121886
收藏 人收藏

    评论

    相关推荐

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

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

    义隆单片机汇编中,怎么IO口的一个位取反

    义隆单片机汇编中,怎么IO口的一个位取反。我用这样的方法不行:COMPORT5,1 请各位老师指点一下。
    发表于 07-05 18:53

    单片机实战教程怎么

    最近在发烧友网上老师看到一个广告,说单片机实战教程可以在30天帮助你学会单片机,只要298元。不知道这个广告怎么?大家对此有什么看法?
    发表于 12-18 11:52

    怎么学好单片机

    高低电平的变化控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以
    发表于 05-05 19:18

    单片机程序简化问题

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

    单片机没了晶振会怎么

    总线、存储数据的存储器等在单片机中都存在,不过不同的是它的这些部件性能相比电脑要弱很多,当然价钱也相对要低不少。我们可以用它做一些控制电器等不是很复杂的工作。它主要是作为电子产品控制部分的核心部件
    发表于 12-14 20:24

    单片机就业怎么

    `单片机就业怎么?工作好不好找?对于目前的市场需求来说,单片机还远远没有饱和,单片机已经渗透到了生活的各个领域。据统计,我国的单片机年需求
    发表于 09-23 16:11

    单片机的广泛应用

    单片机单片机是一种工具,由于可编程,所以大大简化了设计电路的复杂程度,软件可以很轻松的完成复杂的逻辑,所以
    发表于 07-13 08:10

    单片机程序是如何烧写到单片机内部的

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编
    发表于 07-13 06:26

    英飞凌单片机怎么

    英飞凌单片机怎么,最近一段时间,忙着和小伙伴们准备智能车比赛,要用到英飞凌(Infineon)的TC264型号的单片机。虽然以前没用过,但是>我*着以前学习51单片机、Stm32
    发表于 07-14 06:29

    51单片机究竟长什么

    我对于单片机的认识首先,跟大家聊聊,我对于单片机是怎么接触到的。我是从大二开始学习的单片机,因为所学的专业开设了这门课程。在此之前,我也只是听说有这么个东西叫做
    发表于 11-18 07:16

    单片机实现算法和进行复杂的运算

    单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。虽然单片机不擅长实现算法和进行复杂的运算,但在某些特定场合,不可避免地要用到数学运算。比如:在单片机进行数据采集时,会遇到数
    发表于 01-07 06:48

    什么是单片机单片机的构成

    问题的引入: 什么是单片机单片机又称之为单片机微型控制器,它不是完成某一个逻辑功能的芯片 ,而是一个计算机系统集成到一块芯片中去,概括为一句话:“微型计算机”在一片集成电路芯片上,
    发表于 01-17 06:24

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

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

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

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