Overview

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.

Available Utility Blocks

Doc - Chip Documentation Access


Port Info - Pin Assignment Visualization


Timer Info - Timer Resource Information



MSI - Model State Information


Block Selection Guide

By Development Phase

Development PhaseRecommended BlocksWhy?
Initial DesignDoc, Port_InfoQuick access to datasheets, plan pin assignments
ImplementationPort_Info, Timer_InfoVerify resource allocation, detect conflicts
DebuggingPort_Info, Timer_InfoTroubleshoot pin and timer configuration
TestingSimulink_Reset_ConfigConfigure fault recovery and reset behavior
AutomationMSICustom build scripts, metadata management

By Problem Type

ProblemDiagnostic BlockSolution
Pin conflictPort_InfoVisualize all pin assignments, find conflicts
Timer conflictTimer_InfoShow timer allocation, identify overlaps
Need datasheetDocOne-click access to chip documentation
Reset behaviorSimulink_Reset_ConfigConfigure startup and fault recovery
Build metadataMSIAccess model state for custom scripts

Common Usage Patterns

Pin Conflict Debugging

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

Quick Documentation Reference

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)

Timer Resource Planning

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

Best Practices

Development Workflow

Always Include in Development Models:

  • Port_Info - Essential for pin planning and conflict detection
  • Doc - Quick reference access
  • ⚠️ Timer_Info - If using multiple timer-based peripherals

Remove Before Production:

  • ❌ Utility blocks generate no code but add to model clutter
  • ❌ Consider removing before final release (optional)

Pin Assignment Strategy

  1. Early Planning: Add Port_Info block before detailed design
  2. Continuous Verification: Check Port_Info after each peripheral added
  3. Pre-Hardware: Verify all pin assignments before PCB design
  4. Post-Hardware: Confirm model matches hardware layout

Documentation Access

  • Keep MCHP_Doc block near top of model for easy access
  • Use when implementing new peripherals (quick reference)
  • Share models with doc block for team collaboration

Troubleshooting Common Issues

Port_Info Not Showing Pins

Check:

  • ✅ Model has been built (Ctrl+B) at least once
  • ✅ Master block present and configured
  • ✅ Peripherals actually using pins (not simulated)

Timer_Info Shows Conflicts

Symptoms: Multiple peripherals trying to use same timer

  • Check: PWM and Input Capture on same timer (not allowed)
  • Check: Multiple timer-triggered ADCs on same timer
  • Fix: Use TIMER_Config with named resources
  • Fix: Assign different timers to each peripheral

Check:

  • ✅ Internet connection (for product page)
  • ✅ PDF reader installed (for datasheets)
  • ✅ Correct device selected in Master block

Device Family Support Summary

Utility BlockdsPIC30FdsPIC33FdsPIC33EdsPIC33CdsPIC33APIC24PIC32SAM
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.


See Also

Related Block Categories:

Recommended Workflow:

  1. Add MCHP_Master block
  2. Add MCHP_Doc and MCHP_Port_Info blocks
  3. Develop application with peripheral blocks
  4. Verify pin assignments with Port_Info
  5. Check timer allocation with Timer_Info
  6. Configure reset behavior with Simulink_Reset_Config

Example Projects:


💡 Quick Tips:

  • Always use Port_Info when working with multiple peripherals
  • Keep Doc block for quick datasheet access during development
  • Check Timer_Info before adding timer-dependent peripherals
  • Configure reset behavior early for robust startup
  • Use MSI for advanced build automation and metadata

Doc

The Doc block provides quick access to MCHP Blockset documentation, help files, examples, and release notes directly from the Simulink model. …

Read more →

MSI

The MSI block configures the Master Secondary Interface (MSI) for inter-core communication in dual-core dsPIC33CH devices, enabling data exchange …

Read more →

PortInfo

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 →

Simulink Reset Config

The Simulink Reset Config block configures microcontroller reset behavior, startup initialization sequence, and watchdog timer settings. …

Read more →

TimerInfo

The TimerInfo block visualizes timer resource allocation across all peripheral blocks, showing which timers are used, their configuration, and …

Read more →

Utility Blocks

Utility blocks provide essential development tools including compiler configuration, resource visualization, debugging aids, and dual-core …

Read more →

MCHP Chip Webpage Launcher

Launch chip-specific documentation (datasheet, errata, product webpage) Overview The Chip Webpage Launcher block provides quick access to …

Read more →