广告

使用特定任务的MCU简化复杂设计

2022-08-16 18:04:17 Robert Perkel,应用工程师,Microchip公司 阅读:
在当今的电子世界中,运行实时操作系统(RTOS)的大型32位微控制器(MCU)和微处理器(MPU)越来越普遍。然而,处理复杂应用的单个大型MCU,可能会遇到与小型内务管理任务相关的CPU资源问题,这些任务并不复杂,但非常耗时。较小的器件,例如8位和16位MCU,可用于从32位器件卸载这些任务。

在当今的电子世界中,运行实时操作系统(RTOS)的大型32位微控制器(MCU)和微处理器(MPU)越来越普遍。然而,处理复杂应用的单个大型MCU,可能会遇到与小型内务管理任务相关的CPU资源问题,这些任务并不复杂,但非常耗时。较小的器件,例如8位和16位MCU,可用于从32位器件卸载这些任务。mh9ednc

让我们来考虑一下以下这个示例:将32位MCU用于控制汽车的非安全功能,如娱乐系统、环境照明和空调。32位器件必须要能分配其资源来处理与这些功能相关的所有任务。一些示例包括多点测量机舱温度、打开/关闭空调系统、更新图形显示、处理用户输入、调整照明条件和播放音乐。即使对于大型32位器件,这也是很多工作。mh9ednc

但是,如果能将其中一些任务从32位器件卸载到仅负责处理其中一项或两项任务的子处理器,而在此过程中又几乎不需要监督,那么这些任务就更易于管理。这释放了主处理器上的CPU资源,从而降低了软件复杂性,同时提高了性能和执行时间。mh9ednc

该解决方案类似于MCU中外设的优势。外设是小型专用硬件模块,可以添加新功能,例如运算放大器或模数转换器(ADC),或者可以减少CPU必须为给定功能执行的工作量。在某些情况下,外设在初始化后可以独立于CPU运行。mh9ednc

例如,为了展示外设的优势,可以考虑脉宽调制(PWM)信号的生成。要在没有专用外设的情况下生成PWM,只需将I/O线设置为高电平,等待一定数量的周期,将其设置为低电平,再等待一段时间,然后重复。这会占用大量CPU周期,并且对于诸如RTOS之类的东西来说很难可靠地执行。相比之下,PWM外设可让CPU在执行其他任务的同时设置所需的波形参数。mh9ednc

本文提供的第一个示例显示了卸载CPU密集型任务的好处。在这种情况下,8位MCU用于创建I/O扩展器。I/O扩展器不是复杂的器件;然而,由于中断的频繁服务,它们使用了大量的CPU时间。通过使用专门的MCU来完成这项任务,较大的32位器件可以降低其I/O利用率和需要处理的中断数量。此外,I/O扩展器的功能集是在软件中设置的,因此可以针对应用进行定制和调整。mh9ednc

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

I/O扩展器

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

实现高级I/O扩展器

在内部,高级I/O扩展器在基于查找表的结构上运行。在读取或写入之前,会发送一个虚拟地址。该地址与MCU上的寄存器无关——它仅特定于查找表。这意味着可以透明地添加MCU硬件寄存器中所没有的功能。表格中的条目也可以很容易地重新排列以用于特定用途。这种结构的另一个好处是能够向查找表添加权限(图1)。例如,要创建一个只读寄存器,只需省略写查找表条目即可。mh9ednc

图1:高级I/O扩展器查找表中的条目可以针对特定用例轻松重新排列。mh9ednc

更复杂的结构也适用于非标准功能。“MEM OP”功能支持MCU将其当前的通用输入输出(GPIO)配置保存或加载到内存中。mh9ednc

MEM OP还可以将GPIO配置重置为编译时所设置的参数(图2)。mh9ednc

图2:MEM OP功能支持MCU将其当前的GPIO配置保存或加载到内存中。mh9ednc

或者,可以将MCU设置为在上电时加载保存的设置。如果启用,MCU会尝试加载配置0中的设置。如果配置校验和验证失败,则MCU将恢复为编译时间常数。如果不需要,可以在软件中禁用此功能。mh9ednc

此解决方案的要点

基于MCU的解决方案,其优势在于极大的灵活性。与市场上的ASIC不同,可以将MCU配置为具有特定于所用应用的非标准功能。此应用是为通用PIC16F15244系列MCU所开发的。mh9ednc

有关此实现的更多信息或想要试用此例,请参阅源存储库中的README文件。其中还提供了带有Arduino的高级I/O扩展器的演示。GitHub上提供了源代码、文档和演示。mh9ednc

电压频率(V/F)转换器

V/F转换器通过减少物料清单(BOM)和设计面积来改进传统的模拟解决方案。市场上的许多V/F转换器都需要外部电阻器和电容器才能运行,而MCU只需要通用的去耦和上拉元件(所有MCU都需要这些元件)即可运行(图3)。mh9ednc

图3:TC9400器件的应用原理图,突出显示10Hz至100kHz V/F转换器。mh9ednc

