22.2 PPS Inputs
Each digital peripheral has a dedicated PPS Peripheral Input
Selection (xxxPPS)
register, with which the input pin to the peripheral is selected. Devices that have 20 leads
or less (8/14/16/20) allow PPS routing to any I/O pin, while devices with 28 leads or more
allow PPS routing to I/Os contained within two ports, with the exception of the following
signals, which are routed to three ports:
- SPI1SCKPPS
- SPI1SDIPPS
- I2C1SCLPPS
- I2C1SDAPPS
- CLBINxPPS
- CLBCLKPPS
The outputs of the Signal Routing Port (SRPORT) can also be used as inputs to other peripherals using PPS (see the table below).
Important: The notation “xxx” in the generic register name
is a placeholder for the peripheral identifier. For example, xxx = T0CKI for the T0CKIPPS
register.
Multiple peripherals can operate from the same source simultaneously. Port reads always return the pin level regardless of peripheral PPS selection. If a pin also has analog functions associated, the ANSEL bit for that pin must be cleared to enable the digital input buffer.
| Peripheral | PPS Input Register | Default Pin Selection at POR | Register Reset Value at POR | Available Input Port | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLBOUTL/H | 28-Pin Devices | 40-Pin Devices | 48-Pin Devices | ||||||||||||||||||
| Interrupt 0 | INT0PPS | RB0 | ‘b0000 1000 | CLBOUTL | A | B | — | W | A | B | — | — | — | W | A | B | — | — | — | — | W |
| Interrupt 1 | INT1PPS | RB1 | ‘b0000 1001 | CLBOUTL | A | B | — | W | A | B | — | — | — | W | — | B | — | D | — | — | W |
| Interrupt 2 | INT2PPS | RB2 | ‘b0000 1010 | CLBOUTL | A | B | — | W | A | B | — | — | — | W | — | B | — | — | — | F | W |
| Timer0 Clock | T0CKIPPS | RA4 | ‘b0000 0100 | CLBOUTH | A | B | — | W | A | B | — | — | — | W | A | — | — | — | — | F | W |
| Timer1 Clock | T1CKIPPS | RC0 | ‘b0001 0000 | CLBOUTH | A | — | C | W | A | — | C | — | — | W | — | — | C | — | E | — | W |
| Timer1 Gate | T1GPPS | RB5 | ‘b0000 1101 | CLBOUTH | — | B | C | W | — | B | C | — | — | W | — | B | C | — | — | — | W |
| Timer3 Clock | T3CKIPPS | RC0 | ‘b0001 0000 | CLBOUTL | — | B | C | W | — | B | C | — | — | W | — | — | C | — | E | — | W |
| Timer3 Gate | T3GPPS | RC0 | ‘b0001 0000 | CLBOUTL | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| Timer2 Input | T2INPPS | RC3 | ‘b0001 0011 | CLBOUTH | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| Timer4 Input | T4INPPS | RC5 | ‘b0001 0101 | CLBOUTH | — | B | C | W | — | B | C | — | — | W | — | B | C | — | — | — | W |
| Universal Timer Input 0 | TUIN0PPS | RC0 | ‘b0001 0000 | CLBOUTH | A | — | C | W | — | — | C | — | E | W | — | — | C | — | E | — | W |
| Universal Timer Input 1 | TUIN1PPS | RB5 | ‘b0000 1101 | CLBOUTH | — | B | C | W | — | B | C | — | — | W | — | B | — | — | — | F— | W |
| CCP1 | CCP1PPS | RC2 | ‘b0001 0010 | CLBOUTL | — | B | C | W | — | B | C | — | — | W | — | — | C | — | — | F | W |
| PWM Input 0 | PWMIN0PPS | RC2 | ‘b0001 0010 | CLBOUTL | — | B | C | W | — | B | C | — | — | W | — | — | C | — | — | F | W |
| PWM Input 1 | PWMIN1PPS | RC1 | ‘b0001 0001 | CLBOUTL | — | B | C | W | — | B | C | — | — | W | — | — | C | — | — | F | W |
| PWM1 External Reset Source | PWM1ERSPPS | RC3 | ‘b0001 0011 | CLBOUTL | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | W | |
| PWM2 External Reset Source | PWM2ERSPPS | RC5 | ‘b0001 0101 | CLBOUTL | A | — | C | W | A | — | C | — | — | W | — | — | C | — | E | — | W |
| CWG1 | CWG1PPS | RB0 | ‘b0000 1000 | CLBOUTL | — | B | C | — | — | B | — | D | — | — | — | B | — | D | — | — | — |
| CLCx Input 1 | CLCIN0PPS | RA0 | ‘b0000 0000 | CLBOUTL/H | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| CLCx Input 2 | CLCIN1PPS | RA1 | ‘b0000 0001 | CLBOUTL/H | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| CLCx Input 3 | CLCIN2PPS | RB6 | ‘b0000 1110 | CLBOUTL/H | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| CLCx Input 4 | CLCIN3PPS | RB7 | ‘b0000 1111 | CLBOUTL/H | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| CLCx Input 5 | CLCIN4PPS | RA0 | ‘b0000 0000 | CLBOUTL/H | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| CLCx Input 6 | CLCIN5PPS | RA1 | ‘b0000 0001 | CLBOUTL/H | A | — | C | W | A | — | C | — | — | W | A | — | C | — | — | — | W |
| CLCx Input 7 | CLCIN6PPS | RB6 | ‘b0000 1110 | CLBOUTL/H | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| CLCx Input 8 | CLCIN7PPS | RB7 | ‘b0000 1111 | CLBOUTL/H | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| ADC Conversion Trigger | ADACTPPS | RB4 | ‘b0000 1100 | CLBOUTH | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| SPI1 Clock | SPI1SCKPPS | RC3 | ‘b0001 0011 | CLBOUTH | — | B | C | W | — | B | C | D | — | W | — | B | C | D | — | — | W |
| SPI1 Data | SPI1SDIPPS | RC4 | ‘b0001 0100 | CLBOUTH | — | B | C | W | — | B | C | D | — | W | — | B | C | D | — | — | W |
| SPI1 Client Select | SPI1SSPPS | RA5 | ‘b0000 0101 | CLBOUTH | A | — | C | W | A | — | — | D | — | W | A | — | — | D | — | — | W |
| I2C1 Clock | I2C1SCLPPS(1) | RC3 | ‘b0001 0011 | CLBOUTH | — | B | C | — | — | B | C | D | — | — | — | B | C | D | — | — | — |
| I2C1 Data | I2C1SDAPPS(1) | RC4 | ‘b0001 0100 | CLBOUTH | — | B | C | — | — | B | C | D | — | — | — | B | C | D | — | — | — |
| UART1 Receive | U1RXPPS | RC5 | ‘b0001 0101 | CLBOUTH | — | B | C | W | — | B | C | — | — | W | — | — | C | — | — | F | W |
| UART1 Clear to Send | U1CTSPPS | RC6 | ‘b0001 0110 | CLBOUTH | — | B | C | — | — | B | C | — | — | — | — | — | C | — | — | F | — |
| UART1 Receive | U2RXPPS | RB7 | ‘b0000 1111 | CLBOUTH | — | B | C | W | — | B | — | D | — | W | — | B | — | D | — | — | W |
| UART2 Clear to Send | U2CTSPPS | RB6 | ‘b0000 1110 | CLBOUTH | — | B | C | — | — | B | — | D | — | — | — | B | — | D | — | — | — |
| Signal Routing Port Input 0 | PORTWIN0PPS | RB2 | ‘b0000 1010 | CLBOUTL | A | B | — | — | — | B | — | D | — | — | — | B | — | D | — | — | — |
| Signal Routing Port Input 1 | PORTWIN1PPS | RB0 | ‘b0000 1000 | CLBOUTL | A | B | — | — | — | B | — | D | — | — | — | B | — | D | — | — | — |
| Signal Routing Port Clock Input | PORTWCLKPPS | RB1 | ‘b0000 1001 | CLBOUTL | A | B | — | — | — | B | — | D | — | — | — | B | — | D | — | — | — |
| DSM Modulation Carrier High | MD1CARLPPS | RA3 | ‘b0000 0011 | CLBOUTL/H | A | — | C | W | A | — | — | D | — | W | A | — | — | D | — | — | W |
| DSM Modulation Carrier Low | MD1CARHPPS | RA4 | ‘b0000 0100 | CLBOUTL/H | A | — | C | W | A | — | — | D | — | W | A | — | — | D | — | — | W |
| DSM Modulation Source | MD1SRCPPS | RA5 | ‘b0000 0101 | CLBOUTL/H | A | — | C | W | A | — | — | D | — | W | A | — | — | D | — | — | W |
| CLB Input 0 | CLBIN0PPS | RC0 | ‘b0001 0000 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 1 | CLBIN1PPS | RC1 | ‘b0001 0001 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 2 | CLBIN2PPS | RC2 | ‘b0001 0010 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 3 | CLBIN3PPS | RC3 | ‘b0001 0011 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 4 | CLBIN4PPS | RC4 | ‘b0001 0100 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 5 | CLBIN5PPS | RC5 | ‘b0001 0101 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 6 | CLBIN6PPS | RC6 | ‘b0001 0110 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Input 7 | CLBIN7PPS | RA0 | ‘b0000 0000 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
| CLB Clock | CLBCLKPPS | RA1 | ‘b0000 0001 | — | A | — | C | — | A | — | C | D | — | — | A | — | C | D | — | — | — |
Note:
- Bidirectional pin. The corresponding output must select the same pin.
