芯片采购,IC采购,芯片采购平台
芯片
每日新闻头条
简化复杂设计
(2025年3月29日更新)

现在,运行实时操作系统(RTOS)大型32位单片机(MCU)和微处理器(MPU)它越来越受欢迎。然而,如果使用大型单片机处理复杂的应用程序,在执行小型背景处理任务时可能会遇到CPU虽然这些任务在资源方面并不复杂,但它们非常耗时。8位和16位MCU小型设备可用于减轻32位设备的工作负荷。

芯片采购网专注于整合国内外授权IC代理商现货资源,芯片库存实时查询,行业价格合理,采购方便IC芯片,国内专业芯片采购平台

想象一下这样一个例子: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基于搜索表的结构,扩展器运行。虚拟地址将在读取或写入之前发送。该地址与单片机上的寄存器无关——仅针对搜索表。这意味着不在单片机硬件寄存器中的功能可以透明地添加。此外,表格中的条目也可以根据特定用途轻松重新排列。该结构的另一个优点是可以向搜索表添加权限。例如,要创建一个只读寄存器,只需省略搜索表的写作条目。

存储器中的存储器

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

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

MEM OP的功能

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

解决方案的要点

基于MCU解决方案的优点是灵活性极佳。在市场上ASIC我们可以做不同的事情MCU特定于应用场景的非标准功能配置。该应用程序针对通用PIC16F15244系列MCU开发。

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

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

通过减少材料清单(BOM)电压频率转换器可以改进传统的模拟解决方案,从而降低设计面积。市场上有很多V/F转换器只需配备外部电阻和电容即可运行,而单片机只需使用通用的去耦和上拉组件(所有MCU必要组件)即可运行。

TC9400/TC9401/TC9402 10 Hz至100 kHz V/F转换器的应用原理图

MCU采用独立于内核的外设和功能组合,而不是数字化模拟技术。MCU模数转换器采用内部计算功能(ADCC)测Lumissil代理量输入信号,然后分频时钟信号,创建可变频率输出。在这个例子中,外设设置在初始化后独立CPU操作。这意味着,CPU可用于最终应用中的其他任务。

对于基于MCU挑战是性能不如模拟解决方案。输出本身的分辨率ADCC的限制。表面上看,ADCC它是12位,但它将以14位分辨率运行,具体取决于程序的配置模式。同样,数控振荡器用于合成输出频率(NCO)分辨率有限,输出中可能会有抖动,这取决于ADC测得的值。

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

解决方案框图

模拟采样模块

实现模拟采样模块

模拟采样模块负责模数转换。在设备频率限制下实现1000 kHz输出,已将ADCC配置为过采样,然后通过平均处理得到14位结果。

这种过采样配置有一个缺点,即在结果中增加额外的统计噪声,可以通过计算采样平均值和增加滞后来补偿噪声。为了实现滞后,可以使用ADCC阈值中断功能。(为了简单起见,我们只会介绍如何使用阈值中断功能的细节。

在ADCC采样平均值计算完成后,将获得的值与外设中的设定值寄存器进行比较。如果两者之间的差异大于或小于设定阈值,则触发中断。CPU它可以在不受影响的情况下阻止中断,但中断会触发直接存储器访问(DMA),将平均值处理的过采样结果复制到ADCC设定值寄存器滞后。如果不超过阈值,则不会发生DMA复制,以免触发输出振荡器模块DMA更新。

输出振荡器模块

结构输出振荡器模块

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

输出振荡器模块的核心是数控振荡器(NCO)。NCO外设的工作原理是在输入时钟的上升沿累加器增加增量值,然后根据累加器溢出导出外设的输出。NCO请参见数据手册的完整说明。

在这个例子中,已将NCO2设置内部创建所需的输入时钟频率,通过14位输入获得100 kHz输出。使用14位结果的原因是ADCC12位本身的结果不足以在没有外部时钟源的情况下产生100 kHz输出。

ADC结果

NCO1输出(翻倍)

输出频率

0x0000

0 Hz

0 Hz

0x0001

12.2 Hz

6.1 Hz

0x0100

3.1 kHz

1.6 kHz

0x1000

50 kHz

25 kHz

0x3FFF

200 kHz

100 kHz

100 kHz V/F转换器的理想输出(看门狗已关闭)。

如果改变NCO如果2的输出频率或使用备用源,则将输出频率调整到不同的输出范围。例如,如果NCO2的频率降低到1.28 MHz,最大输出为10 kHz。

ADC结果

NCO1输出频率(翻倍)

输出频率

0x0000

0 Hz

0 Hz

0x0001

1.2 Hz

0.6 Hz

0x0100

312.5 Hz

156.3 Hz

0x1000

5 kHz

2.5 kHz

0x3FFF

20 kHz

10 kHz

10 kHz V/F理想输出转换器(看门狗已关闭)。

发生器占空比

占空比发生器框图

该解决方案的空比发生器模块负责创建50%的空比输出。这是一个可直接使用的可选功能NCO输出,但这样做会增加比例的变化。

该生成器使用可配置逻辑单元(CLC)实现。CLC可配置逻辑的小模块类似于现场可编程门阵列(FPGA)单元。CLC例如,可用作离散逻辑门AND-OR或OR-XOR),锁定器或触发器也可配置。在解决方案中,CLC实现带复位功能J-K触发器。J和K保持在逻辑高电平。用于触发器的时钟输出振荡器模块。每次输入时钟脉冲都会导致输出翻转,从而产生50%的空比。注:输出振荡器模块的频率抖动会影响空比。

Timer 6用作不稳定的看门狗定时器。如果输出没有边缘(上升或下降边缘),定时器将溢出并发送时钟脉冲CLC,这可以控制输出频率范围的下限。输出转向定时器频率的一半(输出为6 Hz),而不是直流。

解决方案的要点

该示例表明,外部集成电路通常必须使用硬件外设来创建独立于核心的功能。该配置的最大优点之一是,外设操作可以在软件中设置,以便根据最终应用程序轻松设置使用调整示例。由于使用了大量的外设,选择了PIC18-Q43系列MCU实现这个例子。

详见示例资源库中的示例资源README文档。此外,示例资源库还包括在同一设备上实现频率电压转换器的实现。

总结

虽然高性能单片机和微处理器都有一席之地,但在执行小型专项任务时,有8位和16位MCU作用不容低估。这类任务不一定很复杂,但可能很耗时,或者是关键的时间任务。任务负荷减轻后,32位设备可以更容易地实现,从而提高可靠性,降低存储占用率,降低功耗。

芯片采购网|IC采购|IC代理商 - 国内专业的芯片采购平台
芯片采购网专注整合国内外授权IC代理商的现货资源,轻松采购IC芯片,是国内专业的芯片采购平台