This document addresses HW/SW differences between two 32-bit system-on-chip (SoC)
automotive microcontrollers of the SPC56xP family: SPC560P50 and SPC56AP60 devices.
When designing a system using an SPC560P50 device, HW/SW differences must be
considered for a subsequent and eventual migration to an SPC56AP60 device.
All topics covered in this document refer to RM0022, Rev. 3 (see A.1: Reference document
in Appendix A).
This application note applies to the SPC560P50/SPC56AP60 devices listed in Ta bl e 1 .
3. Dual port Flash Controller with 4 buffers per port and support for pre-fetching
4. Increased number of CSs for DSPI_1
5. With pre-sampling capability
6. With ADC commands remapping
7. Enhanced FCCU version
8. Upgraded specification with addition of 8-bits polynom (CRC-8) support and 3rd context
6/31Doc ID 18401 Rev 2
(9)
AN3334SPC560P50/SPC56AP60 device comparison
9. Improved debugging capability with data trace capability and increased Nexus throughput available on emulation package
10. Emulation package only. Not available for production
Doc ID 18401 Rev 27/31
Device pinout and pin multiplexingAN3334
2 Device pinout and pin multiplexing
Pinout compatibility is very important when designing hardware destined to support multiple
devices within one product family. For this reason, the SPC56AP60 pin multiplexing is based
on that of the SPC560P50 to ensure the pinouts of both devices are fully compatible.
Ta bl e 3 shows the SPC560P50 functions which have been added to the pin multiplexing of
the SPC56AP60 device. Tab le 4 shows ADC_0 channel functions on SPC56AP60 that are
functions of ADC_1 on the SPC560P50 device.
Moreover the pin multiplexing FlexPWM_0 functions are removed on the SPC56AP60 and
the FCCU I/Os replace the SPC560P50 FCU I/Os.
Furthermore the following device enhancements found on the SPC56AP60 need to be taken
into account as they require an adaptation of the external pull-up/down resistor circuit on two
specific pins:
●BCTRL pin:
–SPC560P50: An external pull-down resistor must be implemented
–SPC56AP60: A pull-down resistor is integrated, thus BCTRL pin is not connected
(the same for SPC560P40xx devices).
●RESET pin:
–SPC560P50: is pulled-up
–SPC56AP60: is internally pulled-down increasing the device safety
The SPC560P50 device implements two PLL sources: FMPLL_0, typically used for system
timing, and FMPLL_1, typically used for the timing of the motor control peripherals such as
the FlexPWM, CTU, eTimers, and ADC.
On the contrary the SPC56AP60 device has a simplified clock structure: only the FMPLL_0
is available (see Figure 1).
Therefore only FMPLL_0 (or the External Oscillator—XOSC or the Internal RC Oscillator—
IRCOSC) can be selected as a source for the device peripherals. This affects the maximum
speed of motor control peripherals. The maximum peripheral operating speed is attained
when the system clock runs at 64 MHz, whereas on the SPC560P50 device the peripheral
clock runs at up to 120 MHz. The maximum speed for peripherals using a motor control
clock base can have an impact on external interactions such as the input capture of external
signals, PWM output generation and all other timing operations. Ta bl e 5 provides a
summary of the maximum device clock speeds.
Table 5.Maximum system clock speed for motor control peripherals
Maximum peripheral clock (MHz)
Peripheral
SPC560P50SPC56AP60
eTimer_012064
eTimer_112064
FlexPWM120Not implemented
ADC_012064
ADC_1120Not implemeted
CTU12064
Note:On the SPC56AP60 device CMU_1 is used to monitor system clock (SYS_CLK) and the
output of FMPLL_1 (FMPLL_1_CLK_DIV) on SPC560P50 devices.
12/31Doc ID 18401 Rev 2
AN3334Flash memory
4 Flash memory
4.1 Code Flash memory
The SPC56AP60 device code Flash memory is different in size and sectorization than the
SPC560P50 device one (see Ta bl e 2 ). Tab l e 6 compares the code Flash memory
sectorization of the two Flash memories.
SPC56AP60 devices utilize the latest version of the data Flash memory (as already
implemented on SPC560P40xx). Tab le 7 compares the features of the two Flash memories.
Table 7.SPC560P50/SPC56AP60 data Flash memory feature comparison
FeaturesSPC560P50SPC56AP60Comments
Memory size64 Kbyte + 8 Kbyte test FlashIdentical
Sectorization4 × 16 Kbyte (B0F0,1,2,3 mapped only to low-address space)Identical
Memory
mapping
Access time40 ns 120 ns
4 × 16 Kbyte (B0F0,1,2,3 mapped only to low-address space)Identical
Longer access
time
Memory
organization
ECC64-bit and 8-bit ECC32-bit and 7-bit ECC
Sector
protection
Data Flash
protection
against piracy
Code Flash
disabling in
sleep mode
Flash
interface
Logical organization = 64 bit
Physical organization = 128 bit
Modify protection against unwanted program, eraseIdentical
Protection defined in code Flash memoryIdentical
Ye s
—
4.2.1 ECC and EEPROM emulation
The ECC is different when implemented on 32-bit data instead of 64-bit data but the ECC
coding has been defined so that the different states used for EEPROM emulation are
identical.
Logical organization = 32 bit
Physical organization = 32 bit
Not supported
Do not use
UT2, UMISR 2,3,4
Not used due to the 32-bit read
Different physical
organizations
Different ECC but
identical states to
EEPROM
emulation
Difference only if
sleep mode is
used
—
Therefore the same states can be used for the EEPROM emulation.
4.2.2 Programming
The programing is changed from 64-bit in SPC560P50 to 32-bit in SPC56AP60. The change
can be hidden by a low-level driver if the low-level driver implements the 64-bit programming
as two consecutive 32-bit programming operations.
14/31Doc ID 18401 Rev 2
AN3334Flash memory
4.2.3 Reading
The longer access time should in theory lead to differences in real-time behavior. As for
SPC560P50, the Flash prefetch controller allows to hide all differences provided that:
●The number of wait states is increased (3 × more wait states).
●The Flash prefetch buffer is disabled.
4.2.4 Array integrity check
Once the array integrity check operation is completed, the SPC560P50 data Flash memory
driver compares the total content of User Multiple Input Signature Register 0–4 (UMISR0–4)
against expected values whereas the SPC56AP60 Data Flash memory driver evaluates the
content of only UMISR0–1. The UMISRs contain the results of the read operations, ECC
and ECC status.
●SPC560P50
–UMISR0–3 contain read data 128 bits wide (2 double words)
–UMISR4 contains 2 × 8-bit ECC and 2 × ECC status (single and double error
detection)
●SPC56AP60
–UMISR0 contains read data 32 bits wide (1 word)
–UMISR1 contains 1 × 7-bit ECC and ECC status
4.2.5 Margin read
The SPC56AP60 evaluates UMISR0–1 content. Outputs of margin read are checksum
values in UMISR0–1. A read reset operation is not used.
The SPC560P50 handles a margin read operation differently using a read reset operation.
The results of the margin reads can be checked by comparing them with previously stored
expected data. To exit from the margin read mode, a read reset operation must be executed.
4.2.6 ECC logic check
The SPC560P50 data Flash memory driver uses User Test Register 2 (UT2) for odd word
input data storage. All UMISR0–4 contents are compared against expected values.
UT0.DSI0–7 provides 8-bit data due to the 8-bit ECC calculation.
The SPC56AP60 does not have register UT2, because word access does not need to store
odd word of double word value. Only UMISR0–1 contents are evaluated. UT0.DSI0–6
provides 7-bit data due to 7-bit ECC calculation.
Evaluation of only UMISR0–1 is sufficient because of the same reason as described for the
array integrity check operation.
Doc ID 18401 Rev 215/31
Flash memoryAN3334
4.2.7 Summary
The application overview is summarized in Tab l e 8 .
Table 8.Application view
FeaturesSPC560P50/44xFSPC56AP60xFComments
Access time40 ns 120 nsLonger access time
Code Flash
disabling in sleep
mode
Flash programming64-bit32-bit
Sector eraseSame commandsIdentical software can be used.
Erase suspend /
resume
Flash protection
modification
Flash margin read
Array integrity
check
ECC logic check—
Flash controllerWait states defined in register
Ye s
Same commandsIdentical software can be used.
Same commandsIdentical software can be used.
Uses read reset
commands
—
Not supported
Do not use
No read reset
required
Use UMISR0–1.
UMISR 2,3,4
Not used due to the
32-bit read
UT2, UMISR 2,3,4
Not used due to the
32-bit read
Difference only if sleep mode is
used
Compatible if 2 x 32-bit
programming used instead of
single 64-bit programming
Different API
Same principle but different
registers and different signature
for same logical content
Same principle but different
registers and different tests and
results for ECC logic check
Different PFCR1 register
initialization
Most of the differences can be hidden by a low-level driver. The software drivers provided by
STMicroelectronics™ for AUTOSAR (AUTomotive Open System ARchitecture) and
non-AUTOSAR Flash programming and EE-emulation hide all changes.
When using STMicroelectronics™
Flash drivers and STMicroelectronics™ MCAL (MCU
initialization includes Flash prefetch controller configuration) only self-test drivers require
changes.
16/31Doc ID 18401 Rev 2
AN3334Interrupts
5 Interrupts
SPC56AP60 is a 32-bit dual-core device which implements two interrupt controllers, one for
each core. To retain the compatibility with the single-core SPC560P50 device which
implements a single interrupt controller, each external interrupt source or peripheral
interrupt source—except for the on-platform peripheral sources SEM4_x, ECSM_x, STM_x,
and SWT_x—is connected to both interrupt controllers.
5.1 External interrupts
SPC56AP60 device implements the same set of external interrupts available on
SPC560P50 device (see Ta bl e 9 ).
Table 9.External interrupts
External interrupt sourcesSPC560P50
EXT_INT[0:7]GROUP_0XX
EXT_INT[8:15]GROUP_1XX
EXT_INT[16:23]GROUP_2XX
(1)
SPC56AP60
(1)
EXT_INT[24:31]GROUP_3XX
1. Available
5.2 Peripheral interrupt sources
Interrupt sources and their configuration between SPC560P50 and SPC56AP60 devices is
software compatible with the exception due to the missing peripherals on SPC560P50 or
SPC56AP60:
●FlexPWM_0, FCU and ADC_1 are missing on SPC56AP60 devices;
●FlexCAN_1, DSPI_4, and FCCU are missing on SPC560P50 devices.
Doc ID 18401 Rev 217/31
eDMAAN3334
6 eDMA
DMA sources and their configuration are the same on both SPC560P50 and SPC56AP60
devices with the following exceptions (see Tab l e 1 0 ):
1.The FlexPWM WR source is removed on the SPC56AP60.
2. The DSPI_4 TX source on SPC56AP60 replace the FlexPWM RD source on
SPC560P50.
3. The DSPI_4 TX source on SPC56AP60 replace the ADC_1 source on SPC560P50.
The SPC56AP60 devices are equipped with a new version of AIPS with includes
configurable registers for configuring access to peripherals registers (PACR registers for onplatform peripherals and OPACR registers for off-platform peripherals).
7.2 DSPI
The following list summarizes the difference between the SPC560P50 and the SPC56AP60
devices:
●on SPC56AP60 devices, there is one more DSPI (DSPI_4);
●on SPC56AP60 devices, DSPI_1 has 4 more CS;
●on SPC56AP60 devices, user needs to enable each DSPI module (default value is
disable) before he can initiate any DSPI operation;
●on SPC56AP60 devices, the DSPI uses the ss_b signal to generate the stop request
acknowledge signal (only in slave mode);
●on SPC56AP60 devices, two bits in CMD field of TXPUSH register are used to mask
the delays T
Format.
CSC
and T
for the selected CTAR in case of Continuous Selection
ASC
7.3 LINFlex
On SPC56AP60 the LINFlex registers BDRL and BDRM are also BYTE or HALF WORD
accessible while on SPC560P50 devices they are only WORD writable.
7.4 eTimer
As difference in respect to the SPC560P50 devices, a DMA enable bit (default value 0, DMA
disabled) was added to the DMA request select registers (DREQ registers) for the IP
implemented on SPC56AP60 devices. According to this, on SPC56AP60 devices, it is
necessary to set the DMA enable bit to 1 in order to use DMA.
7.5 CRC
As difference in respect to the SPC560P50 devices, SPC56AP60 devices implement an
enhaced version of CRC. this enhanced CRC implements 3 contexts and supports a 3
bits polynom (CRC-8 VDA CAN). Anyway back-compatibility with previous version
implemented on SPC560P50 devices is assured.
7.6 FlexPWM
FlexPWM module is not present on all SPC56AP60 devices.
rd
8-
20/31Doc ID 18401 Rev 2
AN3334Peripherals
&78
&78$'&
5HPDSSLQJ,3
$'&B
&0'
'$7$
&0'
'$7$
*$3*01
7.7 Junction temperature sensor
Junction temperature sensor is not present on all SPC56AP60 devices.
7.8 ADC
The SPC56AP60 devices implement only one ADC (ADC_0) of 27 channels while the
SPC560P50 devices implement two ADC (ADC_0 and ADC_1) of 12 channels each one
plus 4 shared channels.
On SPC56AP60 the ADC_0 implements a pre-sampling feature, the pre-sampling voltage is
configurable and it can be VSS_HV_ADC or VDD_HV_ADC.
On SPC56AP60 the ADC_0 channel 15 internally connected to the 1.2 V core voltage as on
SPC560P50 devices. On SPC560P50 the ADC_1 channel 15 internally connected to the
junction temperature sensor which is missing on SPC56AP60 devices.
From a pinout point of view, SPC56AP60 and SPC560P50 devices have the same number
of ADC channels on packages LQFP100 and LQFP144 (see Ta bl e 1 1).
SPC56AP60 devices implement the same CTU implemented on SPC560P50 devices with
an additional hardware block placed, as shown in Figure 2, between the CTU and the
ADC_0 module. This hardware block provides automatic hardware remapping functionality
of ADC commands to avoid changes to CTU IP (which can support only 16 channels for
each ADC) and to ensure software compatibility for ADC measurement using CTU between
SPC560P50 and SPC56AP60 devices. Tab l e 1 2 shows how commands for ADC_1 are
remapped as command for ADC_0.
Figure 2.CTU/ADC commands remapping IP on SPC56AP60
In respect to the SPC560P50 device, the SPC56AP60 features an enhanced version of
SWT. This enhanced SWT implements a program flow control monitor with 16-bit
pseudorandom key generation servicing sequence. Backward compatibility with the
previous SWT version implemented on the SPC560P50 device is ensured.
7.11 SSCM
On SPC560P50 the SSCM_MEMCONFIG register contains the information about the code
and data Flash memory sizes while on SPC56AP60 it contains the JTAG part number and
minor revision ID.
7.12 FlexRay
The SPC56AP60 device implements the same FlexRay version as that of the SPC560P50
device, but has 64 message buffers instead of 32.
22/31Doc ID 18401 Rev 2
AN3334Peripherals
7.13 FCCU
In respect to the SPC560P50 device, the SPC56AP60 implements the FCCU instead of the
FCU. The FCCU is basically a new IP based on FCU concept. Even if there are many
differences between FCCU and FCU from software viewpoint, the FCCU assures the same
functionalities as that of the FCU. Tab le 1 3 provides a summary of differences between the
FCCU and FCU connections.
The SPC56AP60 device has a dedicated supply voltage (lower than product supply) to the
external ballast which reduces power consumption.
This configuration decreases supply voltage to the BJT, allowing it to operate at a supply
voltage as low as 1.9 V, whereas the PMU in the SoC still requires at least 2.6 V.
The configuration can be applied if the NPN transistor BC817su used has the following
electrical features: H
>80, V
fe
< 500 mV for load currents up to 100 mA.
CEsat
Doc ID 18401 Rev 227/31
Debug interfaceAN3334
10 Debug interface
There is a Nexus Level 2+ debug interface on both SPC560P50 and SPC56AP60 devices.
Only on the SPC56AP60 device, a Nexus AXBS Slave Port Sniffer (NASP) is implemented
for each SRAM port controller.
According to this, in order to assure the required bandwidth for debug opertations, on
SPC56AP60 devices, 12 MDO pins are avalaible (on emulation package LQFP176), DDR
support for Nexus is implemented and RDY is available as alternate function (not selected
by default in order to assure the compatibility with SPC560P50 devices) on packages
LQFP100 and LQFP144, and as dedicated pin on emulation package LQFP176.
28/31Doc ID 18401 Rev 2
AN3334Additional information
Appendix A Additional information
A.1 Reference document
32-bit MCU family built on the Power Architecture™ embedded category for automotive
chassis and safety electronics applications (RM0022, Doc ID 14891).
A.2 Acronyms
Table 16.Acronyms
AcronymName
ADCAnalog-to-digital converter
AUTOSARAUTomotive Open System ARchitecture
CRCCyclic redundancy check
CTUCross triggering unit
eDMAEnhanced direct memory access
FCUFault collection unit
FCCUFault collection and control unit
MCUMicrocontroller unit
SIULSystem integration unit lite
Doc ID 18401 Rev 229/31
Revision historyAN3334
Revision history
Table 17.Document revision history
DateRevisionChanges
21-Jan-20111Initial release
08-Sep-20112
In Table 8: Application view on page 16, changed “SPC560P40xF” to
“SPC56AP60xF”
30/31Doc ID 18401 Rev 2
AN3334
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.