Microchip Technology ARD00385 Data Sheet

Page of 570
PIC18F87K90 FAMILY
DS39957D-page 154
 2009-2011 Microchip Technology Inc.
11.1.3
OPEN-DRAIN OUTPUTS
The output pins for several peripherals are also
equipped with a configurable, open-drain output option.
This allows the peripherals to communicate with
external digital logic, operating at a higher voltage
level, without the use of level translators. 
The open-drain option is implemented on port pins
specifically associated with the data and clock outputs
of the USARTs, the MSSP module (in SPI mode) and
the CCP modules. This option is selectively enabled by
setting the open-drain control bits in the registers:
ODCON1, ODCON2 and ODCON3.
When the open-drain option is required, the output pin
must also be tied through an external pull-up resistor
provided by the user to a higher voltage level, up to 5V
(
). When a digital logic high signal is output,
it is pulled up to the higher voltage level. 
FIGURE 11-2:
USING THE OPEN-DRAIN 
OUTPUT (USART SHOWN 
AS EXAMPLE)
TX
X
+5V
3.3V
(at logic ‘1’)
3.3V
V
DD
5V
PIC18F67K90
REGISTER 11-1:
ODCON1: PERIPHERAL OPEN-DRAIN CONTROL REGISTER 1
R/W-0
R/W-0
R/W-0
U-0
U-0
U-0
U-0
R/W-0
SSP1OD
CCP2OD
CCP1OD
SSP2OD
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
-n = Value at POR
‘1’ = Bit is set
‘0’ = Bit is cleared
x = Bit is unknown
bit 7
SSP1OD: 
SPI1 Open-Drain Output Enable bit
1
 = Open-drain capability is enabled
0
 = Open-drain capability is disabled
bit 6
CCP2OD: 
ECCP2 Open-Drain Output Enable bit
1
 = Open-drain capability is enabled
0
 = Open-drain capability is disabled
bit 5
CCP1OD: 
ECCP1 Open-Drain Output Enable bit
1
 = Open-drain capability is enabled
0
 = Open-drain capability is disabled
bit 4-1
Unimplemented: 
Read as ‘0’
bit 0
SSP2OD: 
SPI2 Open-Drain Output Enable bit
1
 = Open-drain capability is enabled
0
 = Open-drain capability is disabled