PIC16C65A Microchip Technology, PIC16C65A Datasheet - Page 87

no-image

PIC16C65A

Manufacturer Part Number
PIC16C65A
Description
8-Bit CMOS Microcontrollers
Manufacturer
Microchip Technology
Datasheets

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC16C65A-04/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16C65A-04/L
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
PIC16C65A-04/P
Manufacturer:
Microchip Technology
Quantity:
135
Part Number:
PIC16C65A-04/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16C65A-04/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16C65A-04E/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16C65A-04E/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16C65A-10/L
Manufacturer:
Microchip Technology
Quantity:
135
Part Number:
PIC16C65A-10/P
Quantity:
6
Part Number:
PIC16C65A-10/P
Quantity:
17
To enable the serial port, SSP enable bit SSPEN
(SSPCON<5>) must be set. To reset or reconfigure SPI
mode, clear enable bit SSPEN, re-initialize SSPCON
register, and then set enable bit SSPEN. This config-
ures the SDI, SDO, SCK, and SS pins as serial port
pins. For the pins to behave as the serial port function,
they must have their data direction bits (in the TRIS reg-
ister) appropriately programmed. That is:
• SDI must have TRISC<4> set
• SDO must have TRISC<5> cleared
• SCK (Master mode) must have TRISC<3>
• SCK (Slave mode) must have TRISC<3> set
• SS must have TRISA<5> set (if implemented)
Any serial port function that is not desired may be over-
ridden by programming the corresponding data direc-
tion (TRIS) register to the opposite value. An example
would be in master mode where you are only sending
data (to a display driver), then both SDI and SS could
be used as general purpose outputs by clearing their
corresponding TRIS register bits.
Figure 11-4 shows a typical connection between two
microcontrollers. The master controller (Processor 1)
initiates the data transfer by sending the SCK signal.
Data is shifted out of both shift registers on their pro-
grammed clock edge, and latched on the opposite edge
of the clock. Both processors should be programmed to
the same Clock Polarity (CKP), then both controllers
would send and receive data at the same time.
Whether the data is meaningful (or dummy data)
depends on the application software. This leads to
three scenarios for data transmission:
• Master sends data — Slave sends dummy data
• Master sends data — Slave sends data
• Master sends dummy data — Slave sends data
FIGURE 11-4: SPI MASTER/SLAVE CONNECTION
1997 Microchip Technology Inc.
cleared
SPI Master SSPM3:SSPM0 = 00xxb
MSb
PROCESSOR 1
(SSPBUF register)
Serial Input Buffer
Shift Register
(SSPSR)
Applicable Devices
61 62 62A R62 63 R63 64 64A R64 65 65A R65 66 67
LSb
SDO
SCK
SDI
Serial Clock
The master can initiate the data transfer at any time
because it controls the SCK. The master determines
when the slave (Processor 2) is to broadcast data by
the software protocol.
In master mode the data is transmitted/received as
soon as the SSPBUF register is written to. If the SPI is
only going to receive, the SCK output could be disabled
(programmed as an input). The SSPSR register will
continue to shift in the signal present on the SDI pin at
the programmed clock rate. As each byte is received, it
will be loaded into the SSPBUF register as if a normal
received byte (interrupts and status bits appropriately
set). This could be useful in receiver applications as a
“line activity monitor” mode.
In slave mode, the data is transmitted and received as
the external clock pulses appear on SCK. When the
last bit is latched interrupt flag bit SSPIF (PIR1<3>) is
set.
The clock polarity is selected by appropriately program-
ming bit CKP (SSPCON<4>). This then would give
waveforms for SPI communication as shown in
Figure 11-5 and Figure 11-6 where the MSB is trans-
mitted first. In master mode, the SPI clock rate (bit rate)
is user programmable to be one of the following:
• Fosc/4 (or T
• Fosc/16 (or 4 T
• Fosc/64 (or 16 T
• Timer2 output/2
This allows a maximum bit clock frequency (at 20 MHz)
of 5 MHz. When in slave mode the external clock must
meet the minimum high and low times.
In sleep mode, the slave can transmit and receive data
and wake the device from sleep.
SDO
SCK
SDI
SPI Slave SSPM3:SSPM0 = 010xb
CY
MSb
)
(SSPBUF register)
Serial Input Buffer
CY
CY
Shift Register
PROCESSOR 2
)
(SSPSR)
)
PIC16C6X
LSb
DS30234D-page 87

Related parts for PIC16C65A