MCU不使用模拟技术进行数字化,而是使用独立于内核的外设和功能的组合。MCU使用带计算功能的内部模数转换器(ADCC)测量输入信号,然后对时钟信号进行分频以产生可变频率输出。在本例中,外设已设置为在初始化后独立于CPU运行。这意味着CPU可以用于最终应用中的其他任务。mh9ednc

基于MCU的方法有一个挑战是它的性能不如模拟解决方案。输出的分辨率本质上受ADCC的限制。名义上,ADCC是12位的,但根据程序的配置方式,ADCC以过采样的14位分辨率运行。同样,合成输出频率的片内数控振荡器(NCO)具有有限的分辨率,并且在其输出中可能存在抖动,具体取决于ADCC测量的值。mh9ednc

基于MCU的解决方案可分为三个不同的外设模块:模拟采样模块、输出振荡器模块和占空比发生器(图4)。mh9ednc

图4:三个模拟采样模块简化了基于MCU的解决方案。mh9ednc

模拟采样模块负责模数转换(图5)。为了在器件的频率限制下实现100kHz的输出,ADCC已配置为过采样,然后向下平均以获得14位结果。mh9ednc

图5:模拟采样模块的实现方式。mh9ednc

这种过采样的一个缺点是在结果中添加了额外的统计噪声。可以通过对过采样求平均值并添加滞后来补偿噪声。为了实现滞后,这里使用了ADCC的阈值中断功能。为简单起见,本文将仅介绍此示例如何使用阈值中断功能的细节。mh9ednc

当ADCC完成过采样平均值计算时,会将结果值与外设中的设定点寄存器进行比较。如果两者之差大于或小于设定阈值,则触发中断。CPU屏蔽这个中断并且不受影响,但是,此中断会触发直接存储器访问(DMA),将平均得到的过采样结果复制到ADCC的设定点寄存器,从而产生滞后。如果未超过阈值,则不会发生DMA复制,也就不会触发输出振荡器模块的DMA更新。mh9ednc

输出振荡器模块

该解决方案的输出振荡器模块负责生成所需输出频率的时钟信号。该输出信号在内部连接到占空比发生器,进而将输出频率减半,但会产生50%的占空比输出。因此,输出振荡器模块以输出频率的两倍运行。mh9ednc

输出振荡器模块的核心是NCO(图6)。NCO外设通过在输入时钟的上升沿向累加器添加增量值来工作。累加器溢出用于获得外设的输出。mh9ednc

图6:输出振荡器模块负责生成所需输出频率的时钟信号。mh9ednc

在此示例中,NCO2已设置为在内部创建所需的输入时钟频率,从而从14位输入获得100kHz输出。之所以使用14位结果,是因为来自ADCC本身的12位结果不足以在没有外部时钟源的情况下生成100kHz输出。mh9ednc

mh9ednc

表1:看门狗关闭情况下100kHz V/F转换器的理想输出。

如果改变NCO2的输出频率,或使用替代源,则输出频率将缩放到不同的输出范围。例如,如果NCO2降低到1.28MHz,则输出最大为10kHz。mh9ednc

mh9ednc

表2:看门狗关闭情况下10kHz V/F转换器的理想输出。

占空比发生器

该解决方案的占空比发生器模块负责创建50%的占空比输出(图7)。此功能是可选的,尽管占空比会在更大程度上变化,但NCO的输出可以直接使用。mh9ednc

图7:占空比发生器产生50%的占空比输出。mh9ednc

该发生器使用可配置逻辑单元(CLC)之一实现。CLC是类似于FPGA单个单元的分立可配置逻辑的小模块。CLC可用作分立逻辑门,例如AND-OR或OR-XOR。它们也可以配置为锁存器或触发器。在这个解决方案中,CLC被实现为带有复位功能的JK触发器。J和K保持在逻辑高电平。输出振荡器模块用作触发器的时钟。每个输入时钟脉冲都会导致输出切换,从而产生50%的占空比。值得注意的是,来自输出振荡器模块的频率抖动会影响占空比。mh9ednc

定时器6用作不稳定的“看门狗”定时器。如果输出没有产生边沿(上升沿或下降沿),则定时器将溢出而为CLC生成时钟脉冲。这控制了输出频率范围的低端。输出不会达到DC,而是以定时器频率的一半切换,从而获得6Hz输出。mh9ednc

此解决方案的要点

此设计示例演示了使用硬件外设来创建通常必须使用外部IC创建的独立于内核的功能。这种配置的最大好处之一是外设操作是在软件中设置的,因此很容易适应最终应用。由于使用了大量外设,因此选择了PIC18-Q43系列MCU来实现该示例。mh9ednc

有关此示例的更多信息,可以参阅示例存储库中的README文档。示例存储库还包含频率电压转换器的实现,它可以在与电压频率转换器相同的器件上实现。源代码和文档可在GitHub上获得。mh9ednc

虽然高性能MCU和MPU仍然存在,但8位和16位MCU是执行小型专业任务的宝贵工具。这些任务不一定很复杂,但它们可能很耗时或时间紧迫。通过卸载任务,32位器件可以实现更简单的实现,从而提高可靠性、减少内存使用和降低功耗。mh9ednc

