System Configuration blocks provide essential initialization, clock configuration, scheduler control, and performance monitoring for embedded applications. The MPLAB Blockset includes the Master block (required in every model), scheduler configuration, compiler optimization controls, and system monitoring blocks for robust embedded system development.
| Block | Required? | When to Use |
|---|---|---|
| MCHP_Master | โ Always | Every model must have exactly one Master block |
| MCHP_Scheduler_Options | โ ๏ธ Multi-rate | Use when model has multiple sample rates |
| MCHP_Compiler_Options | Optional | When fine-tuning performance or code size |
| Block | Purpose | Use Case |
|---|---|---|
| MCHP_MCU_Load | Monitor CPU usage | Development, optimization, validation |
| MCHP_MCU_Overload | Detect deadline violations | Safety-critical, real-time validation |
| MCHP_Tasks_State | Track task execution | Debugging scheduler behavior |
Priority Assignment:
Preemption:
When to Use Preemption:
| CPU Load | Interpretation | Action |
|---|---|---|
| < 50% | โ Healthy headroom | Normal operation |
| 50-70% | โ ๏ธ Moderate load | Monitor, optimize if growing |
| 70-90% | ๐ถ High load | Optimize algorithms, reduce sample rates |
| > 90% | ๐ด Critical | Immediate optimization or faster MCU |
| โฅ 100% | โ Overrun | Deadline violations, system unstable |
Symptoms: MCU_Overload flag set, erratic behavior
Symptoms: Only one task executes, others ignored
Symptoms: Timing incorrect, UART baud rate wrong
| System Block | dsPIC30F | dsPIC33F | dsPIC33E | dsPIC33C | dsPIC33A | PIC24 | PIC32 | SAM |
|---|---|---|---|---|---|---|---|---|
| MCHP_Master | โ | โ | โ | โ | โ | โ | โ | โ |
| Scheduler_Options | โ | โ | โ | โ | โ | โ | โ | โ |
| Tasks_State | โ | โ | โ | โ | โ | โ | โ | โ |
| MCU_Load | โ | โ | โ | โ | โ | โ | โ | โ |
| MCU_Overload | โ | โ | โ | โ | โ | โ | โ | โ |
| Compiler_Options | โ | โ | โ | โ | โ | โ | โ | โ |
| Idle_Task | โ | โ | โ | โ | โ | โ | โ | โ |
| Interrupt | โ | โ | โ | โ | โ | โ | โ | โ |
Legend: โ Full Support
All system configuration blocks support all device families. Device-specific details are automatically handled by each block based on the selected target MCU.
Related Block Categories:
Recommended Reading:
Example Projects:
๐ก Quick Setup Guide:
The Interrupt block creates interrupt-driven subsystems by connecting peripheral interrupt sources to Simulink triggered subsystems. The block โฆ
Read more โCRITICAL: The Master block is MANDATORY in every MCHP Blockset model. This is always the FIRST block to add to any new model. Without it, no other โฆ
Read more โThe MCU LOAD block measures CPU utilization using a hardware timer and optionally toggles a GPIO pin for external measurement. When to use: When to โฆ
Read more โThe SECONDARY CORE block links the secondary core firmware image in master core projects for dual-core dsPIC33CH devices. Overview The SECONDARY CORE โฆ
Read more โThe Tasks State block outputs the execution state of scheduled tasks to GPIO pins for visualization with an oscilloscope or logic analyzer. When to โฆ
Read more โThe CompilerOptimisation block configures compiler toolchain, optimization levels, Device Family Pack (DFP) selection, and linker options for โฆ
Read more โIdle Task Characteristics: - Lowest priority - Preempted by any scheduled task or interrupt - Non-deterministic timing - Execution time varies with โฆ
Read more โThe MCU OVERLOAD block detects when scheduled tasks miss their execution deadlines. When to use: When to use: Hard real-time deadlines must be โฆ
Read more โThe Scheduler Options block configures the behavior of the built-in Rate Monotonic Scheduler used for multitasking in MCHP Blockset models. The โฆ
Read more โThe Reset block triggers a software chip reset whenever any element of its input signal becomes non-zero. Typical use โ recovery from an โฆ
Read more โ