SPNS164C April 2012 – April 2015 TMS570LS2125 , TMS570LS2135 , TMS570LS3135
PRODUCTION DATA.
Refer to the PDF data sheet for device specific package drawings
ABBREVIATION | FULL NAME |
---|---|
MibADC | Analog To Digital Converter |
CCM-R4F | CPU Compare Module - CortexR4F |
CRC | Cyclic Redundancy Check |
DCAN | Controller Area Network |
DCC | Dual Clock Comparator |
DMA | Direct Memory Access |
DMM | Data Modification Module |
EMIF | External Memory Interface |
ESM | Error Signaling Module |
ETM-R4F | Embedded Trace Macrocell - CortexR4F |
FTU | FlexRay Transfer Unit |
GPIO | General-Purpose Input/Output |
HTU | High End Timer Transfer Unit |
I2C | Inter-Integrated Circuit |
LIN | Local Interconnect Network |
MIBSPI | Multibuffer Serial Peripheral Interface |
N2HET | Platform High-End Timer |
POM | Parameter Overlay Module |
RTI | Real-Time Interrupt Module |
RTP | RAM Trace Port |
SCI | Serial Communications Interface |
SPI | Serial Peripheral Interface |
VIM | Vectored Interrupt Manager |
The multibuffered A-to-D converter (MibADC) has a separate power bus for its analog circuitry that enhances the A-to-D performance by preventing digital switching noise on the logic circuitry which could be present on VSS and VCC from coupling into the A-to-D analog stage. All A-to-D specifications are given with respect to ADREFLO unless otherwise noted.
DESCRIPTION | VALUE |
---|---|
Resolution | 12 bits |
Monotonic | Assured |
Output conversion code | 00h to FFFh [00 for VAI ≤ ADREFLO; FFF for VAI ≥ ADREFHI] |
The ADC module supports 3 conversion groups: Event Group, Group1 and Group2. Each of these 3 groups can be configured to be hardware event-triggered. In that case, the application can select from among 8 event sources to be the trigger for a group's conversions.
Event # | Source Select Bits For G1, G2 Or Event (G1SRC[2:0], G2SRC[2:0] or EVSRC[2:0]) |
Trigger |
---|---|---|
1 | 000 | ADEVT |
2 | 001 | N2HET1[8] |
3 | 010 | N2HET1[10] |
4 | 011 | RTI compare 0 interrupt |
5 | 100 | N2HET1[12] |
6 | 101 | N2HET1[14] |
7 | 110 | GIOB[0] |
8 | 111 | GIOB[1] |
NOTE
For ADEVT, N2HET1 and GIOB trigger sources, the connection to the MibADC1 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring the function as output onto the pad (via the mux control), or by driving the function from an external trigger source as input. If the mux control module is used to select different functionality instead of the ADEVT, N2HET1[x] or GIOB[x] signals, then care must be taken to disable these signals from triggering conversions; there is no multiplexing on the input connections.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
EVENT # | SOURCE SELECT BITS FOR G1, G2 OR EVENT (G1SRC[2:0], G2SRC[2:0] or EVSRC[2:0]) |
TRIGGER |
---|---|---|
1 | 000 | ADEVT |
2 | 001 | N2HET2[5] |
3 | 010 | N2HET1[27] |
4 | 011 | RTI compare 0 interrupt |
5 | 100 | N2HET1[17] |
6 | 101 | N2HET1[19] |
7 | 110 | N2HET1[11] |
8 | 111 | N2HET2[13] |
The selection between the default MIBADC1 event trigger hook-up versus the alternate event trigger hook-up is done by multiplexing control module register 30 bits 0 and 1.
If 30[0] = 1, then the default MibADC1 event trigger hook-up is used.
If 30[0] = 0 and 30[1] = 1, then the alternate MibADC1 event trigger hook-up is used.
NOTE
For ADEVT trigger source, the connection to the MibADC1 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring ADEVT as an output function on to the pad (via the mux control), or by driving the ADEVT signal from an external trigger source as input. If the mux control module is used to select different functionality instead of the ADEVT signal, then care must be taken to disable ADEVT from triggering conversions; there is no multiplexing on the input connection.
NOTE
For N2HETx trigger sources, the connection to the MibADC1 module trigger input is made from the input side of the output buffer (at the N2HETx module boundary). This way, a trigger condition can be generated even if the N2HETx signal is not selected to be output on the pad.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
EVENT # | SOURCE SELECT BITS FOR G1, G2 OR EVENT (G1SRC[2:0], G2SRC[2:0] or EVSRC[2:0]) |
TRIGGER |
---|---|---|
1 | 000 | AD2EVT |
2 | 001 | N2HET1[8] |
3 | 010 | N2HET1[10] |
4 | 011 | RTI compare 0 |
5 | 100 | N2HET1[12] |
6 | 101 | N2HET1[14] |
7 | 110 | GIOB[0] |
8 | 111 | GIOB[1] |
NOTE
For AD2EVT, N2HET1 and GIOB trigger sources, the connection to the MibADC2 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring the function as output onto the pad (via the mux control), or by driving the function from an external trigger source as input. If the mux control module is used to select different functionality instead of the AD2EVT, N2HET1[x] or GIOB[x] signals, then care must be taken to disable these signals from triggering conversions; there is no multiplexing on the input connections.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
EVENT # | SOURCE SELECT BITS FOR G1, G2 OR EVENT (G1SRC[2:0], G2SRC[2:0] or EVSRC[2:0]) |
TRIGGER |
---|---|---|
1 | 000 | AD2EVT |
2 | 001 | N2HET2[5] |
3 | 010 | N2HET1[27] |
4 | 011 | RTI compare 0 |
5 | 100 | N2HET1[17] |
6 | 101 | N2HET1[19] |
7 | 110 | N2HET1[11] |
8 | 111 | N2HET2[13] |
The selection between the default MIBADC2 event trigger hook-up versus the alternate event trigger hook-up is done by multiplexing control module register 30 bits 0 and 1.
If 30[0] = 1, then the default MibADC2 event trigger hook-up is used.
If 30[0] = 0 and 30[1] = 1, then the alternate MibADC2 event trigger hook-up is used.
NOTE
For AD2EVT trigger source, the connection to the MibADC2 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by configuring AD2EVT as an output function on to the pad (via the mux control), or by driving the AD2EVT signal from an external trigger source as input. If the mux control module is used to select different functionality instead of the AD2EVT signal, then care must be taken to disable AD2EVT from triggering conversions; there is no multiplexing on the input connections.
NOTE
For N2HETx trigger sources, the connection to the MibADC2 module trigger input is made from the input side of the output buffer (at the N2HETx module boundary). This way, a trigger condition can be generated even if the N2HETx signal is not selected to be output on the pad.
NOTE
For the RTI compare 0 interrupt source, the connection is made directly from the output of the RTI module. That is, the interrupt condition can be used as a trigger source even if the actual interrupt is not signaled to the CPU.
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
ADREFHI | A-to-D high-voltage reference source | ADREFLO | VCCAD(1) | V |
ADREFLO | A-to-D low-voltage reference source | VSSAD(1) | ADREFHI | V |
VAI | Analog input voltage | ADREFLO | ADREFHI | V |
IAIK | Analog input clamp current(2)
(VAI < VSSAD – 0.3 or VAI > VCCAD + 0.3) |
- 2 | 2 | mA |
PARAMETER | DESCRIPTION/CONDITIONS | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
Rmux | Analog input mux on-resistance | See Figure 7-1 | 250 | Ω | ||
Rsamp | ADC sample switch on-resistance | See Figure 7-1 | 250 | Ω | ||
Cmux | Input mux capacitance | See Figure 7-1 | 16 | pF | ||
Csamp | ADC sample capacitance | See Figure 7-1 | 13 | pF | ||
IAIL | Analog off-state input leakage current | VCCAD = 3.6 V maximum |
VSSAD ≤ VIN < VSSAD + 100 mV | –300 | 200 | nA |
VSSAD + 100 mV ≤ VIN ≤ VCCAD - 200 mV | –200 | 200 | ||||
VCCAD - 200 mV < VIN ≤ VCCAD | –200 | 500 | ||||
IAIL | Analog off-state input leakage current | VCCAD = 5.5 V maximum |
VSSAD ≤ VIN < VSSAD + 300 mV | –1000 | 250 | nA |
VSSAD + 300 mV ≤ VIN ≤ VCCAD - 300 mV | –250 | 250 | ||||
VCCAD - 300 mV < VIN ≤ VCCAD | –250 | 1000 | ||||
IAOSB1(1) | ADC1 Analog on-state input bias current | VCCAD = 3.6 V maximum |
VSSAD ≤ VIN < VSSAD + 100 mV | –8 | 2 | µA |
VSSAD + 100 mV < VIN < VCCAD - 200 mV | –4 | 2 | ||||
VCCAD - 200 mV < VIN < VCCAD | –4 | 12 | ||||
IAOSB2(1) | ADC2 Analog on-state input bias current | VCCAD = 3.6 V maximum |
VSSAD ≤ VIN < VSSAD + 100 mV | –7 | 2 | µA |
VSSAD + 100 mV ≤ VIN ≤ VCCAD - 200 mV | –4 | 2 | ||||
VCCAD - 200 mV < VIN ≤ VCCAD | –4 | 10 | ||||
IAOSB1(1) | ADC1 Analog on-state input bias current | VCCAD = 5.5 V maximum |
VSSAD ≤ VIN < VSSAD + 300 mV | –10 | 3 | µA |
VSSAD + 300 mV ≤ VIN ≤ VCCAD - 300 mV | –5 | 3 | ||||
VCCAD - 300 mV < VIN ≤ VCCAD | –5 | 14 | ||||
IAOSB2(1) | ADC2 Analog on-state input bias current | VCCAD = 5.5 V maximum |
VSSAD ≤ VIN < VSSAD + 300 mV | –8 | 3 | µA |
VSSAD + 300 mV ≤ VIN ≤ VCCAD - 300 mV | –5 | 3 | ||||
VCCAD - 300 mV < VIN ≤ VCCAD | –5 | 12 | ||||
IADREFHI | ADREFHI input current | ADREFHI = VCCAD, ADREFLO = VSSAD | 3 | mA | ||
ICCAD | Static supply current | Normal operating mode | 15 | mA | ||
ADC core in power down mode | 5 | µA |
PARAMETER | MIN | NOM | MAX | UNIT | |
---|---|---|---|---|---|
tc(ADCLK)(2) | Cycle time, MibADC clock | 0.033 | µs | ||
td(SH)(3) | Delay time, sample and hold time | 0.2 | µs | ||
td(PU-ADV) | Delay time from ADC power on until first input can be sampled | 1 | µs | ||
12-BIT MODE | |||||
td(c) | Delay time, conversion time | 0.4 | µs | ||
td(SHC)(1) | Delay time, total sample/hold and conversion time | 0.6 | µs | ||
10-BIT MODE | |||||
td(c) | Delay time, conversion time | 0.33 | µs | ||
td(SHC)(1) | Delay time, total sample/hold and conversion time | 0.53 | µs |
PARAMETER | DESCRIPTION/CONDITIONS | MIN | NOM | MAX | UNIT | ||
---|---|---|---|---|---|---|---|
CR | Conversion range over which specified accuracy is maintained | ADREFHI - ADREFLO | 3 | 5.5 | V | ||
ZSET | Zero Scale Offset | Difference between the first ideal transition (from code 000h to 001h) and the actual transition | 10-bit mode | 1 | LSB(1) | ||
12-bit mode | 2 | LSB(2) | |||||
FSET | Full Scale Offset | Difference between the range of the measured code transitions (from first to last) and the range of the ideal code transitions | 10-bit mode | 2 | LSB | ||
12-bit mode | 3 | LSB | |||||
EDNL | Differential nonlinearity error | Difference between the actual step width and the ideal value. (See Figure 76) | 10-bit mode | ± 1.5 | LSB | ||
12-bit mode | ± 2 | LSB | |||||
EINL | Integral nonlinearity error | Maximum deviation from the best straight line through the MibADC. MibADC transfer characteristics, excluding the quantization error. | 10-bit mode | ± 2 | LSB | ||
12-bit mode | ± 2 | LSB | |||||
ETOT | Total unadjusted error | Maximum value of the difference between an analog value and the ideal midstep value. | 10-bit mode | ± 2 | LSB | ||
12-bit mode | ± 4 | LSB |
The differential nonlinearity error shown in Figure 7-2 (sometimes referred to as differential linearity) is the difference between an actual step width and the ideal value of 1 LSB.
The integral nonlinearity error shown in Figure 7-3 (sometimes referred to as linearity error) is the deviation of the values on the actual transfer function from a straight line.
The absolute accuracy or total error of an MibADC as shown in Figure 7-4 is the maximum value of the difference between an analog value and the ideal midstep value.
The GPIO module on this device supports two ports, GIOA and GIOB. The I/O pins are bidirectional and bit-programmable. Both GIOA and GIOB support external interrupt capability.
The GPIO module has the following features:
For information on input and output timings see Section 5.11 and Section 5.12
The N2HET is an advanced intelligent timer that provides sophisticated timing functions for real-time applications. The timer is software-controlled, using a reduced instruction set, with a specialized timer micromachine and an attached I/O port. The N2HET can be used for pulse width modulated outputs, capture or compare inputs, or general-purpose I/O. It is especially well suited for applications requiring multiple sensor information and drive actuators with complex and accurate time pulses.
The N2HET module has the following features:
The timer RAM uses 4 RAM banks, where each bank has two port access capability. This means that one RAM address may be written while another address is read. The RAM words are 96 bits wide, which are split into three 32-bit fields (program, control, and data).
The N2HET instructions PCNT and WCAP impose some timing constraints on the input signals.
NO. | MIN(1)(2) | MAX(1)(2) | UNIT | |
---|---|---|---|---|
1 | Input signal period, PCNT or WCAP for rising edge to rising edge | 2 (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
2 | Input signal period, PCNT or WCAP for falling edge to falling edge | 2 (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
3 | Input signal high phase, PCNT or WCAP for rising edge to falling edge | (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
4 | Input signal low phase, PCNT or WCAP for falling edge to rising edge | (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
Both N2HET1 and N2HET2 have channels that are enhanced to be able to capture inputs with smaller pulse widths than that specified in Table 7-11. See Table 7-13 for a list of which pins support small pulse capture.
The input capture capability for these channels is specified in Table 7-12.
NO. | MIN | MAX | UNIT | |
---|---|---|---|---|
1 | Input signal period, PCNT or WCAP for rising edge to rising edge | (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
2 | Input signal period, PCNT or WCAP for falling edge to falling edge | (hr) (lr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
3 | Input signal high phase, PCNT or WCAP for rising edge to falling edge | 2 (hr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
4 | Input signal low phase, PCNT or WCAP for falling edge to rising edge | 2 (hr) tc(VCLK2) + 2 | 225 (hr) (lr) tc(VCLK2) - 2 | ns |
CHANNEL | SUPPORTS 32-BIT CAPTURE | ENHANCED PULSE CAPTURE |
---|---|---|
N2HET1[00] | Yes | No |
N2HET1[01] | Yes | No |
N2HET1[02] | Yes | No |
N2HET1[03] | Yes | No |
N2HET1[04] | Yes | No |
N2HET1[05] | Yes | No |
N2HET1[06] | Yes | No |
N2HET1[07] | Yes | No |
N2HET1[08] | Yes | No |
N2HET1[09] | Yes | No |
N2HET1[10] | Yes | No |
N2HET1[11] | Yes | No |
N2HET1[12] | Yes | No |
N2HET1[13] | Yes | No |
N2HET1[14] | Yes | No |
N2HET1[15] | Yes | Yes |
N2HET1[16] | Yes | No |
N2HET1[17] | Yes | No |
N2HET1[18] | Yes | No |
N2HET1[19] | Yes | No |
N2HET1[20] | Yes | Yes |
N2HET1[21] | Yes | No |
N2HET1[22] | Yes | No |
N2HET1[23] | Yes | No |
N2HET1[24] | Yes | No |
N2HET1[25] | Yes | No |
N2HET1[26] | Yes | No |
N2HET1[27] | Yes | No |
N2HET1[28] | Yes | No |
N2HET1[29] | Yes | No |
N2HET1[30] | Yes | No |
N2HET1[31] | Yes | Yes |
N2HET2[00] | Yes | No |
N2HET2[01] | No | No |
N2HET2[02] | No | No |
N2HET2[03] | No | No |
N2HET2[04] | Yes | No |
N2HET2[05] | No | No |
N2HET2[06] | Yes | No |
N2HET2[07] | No | No |
N2HET2[08] | No | No |
N2HET2[09] | No | No |
N2HET2[10] | No | No |
N2HET2[11] | No | No |
N2HET2[12] | Yes | Yes |
N2HET2[13] | No | No |
N2HET2[14] | Yes | Yes |
N2HET2[15] | No | No |
N2HET2[16] | Yes | Yes |
N2HET2[18] | No | No |
In some applications the N2HET resolutions must be synchronized. Some other applications require a single time base to be used for all PWM outputs and input timing captures.
The N2HET provides such a synchronization mechanism. The Clk_master/slave (HETGCR.16) configures the N2HET in master or slave mode (default is slave mode). A N2HET in master mode provides a signal to synchronize the prescalers of the slave N2HET. The slave N2HET synchronizes its loop resolution to the loop resolution signal sent by the master. The slave does not require this signal after it receives the first synchronization signal. However, anytime the slave receives the resynchronization signal from the master, the slave must synchronize itself again..
To assure correctness of the high-end timer operation and output signals, the two N2HET modules can be used to monitor each other’s signals as shown in Figure 7-7. The direction of the monitoring is controlled by the I/O multiplexing control module.
N2HET1[31] is connected as a clock source for counter 1 in DCC1. This allows the application to measure the frequency of the pulse-width modulated (PWM) signal on N2HET1[31].
Similarly, N2HET2[0] is connected as a clock source for counter 1 in DCC2. This allows the application to measure the frequency of the pulse-width modulated (PWM) signal on N2HET2[0].
Both N2HET1[31] and N2HET2[0] can be configured to be internal-only channels. That is, the connection to the DCC module is made directly from the output of the N2HETx module (from the input of the output buffer).
For more information on DCC see Section 6.7.3.
Some applications require the N2HET outputs to be disabled under some fault condition. The N2HET module provides this capability via the "Pin Disable" input signal. This signal, when driven low, causes the N2HET outputs identified by a programmable register (HETPINDIS) to be tri-stated. See the device specific technical reference manual for more details on the "N2HET Pin Disable" feature.
GIOA[5] is connected to the "Pin Disable" input for N2HET1, and GIOB[2] is connected to the "Pin Disable" input for N2HET2.
A High End Timer Transfer Unit (HTU) can perform DMA type transactions to transfer N2HET data to or from main memory. A Memory Protection Unit (MPU) is built into the HTU.
MODULES | REQUEST SOURCE | HTU1 REQUEST |
---|---|---|
N2HET1 | HTUREQ[0] | HTU1 DCP[0] |
N2HET1 | HTUREQ[1] | HTU1 DCP[1] |
N2HET1 | HTUREQ[2] | HTU1 DCP[2] |
N2HET1 | HTUREQ[3] | HTU1 DCP[3] |
N2HET1 | HTUREQ[4] | HTU1 DCP[4] |
N2HET1 | HTUREQ[5] | HTU1 DCP[5] |
N2HET1 | HTUREQ[6] | HTU1 DCP[6] |
N2HET1 | HTUREQ[7] | HTU1 DCP[7] |
MODULES | REQUEST SOURCE | HTU2 REQUEST |
---|---|---|
N2HET2 | HTUREQ[0] | HTU2 DCP[0] |
N2HET2 | HTUREQ[1] | HTU2 DCP[1] |
N2HET2 | HTUREQ[2] | HTU2 DCP[2] |
N2HET2 | HTUREQ[3] | HTU2 DCP[3] |
N2HET2 | HTUREQ[4] | HTU2 DCP[4] |
N2HET2 | HTUREQ[5] | HTU2 DCP[5] |
N2HET2 | HTUREQ[6] | HTU2 DCP[6] |
N2HET2 | HTUREQ[7] | HTU2 DCP[7] |
The FlexRay module performs communication according to the FlexRay protocol specification v2.1. The sample clock bit rate can be programmed to values up to 10 Mbps. Additional bus driver (BD) hardware is required for connection to the physical layer.
For communication on a FlexRay network, individual message buffers with up to 254 data bytes are configurable. The message storage consists of a single-ported message RAM that holds up to 128 message buffers. All functions concerning the handling of messages are implemented in the message handler. Those functions are the acceptance filtering, the transfer of messages between the two FlexRay Channel Protocol Controllers and the message RAM, maintaining the transmission schedule, as well as providing message status information.
The register set of the FlexRay module can be accessed directly by the CPU through the VBUS interface. These registers are used to control, configure, and monitor the FlexRay channel protocol controllers, message handler, global time unit, system universal control, frame/symbol processing, network management, interrupt control, and to access the message RAM through the I/O buffer.
The FlexRay module has the following features:
MIN | MAX | UNIT | ||
---|---|---|---|---|
tpw | Input minimum pulse width to meet the FlexRay sampling requirement | tc(AVCLK2) + 2.5(1) | ns |
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
tTx1bit | Clock jitter and signal symmetry | 98 | 102 | ns |
tTx10bit | FlexRay BSS (byte start sequence) to BSS | 999 | 1001 | ns |
tTx10bitAvg | Average over 10,000 samples | 999.5 | 1000.5 | ns |
tRxAsymDelay | Delay difference between rise and fall from Rx pin to sample point in FlexRay core | – | 2.5 | ns |
tjit(SCLK) | Jitter for the 80-MHz Sample Clock generated by the PLL | – | 0.5 | ns |
The FTU can transfer data between the input buffer (IBF) and output buffer (OBF) of the communication controller and the system memory without CPU interaction.
Because the FlexRay module is accessed through the FTU, the FTU must be powered up by setting bit 23 in the Peripheral Power Down Registers of the System Module before accessing any FlexRay module register.
For more information on the FTU, see the TMS570LS31x/TMS570LS21x 16/32-Bit RISC Flash Microcontroller Technical Reference Manual (SPNU499).
The DCAN supports the CAN 2.0B protocol standard and uses a serial, multimaster communication protocol that efficiently supports distributed real-time control with robust communication rates of up to 1 Mbps. The DCAN is ideal for applications operating in noisy and harsh environments (for example, automotive and industrial fields) that require reliable serial communication or multiplexed wiring.
Features of the DCAN module include:
For more information on the DCAN, see the TMS570LS31x/21x 16/32-Bit RISC Flash Microcontroller Technical Reference Manual (SPNU499).
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
td(CANnTX) | Delay time, transmit shift register to CANnTX pin(1) | 15 | ns | |
td(CANnRX) | Delay time, CANnRX pin to receive shift register | 5 | ns |
The SCI/LIN module can be programmed to work either as an SCI or as a LIN. The core of the module is an SCI. The hardware features of the SCI are augmented to achieve LIN compatibility.
The SCI module is a universal asynchronous receiver-transmitter that implements the standard nonreturn to zero format. The SCI can be used to communicate, for example, through an RS-232 port or over a K-line.
The LIN standard is based on the SCI (UART) serial data link format. The communication concept is single-master/multiple-slave with a message identification for multicast transmission between any network nodes.
The following are features of the LIN module:
The inter-integrated circuit (I2C) module is a multimaster communication module providing an interface between the TMS570 microcontroller and devices compliant with Philips Semiconductor I2C-bus specification version 2.1 and connected by an I2C-bus™. This module will support any slave or master I2C compatible device.
The I2C has the following features:
NOTE
This I2C module does not support:
PARAMETER | STANDARD MODE | FAST MODE | UNIT | |||
---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||
tc(I2CCLK) | Cycle time, Internal Module clock for I2C, prescaled from VCLK | 75.2 | 149 | 75.2 | 149 | ns |
f(SCL) | SCL Clock frequency | 0 | 100 | 0 | 400 | kHz |
tc(SCL) | Cycle time, SCL | 10 | 2.5 | µs | ||
tsu(SCLH-SDAL) | Setup time, SCL high before SDA low (for a repeated START condition) | 4.7 | 0.6 | µs | ||
th(SCLL-SDAL) | Hold time, SCL low after SDA low (for a repeated START condition) | 4 | 0.6 | µs | ||
tw(SCLL) | Pulse duration, SCL low | 4.7 | 1.3 | µs | ||
tw(SCLH) | Pulse duration, SCL high | 4 | 0.6 | µs | ||
tsu(SDA-SCLH) | Setup time, SDA valid before SCL high | 250 | 100 | ns | ||
th(SDA-SCLL) | Hold time, SDA valid after SCL low (for I2C bus devices) | 0 | 3.45(2) | 0 | 0.9 | µs |
tw(SDAH) | Pulse duration, SDA high between STOP and START conditions | 4.7 | 1.3 | µs | ||
tsu(SCLH-SDAH) | Setup time, SCL high before SDA high (for STOP condition) | 4.0 | 0.6 | µs | ||
tw(SP) | Pulse duration, spike (must be suppressed) | 0 | 50 | ns | ||
Cb(3) | Capacitive load for each bus line | 400 | 400 | pF |
NOTE
The MibSPI is a high-speed synchronous serial input/output port that allows a serial bit stream of programmed length (2 to 16 bits) to be shifted in and out of the device at a programmed bit-transfer rate. Typical applications for the SPI include interfacing to external peripherals, such as I/Os, memories, display drivers, and analog-to-digital converters.
Both Standard and MibSPI modules have the following features:
MibSPIx/SPIx | I/Os |
---|---|
MibSPI1 | MIBSPI1SIMO[1:0], MIBSPI1SOMI[1:0], MIBSPI1CLK, MIBSPI1nCS[5:0], MIBSPI1nENA |
MibSPI3 | MIBSPI3SIMO, MIBSPI3SOMI, MIBSPI3CLK, MIBSPI3nCS[5:0], MIBSPI3nENA |
MibSPI5 | MIBSPI5SIMO[3:0], MIBSPI5SOMI[3:0], MIBSPI5CLK, MIBSPI5nCS[3:0], MIBSPI5nENA |
SPI2 | SPI2SIMO, SPI2SOMI, SPI2CLK, SPI2nCS[1:0], SPI2nENA |
SPI4 | SPI4SIMO, SPI4SOMI, SPI4CLK, SPI4nCS[0], SPI4nENA |
The Multibuffer RAM is comprised of 128 buffers. Each entry in the Multibuffer RAM consists of 4 parts: a 16-bit transmit field, a 16-bit receive field, a 16-bit control field and a 16-bit status field. The Multibuffer RAM can be partitioned into multiple transfer group with variable number of buffers each.
Each of the transfer groups can be configured individually. For each of the transfer groups a trigger event and a trigger source can be chosen. A trigger event can be for example a rising edge or a permanent low level at a selectable trigger source. For example, up to 15 trigger sources are available which can be used by each transfer group. These trigger options are listed in Table 7-21 for MIBSPI1, Section 7.10.3.2 for MIBSPI3 and Section 7.10.3.3 for MibSPI5.
EVENT # | TGxCTRL TRIGSRC[3:0] | TRIGGER |
---|---|---|
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | N2HET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI1 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI1 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin plus selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI1 transfers; there is no multiplexing on the input connections.
EVENT # | TGxCTRL TRIGSRC[3:0] | TRIGGER |
---|---|---|
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | HET[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI3 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI3 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin plus selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI3 transfers; there is no multiplexing on the input connections.
EVENT # | TGxCTRL TRIGSRC[3:0] | TRIGGER |
---|---|---|
Disabled | 0000 | No trigger source |
EVENT0 | 0001 | GIOA[0] |
EVENT1 | 0010 | GIOA[1] |
EVENT2 | 0011 | GIOA[2] |
EVENT3 | 0100 | GIOA[3] |
EVENT4 | 0101 | GIOA[4] |
EVENT5 | 0110 | GIOA[5] |
EVENT6 | 0111 | GIOA[6] |
EVENT7 | 1000 | GIOA[7] |
EVENT8 | 1001 | N2HET1[8] |
EVENT9 | 1010 | N2HET1[10] |
EVENT10 | 1011 | N2HET1[12] |
EVENT11 | 1100 | N2HET1[14] |
EVENT12 | 1101 | N2HET1[16] |
EVENT13 | 1110 | N2HET1[18] |
EVENT14 | 1111 | Internal Tick counter |
NOTE
For N2HET1 trigger sources, the connection to the MibSPI5 module trigger input is made from the input side of the output buffer (at the N2HET1 module boundary). This way, a trigger condition can be generated even if the N2HET1 signal is not selected to be output on the pad.
NOTE
For GIOx trigger sources, the connection to the MibSPI5 module trigger input is made from the output side of the input buffer. This way, a trigger condition can be generated either by selecting the GIOx pin as an output pin + selecting the pin to be a GIOx pin, or by driving the GIOx pin from an external trigger source. If the mux control module is used to select different functionality instead of the GIOx signal, then care must be taken to disable GIOx from triggering MibSPI5 transfers; there is no multiplexing on the input connections.
NO. | PARAMETER | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
1 | tc(SPC)M | Cycle time, SPICLK(4) | 40 | 256tc(VCLK) | ns | |
2(5) | tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
3(5) | tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
4(5) | td(SPCH-SIMO)M | Delay time, SPISIMO valid before SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – 6 | ns | ||
td(SPCL-SIMO)M | Delay time, SPISIMO valid before SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – 6 | ||||
5(5) | tv(SPCL-SIMO)M | Valid time, SPISIMO data valid after SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC) – 4 | ns | ||
tv(SPCH-SIMO)M | Valid time, SPISIMO data valid after SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC) – 4 | ||||
6(5) | tsu(SOMI-SPCL)M | Setup time, SPISOMI before SPICLK low (clock polarity = 0) | tf(SPC) + 2.2 | ns | ||
tsu(SOMI-SPCH)M | Setup time, SPISOMI before SPICLK high (clock polarity = 1) | tr(SPC) + 2.2 | ||||
7(5) | th(SPCL-SOMI)M | Hold time, SPISOMI data valid after SPICLK low (clock polarity = 0) | 10 | ns | ||
th(SPCH-SOMI)M | Hold time, SPISOMI data valid after SPICLK high (clock polarity = 1) | 10 | ||||
8(6) | tC2TDELAY | Setup time CS active until SPICLK high (clock polarity = 0) | CSHOLD = 0 | C2TDELAY*tc(VCLK) + 2*tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ns |
CSHOLD = 1 | C2TDELAY*tc(VCLK) + 3*tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ||||
Setup time CS active until SPICLK low (clock polarity = 1) | CSHOLD = 0 | C2TDELAY*tc(VCLK) + 2*tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | |||
CSHOLD = 1 | C2TDELAY*tc(VCLK) + 3*tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ||||
9(6) | tT2CDELAY | Hold time SPICLK low until CS inactive (clock polarity = 0) | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) - 7 | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) + 11 | ns | |
Hold time SPICLK high until CS inactive (clock polarity = 1) | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) - 7 | 0.5*tc(SPC)M + T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) + 11 | ||||
10 | tSPIENA | SPIENAn Sample point | (C2TDELAY+1) * tc(VCLK) - tf(SPICS) – 29 | (C2TDELAY+1)*tc(VCLK) | ns | |
11 | tSPIENAW | SPIENAn Sample point from write to buffer | (C2TDELAY+2)*tc(VCLK) | ns |
NO. | PARAMETER | MIN | MAX | UNIT | ||
---|---|---|---|---|---|---|
1 | tc(SPC)M | Cycle time, SPICLK (4) | 40 | 256tc(VCLK) | ns | |
2(5) | tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
3(5) | tw(SPCL)M | Pulse duration, SPICLK low (clock polarity = 0) | 0.5tc(SPC)M – tf(SPC)M – 3 | 0.5tc(SPC)M + 3 | ns | |
tw(SPCH)M | Pulse duration, SPICLK high (clock polarity = 1) | 0.5tc(SPC)M – tr(SPC)M – 3 | 0.5tc(SPC)M + 3 | |||
4(5) | tv(SIMO-SPCH)M | Valid time, SPICLK high after SPISIMO data valid (clock polarity = 0) | 0.5tc(SPC)M – 6 | ns | ||
tv(SIMO-SPCL)M | Valid time, SPICLK low after SPISIMO data valid (clock polarity = 1) | 0.5tc(SPC)M – 6 | ||||
5(5) | tv(SPCH-SIMO)M | Valid time, SPISIMO data valid after SPICLK high (clock polarity = 0) | 0.5tc(SPC)M – tr(SPC) – 4 | ns | ||
tv(SPCL-SIMO)M | Valid time, SPISIMO data valid after SPICLK low (clock polarity = 1) | 0.5tc(SPC)M – tf(SPC) – 4 | ||||
6(5) | tsu(SOMI-SPCH)M | Setup time, SPISOMI before SPICLK high (clock polarity = 0) | tr(SPC) + 2.2 | ns | ||
tsu(SOMI-SPCL)M | Setup time, SPISOMI before SPICLK low (clock polarity = 1) | tf(SPC) + 2.2 | ||||
7(5) | tv(SPCH-SOMI)M | Valid time, SPISOMI data valid after SPICLK high (clock polarity = 0) | 10 | ns | ||
tv(SPCL-SOMI)M | Valid time, SPISOMI data valid after SPICLK low (clock polarity = 1) | 10 | ||||
8(6) | tC2TDELAY | Setup time CS active until SPICLK high (clock polarity = 0) | CSHOLD = 0 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ns |
CSHOLD = 1 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tr(SPC) + 5.5 | ||||
Setup time CS active until SPICLK low (clock polarity = 1) | CSHOLD = 0 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+2) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | |||
CSHOLD = 1 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) – 7 | 0.5*tc(SPC)M + (C2TDELAY+3) * tc(VCLK) - tf(SPICS) + tf(SPC) + 5.5 | ||||
9(6) | tT2CDELAY | Hold time SPICLK low until CS inactive (clock polarity = 0) | T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) - 7 | T2CDELAY*tc(VCLK) + tc(VCLK) - tf(SPC) + tr(SPICS) + 11 | ns | |
Hold time SPICLK high until CS inactive (clock polarity = 1) | T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) - 7 | T2CDELAY*tc(VCLK) + tc(VCLK) - tr(SPC) + tr(SPICS) + 11 | ||||
10 | tSPIENA | SPIENAn Sample Point | (C2TDELAY+1)* tc(VCLK) - tf(SPICS) – 29 | (C2TDELAY+1)*tc(VCLK) | ns | |
11 | tSPIENAW | SPIENAn Sample point from write to buffer | (C2TDELAY+2)*tc(VCLK) | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
1 | tc(SPC)S | Cycle time, SPICLK(5) | 40 | ns | |
2(6) | tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 0) | 14 | ns | |
tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 1) | 14 | |||
3(6) | tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 0) | 14 | ns | |
tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 1) | 14 | |||
4(6) | td(SPCH-SOMI)S | Delay time, SPISOMI valid after SPICLK high (clock polarity = 0) | trf(SOMI) + 20 | ns | |
td(SPCL-SOMI)S | Delay time, SPISOMI valid after SPICLK low (clock polarity = 1) | trf(SOMI) + 20 | |||
5(6) | th(SPCH-SOMI)S | Hold time, SPISOMI data valid after SPICLK high (clock polarity =0) | 2 | ns | |
th(SPCL-SOMI)S | Hold time, SPISOMI data valid after SPICLK low (clock polarity =1) | 2 | |||
6(6) | tsu(SIMO-SPCL)S | Setup time, SPISIMO before SPICLK low (clock polarity = 0) | 4 | ns | |
tsu(SIMO-SPCH)S | Setup time, SPISIMO before SPICLK high (clock polarity = 1) | 4 | |||
7(6) | th(SPCL-SIMO)S | Hold time, SPISIMO data valid after SPICLK low (clock polarity = 0) | 2 | ns | |
th(SPCH-SIMO)S | Hold time, SPISIMO data valid after S PICLK high (clock polarity = 1) | 2 | |||
8 | td(SPCL-SENAH)S | Delay time, SPIENAn high after last SPICLK low (clock polarity = 0) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn)+ 22 | ns |
td(SPCH-SENAH)S | Delay time, SPIENAn high after last SPICLK high (clock polarity = 1) | 1.5tc(VCLK) | 2.5tc(VCLK)+ tr(ENAn) + 22 | ||
9 | td(SCSL-SENAL)S | Delay time, SPIENAn low after SPICSn low (if new data has been written to the SPI buffer) | tf(ENAn) | tc(VCLK)+tf(ENAn)+27 | ns |
NO. | PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|---|
1 | tc(SPC)S | Cycle time, SPICLK(5) | 40 | ns | |
2(6) | tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 0) | 14 | ns | |
tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 1) | 14 | |||
3(6) | tw(SPCL)S | Pulse duration, SPICLK low (clock polarity = 0) | 14 | ns | |
tw(SPCH)S | Pulse duration, SPICLK high (clock polarity = 1) | 14 | |||
4(6) | td(SOMI-SPCL)S | Dealy time, SPISOMI data valid after SPICLK low (clock polarity = 0) | trf(SOMI) + 20 | ns | |
td(SOMI-SPCH)S | Delay time, SPISOMI data valid after SPICLK high (clock polarity = 1) | trf(SOMI) + 20 | |||
5(6) | th(SPCL-SOMI)S | Hold time, SPISOMI data valid after SPICLK high (clock polarity =0) | 2 | ns | |
th(SPCH-SOMI)S | Hold time, SPISOMI data valid after SPICLK low (clock polarity =1) | 2 | |||
6(6) | tsu(SIMO-SPCH)S | Setup time, SPISIMO before SPICLK high (clock polarity = 0) | 4 | ns | |
tsu(SIMO-SPCL)S | Setup time, SPISIMO before SPICLK low (clock polarity = 1) | 4 | |||
7(6) | tv(SPCH-SIMO)S | High time, SPISIMO data valid after SPICLK high (clock polarity = 0) | 2 | ns | |
tv(SPCL-SIMO)S | High time, SPISIMO data valid after SPICLK low (clock polarity = 1) | 2 | |||
8 | td(SPCH-SENAH)S | Delay time, SPIENAn high after last SPICLK high (clock polarity = 0) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn) + 22 | ns |
td(SPCL-SENAH)S | Delay time, SPIENAn high after last SPICLK low (clock polarity = 1) | 1.5tc(VCLK) | 2.5tc(VCLK)+tr(ENAn) + 22 | ||
9 | td(SCSL-SENAL)S | Delay time, SPIENAn low after SPICSn low (if new data has been written to the SPI buffer) | tf(ENAn) | tc(VCLK)+tf(ENAn)+ 27 | ns |
10 | td(SCSL-SOMI)S | Delay time, SOMI valid after SPICSn low (if new data has been written to the SPI buffer) | tc(VCLK) | 2tc(VCLK)+trf(SOMI)+ 28 | ns |