内核独立外设(CIP)是Microchip Technology创造的一个术语,用于描述一种不寻常的控制方案,其中外设不依赖于中央处理单元(CPU)的输入。 Microchip声称,这些可自我维持的外设可以释放CPU的使用量,增加功耗节省,减少开发时间,并且可以通过Microchip图形编程工具轻松配置。
Microchip的PIC和AVR微控制器架构均提供了丰富的外设。 Microchip以广泛的MCU闻名,这些MCU提供了灵活的应用方式。这样可以为开发人员带来更多的创意控制权,但是CIP的功能是什么?它如何工作? CIP会干扰灵活性还是增加灵活性?

请记住 微控制器(MCU)与微处理器(MPU)不同)。主要区别之一是MCU具有单个内核,并且不能同时处理多个线程。 MCU一次仅运行一个控制回路。为多个控制回路服务的MCU如果已经同时处理了另一个中断(即竞争的输入信号),则可能会错过中断。虽然大多数人所说的MCU没有精美的多核处理器,但它们可以装载现成的外设,内置的模数转换器以及从简陋的USART串行输入到复杂接口(如复杂接口)的多个接口。现代USB。使用MCU,I / O,外围设备,计时器,现成的软件生成功能以及接口及其协议的各种组合几乎是无限的。
CIP提供了一些基于外设的预编程事件编程方式。称为事件系统的事件可以触发基于通用输入/输出(GPIO)的事件。这是Microchip术语令人困惑的地方,因为我不会将事件系统称为外围设备,但这是Microchip在这种情况下引用它的方式。

ATTTINT817的事件系统提供了基于计时器/计数器,ADC,比较器,外部端口或系统时钟生成事件的输入选项。 (请注意,其他MCU可能会提供其他或不同的触发选择).MCU某处生成的事件也可以用于触发同一微控制器上的另一个事件。再次,这回避了处理器,处理器正忙于运行控制循环并监视中断。

由于缺少更好的解释方法,CIP可以使用外围设备作为输入/输出来管理IF-THEN功能。例如,假设连接到MCU上比较器输入引脚的电压超过了指定的阈值,并且比较器的输出被设置为高电平。我们可以使用事件系统获取比较器输出,并触发同一MCU上其他引脚上电压的A到D转换。
CIP控制基于硬件,不会影响MCU的处理器。 Microchip设计了一些相当复杂的控制可能性,这些通常可以避免软件编程。这就是Microchip声称节省时间并减少编程要求的地方。基于CIP计时器的内部或外部事件的控制和测量可以包括脉冲宽度调制(PWM),单次生成,周期性中断,事件上的输入捕获,数字信号的时间和频率测量以及降噪功能。
CIP旨在根据开发人员必须编写,调试,测试并将其集成到MCU服务的整个方案(或系统)的软件代码来自动执行处理器通常执行的任务。
具有CIP的MCU是否可以为开发人员带来更多的创意控制?是。升级到MPU之前,应研究具有CIP的MCU,这可能比MCU更为复杂。随着产品应用程序的成熟并添加更多功能,CIP使您可以将其保持简单一点的时间。
CIP是否会干扰设计灵活性,还是会增加灵活性? Microchip再次做到了这一点,无需多个线程即可扩展MCU的功能(这需要在单个内核上使用操作系统)。具有CIP的MCU可能使您避免升级到多个内核。具有CIP的MCU提供了更多的余量,使您可以在晚上入睡,而不必担心控制方案可能会引起竞争性中断,而忽略了这种中断。具有CIP的MCU可以减少可能占用内核的软件和中断数量。也许可以降低工作频率以降低功耗要求。事件系统由于不使用处理器,因此可以通过完全绕过中断来消除延迟。 CIP是Microchip与单核MCU并行执行事件的解决方案。
如果您想更深入地研究细节, Microchip的精彩视频介绍了CIP的工作原理 使用示例和时序图来明显展示其优势。 (您可能希望在YouTube设置中将视频的速度降低到0.75。该视频似乎有点像可汗学院,但是以一种很好的方式。)显然,我们在这里只是涉及CIP的内容,但是绝对值得看一下: 具有CIP的Microchip MCU.
感谢您在核心独立外围设备方面的出色帖子!
有几个小问题可以进一步解决问题:
–tiny817控制器的名称有错字。应该是ATTINY817。
–在图3下的标题中,您描述了它显示了“与图2中执行的按钮按下中断设置相同”. I suggest that “interrupt” is replaced with “behavior” in this sentence, since there is technically no 打断 being executed when the button signal is connected to the Event System like this.
问候
克里斯蒂安·萨克斯鲁德·贝克肯
高级应用工程师
Microchip Technology Inc.
您能否请您的同事更正ATTINY212 / 412的完整数据表,PORTMUX完全错误,定时器TCA0,TCB0,TCD0也被弄乱了。检查atdf文件中的XML描述与数据表中的内容完全矛盾。
该芯片目前在市场上及其生产中,所以我建议花一点时间来纠正最重要的问题“Datasheet”而不是仅从较大的引脚系列的相同数据表复制/粘贴到较小的引脚系列。
在第104页的PORTMUX表格中,CTRLC在哪里?
请纠正!
BR。