• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • DesignFast
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

Core independent peripherals have zero dependence on CPUs…really?

April 20, 2018 By Scott Thornton 2 Comments

The Core Independent Peripheral (CIP) is a term coined by Microchip Technology to describe an unusual control scheme whereby peripherals do not rely upon input from the Central Processing Unit (CPU). Microchip claims that these self-sustaining peripherals free up the CPU, increase power savings, reduce development time and are easily configured with Microchip graphical programming tools.

Both Microchip’s PIC and AVR microcontroller architectures offer an abundance of peripherals. Microchip is well-known for a wide range of MCUs that offer flexibility in how they can be applied. This leads to more creative control for developers, but what’s this CIPs function, and how does it work? Will CIP interfere with flexibility, or add to it?

core independent peripherals
Figure 1: Microchip’s MCUs with Core Independent Peripherals allow you to use event-driven, hardware-based logic to side-step the processor to the extent that most would not have thought possible. True to Microchip form, CIPs place creativity in the hands of the developer. Source: Screenshot of Microchip Episode 4 Core Independent Peripherals on Youtube.com.

 

Keep in mind that microcontrollers (MCUs) are different from microprocessors (MPUs). One of the main differences is that MCUs have a single core and do not handle multiple simultaneous threads. MCUs run only one control loop at a time. An MCU that’s servicing several control loops can miss an interrupt if it’s already handling another interrupt (i.e., a competing input signal) at the same time. While what most people call MCUs do not have fancy multi-core processors, they can be loaded with ready-to-connect peripherals, built-in analog-to-digital converters, and multiple interfaces from the humble USART serial input to sophisticated interfaces like modern USB. With MCUs, the various combinations of I/O, peripherals, timers, ready-made software-generated functions, and interfaces and their protocols are nearly infinite.

CIPs offer a somewhat pre-packaged means of programming events based on peripherals. Something called the Event System can trigger events based on General Purpose Input/Output (GPIO). This is where the Microchip terminology gets a bit confusing because I wouldn’t call the Event System a peripheral, but this is how Microchip refers to it in this context.

Figure 2: The blue waveform is a toggling I/O pin controlled by a core. A button press (leftmost arrow) connected to the input causes the core to set a timer (orange waveform). Latency both before and after the button press is visible. An interrupt in progress can cause another signal to be missed. Source: Screenshot of Microchip Episode 4 Core Independent Peripherals on Youtube (4:45).

The Event  System for the ATTTINT817 offers the input options of generating an event based on a timer/counter, an ADC, comparator, an external port, or a system clock. (Note that other MCUs may offer a different or additional choice of triggers.)  An event generated somewhere on the MCU can also be used to trigger another event on the same microcontroller. Again, this side-steps the processor, which is busy running control loops and monitoring for interrupts.

Figure 3: The same button-press interrupt set-up as executed in Figure 2, but using CIPs, which bypass the core altogether. The blue waveform is a toggling I/O pin controlled by the core that is interrupted by a button press connected to the input. This time there is zero latency. Source: Screenshot of Microchip Episode 4 Core Independent Peripherals on Youtube (9:39).

The CIP can be used to manage IF-THEN functions using peripherals as input/output, for lack of a better way to explain it. For example, let’s say that a voltage connected to a comparator input pin on the MCU goes beyond a specified threshold and the output of the comparator is set to go high. We can use the Event System to take the comparator output and trigger an A-to-D conversion of a voltage on another pin somewhere else on the same MCU.

CIP control is based on hardware and does not affect the MCU’s processor. Microchip has designed some rather complex control possibilities that side-step software programming in the usual sense. This is where Microchip’s claim of saving time with reduced programming requirements comes from. CIP timer-based control and measurement of internal or external events can include pulse width modulation (PWM), single-shot generation, periodic interrupt, input capture on event, time and frequency measurements of digital signals, and noise-canceling capability.

CIPs are meant to automate tasks that have customarily been executed by the processor based on software code that a developer has to write, debug, test, and integrate into the entire scheme (or system) that the MCU services.

Does an MCU with CIPs lead to more creative control for developers? Yes. MCUs with CIPs should be investigated before you move up to an MPU, which can be more complicated than an MCU. CIPs allow you to keep it simple a little longer as the product application matures and adds more features.

Do CIPs interfere with design flexibility, or add to that flexibility? Microchip has done it again, extending the capability of MCUs without requiring multiple threads (which requires an operating system on a single core). MCUs with CIPs might allow you to avoid upgrading to multiple cores. MCUs with CIPs offer a little more allowance to let you sleep at night without worrying about control schemes with the potential for competing interrupts where one goes ignored. MCUs with CIPs can reduce the amount of software and interrupts that can tie up the core. And perhaps the operating frequency can be lowered to reduce power requirements. The Event System can eliminate latency by bypassing interrupts altogether because it doesn’t use the processor. CIPs are Microchip’s solution to executing events in parallel with a single core MCU.

If you want to dig deeper into the details, Microchip has an excellent video that explains how CIPs work using examples and timing diagrams that visibly demonstrate the benefits. (You might want to reduce the speed of the video to 0.75 in YouTube settings. The video seems a bit like Khan Academy— but in a good way.) It’s apparent that we have just scratched the surface regarding CIPs here, but it’s definitely worth taking a look at: Microchip MCUs with CIPs.

Filed Under: FAQ, Featured, microcontroller Tagged With: basics, FAQ, microchiptechnologyinc

Reader Interactions

Comments

  1. Kristian Saxrud Bekken says

    July 10, 2018 at 3:51 am

    Thank you for a great post on core independent peripherals!

    There are a couple of small fixes that could clear things up even more:

    – The name of the tiny817 controller has a typo. It should be ATTINY817.

    – In the caption under Figure 3 you describe that it shows “the same button-press interrupt set-up as executed in Figure 2”. I suggest that “interrupt” is replaced with “behavior” in this sentence, since there is technically no interrupt being executed when the button signal is connected to the Event System like this.

    Regards
    Kristian Saxrud Bekken
    Senior Applications Engineer
    Microchip Technology Inc.

    Reply
    • Moe says

      October 24, 2018 at 5:50 am

      Could you please ask your collegues to correct the complete datasheet of ATTINY212/412, the PORTMUX is completly wrong, the timers TCA0, TCB0, TCD0 are alse messed up. checking the XML description in the atdf file contradicts completly whats in the datasheet.

      this chip right now is in the market and its in production, so I suggest to take a little bit of time to correct the most important thing which is “Datasheet” instead of just copying/pasting from same datasheet of the bigger pin family to the smaller.

      in page 104, PORTMUX tabel, where is the CTRLC ???

      Please correct!
      BR.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Five challenges for developing next-generation ADAS and autonomous vehicles

Securing IoT devices against quantum computing risks

RISC-V implementation strategies for certification of safety-critical systems

What’s new with Matter: how Matter 1.4 is reshaping interoperability and energy management

Edge AI: Revolutionizing real-time data processing and automation

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: 5G Technology
This Tech Toolbox covers the basics of 5G technology plus a story about how engineers designed and built a prototype DSL router mostly from old cellphone parts. Download this first 5G/wired/wireless communications Tech Toolbox to learn more!

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

DesignFast

Design Fast Logo
Component Selection Made Simple.

Try it Today
design fast globle

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • DesignFast
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2025 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy