Utility blocks provide essential support functions for development, debugging, and system information access. The MPLAB Blockset includes blocks for viewing chip documentation, visualizing pin assignments, accessing timer information, and reset configuration - all designed to streamline embedded system development and troubleshooting.
| Development Phase | Recommended Blocks | Why? |
|---|---|---|
| Initial Design | Doc, Port_Info | Quick access to datasheets, plan pin assignments |
| Implementation | Port_Info, Timer_Info | Verify resource allocation, detect conflicts |
| Debugging | Port_Info, Timer_Info | Troubleshoot pin and timer configuration |
| Testing | Simulink_Reset_Config | Configure fault recovery and reset behavior |
| Automation | MSI | Custom build scripts, metadata management |
| Problem | Diagnostic Block | Solution |
|---|---|---|
| Pin conflict | Port_Info | Visualize all pin assignments, find conflicts |
| Timer conflict | Timer_Info | Show timer allocation, identify overlaps |
| Need datasheet | Doc | One-click access to chip documentation |
| Reset behavior | Simulink_Reset_Config | Configure startup and fault recovery |
| Build metadata | MSI | Access model state for custom scripts |
1. Add MCHP_Port_Info block to model
2. Build model (Ctrl+B)
- Port Info generates pin assignment table
- Conflicts highlighted in red
3. Review pin assignments:
- Check which peripherals overlap
- Verify PPS routing correct
4. Resolve conflicts:
- Change pin selection in affected blocks
- Rebuild and verify Port_Info shows no conflicts
1. Add MCHP_Doc block to model
2. Double-click block:
- Opens GUI with documentation links
3. Access resources:
- Click "Datasheet" → Opens device-specific PDF
- Click "Reference Manual" → Opens peripheral FRM
- Click "Product Page" → Opens Microchip web page
4. Keep block in model:
- Acts as documentation bookmark
- No code generated (utility only)
1. Add MCHP_Timer_Info block
2. Build model:
- Displays all timer allocations
- Shows configuration (period, prescaler)
3. Check timer usage:
- Verify no conflicts
- Ensure timer availability for new features
4. Plan new features:
- Use Timer_Info to identify free timers
- Add new timer-based peripherals accordingly
Always Include in Development Models:
Remove Before Production:
Check:
Symptoms: Multiple peripherals trying to use same timer
Check:
| Utility Block | dsPIC30F | dsPIC33F | dsPIC33E | dsPIC33C | dsPIC33A | PIC24 | PIC32 | SAM |
|---|---|---|---|---|---|---|---|---|
| Doc | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Port_Info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Timer_Info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Simulink_Reset_Config | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MSI | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Legend: ✅ Full Support | ❌ Not Available
Note: MSI (Model State Information) is specific to dsPIC33C dual-core and dsPIC33A devices. Other utility blocks are universally available.
Related Block Categories:
Recommended Workflow:
Example Projects:
💡 Quick Tips:
The Doc block provides quick access to MCHP Blockset documentation, help files, examples, and release notes directly from the Simulink model. …
Read more →The MSI block configures the Master Secondary Interface (MSI) for inter-core communication in dual-core dsPIC33CH devices, enabling data exchange …
Read more →The PortInfo block displays a summary of GPIO port assignments and Peripheral Pin Select (PPS) mappings for all blocks in the model, helping detect …
Read more →The Simulink Reset Config block configures microcontroller reset behavior, startup initialization sequence, and watchdog timer settings. …
Read more →The TimerInfo block visualizes timer resource allocation across all peripheral blocks, showing which timers are used, their configuration, and …
Read more →Utility blocks provide essential development tools including compiler configuration, resource visualization, debugging aids, and dual-core …
Read more →Launch chip-specific documentation (datasheet, errata, product webpage) Overview The Chip Webpage Launcher block provides quick access to …
Read more →