(原文刊登于EDN美国版,参考链接:Deploying task-specific microcontrollers simplifies complex designs,由Franklin Zhao编译。)mh9ednc

本文为《电子技术设计》2022年9月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里mh9ednc

责编:Franklin
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 用交通状况鸟瞰图来辅助提升自动驾驶安全性 慕尼黑工业大学 (TUM) 的研究人员与行业合作伙伴合作开发了一种技术,以基于车载传感器输入和交通状况鸟瞰图来补充车辆视角。这提高了道路安全,包括自动驾驶。
  • 波兰网友玩中国产四位LED电子时钟套件,是否物有所值? 本文要介绍的是一款中国产电子时钟套件。购买的主要原因是希望获得一个MCU——目前在波兰市场上它并不比整个套件便宜多少——并检查与它相关的一件事,但最后却检查了更多。
  • 俄罗斯最大半导体工厂Mikron“贷款”70亿卢布,用于生产 为了缓解芯片荒,俄罗斯加大了对其国内芯片生产的投资。今年初,俄罗斯最大半导体制造商 Mikron 准备了一个投资项目,计划将产能扩大两倍(每月达 6000 片),用于生产 180-90nm 的芯片。不过为了实施这一项目,该公司需要大约 100 亿卢布(约 11.4 亿元人民币)。俄罗斯国有集团VEB.RF向Mikron公司提供了这笔救命钱……
  • 特斯拉车主坐在电池上开车?美国团队拆解4680电池包 4680在奥斯汀工厂生产的少量Model Y跨界车中首次亮相,能量密度方面,特斯拉4680电池是现有2170电池的五倍。根据海外车主实测,4680电池组只需52分钟就能充入97%,而且剩余电量显示为零之后依然能行驶近5公里。为了研究特斯拉4680电池的独特先进之处,从7月初开始,美国的专业拆卸公司门罗公司(Munro & Associates)的团队开始拆卸特斯拉Model Y上装载的4680电池包。
  • “惊鸿”一瞥见“星光”,赛昉科技推动RISC-V应用渐入佳 赛昉科技宣布推出全球首款量产高性能RISC-V多媒体处理器——昉·惊鸿7110(JH7110),和全球性能最高的量产RISC-V单板计算机——昉·星光 2(VisionFive 2),意味着RISC-V向高性能应用领域迈出了坚实一步。
  • 如何为无人机电机控制器设计电调模块 控制电机速度和旋转的能力,是无人机的设计关键,这就使电子调速(简称电调,ESC)模块成为无人机的一个基础增值部分。在本文中,我们将探讨设计电调和市场开发解决方案时要考虑的关键要素。
  • 极海:聚焦国产芯片高质量发展 深耕工业与汽车电子市场 在“2022国际集成电路展览会暨研讨会(IIC)”的“2022中国IC领袖峰会”上,珠海极海半导体有限公司COO曾豪发表了“聚焦国产芯片高质量发展,深耕工业与汽车电子市场”主题演讲。
  • 波兰网友拆电子式电表:为什么要用两个MCU? 转盘感应式电能表正陆续被电子式电能表取代——使用液晶显示器和非易失性存储器取代机械式计数器,并使用专门的电子测量系统代替电磁场中的转盘。本文就带大家了解下电子式电表(12EA5rn/1 PAFAL)的内部。
  • 处理器随着物联网和人工智能在演进 随着人工智能和物联网在许多行业的融合,额外的智能在安全性、可靠性、性能以及成本方面增加了一些挑战。这些芯片需要在降低功耗的同时提供具有增强性能的高速处理。其中一些芯片制造商还采用了高级压缩等技术来降低功耗,以及机器学习(ML)模型。
  • 小米公开自动驾驶路测视频,网友分析其传感方案 8月11日晚,在小米官宣正式进军电动汽车行业的500天,雷军在小米年度演讲&新品发布会行将结束之际,带来了One More Thing——首次披露了小米汽车的最新进展。虽然小米未公开传感器以及底层算力等方面的详细信息,但仍引起了网友对其传感方案的热议。
  • 2022国际集成电路展览会暨研讨会(IIC 2022)“芯”品发 在由AspenCore主办的2022国际集成电路展览会暨研讨会(IIC)(8月16-17日,南京)期间,专门为初创企业定制的“芯”品发布会将邀请电子工程专辑、半导体行业观察、集微网和张国斌等电子和半导体行业专业媒体参加媒体发布会,两家公司将重磅发布创新性的产品,分别是:侠为电子,在线设计平台—原理图设计;楷领科技,楷领凌云电子设计云平台。
  • 比亚迪公布全新电池设计:正六边形状似“蜂巢” 比亚迪在8月5日公开的一件名为《电池和具有其的电池模组、电池包》的实用新型专利,专利中提出了一款“六棱柱”电池设计,从专利图上看,该电池单体电芯呈六棱柱状,从上方看过去呈蜂巢状,有区别于目前主流的圆柱、软包、方形等电池。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了