178
Document # 001-20559 Rev. *D
Digital Blocks
Finally, the block’s outputs are controlled by the output reg-
ister, which ends in OU.
Each digital PSoC block also has three data registers (DR0,
DR1, and DR2) and one control register (CR0). The bit
meanings for these registers are heavily function dependent
and are discussed with each function’s description.
In addition to seven registers that control the digital PSoC
block’s function and state, a separate interrupt mask bit is
available for each digital PSoC block. Each digital PSoC
block has a unique interrupt vector; and therefore, it can
have its own interrupt service routine.
17.1.1
Input Multiplexers
Typically, each function has a clock and a data input that
may be selected from a variety of sources. Each of these
inputs is selected with a 16-to-1 input mux.
In addition, there is a 4-to-1 mux which provides an auxiliary
input for the SPI slave function that requires three inputs:
Clock, Data, and SS_ (unless the SS_ is forced active with
the Aux IO Enable bit). The inputs to this mux are intended
to be a selection of the row inputs.
17.1.2
Input Clock Resynchronization
Digital blocks allow a clock selection from one of 16
sources. Possible sources are the system clocks (VC1,
VC2, VC3, SYSCLK, and SYSCLKX2), row inputs, and
other digital block outputs. To manage clock
and
ensure that the interfaces between blocks meet timing in all
cases, all digital block input clocks must be resynchronized
to either SYSCLK or SYSCLKX2, which are the source
clocks for all the PSoC device clocking. Also, SYSCLK or
SYSCLKX2 may be used directly. The AUXCLK bits in the
DxBxxOU register are used to specify the input synchroniza-
tion. The following rules apply to the use of input clock
resynchronization.
1. If the clock input is derived (for example, divided down)
from SYSCLK, resynchronize to SYSCLK at the digital
block. Most the PSoC device clocks are in this category.
For example, VC1 and VC2, and the output of other
blocks clocked by VC1 and VC2, or SYSCLK (for setting
see
).
2. If the clock input is derived from SYSCLKX2, resynchro-
nize to SYSCLKX2. For example, VC3 clocked by
SYSCLKX2 or other digital blocks clocked by
SYSCLKX2 (for setting see
).
3. Choose direct SYSCLK for clocking directly off of SYS-
CLK (for setting see
4. Choose direct SYSCLKX2 (select SYSCLKX2 in the
Clock Input field of the DxBxxIN register) for clocking
directly off of SYSCLKX2.
5. Bypass synchronization. This should be a very rare
selection; because if clocks are not synchronized, they
may fail set up to CPU read and write commands. How-
ever, it is possible for an external pin to asynchronously
clock a digital block. For example, if the user is willing to
synchronize CPU interaction through interrupts or other
techniques (setting 00 in AUXCLK). This setting is also
required for blocks to remain active while in sleep.
The note below enumerates configurations that are not
allowed, although the hardware does not prevent them. The
clock dividers (VC1, VC2, and VC3) may not be configured
in such a way as to create an output clock that is equal to
SYSCLK or SYSCLKX2.
Note
If the input clock frequency matches the frequency of
the clock used for synchronization, the block never receives
a clock (see
). With respect to SYSCLK, this can
happen in the following cases:
■
Using VC1 configured as divide by 1.
■
Using VC2 with VC1 and VC2 both configured as divide
by 1.
■
Using VC3 divided by 1 with a source of VC1 divided by
1.
■
Using VC3 divided by 1 with a source of VC2, where
both VC1 and VC2 are divided by 1.
■
Using VC3 divided by 1 with SYSCLK source.
In all of these cases, SYSCLK should be selected directly in
the block. Similarly, if VC3 is configured as divide by one
with a source of SYSCLKX2, then SYSCLKX2 should be
selected to clock the block directly instead of VC3.
The clock resynchronizer is illustrated in
Figure 17-2. Input Clock Resynchronization
In sleep, SYSCLK is powered down, and therefore input
synchronization is not available.
16-1
CLK MUX
4-1
AUXCLK
MUX
SYSCLK
SYSCLKX2
BLK CLK
2-1
SEL_SYSCLKX2
0
1
SYSCLK
00 = BYPASS
01 = SYSCLK
10 = SYSCLKX2
SYSCLKX2
11 = SYSCLK DIRECT
Current Decoding
Summary of Contents for PSoC CY8C23533
Page 4: ...Contents Overview 4 Document 001 20559 Rev D Section G Glossary 385 Index 401 ...
Page 16: ...Contents Overview 16 Document 001 20559 Rev D ...
Page 24: ...24 Document 001 20559 Rev D Section A Overview ...
Page 30: ...30 Document 001 20559 Rev D Pin Information ...
Page 54: ...54 Document 001 20559 Rev D Supervisory ROM SROM ...
Page 60: ...60 Document 001 20559 Rev D RAM Paging ...
Page 68: ...68 Document 001 20559 Rev D Interrupt Controller ...
Page 76: ...12 Document 001 20559 Rev D General Purpose IO GPIO ...
Page 82: ...18 Document 001 20559 Rev D Internal Main Oscillator IMO ...
Page 84: ...20 Document 001 20559 Rev D Internal Low Speed Oscillator ILO ...
Page 90: ...26 Document 001 20559 Rev D External Crystal Oscillator ECO ...
Page 94: ...30 Document 001 20559 Rev D Phase Locked Loop PLL ...
Page 106: ...42 Document 001 20559 Rev D Sleep and Watchdog ...
Page 228: ...164 Document 001 20559 Rev D Section D Digital System ...
Page 234: ...170 Document 001 20559 Rev D Array Digital Interconnect ADI ...
Page 278: ...214 Document 001 20559 Rev D Digital Blocks ...
Page 296: ...232 Document 001 20559 Rev D Analog Interface ...
Page 304: ...240 Document 001 20559 Rev D Analog Array ...
Page 308: ...244 Document 001 20559 Rev D Analog Input Configuration ...
Page 312: ...248 Document 001 20559 Rev D Analog Reference ...
Page 338: ...274 Document 001 20559 Rev D Section F System Resources ...
Page 354: ...290 Document 001 20559 Rev D Multiply Accumulate MAC ...
Page 374: ...310 Document 001 20559 Rev D I2C ...
Page 400: ...336 Document 001 20559 Rev D Section G Glossary ...