SPRS587F June 2009 – January 2017 TMS320C6742
PRODUCTION DATA.
Refer to the PDF data sheet for device specific package drawings
The load capacitance value stated is only for characterization and measurement of AC timing signals. This load capacitance value does not indicate the maximum load the device is capable of driving.
All input and output timing parameters are referenced to Vref for both "0" and "1" logic levels.
For 3.3 V I/O, Vref = 1.65 V.
For 1.8 V I/O, Vref = 0.9 V.
For 1.2 V I/O, Vref = 0.6 V.
All rise and fall transition timing parameters are referenced to VIL MAX and VIH MIN for input clocks, VOLMAX and VOH MIN for output clocks
All clocks and control signals must transition between VIH and VIL (or between VIL and VIH) in a monotonic manner.
The device should be powered-on in the following order:
There is no specific required voltage ramp rate for any of the supplies as long as the LVCMOS supplies operated at 3.3V (DVDD3318_A, DVDD3318_B, or DVDD3318_C) never exceed the STATIC 1.8V supplies by more than 2 volts.
RESET must be maintained active until all power supplies have reached their nominal values.
The power supplies can be powered-off in any order as long as LVCMOS supplies operated at 3.3V (DVDD3318_A, DVDD3318_B, or DVDD3318_C) never exceed static 1.8V supplies by more than 2 volts. There is no specific required voltage ramp down rate for any of the supplies (except as required to meet the above mentioned voltage condition).
A power-on reset (POR) is required to place the device in a known good state after power-up. Power-On Reset is initiated by bringing RESET and TRST low at the same time. POR sets all of the device internal logic to its default state. All pins are tri-stated with the exception of RESETOUT which remains active through the reset sequence, and RTCK/GP8[0]. During reset, GP8[0] is configured as a reserved function, and its behavior is not deterministic; the user should be aware that this pin will drive a level, and fact may toggle, during reset. RESETOUT in an output for use by other controllers in the system that indicates the device is currently in reset.
While both TRST and RESET need to be asserted upon power up, only RESET needs to be released for the device to boot properly. TRST may be asserted indefinitely for normal operation, keeping the JTAG port interface and device's emulation logic in the reset state.
TRST only needs to be released when it is necessary to use a JTAG controller to debug the device or exercise the device's boundary scan functionality. Note: TRST is synchronous and must be clocked by TCK; otherwise, the boundary scan logic may not respond as expected after TRST is asserted.
RESET must be released only in order for boundary-scan JTAG to read the variant field of IDCODE correctly. Other boundary-scan instructions work correctly independent of current state of RESET. For maximum reliability, the device includes an internal pulldown on the TRST pin to ensure that TRST will always be asserted upon power up and the device's internal emulation logic will always be properly initialized.
JTAG controllers from Texas Instruments actively drive TRST high. However, some third-party JTAG controllers may not drive TRST high but expect the use of a pullup resistor on TRST. When using this type of JTAG controller, assert TRST to intialize the device after powerup and externally drive TRST high before attempting any emulation or boundary scan operations.
A summary of the effects of Power-On Reset is given below:
CAUTION: A watchdog reset triggers a POR.
A warm reset provides a limited reset to the device. Warm Reset is initiated by bringing only RESET low (TRST is maintained high through a warm reset). Warm reset sets certain portions of the device to their default state while leaving others unaltered. All pins are tri-stated with the exception of RESETOUT which remains active through the reset sequence, and RTCK/GP8[0]. During reset, GP8[0] is configured as a reserved function, and its behavior is not deterministic; the user should be aware that this pin will drive a level, and fact may toggle, during reset. RESETOUT is an output for use by other controllers in the system that indicates the device is currently in reset.
During an emulation, the emulator will maintain TRST high and hence only warm reset (not POR) is available during emulation debug and development.
A summary of the effects of Warm Reset is given below:
Table 6-1 assumes testing over the recommended operating conditions.
NO. | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
1 | tw(RSTL) | Pulse width, RESET/TRST low | 100 | 100 | 100 | ns | |||
2 | tsu(BPV-RSTH) | Setup time, boot pins valid before RESET/TRST high | 20 | 20 | 20 | ns | |||
3 | th(RSTH-BPV) | Hold time, boot pins valid after RESET/TRST high | 20 | 20 | 20 | ns | |||
4 | td(RSTH-RESETOUTH) | RESET high to RESETOUT high; Warm reset | 4096 | 4096 | 4096 | cycles(3) | |||
RESET high to RESETOUT high; Power-on Reset | 6169 | 6169 | 6169 | ||||||
5 | td(RSTL-RESETOUTL) | Delay time, RESET/TRST low to RESETOUT low | 14 | 16 | 20 | ns |
The device includes two choices to provide an external clock input, which is fed to the on-chip PLLs to generate
high-frequency system clocks. These options are illustrated in Figure 6-6 and Figure 6-7. For input clock frequencies between 12 and 20 MHz, a crystal with 80 ohm max ESR is recommended. For input clock frequencies between 20 and 30 MHz, a crystal with 60 ohm max ESR is recommended. Typical load capacitance values are 10-20 pF, where the load capacitance is the series combination of C1 and C2.
The CLKMODE bit in the PLLCTL register must be 0 to use the on-chip oscillator. If CLKMODE is set to 1, the internal oscillator is disabled.
Figure 6-6 illustrates the option that uses on-chip 1.2V oscillator with external crystal circuit. Figure 6-7 illustrates the option that uses an external 1.2V clock input.
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
fosc | Oscillator frequency range (OSCIN/OSCOUT) | 12 | 30 | MHz |
PARAMETER | MIN | MAX | UNIT | |
---|---|---|---|---|
fOSCIN | OSCIN frequency range | 12 | 50 | MHz |
tc(OSCIN) | Cycle time, external clock driven on OSCIN | 20 | ns | |
tw(OSCINH) | Pulse width high, external clock on OSCIN | 0.4 tc(OSCIN) | ns | |
tw(OSCINL) | Pulse width low, external clock on OSCIN | 0.4 tc(OSCIN) | ns | |
tt(OSCIN) | Transition time, OSCIN | 0.25P or 10 (1) | ns | |
tj(OSCIN) | Period jitter, OSCIN | 0.02P | ns |
The device has two PLL controllers that provide clocks to different parts of the system. PLL0 provides clocks (though various dividers) to most of the components of the device. PLL1 provides clocks to the DDR2/mDDR Controller and provides an alternate clock source for the ASYNC3 clock domain. This allows the peripherals on the ASYNC3 clock domain to be immune to frequency scaling operation on PLL0.
The PLL controller provides the following:
The various clock outputs given by the controller are as follows:
Various dividers that can be used are as follows:
Various other controls supported are as follows:
The device DSP generates the high-frequency internal clocks it requires through an on-chip PLL.
The PLL requires some external filtering components to reduce power supply noise as shown in Figure 6-8.
The external filtering components shown above provide noise immunity for the PLLs. PLL0_VDDA and PLL1_VDDA should not be connected together to provide noise immunity between the two PLLs. Likewise, PLL0_VSSA and PLL1_VSSA should not be connected together.
The input to the PLL is either from the on-chip oscillator or from an external clock on the OSCIN pin. PLL0 outputs seven clocks that have programmable divider options. PLL1 outputs three clocks that have programmable divider options. Figure 6-9 illustrates the high-level view of the PLL Topology.
The PLLs are disabled by default after a device reset. They must be configured by software according to the allowable operating conditions listed in Table 6-4 before enabling the device to run from the PLL by setting PLLEN = 1.
NO. | PARAMETER | Default Value |
MIN | MAX | UNIT |
---|---|---|---|---|---|
1 | PLLRST: Assertion time during initialization | N/A | 1000 | N/A | ns |
2 | Lock time: The time that the application has to wait for the PLL to acquire lock before setting PLLEN, after changing PREDIV, PLLM, or OSCIN | N/A | N/A | (1) | OSCIN cycles |
3 | PREDIV: Pre-divider value | /1 | /1 | /32 | - |
4 | PLLREF: PLL input frequency | 12 | 30 (if internal oscillator is used) 50 (if external clock is used) |
MHz | |
5 | PLLM: PLL multiplier values | x20 | x4 | x32 | |
6 | PLLOUT: PLL output frequency | N/A | 300 | 600 | MHz |
7 | POSTDIV: Post-divider value | /1 | /1 | /32 | - |
PLL0 is controlled by PLL Controller 0 and PLL1 is controlled by PLL Controller 1. PLLC0 and PLLC1 manage the clock ratios, alignment, and gating for the system clocks to the chip. The PLLCs are responsible for controlling all modes of the PLL through software, in terms of pre-division of the clock inputs (PLLC0 only), multiply factors within the PLLs, and post-division for each of the chip-level clocks from the PLLs outputs. PLLC0 also controls reset propagation through the chip, clock alignment, and test points.
PLLC0 provides clocks for the majority of the system but PLLC1 provides clocks to the DDR2/mDDR Controller and the ASYNC3 clock domain to provide frequency scaling immunity to a defined set or peripherals. The ASYNC3 clock domain can either derive its clock from PLL1_SYSCLK2 (for frequency scaling immunity from PLL0) or from PLL0_SYSCLK2 (for synchronous timing with PLL0) depending on the application requirements. In addition, some peripherals have specific clock options independent of the ASYNC clock domain.
The processor supports multiple operating points by scaling voltage and frequency to minimize power consumption for a given level of processor performance.
Frequency scaling is achieved by modifying the setting of the PLL controllers’ multipliers, post-dividers (POSTDIV), and system clock dividers (SYSCLKn). Modification of the POSTDIV and SYSCLK values does not require relocking the PLL and provides lower latency to switch between operating points, but at the expense of the frequencies being limited by the integer divide values (only the divide values are altered the PLL multiplier is left unmodified). Non integer divide frequency values can be achieved by changing both the multiplier and the divide values, but when the PLL multiplier is changed the PLL must relock, incurring additional latency to change between operating points. Detailed information on modifying the PLL Controller settings can be found in the TMS320C6742 DSP System Reference Guide (SPRUGM5).
Voltage scaling is enabled from outside the device by controlling an external voltage regulator. The processor may communicate with the regulator using GPIOs, I2C or some other interface. When switching between voltage-frequency operating points, the voltage must always support the desired frequency. When moving from a high-performance operating point to a lower performance operating point, the frequency should be lowered first followed by the voltage. When moving from a low-performance operating point to a higher performance operating point, the voltage should be raised first followed by the frequency. Voltage operating points refer to the CVdd voltage at that point. Other static supplies must be maintained at their nominal voltages at all operating points.
The maximum voltage slew rate for CVdd supply changes is 1 mV/us.
For additional information on power management solutions from TI for this processor, follow the Power Management link in the Product Folder on www.ti.com for this processor.
The processor supports multiple clock domains some of which have clock ratio requirements to each other. SYSCLK1:SYSCLK2:SYSCLK4:SYSCLK6 are synchronous to each other and the SYSCLKn dividers must always be configured such that the ratio between these domains is 1:2:4:1. The ASYNC and ASYNC3 clock domains are asynchronous to the other clock domains and have no specific ratio requirement.
Table 6-5 summarizes the maximum internal clock frequencies at each of the voltage operating points.
CLOCK SOURCE | CLOCK DOMAIN | 1.2V NOM | 1.1V NOM | 1.0V NOM | |
---|---|---|---|---|---|
PLL0_SYSCLK1 | DSP subsystem | 200 MHz | 150 MHz | 100 MHz | |
PLL0_SYSCLK2 | SYSCLK2 clock domain peripherals and optional clock source for ASYNC3 clock domain peripherals | 100 MHz | 75 MHz | 50 MHz | |
PLL0_SYSCLK3 | Optional clock for ASYNC1 clock domain (See ASYNC1 row) |
||||
PLL0_SYSCLK4 | SYSCLK4 domain peripherals | 50 MHz | 37.5 MHz | 25 MHz | |
PLL0_SYSCLK5 | Not used on this processor | - | - | - | |
PLL0_SYSCLK6 | Not used on this processor | - | - | - | |
PLL0_SYSCLK7 | Not used on this processor | - | - | - | |
PLL1_SYSCLK1 | DDR2/mDDR Interface clock source (memory interface clock is one-half of the value shown) |
312 MHz | 300 MHz | 266 MHz | |
PLL1_SYSCLK2 | Optional clock source for ASYNC3 clock domain peripherals | 150 MHz | 100 MHz | 75 MHz | |
PLL1_SYSCLK3 | Alternate clock source input to PLL Controller 0 | 75 MHz | 75 MHz | 75 MHz | |
McASP AUXCLK | Bypass clock source for the McASP | 50 MHz | 50 MHz | 50 MHz | |
PLL0_AUXCLK | Not used on this processor | - | - | - | |
ASYNC1 | ASYNC Clock Domain (EMIFA) | Async Mode | 148 MHz | 75 MHz | 50 MHz |
SDRAM Mode | 100 MHz | 66.6 MHz | 50 MHz | ||
ASYNC2 | ASYNC2 Clock Domain (multiple peripherals) | 50 MHz | 50 MHz | 50 MHz |
Some interfaces have specific limitations on supported modes/speeds at each operating point. See the corresponding peripheral sections of this document for more information.
TI provides software components (called the Power Manager) to perform DVFS and abstract the task from the user. The Power Manager controls changing operating points (both frequency and voltage) and handles the related tasks involved such as informing/controlling peripherals to provide graceful transitions between operating points. The Power Manager is bundled as a component of DSP/BIOS.
The device has a large number of interrupts to service the needs of its many peripherals and subsystems.
The C674x DSP interrupt controller combines device events into 12 prioritized interrupts. The source for each of the 12 CPU interrupts is user programmable and is listed in Table 6-6. Also, the interrupt controller controls the generation of the CPU exceptions, NMI, and emulation interrupts. Table 6-7 summarizes the C674x interrupt controller registers and memory locations.
Refer to the C674x DSP MegaModule Reference Guide (SPRUFK5) and the TMS320C674x DSP CPU and Instruction Set Reference Guide (SPRUFE8) for details of the C674x interrupts.
EVT# | Interrupt Name | Source |
---|---|---|
0 | EVT0 | C674x Int Ctl 0 |
1 | EVT1 | C674x Int Ctl 1 |
2 | EVT2 | C674x Int Ctl 2 |
3 | EVT3 | C674x Int Ctl 3 |
4 | T64P0_TINT12 | Timer64P0 - TINT12 |
5 | SYSCFG_CHIPINT2 | SYSCFG CHIPSIG Register |
6 | - | Reserved |
7 | EHRPWM0 | HiResTimer/PWM0 Interrupt |
8 | EDMA3_0_CC0_INT1 | EDMA3_0 Channel Controller 0 Shadow Region 1 Transfer Completion Interrupt |
9 | EMU_DTDMA | C674x-ECM |
10 | EHRPWM0TZ | HiResTimer/PWM0 Trip Zone Interrupt |
11 | EMU_RTDXRX | C674x-RTDX |
12 | EMU_RTDXTX | C674x-RTDX |
13 | IDMAINT0 | C674x-EMC |
14 | IDMAINT1 | C674x-EMC |
15-17 | - | Reserved |
18 | EHRPWM1 | HiResTimer/PWM1 Interrupt |
19-22 | - | Reserved |
22 | - | Reserved |
23 | EHRPWM1TZ | HiResTimer/PWM1 Trip Zone Interrupt |
24-33 | - | Reserved |
34 | UHPI_DSPINT | UHPI DSP Interrupt |
35 | - | Reserved |
36 | IIC0_INT | I2C0 |
37 | - | Reserved |
38 | UART0_INT | UART0 |
39 | - | Reserved |
40 | T64P1_TINT12 | Timer64P1 Interrupt 12 |
41 | GPIO_B1INT | GPIO Bank 1 Interrupt |
42 | - | Reserved |
43 | SPI1_INT | SPI1 |
44 | - | Reserved |
45 | ECAP0 | ECAP0 |
46 | - | Reserved |
47 | ECAP1 | ECAP1 |
48 | T64P1_TINT34 | Timer64P1 Interrupt 34 |
49 | GPIO_B2INT | GPIO Bank 2 Interrupt |
50 | - | Reserved |
51 | ECAP2 | ECAP2 |
52 | GPIO_B3INT | GPIO Bank 3 Interrupt |
53 | - | Reserved |
54 | GPIO_B4INT | GPIO Bank 4 Interrupt |
55 | EMIFA_INT | EMIFA |
56 | EDMA3_0_CC0_ERRINT | EDMA3_0 Channel Controller 0 Error Interrupt |
57 | EDMA3_0_TC0_ERRINT | EDMA3_0 Transfer Controller 0 Error Interrupt |
58 | EDMA3_0_TC1_ERRINT | EDMA3_0 Transfer Controller 1 Error Interrupt |
59 | GPIO_B5INT | GPIO Bank 5 Interrupt |
60 | DDR2_MEMERR | DDR2 Memory Error Interrupt |
61 | MCASP0_INT | McASP0 Combined RX/TX Interrupts |
62 | GPIO_B6INT | GPIO Bank 6 Interrupt |
63 | RTC_IRQS | RTC Combined |
64 | T64P0_TINT34 | Timer64P0 Interrupt 34 |
65 | GPIO_B0INT | GPIO Bank 0 Interrupt |
66 | - | Reserved |
67 | SYSCFG_CHIPINT3 | SYSCFG_CHIPSIG Register |
68 | - | Reserved |
69 | - | Reserved |
70 | PSC0_ALLINT | PSC0 |
71 | PSC1_ALLINT | PSC1 |
72 | GPIO_B7INT | GPIO Bank 7 Interrupt |
73 | - | Reserved |
74 | PROTERR | SYSCFG Protection Shared Interrupt |
75 | GPIO_B8INT | GPIO Bank 8 Interrupt |
76-88 | - | Reserved |
89 | MCBSP1_RINT | McBSP1 Receive Interrupt |
90 | MCBSP1_XINT | McBSP1 Transmit Interrupt |
91 | EDMA3_1_CC0_INT1 | EDMA3_1 Channel Controller 0 Shadow Region 1 Transfer Completion Interrupt |
92 | EDMA3_1_CC0_ERRINT | EDMA3_1 Channel Controller 0 Error Interrupt |
93 | EDMA3_1_TC0_ERRINT | EDMA3_1 Transfer Controller 0 Error Interrupt |
94-95 | - | Reserved |
96 | INTERR | C674x-Int Ctl |
97 | EMC_IDMAERR | C674x-EMC |
98 - 112 | - | Reserved |
113 | PMC_ED | C674x-PMC |
114 - 115 | - | Reserved |
116 | UMC_ED1 | C674x-UMC |
117 | UMC_ED2 | C674x-UMC |
118 | PDC_INT | C674x-PDC |
119 | SYS_CMPA | C674x-SYS |
120 | PMC_CMPA | C674x-PMC |
121 | PMC_CMPA | C674x-PMC |
122 | DMC_CMPA | C674x-DMC |
123 | DMC_CMPA | C674x-DMC |
124 | UMC_CMPA | C674x-UMC |
125 | UMC_CMPA | C674x-UMC |
126 | EMC_CMPA | C674x-EMC |
127 | EMC_BUSERR | C674x-EMC |
BYTE ADDRESS | ACRONYM | DESCRIPTION |
---|---|---|
0x0180 0000 | EVTFLAG0 | Event flag register 0 |
0x0180 0004 | EVTFLAG1 | Event flag register 1 |
0x0180 0008 | EVTFLAG2 | Event flag register 2 |
0x0180 000C | EVTFLAG3 | Event flag register 3 |
0x0180 0020 | EVTSET0 | Event set register 0 |
0x0180 0024 | EVTSET1 | Event set register 1 |
0x0180 0028 | EVTSET2 | Event set register 2 |
0x0180 002C | EVTSET3 | Event set register 3 |
0x0180 0040 | EVTCLR0 | Event clear register 0 |
0x0180 0044 | EVTCLR1 | Event clear register 1 |
0x0180 0048 | EVTCLR2 | Event clear register 2 |
0x0180 004C | EVTCLR3 | Event clear register 3 |
0x0180 0080 | EVTMASK0 | Event mask register 0 |
0x0180 0084 | EVTMASK1 | Event mask register 1 |
0x0180 0088 | EVTMASK2 | Event mask register 2 |
0x0180 008C | EVTMASK3 | Event mask register 3 |
0x0180 00A0 | MEVTFLAG0 | Masked event flag register 0 |
0x0180 00A4 | MEVTFLAG1 | Masked event flag register 1 |
0x0180 00A8 | MEVTFLAG2 | Masked event flag register 2 |
0x0180 00AC | MEVTFLAG3 | Masked event flag register 3 |
0x0180 00C0 | EXPMASK0 | Exception mask register 0 |
0x0180 00C4 | EXPMASK1 | Exception mask register 1 |
0x0180 00C8 | EXPMASK2 | Exception mask register 2 |
0x0180 00CC | EXPMASK3 | Exception mask register 3 |
0x0180 00E0 | MEXPFLAG0 | Masked exception flag register 0 |
0x0180 00E4 | MEXPFLAG1 | Masked exception flag register 1 |
0x0180 00E8 | MEXPFLAG2 | Masked exception flag register 2 |
0x0180 00EC | MEXPFLAG3 | Masked exception flag register 3 |
0x0180 0104 | INTMUX1 | Interrupt mux register 1 |
0x0180 0108 | INTMUX2 | Interrupt mux register 2 |
0x0180 010C | INTMUX3 | Interrupt mux register 3 |
0x0180 0140 - 0x0180 0144 | - | Reserved |
0x0180 0180 | INTXSTAT | Interrupt exception status |
0x0180 0184 | INTXCLR | Interrupt exception clear |
0x0180 0188 | INTDMASK | Dropped interrupt mask register |
0x0180 01C0 | EVTASRT | Event assert register |
The Power and Sleep Controllers (PSC) are responsible for managing transitions of system power on/off, clock on/off, resets (device level and module level). It is used primarily to provide granular power control for on chip modules (peripherals and CPU). A PSC module consists of a Global PSC (GPSC) and a set of Local PSCs (LPSCs). The GPSC contains memory mapped registers, PSC interrupts, a state machine for each peripheral/module it controls. An LPSC is associated with every module that is controlled by the PSC and provides clock and reset control.
The PSC includes the following features:
PSC0 controls 16 local PSCs.
PSC1 controls 32 local PSCs.
PSC0 BYTE ADDRESS | PSC1 BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|---|
0x01C1 0000 | 0x01E2 7000 | REVID | Peripheral Revision and Class Information Register |
0x01C1 0018 | 0x01E2 7018 | INTEVAL | Interrupt Evaluation Register |
0x01C1 0040 | 0x01E2 7040 | MERRPR0 | Module Error Pending Register 0 (module 0-15) (PSC0) |
Module Error Pending Register 0 (module 0-31) (PSC1) | |||
0x01C1 0050 | 0x01E2 7050 | MERRCR0 | Module Error Clear Register 0 (module 0-15) (PSC0) |
Module Error Clear Register 0 (module 0-31) (PSC1) | |||
0x01C1 0060 | 0x01E2 7060 | PERRPR | Power Error Pending Register |
0x01C1 0068 | 0x01E2 7068 | PERRCR | Power Error Clear Register |
0x01C1 0120 | 0x01E2 7120 | PTCMD | Power Domain Transition Command Register |
0x01C1 0128 | 0x01E2 7128 | PTSTAT | Power Domain Transition Status Register |
0x01C1 0200 | 0x01E2 7200 | PDSTAT0 | Power Domain 0 Status Register |
0x01C1 0204 | 0x01E2 7204 | PDSTAT1 | Power Domain 1 Status Register |
0x01C1 0300 | 0x01E2 7300 | PDCTL0 | Power Domain 0 Control Register |
0x01C1 0304 | 0x01E2 7304 | PDCTL1 | Power Domain 1 Control Register |
0x01C1 0400 | 0x01E2 7400 | PDCFG0 | Power Domain 0 Configuration Register |
0x01C1 0404 | 0x01E2 7404 | PDCFG1 | Power Domain 1 Configuration Register |
0x01C1 0800 | 0x01E2 7800 | MDSTAT0 | Module 0 Status Register |
0x01C1 0804 | 0x01E2 7804 | MDSTAT1 | Module 1 Status Register |
0x01C1 0808 | 0x01E2 7808 | MDSTAT2 | Module 2 Status Register |
0x01C1 080C | 0x01E2 780C | MDSTAT3 | Module 3 Status Register |
0x01C1 0810 | 0x01E2 7810 | MDSTAT4 | Module 4 Status Register |
0x01C1 0814 | 0x01E2 7814 | MDSTAT5 | Module 5 Status Register |
0x01C1 0818 | 0x01E2 7818 | MDSTAT6 | Module 6 Status Register |
0x01C1 081C | 0x01E2 781C | MDSTAT7 | Module 7 Status Register |
0x01C1 0820 | 0x01E2 7820 | MDSTAT8 | Module 8 Status Register |
0x01C1 0824 | 0x01E2 7824 | MDSTAT9 | Module 9 Status Register |
0x01C1 0828 | 0x01E2 7828 | MDSTAT10 | Module 10 Status Register |
0x01C1 082C | 0x01E2 782C | MDSTAT11 | Module 11 Status Register |
0x01C1 0830 | 0x01E2 7830 | MDSTAT12 | Module 12 Status Register |
0x01C1 0834 | 0x01E2 7834 | MDSTAT13 | Module 13 Status Register |
0x01C1 0838 | 0x01E2 7838 | MDSTAT14 | Module 14 Status Register |
0x01C1 083C | 0x01E2 783C | MDSTAT15 | Module 15 Status Register |
- | 0x01E2 7840 | MDSTAT16 | Module 16 Status Register |
- | 0x01E2 7844 | MDSTAT17 | Module 17 Status Register |
- | 0x01E2 7848 | MDSTAT18 | Module 18 Status Register |
- | 0x01E2 784C | MDSTAT19 | Module 19 Status Register |
- | 0x01E2 7850 | MDSTAT20 | Module 20 Status Register |
- | 0x01E2 7854 | MDSTAT21 | Module 21 Status Register |
- | 0x01E2 7858 | MDSTAT22 | Module 22 Status Register |
- | 0x01E2 785C | MDSTAT23 | Module 23 Status Register |
- | 0x01E2 7860 | MDSTAT24 | Module 24 Status Register |
- | 0x01E2 7864 | MDSTAT25 | Module 25 Status Register |
- | 0x01E2 7868 | MDSTAT26 | Module 26 Status Register |
- | 0x01E2 786C | MDSTAT27 | Module 27 Status Register |
- | 0x01E2 7870 | MDSTAT28 | Module 28 Status Register |
- | 0x01E2 7874 | MDSTAT29 | Module 29 Status Register |
- | 0x01E2 7878 | MDSTAT30 | Module 30 Status Register |
- | 0x01E2 787C | MDSTAT31 | Module 31 Status Register |
0x01C1 0A00 | 0x01E2 7A00 | MDCTL0 | Module 0 Control Register |
0x01C1 0A04 | 0x01E2 7A04 | MDCTL1 | Module 1 Control Register |
0x01C1 0A08 | 0x01E2 7A08 | MDCTL2 | Module 2 Control Register |
0x01C1 0A0C | 0x01E2 7A0C | MDCTL3 | Module 3 Control Register |
0x01C1 0A10 | 0x01E2 7A10 | MDCTL4 | Module 4 Control Register |
0x01C1 0A14 | 0x01E2 7A14 | MDCTL5 | Module 5 Control Register |
0x01C1 0A18 | 0x01E2 7A18 | MDCTL6 | Module 6 Control Register |
0x01C1 0A1C | 0x01E2 7A1C | MDCTL7 | Module 7 Control Register |
0x01C1 0A20 | 0x01E2 7A20 | MDCTL8 | Module 8 Control Register |
0x01C1 0A24 | 0x01E2 7A24 | MDCTL9 | Module 9 Control Register |
0x01C1 0A28 | 0x01E2 7A28 | MDCTL10 | Module 10 Control Register |
0x01C1 0A2C | 0x01E2 7A2C | MDCTL11 | Module 11 Control Register |
0x01C1 0A30 | 0x01E2 7A30 | MDCTL12 | Module 12 Control Register |
0x01C1 0A34 | 0x01E2 7A34 | MDCTL13 | Module 13 Control Register |
0x01C1 0A38 | 0x01E2 7A38 | MDCTL14 | Module 14 Control Register |
0x01C1 0A3C | 0x01E2 7A3C | MDCTL15 | Module 15 Control Register |
- | 0x01E2 7A40 | MDCTL16 | Module 16 Control Register |
- | 0x01E2 7A44 | MDCTL17 | Module 17 Control Register |
- | 0x01E2 7A48 | MDCTL18 | Module 18 Control Register |
- | 0x01E2 7A4C | MDCTL19 | Module 19 Control Register |
- | 0x01E2 7A50 | MDCTL20 | Module 20 Control Register |
- | 0x01E2 7A54 | MDCTL21 | Module 21 Control Register |
- | 0x01E2 7A58 | MDCTL22 | Module 22 Control Register |
- | 0x01E2 7A5C | MDCTL23 | Module 23 Control Register |
- | 0x01E2 7A60 | MDCTL24 | Module 24 Control Register |
- | 0x01E2 7A64 | MDCTL25 | Module 25 Control Register |
- | 0x01E2 7A68 | MDCTL26 | Module 26 Control Register |
- | 0x01E2 7A6C | MDCTL27 | Module 27 Control Register |
- | 0x01E2 7A70 | MDCTL28 | Module 28 Control Register |
- | 0x01E2 7A74 | MDCTL29 | Module 29 Control Register |
- | 0x01E2 7A78 | MDCTL30 | Module 30 Control Register |
- | 0x01E2 7A7C | MDCTL31 | Module 31 Control Register |
The device includes two PSC modules.
Each PSC module controls clock states for several of the on chip modules, controllers and interconnect components. Table 6-9 and Table 6-10 lists the set of peripherals/modules that are controlled by the PSC, the power domain they are associated with, the LPSC assignment and the default (power-on reset) module states. The module states and terminology are defined in Section 6.8.1.2.
LPSC Number |
Module Name | Power Domain | Default Module State | Auto Sleep/Wake Only |
---|---|---|---|---|
0 | EDMA3 Channel Controller 0 | AlwaysON (PD0) | SwRstDisable | — |
1 | EDMA3 Transfer Controller 0 | AlwaysON (PD0) | SwRstDisable | — |
2 | EDMA3 Transfer Controller 1 | AlwaysON (PD0) | SwRstDisable | — |
3 | EMIFA (Br7) | AlwaysON (PD0) | SwRstDisable | — |
4 | — | — | — | — |
5 | — | — | — | — |
6 | — | — | — | — |
7 | — | — | — | — |
8 | — | — | — | — |
9 | UART 0 | AlwaysON (PD0) | SwRstDisable | — |
10 | SCR0 (Br 0, Br 1, Br 2, Br 8) | AlwaysON (PD0) | Enable | Yes |
11 | SCR1 (Br 4) | AlwaysON (PD0) | Enable | Yes |
12 | SCR2 (Br 3, Br 5, Br 6) | AlwaysON (PD0) | Enable | Yes |
13 | — | — | — | — |
14 | — | — | — | — |
15 | DSP | PD_DSP (PD1) | Enable | — |
LPSC Number |
Module Name | Power Domain | Default Module State | Auto Sleep/Wake Only |
---|---|---|---|---|
0 | EDMA3 Channel Controller 1 | AlwaysON (PD0) | SwRstDisable | — |
1 | — | — | — | — |
2 | — | — | — | — |
3 | GPIO | AlwaysON (PD0) | SwRstDisable | — |
4 | UHPI | AlwaysON (PD0) | SwRstDisable | — |
5 | — | — | — | — |
6 | DDR2 (and SCR_F3) | AlwaysON (PD0) | SwRstDisable | — |
7 | McASP0 ( + McASP0 FIFO) | AlwaysON (PD0) | SwRstDisable | — |
8 | — | — | — | — |
9 | — | — | — | — |
10 | SPI 1 | AlwaysON (PD0) | SwRstDisable | — |
11 | — | — | — | — |
12 | — | — | — | — |
13 | — | — | — | — |
14 | — | — | — | — |
15 | McBSP1 ( + McBSP1 FIFO) | AlwaysON (PD0) | SwRstDisable | — |
16 | — | — | — | — |
17 | eHRPWM0/1 | AlwaysON (PD0) | SwRstDisable | — |
18 | — | — | — | — |
19 | — | — | — | — |
20 | ECAP0/1/2 | AlwaysON (PD0) | SwRstDisable | — |
21 | EDMA3 Transfer Controller 2 | AlwaysON (PD0) | SwRstDisable | — |
22 | — | — | — | — |
23 | — | — | — | — |
24 | SCR_F0 (and bridge F0) | AlwaysON (PD0) | Enable | Yes |
25 | SCR_F1 (and bridge F1) | AlwaysON (PD0) | Enable | Yes |
26 | SCR_F2 (and bridge F2) | AlwaysON (PD0) | Enable | Yes |
27 | SCR_F6 (and bridge F3) | AlwaysON (PD0) | Enable | Yes |
28 | SCR_F7 (and bridge F4) | AlwaysON (PD0) | Enable | Yes |
29 | SCR_F8 (and bridge F5) | AlwaysON (PD0) | Enable | Yes |
30 | Bridge F7 (DDR Controller path) | AlwaysON (PD0) | Enable | Yes |
31 | — | — | — | — |
A power domain can only be in one of the two states: ON or OFF, defined as follows:
For both PSC0 and PSC1, the Always ON domain, or PD0 power domain, is always in the ON state when the chip is powered-on. This domain is not programmable to OFF state.
The PSC defines several possible states for a module. This states are essentially a combination of the module reset asserted or de-asserted and module clock on/enabled or off/disabled. The module states are defined in Table 6-11.
Module State | Module Reset | Module Clock | Module State Definition |
---|---|---|---|
Enable | De-asserted | On | A module in the enable state has its module reset de-asserted and it has its clock on. This is the normal operational state for a given module |
Disable | De-asserted | Off | A module in the disabled state has its module reset de-asserted and it has its module clock off. This state is typically used for disabling a module clock to save power. The device is designed in full static CMOS, so when you stop a module clock, it retains the module’s state. When the clock is restarted, the module resumes operating from the stopping point. |
SyncReset | Asserted | On | A module state in the SyncReset state has its module reset asserted and it has its clock on. Generally, software is not expected to initiate this state |
SwRstDisable | Asserted | Off | A module in the SwResetDisable state has its module reset asserted and it has its clock disabled. After initial power-on, several modules come up in the SwRstDisable state. Generally, software is not expected to initiate this state |
Auto Sleep | De-asserted | Off | A module in the Auto Sleep state also has its module reset de-asserted and its module clock disabled, similar to the Disable state. However this is a special state, once a module is configured in this state by software, it can “automatically” transition to “Enable” state whenever there is an internal read/write request made to it, and after servicing the request it will “automatically” transition into the sleep state (with module reset re de-asserted and module clock disabled), without any software intervention. The transition from sleep to enabled and back to sleep state has some cycle latency associated with it. It is not envisioned to use this mode when peripherals are fully operational and moving data. |
Auto Wake | De-asserted | Off | A module in the Auto Wake state also has its module reset de-asserted and its module clock disabled, similar to the Disable state. However this is a special state, once a module is configured in this state by software, it will “automatically” transition to “Enable” state whenever there is an internal read/write request made to it, and will remain in the “Enabled” state from then on (with module reset re de-asserted and module clock on), without any software intervention. The transition from sleep to enabled state has some cycle latency associated with it. It is not envisioned to use this mode when peripherals are fully operational and moving data. |
The EDMA3 controller handles all data transfers between memories and the device slave peripherals on the device. These data transfers include cache servicing, non-cacheable memory accesses, user-programmed data transfers, and host accesses.
Each EDMA3 channel controller supports up to 32 channels which service peripherals and memory. Table 6-12 lists the source of the EDMA3 synchronization events associated with each of the programmable EDMA channels.
EDMA3 Channel Controller 0 | ||||
---|---|---|---|---|
Event | Event Name / Source | Event | Event Name / Source | |
0 | McASP0 Receive | 16 | Reserved | |
1 | McASP0 Transmit | 17 | Reserved | |
2 | Reserved | 18 | SPI1 Receive | |
3 | Reserved | 19 | SPI1 Transmit | |
4 | McBSP1 Receive | 20 | Reserved | |
5 | McBSP1 Transmit | 21 | Reserved | |
6 | GPIO Bank 0 Interrupt | 22 | GPIO Bank 2 Interrupt | |
7 | GPIO Bank 1 Interrupt | 23 | GPIO Bank 3 Interrupt | |
8 | UART0 Receive | 24 | I2C0 Receive | |
9 | UART0 Transmit | 25 | I2C0 Transmit | |
10 | Timer64P0 Event Out 12 | 26 | Reserved | |
11 | Timer64P0 Event Out 34 | 27 | Reserved | |
12 | Reserved | 28 | GPIO Bank 4 Interrupt | |
13 | Reserved | 29 | GPIO Bank 5 Interrupt | |
14-15 | Reserved | 30-31 | Reserved | |
EDMA3 Channel Controller 1 | ||||
Event | Event Name / Source | Event | Event Name / Source | |
0 | Reserved | 16 | GPIO Bank 6 Interrupt | |
1 | Reserved | 17 | GPIO Bank 7 Interrupt | |
2 | Reserved | 18 | GPIO Bank 8 Interrupt | |
3-15 | Reserved | 19-31 | Reserved |
Table 6-13 is the list of EDMA3 Channel Controller Registers and Table 6-14 is the list of EDMA3 Transfer Controller registers.
EDMA3_0 Channel Controller 0 BYTE ADDRESS |
EDMA3_1 Channel Controller 0 BYTE ADDRESS |
ACRONYM | REGISTER DESCRIPTION |
---|---|---|---|
0x01C0 0000 | 0x01E3 0000 | PID | Peripheral Identification Register |
0x01C0 0004 | 0x01E3 0004 | CCCFG | EDMA3CC Configuration Register |
Global Registers | |||
0x01C0 0200 | 0x01E3 0200 | QCHMAP0 | QDMA Channel 0 Mapping Register |
0x01C0 0204 | 0x01E3 0204 | QCHMAP1 | QDMA Channel 1 Mapping Register |
0x01C0 0208 | 0x01E3 0208 | QCHMAP2 | QDMA Channel 2 Mapping Register |
0x01C0 020C | 0x01E3 020C | QCHMAP3 | QDMA Channel 3 Mapping Register |
0x01C0 0210 | 0x01E3 0210 | QCHMAP4 | QDMA Channel 4 Mapping Register |
0x01C0 0214 | 0x01E3 0214 | QCHMAP5 | QDMA Channel 5 Mapping Register |
0x01C0 0218 | 0x01E3 0218 | QCHMAP6 | QDMA Channel 6 Mapping Register |
0x01C0 021C | 0x01E3 021C | QCHMAP7 | QDMA Channel 7 Mapping Register |
0x01C0 0240 | 0x01E3 0240 | DMAQNUM0 | DMA Channel Queue Number Register 0 |
0x01C0 0244 | 0x01E3 0244 | DMAQNUM1 | DMA Channel Queue Number Register 1 |
0x01C0 0248 | 0x01E3 0248 | DMAQNUM2 | DMA Channel Queue Number Register 2 |
0x01C0 024C | 0x01E3 024C | DMAQNUM3 | DMA Channel Queue Number Register 3 |
0x01C0 0260 | 0x01E3 0260 | QDMAQNUM | QDMA Channel Queue Number Register |
0x01C0 0284 | 0x01E3 0284 | QUEPRI | Queue Priority Register(1) |
0x01C0 0300 | 0x01E3 0300 | EMR | Event Missed Register |
0x01C0 0308 | 0x01E3 0308 | EMCR | Event Missed Clear Register |
0x01C0 0310 | 0x01E3 0310 | QEMR | QDMA Event Missed Register |
0x01C0 0314 | 0x01E3 0314 | QEMCR | QDMA Event Missed Clear Register |
0x01C0 0318 | 0x01E3 0318 | CCERR | EDMA3CC Error Register |
0x01C0 031C | 0x01E3 031C | CCERRCLR | EDMA3CC Error Clear Register |
0x01C0 0320 | 0x01E3 0320 | EEVAL | Error Evaluate Register |
0x01C0 0340 | 0x01E3 0340 | DRAE0 | DMA Region Access Enable Register for Region 0 |
0x01C0 0348 | 0x01E3 0348 | DRAE1 | DMA Region Access Enable Register for Region 1 |
0x01C0 0350 | 0x01E3 0350 | DRAE2 | DMA Region Access Enable Register for Region 2 |
0x01C0 0358 | 0x01E3 0358 | DRAE3 | DMA Region Access Enable Register for Region 3 |
0x01C0 0380 | 0x01E3 0380 | QRAE0 | QDMA Region Access Enable Register for Region 0 |
0x01C0 0384 | 0x01E3 0384 | QRAE1 | QDMA Region Access Enable Register for Region 1 |
0x01C0 0388 | 0x01E3 0388 | QRAE2 | QDMA Region Access Enable Register for Region 2 |
0x01C0 038C | 0x01E3 038C | QRAE3 | QDMA Region Access Enable Register for Region 3 |
0x01C0 0400 - 0x01C0 043C | 0x01E3 0400 - 0x01E3 043C | Q0E0-Q0E15 | Event Queue Entry Registers Q0E0-Q0E15 |
0x01C0 0440 - 0x01C0 047C | 0x01E3 0440 - 0x01E3 047C | Q1E0-Q1E15 | Event Queue Entry Registers Q1E0-Q1E15 |
0x01C0 0600 | 0x01E3 0600 | QSTAT0 | Queue 0 Status Register |
0x01C0 0604 | 0x01E3 0604 | QSTAT1 | Queue 1 Status Register |
0x01C0 0620 | 0x01E3 0620 | QWMTHRA | Queue Watermark Threshold A Register |
0x01C0 0640 | 0x01E3 0640 | CCSTAT | EDMA3CC Status Register |
Global Channel Registers | |||
0x01C0 1000 | 0x01E3 1000 | ER | Event Register |
0x01C0 1008 | 0x01E3 1008 | ECR | Event Clear Register |
0x01C0 1010 | 0x01E3 1010 | ESR | Event Set Register |
0x01C0 1018 | 0x01E3 1018 | CER | Chained Event Register |
0x01C0 1020 | 0x01E3 1020 | EER | Event Enable Register |
0x01C0 1028 | 0x01E3 1028 | EECR | Event Enable Clear Register |
0x01C0 1030 | 0x01E3 1030 | EESR | Event Enable Set Register |
0x01C0 1038 | 0x01E3 1038 | SER | Secondary Event Register |
0x01C0 1040 | 0x01E3 1040 | SECR | Secondary Event Clear Register |
0x01C0 1050 | 0x01E3 1050 | IER | Interrupt Enable Register |
0x01C0 1058 | 0x01E3 1058 | IECR | Interrupt Enable Clear Register |
0x01C0 1060 | 0x01E3 1060 | IESR | Interrupt Enable Set Register |
0x01C0 1068 | 0x01E3 1068 | IPR | Interrupt Pending Register |
0x01C0 1070 | 0x01E3 1070 | ICR | Interrupt Clear Register |
0x01C0 1078 | 0x01E3 1078 | IEVAL | Interrupt Evaluate Register |
0x01C0 1080 | 0x01E3 1080 | QER | QDMA Event Register |
0x01C0 1084 | 0x01E3 1084 | QEER | QDMA Event Enable Register |
0x01C0 1088 | 0x01E3 1088 | QEECR | QDMA Event Enable Clear Register |
0x01C0 108C | 0x01E3 108C | QEESR | QDMA Event Enable Set Register |
0x01C0 1090 | 0x01E3 1090 | QSER | QDMA Secondary Event Register |
0x01C0 1094 | 0x01E3 1094 | QSECR | QDMA Secondary Event Clear Register |
Shadow Region 0 Channel Registers | |||
0x01C0 2000 | 0x01E3 2000 | ER | Event Register |
0x01C0 2008 | 0x01E3 2008 | ECR | Event Clear Register |
0x01C0 2010 | 0x01E3 2010 | ESR | Event Set Register |
0x01C0 2018 | 0x01E3 2018 | CER | Chained Event Register |
0x01C0 2020 | 0x01E3 2020 | EER | Event Enable Register |
0x01C0 2028 | 0x01E3 2028 | EECR | Event Enable Clear Register |
0x01C0 2030 | 0x01E3 2030 | EESR | Event Enable Set Register |
0x01C0 2038 | 0x01E3 2038 | SER | Secondary Event Register |
0x01C0 2040 | 0x01E3 2040 | SECR | Secondary Event Clear Register |
0x01C0 2050 | 0x01E3 2050 | IER | Interrupt Enable Register |
0x01C0 2058 | 0x01E3 2058 | IECR | Interrupt Enable Clear Register |
0x01C0 2060 | 0x01E3 2060 | IESR | Interrupt Enable Set Register |
0x01C0 2068 | 0x01E3 2068 | IPR | Interrupt Pending Register |
0x01C0 2070 | 0x01E3 2070 | ICR | Interrupt Clear Register |
0x01C0 2078 | 0x01E3 2078 | IEVAL | Interrupt Evaluate Register |
0x01C0 2080 | 0x01E3 2080 | QER | QDMA Event Register |
0x01C0 2084 | 0x01E3 2084 | QEER | QDMA Event Enable Register |
0x01C0 2088 | 0x01E3 2088 | QEECR | QDMA Event Enable Clear Register |
0x01C0 208C | 0x01E3 208C | QEESR | QDMA Event Enable Set Register |
0x01C0 2090 | 0x01E3 2090 | QSER | QDMA Secondary Event Register |
0x01C0 2094 | 0x01E3 2094 | QSECR | QDMA Secondary Event Clear Register |
Shadow Region 1 Channel Registers | |||
0x01C0 2200 | 0x01E3 2200 | ER | Event Register |
0x01C0 2208 | 0x01E3 2208 | ECR | Event Clear Register |
0x01C0 2210 | 0x01E3 2210 | ESR | Event Set Register |
0x01C0 2218 | 0x01E3 2218 | CER | Chained Event Register |
0x01C0 2220 | 0x01E3 2220 | EER | Event Enable Register |
0x01C0 2228 | 0x01E3 2228 | EECR | Event Enable Clear Register |
0x01C0 2230 | 0x01E3 2230 | EESR | Event Enable Set Register |
0x01C0 2238 | 0x01E3 2238 | SER | Secondary Event Register |
0x01C0 2240 | 0x01E3 2240 | SECR | Secondary Event Clear Register |
0x01C0 2250 | 0x01E3 2250 | IER | Interrupt Enable Register |
0x01C0 2258 | 0x01E3 2258 | IECR | Interrupt Enable Clear Register |
0x01C0 2260 | 0x01E3 2260 | IESR | Interrupt Enable Set Register |
0x01C0 2268 | 0x01E3 2268 | IPR | Interrupt Pending Register |
0x01C0 2270 | 0x01E3 2270 | ICR | Interrupt Clear Register |
0x01C0 2278 | 0x01E3 2278 | IEVAL | Interrupt Evaluate Register |
0x01C0 2280 | 0x01E3 2280 | QER | QDMA Event Register |
0x01C0 2284 | 0x01E3 2284 | QEER | QDMA Event Enable Register |
0x01C0 2288 | 0x01E3 2288 | QEECR | QDMA Event Enable Clear Register |
0x01C0 228C | 0x01E3 228C | QEESR | QDMA Event Enable Set Register |
0x01C0 2290 | 0x01E3 2290 | QSER | QDMA Secondary Event Register |
0x01C0 2294 | 0x01E3 2294 | QSECR | QDMA Secondary Event Clear Register |
0x01C0 4000 - 0x01C0 4FFF | 0x01E3 4000 - 0x01E3 4FFF | — | Parameter RAM (PaRAM) |
EDMA3_0 Transfer Controller 0 BYTE ADDRESS |
EDMA3_0 Transfer Controller 1 BYTE ADDRESS |
EDMA3_1 Transfer Controller 0 BYTE ADDRESS |
ACRONYM | REGISTER DESCRIPTION |
---|---|---|---|---|
0x01C0 8000 | 0x01C0 8400 | 0x01E3 8000 | PID | Peripheral Identification Register |
0x01C0 8004 | 0x01C0 8404 | 0x01E3 8004 | TCCFG | EDMA3TC Configuration Register |
0x01C0 8100 | 0x01C0 8500 | 0x01E3 8100 | TCSTAT | EDMA3TC Channel Status Register |
0x01C0 8120 | 0x01C0 8520 | 0x01E3 8120 | ERRSTAT | Error Status Register |
0x01C0 8124 | 0x01C0 8524 | 0x01E3 8124 | ERREN | Error Enable Register |
0x01C0 8128 | 0x01C0 8528 | 0x01E3 8128 | ERRCLR | Error Clear Register |
0x01C0 812C | 0x01C0 852C | 0x01E3 812C | ERRDET | Error Details Register |
0x01C0 8130 | 0x01C0 8530 | 0x01E3 8130 | ERRCMD | Error Interrupt Command Register |
0x01C0 8140 | 0x01C0 8540 | 0x01E3 8140 | RDRATE | Read Command Rate Register |
0x01C0 8240 | 0x01C0 8640 | 0x01E3 8240 | SAOPT | Source Active Options Register |
0x01C0 8244 | 0x01C0 8644 | 0x01E3 8244 | SASRC | Source Active Source Address Register |
0x01C0 8248 | 0x01C0 8648 | 0x01E3 8248 | SACNT | Source Active Count Register |
0x01C0 824C | 0x01C0 864C | 0x01E3 824C | SADST | Source Active Destination Address Register |
0x01C0 8250 | 0x01C0 8650 | 0x01E3 8250 | SABIDX | Source Active B-Index Register |
0x01C0 8254 | 0x01C0 8654 | 0x01E3 8254 | SAMPPRXY | Source Active Memory Protection Proxy Register |
0x01C0 8258 | 0x01C0 8658 | 0x01E3 8258 | SACNTRLD | Source Active Count Reload Register |
0x01C0 825C | 0x01C0 865C | 0x01E3 825C | SASRCBREF | Source Active Source Address B-Reference Register |
0x01C0 8260 | 0x01C0 8660 | 0x01E3 8260 | SADSTBREF | Source Active Destination Address B-Reference Register |
0x01C0 8280 | 0x01C0 8680 | 0x01E3 8280 | DFCNTRLD | Destination FIFO Set Count Reload Register |
0x01C0 8284 | 0x01C0 8684 | 0x01E3 8284 | DFSRCBREF | Destination FIFO Set Source Address B-Reference Register |
0x01C0 8288 | 0x01C0 8688 | 0x01E3 8288 | DFDSTBREF | Destination FIFO Set Destination Address B-Reference Register |
0x01C0 8300 | 0x01C0 8700 | 0x01E3 8300 | DFOPT0 | Destination FIFO Options Register 0 |
0x01C0 8304 | 0x01C0 8704 | 0x01E3 8304 | DFSRC0 | Destination FIFO Source Address Register 0 |
0x01C0 8308 | 0x01C0 8708 | 0x01E3 8308 | DFCNT0 | Destination FIFO Count Register 0 |
0x01C0 830C | 0x01C0 870C | 0x01E3 830C | DFDST0 | Destination FIFO Destination Address Register 0 |
0x01C0 8310 | 0x01C0 8710 | 0x01E3 8310 | DFBIDX0 | Destination FIFO B-Index Register 0 |
0x01C0 8314 | 0x01C0 8714 | 0x01E3 8314 | DFMPPRXY0 | Destination FIFO Memory Protection Proxy Register 0 |
0x01C0 8340 | 0x01C0 8740 | 0x01E3 8340 | DFOPT1 | Destination FIFO Options Register 1 |
0x01C0 8344 | 0x01C0 8744 | 0x01E3 8344 | DFSRC1 | Destination FIFO Source Address Register 1 |
0x01C0 8348 | 0x01C0 8748 | 0x01E3 8348 | DFCNT1 | Destination FIFO Count Register 1 |
0x01C0 834C | 0x01C0 874C | 0x01E3 834C | DFDST1 | Destination FIFO Destination Address Register 1 |
0x01C0 8350 | 0x01C0 8750 | 0x01E3 8350 | DFBIDX1 | Destination FIFO B-Index Register 1 |
0x01C0 8354 | 0x01C0 8754 | 0x01E3 8354 | DFMPPRXY1 | Destination FIFO Memory Protection Proxy Register 1 |
0x01C0 8380 | 0x01C0 8780 | 0x01E3 8380 | DFOPT2 | Destination FIFO Options Register 2 |
0x01C0 8384 | 0x01C0 8784 | 0x01E3 8384 | DFSRC2 | Destination FIFO Source Address Register 2 |
0x01C0 8388 | 0x01C0 8788 | 0x01E3 8388 | DFCNT2 | Destination FIFO Count Register 2 |
0x01C0 838C | 0x01C0 878C | 0x01E3 838C | DFDST2 | Destination FIFO Destination Address Register 2 |
0x01C0 8390 | 0x01C0 8790 | 0x01E3 8390 | DFBIDX2 | Destination FIFO B-Index Register 2 |
0x01C0 8394 | 0x01C0 8794 | 0x01E3 8394 | DFMPPRXY2 | Destination FIFO Memory Protection Proxy Register 2 |
0x01C0 83C0 | 0x01C0 87C0 | 0x01E3 83C0 | DFOPT3 | Destination FIFO Options Register 3 |
0x01C0 83C4 | 0x01C0 87C4 | 0x01E3 83C4 | DFSRC3 | Destination FIFO Source Address Register 3 |
0x01C0 83C8 | 0x01C0 87C8 | 0x01E3 83C8 | DFCNT3 | Destination FIFO Count Register 3 |
0x01C0 83CC | 0x01C0 87CC | 0x01E3 83CC | DFDST3 | Destination FIFO Destination Address Register 3 |
0x01C0 83D0 | 0x01C0 87D0 | 0x01E3 83D0 | DFBIDX3 | Destination FIFO B-Index Register 3 |
0x01C0 83D4 | 0x01C0 87D4 | 0x01E3 83D4 | DFMPPRXY3 | Destination FIFO Memory Protection Proxy Register 3 |
Table 6-15 shows an abbreviation of the set of registers which make up the parameter set for each of 128 EDMA3 events. Each of the parameter register sets consist of 8 32-bit word entries. Table 6-16 shows the parameter set entry registers with relative memory address locations within each of the parameter sets.
EDMA3_0 Channel Controller 0 BYTE ADDRESS RANGE |
EDMA3_1 Channel Controller 0 BYTE ADDRESS RANGE |
DESCRIPTION |
---|---|---|
0x01C0 4000 - 0x01C0 401F | 0x01E3 4000 - 0x01E3 401F | Parameters Set 0 (8 32-bit words) |
0x01C0 4020 - 0x01C0 403F | 0x01E3 4020 - 0x01E3 403F | Parameters Set 1 (8 32-bit words) |
0x01C0 4040 - 0x01CC0 405F | 0x01E3 4040 - 0x01CE3 405F | Parameters Set 2 (8 32-bit words) |
0x01C0 4060 - 0x01C0 407F | 0x01E3 4060 - 0x01E3 407F | Parameters Set 3 (8 32-bit words) |
0x01C0 4080 - 0x01C0 409F | 0x01E3 4080 - 0x01E3 409F | Parameters Set 4 (8 32-bit words) |
0x01C0 40A0 - 0x01C0 40BF | 0x01E3 40A0 - 0x01E3 40BF | Parameters Set 5 (8 32-bit words) |
... | ... | ... |
0x01C0 4FC0 - 0x01C0 4FDF | 0x01E3 4FC0 - 0x01E3 4FDF | Parameters Set 126 (8 32-bit words) |
0x01C0 4FE0 - 0x01C0 4FFF | 0x01E3 4FE0 - 0x01E3 4FFF | Parameters Set 127 (8 32-bit words) |
OFFSET BYTE ADDRESS WITHIN THE PARAMETER SET |
ACRONYM | PARAMETER ENTRY |
---|---|---|
0x0000 | OPT | Option |
0x0004 | SRC | Source Address |
0x0008 | A_B_CNT | A Count, B Count |
0x000C | DST | Destination Address |
0x0010 | SRC_DST_BIDX | Source B Index, Destination B Index |
0x0014 | LINK_BCNTRLD | Link Address, B Count Reload |
0x0018 | SRC_DST_CIDX | Source C Index, Destination C Index |
0x001C | CCNT | C Count |
EMIFA is one of two external memory interfaces supported on the device. It is primarily intended to support asynchronous memory types, such as NAND and NOR flash and Asynchronous SRAM. However on this device, EMIFA also provides a secondary interface to SDRAM.
EMIFA supports asynchronous:
The EMIFA data bus width is up to 16-bits.The device supports up to 23 address lines and two external wait/interrupt inputs. Up to four asynchronous chip selects are supported by EMIFA (EMA_CS[5:2]).
Each chip select has the following individually programmable attributes:
The device supports 16-bit SDRAM in addition to the asynchronous memories listed in Section 6.10.1. It has a single SDRAM chip select (EMA_CS[0]). SDRAM configurations that are supported are:
Additionally, the SDRAM interface of EMIFA supports placing the SDRAM in Self Refresh and Powerdown Modes. Self Refresh mode allows the SDRAM to be put into a low power state while still retaining memory contents; since the SDRAM will continue to refresh itself even without clocks from the device. Powerdown mode achieves even lower power, except the device must periodically wake the SDRAM up and issue refreshes if data retention is required.
Finally, note that the EMIFA does not support Mobile SDRAM devices.
Table 6-17 shows the supported SDRAM configurations for EMIFA.
SDRAM Memory Data Bus Width (bits) | Number of Memories | EMIFA Data Bus Size (bits) | Rows | Columns | Banks | Total Memory (Mbits) | Total Memory (Mbytes) | Memory Density (Mbits) |
---|---|---|---|---|---|---|---|---|
1 | 16 | 16 | 8 | 1 | 256 | 32 | 256 | |
1 | 16 | 16 | 8 | 2 | 512 | 64 | 512 | |
1 | 16 | 16 | 8 | 4 | 1024 | 128 | 1024 | |
1 | 16 | 16 | 9 | 1 | 512 | 64 | 512 | |
1 | 16 | 16 | 9 | 2 | 1024 | 128 | 1024 | |
16 | 1 | 16 | 16 | 9 | 4 | 2048 | 256 | 2048 |
1 | 16 | 16 | 10 | 1 | 1024 | 128 | 1024 | |
1 | 16 | 16 | 10 | 2 | 2048 | 256 | 2048 | |
1 | 16 | 16 | 10 | 4 | 4096 | 512 | 4096 | |
1 | 16 | 16 | 11 | 1 | 2048 | 256 | 2048 | |
1 | 16 | 16 | 11 | 2 | 4096 | 512 | 4096 | |
1 | 16 | 15 | 11 | 4 | 4096 | 512 | 4096 | |
2 | 16 | 16 | 8 | 1 | 256 | 32 | 128 | |
2 | 16 | 16 | 8 | 2 | 512 | 64 | 256 | |
2 | 16 | 16 | 8 | 4 | 1024 | 128 | 512 | |
2 | 16 | 16 | 9 | 1 | 512 | 64 | 256 | |
2 | 16 | 16 | 9 | 2 | 1024 | 128 | 512 | |
8 | 2 | 16 | 16 | 9 | 4 | 2048 | 256 | 1024 |
2 | 16 | 16 | 10 | 1 | 1024 | 128 | 512 | |
2 | 16 | 16 | 10 | 2 | 2048 | 256 | 1024 | |
2 | 16 | 16 | 10 | 4 | 4096 | 512 | 2048 | |
2 | 16 | 16 | 11 | 1 | 2048 | 256 | 1024 | |
2 | 16 | 16 | 11 | 2 | 4096 | 512 | 2048 | |
2 | 16 | 15 | 11 | 4 | 4096 | 512 | 2048 |
EMIFA supports SDRAM up to 100 MHz with up to two SDRAM or asynchronous memory loads. Additional loads will limit the SDRAM operation to lower speeds and the maximum speed should be confirmed by board simulation using IBIS models.
Figure 6-10 illustrates an example of how SDRAM, NOR, and NAND flash devices might be connected to EMIFA simultaneously. The SDRAM chip select must be EMA_CS[0]. Note that the NOR flash is connected to EMA_CS[2] and the NAND flash is connected to EMA_CS[3] in this example. Note that any type of asynchronous memory may be connected to EMA_CS[5:2].
The on-chip bootloader makes some assumptions on which chip select the contains the boot image, and this depends on the boot mode. For NOR boot mode; the on-chip bootloader requires that the image be stored in NOR flash on EMA_CS[2]. For NAND boot mode, the bootloader requires that the boot image is stored in NAND flash on EMA_CS[3]. It is always possible to have the image span multiple chip selects, but this must be supported by second stage boot code stored in the external flash.
A likely use case with more than one EMIFA chip select used for NAND flash is illustrated in Figure 6-11. This figure shows how two multiplane NAND flash devices with two chip selects each would connect to the EMIFA. In this case if NAND is the boot memory, then the boot image needs to be stored in the NAND area selected by EMA_CS[3]. Part of the application image could spill over into the NAND regions selected by other EMIFA chip selects; but would rely on the code stored in the EMA_CS[3] area to bootload it.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x6800 0000 | MIDR | Module ID Register |
0x6800 0004 | AWCC | Asynchronous Wait Cycle Configuration Register |
0x6800 0008 | SDCR | SDRAM Configuration Register |
0x6800 000C | SDRCR | SDRAM Refresh Control Register |
0x6800 0010 | CE2CFG | Asynchronous 1 Configuration Register |
0x6800 0014 | CE3CFG | Asynchronous 2 Configuration Register |
0x6800 0018 | CE4CFG | Asynchronous 3 Configuration Register |
0x6800 001C | CE5CFG | Asynchronous 4 Configuration Register |
0x6800 0020 | SDTIMR | SDRAM Timing Register |
0x6800 003C | SDSRETR | SDRAM Self Refresh Exit Timing Register |
0x6800 0040 | INTRAW | EMIFA Interrupt Raw Register |
0x6800 0044 | INTMSK | EMIFA Interrupt Mask Register |
0x6800 0048 | INTMSKSET | EMIFA Interrupt Mask Set Register |
0x6800 004C | INTMSKCLR | EMIFA Interrupt Mask Clear Register |
0x6800 0060 | NANDFCR | NAND Flash Control Register |
0x6800 0064 | NANDFSR | NAND Flash Status Register |
0x6800 0070 | NANDF1ECC | NAND Flash 1 ECC Register (CS2 Space) |
0x6800 0074 | NANDF2ECC | NAND Flash 2 ECC Register (CS3 Space) |
0x6800 0078 | NANDF3ECC | NAND Flash 3 ECC Register (CS4 Space) |
0x6800 007C | NANDF4ECC | NAND Flash 4 ECC Register (CS5 Space) |
0x6800 00BC | NAND4BITECCLOAD | NAND Flash 4-Bit ECC Load Register |
0x6800 00C0 | NAND4BITECC1 | NAND Flash 4-Bit ECC Register 1 |
0x6800 00C4 | NAND4BITECC2 | NAND Flash 4-Bit ECC Register 2 |
0x6800 00C8 | NAND4BITECC3 | NAND Flash 4-Bit ECC Register 3 |
0x6800 00CC | NAND4BITECC4 | NAND Flash 4-Bit ECC Register 4 |
0x6800 00D0 | NANDERRADD1 | NAND Flash 4-Bit ECC Error Address Register 1 |
0x6800 00D4 | NANDERRADD2 | NAND Flash 4-Bit ECC Error Address Register 2 |
0x6800 00D8 | NANDERRVAL1 | NAND Flash 4-Bit ECC Error Value Register 1 |
0x6800 00DC | NANDERRVAL2 | NAND Flash 4-Bit ECC Error Value Register 2 |
Table 6-19 through Table 6-22 assume testing over recommended operating conditions.
NO. | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
19 | tsu(EMA_DV-EM_CLKH) | Input setup time, read data valid on EMA_D[15:0] before EMA_CLK rising | 2 | 3 | 3 | ns | |||
20 | th(CLKH-DIV) | Input hold time, read data valid on EMA_D[15:0] after EMA_CLK rising | 1.6 | 1.6 | 1.6 | ns |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
1 | tc(CLK) | Cycle time, EMIF clock EMA_CLK | 10 | 15 | 20 | ns | |||
2 | tw(CLK) | Pulse width, EMIF clock EMA_CLK high or low | 3 | 5 | 8 | ns | |||
3 | td(CLKH-CSV) | Delay time, EMA_CLK rising to EMA_CS[0] valid | 7 | 9.5 | 13 | ns | |||
4 | toh(CLKH-CSIV) | Output hold time, EMA_CLK rising to EMA_CS[0] invalid | 1 | 1 | 1 | ns | |||
5 | td(CLKH-DQMV) | Delay time, EMA_CLK rising to EMA_WE_DQM[1:0] valid | 7 | 9.5 | 13 | ns | |||
6 | toh(CLKH-DQMIV) | Output hold time, EMA_CLK rising to EMA_WE_DQM[1:0] invalid | 1 | 1 | 1 | ns | |||
7 | td(CLKH-AV) | Delay time, EMA_CLK rising to EMA_A[12:0] and EMA_BA[1:0] valid | 7 | 9.5 | 13 | ns | |||
8 | toh(CLKH-AIV) | Output hold time, EMA_CLK rising to EMA_A[12:0] and EMA_BA[1:0] invalid | 1 | 1 | 1 | ns | |||
9 | td(CLKH-DV) | Delay time, EMA_CLK rising to EMA_D[15:0] valid | 7 | 9.5 | 13 | ns | |||
10 | toh(CLKH-DIV) | Output hold time, EMA_CLK rising to EMA_D[15:0] invalid | 1 | 1 | 1 | ns | |||
11 | td(CLKH-RASV) | Delay time, EMA_CLK rising to EMA_RAS valid | 7 | 9.5 | 13 | ns | |||
12 | toh(CLKH-RASIV) | Output hold time, EMA_CLK rising to EMA_RAS invalid | 1 | 1 | 1 | ns | |||
13 | td(CLKH-CASV) | Delay time, EMA_CLK rising to EMA_CAS valid | 7 | 9.5 | 13 | ns | |||
14 | toh(CLKH-CASIV) | Output hold time, EMA_CLK rising to EMA_CAS invalid | 1 | 1 | 1 | ns | |||
15 | td(CLKH-WEV) | Delay time, EMA_CLK rising to EMA_WE valid | 7 | 9.5 | 13 | ns | |||
16 | toh(CLKH-WEIV) | Output hold time, EMA_CLK rising to EMA_WE invalid | 1 | 1 | 1 | ns | |||
17 | tdis(CLKH-DHZ) | Delay time, EMA_CLK rising to EMA_D[15:0] tri-stated | 7 | 9.5 | 13 | ns | |||
18 | tena(CLKH-DLZ) | Output hold time, EMA_CLK rising to EMA_D[15:0] driving | 1 | 1 | 1 | ns |
NO. | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
READS and WRITES | |||||||||
E | tc(CLK) | Cycle time, EMIFA module clock | 6.75 | 13.33 | 20 | ns | |||
2 | tw(EM_WAIT) | Pulse duration, EM_WAIT assertion and deassertion | 2E | 2E | 2E | ns | |||
READS | |||||||||
12 | tsu(EMDV-EMOEH) | Setup time, EM_D[15:0] valid before EM_OE high | 3 | 5 | 7 | ns | |||
13 | th(EMOEH-EMDIV) | Hold time, EM_D[15:0] valid after EM_OE high | 0 | 0 | 0 | ns | |||
14 | tsu (EMOEL-EMWAIT) | Setup Time, EM_WAIT asserted before end of Strobe Phase(2) | 4E+3 | 4E+3 | 4E+3 | ns | |||
WRITES | |||||||||
28 | tsu (EMWEL-EMWAIT) | Setup Time, EM_WAIT asserted before end of Strobe Phase(2) | 4E+3 | 4E+3 | 4E+3 | ns |
NO. | PARAMETER | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|---|
MIN | Nom | MAX | ||||
READS and WRITES | ||||||
1 | td(TURNAROUND) | Turn around time | (TA)*E - 3 | (TA)*E | (TA)*E + 3 | ns |
READS | ||||||
3 | tc(EMRCYCLE) | EMIF read cycle time (EW = 0) | (RS+RST+RH)*E - 3 | (RS+RST+RH)*E | (RS+RST+RH)*E + 3 | ns |
EMIF read cycle time (EW = 1) | (RS+RST+RH+EWC)*E - 3 | (RS+RST+RH+EWC)*E | (RS+RST+RH+EWC)*E + 3 | ns | ||
4 | tsu(EMCEL-EMOEL) | Output setup time, EMA_CE[5:2] low to EMA_OE low (SS = 0) | (RS)*E-3 | (RS)*E | (RS)*E+3 | ns |
Output setup time, EMA_CE[5:2] low to EMA_OE low (SS = 1) | -3 | 0 | +3 | ns | ||
5 | th(EMOEH-EMCEH) | Output hold time, EMA_OE high to EMA_CE[5:2] high (SS = 0) | (RH)*E - 3 | (RH)*E | (RH)*E + 3 | ns |
Output hold time, EMA_OE high to EMA_CE[5:2] high (SS = 1) | -3 | 0 | +3 | ns | ||
6 | tsu(EMBAV-EMOEL) | Output setup time, EMA_BA[1:0] valid to EMA_OE low | (RS)*E-3 | (RS)*E | (RS)*E+3 | ns |
7 | th(EMOEH-EMBAIV) | Output hold time, EMA_OE high to EMA_BA[1:0] invalid | (RH)*E-3 | (RH)*E | (RH)*E+3 | ns |
8 | tsu(EMBAV-EMOEL) | Output setup time, EMA_A[13:0] valid to EMA_OE low | (RS)*E-3 | (RS)*E | (RS)*E+3 | ns |
9 | th(EMOEH-EMAIV) | Output hold time, EMA_OE high to EMA_A[13:0] invalid | (RH)*E-3 | (RH)*E | (RH)*E+3 | ns |
10 | tw(EMOEL) | EMA_OE active low width (EW = 0) | (RST)*E-3 | (RST)*E | (RST)*E+3 | ns |
EMA_OE active low width (EW = 1) | (RST+EWC)*E-3 | (RST+EWC)*E | (RST+EWC)*E+3 | ns | ||
11 | td(EMWAITH-EMOEH) | Delay time from EMA_WAIT deasserted to EMA_OE high | 3E-3 | 4E | 4E+3 | ns |
28 | tsu(EMARW-EMOEL) | Output setup time, EMA_A_RW valid to EMA_OE low | (RS)*E-3 | (RS)*E | (RS)*E+3 | ns |
29 | th(EMOEH-EMARW) | Output hold time, EMA_OE high to EMA_A_RW invalid | (RH)*E-3 | (RH)*E | (RH)*E+3 | ns |
WRITES | ||||||
15 | tc(EMWCYCLE) | EMIF write cycle time (EW = 0) | (WS+WST+WH)*E-3 | (WS+WST+WH)*E | (WS+WST+WH)*E+3 | ns |
EMIF write cycle time (EW = 1) | (WS+WST+WH+EWC)*E - 3 | (WS+WST+WH+EWC)*E | (WS+WST+WH+EWC)*E + 3 | ns | ||
16 | tsu(EMCEL-EMWEL) | Output setup time, EMA_CE[5:2] low to EMA_WE low (SS = 0) | (WS)*E - 3 | (WS)*E | (WS)*E + 3 | ns |
Output setup time, EMA_CE[5:2] low to EMA_WE low (SS = 1) | -3 | 0 | +3 | ns | ||
17 | th(EMWEH-EMCEH) | Output hold time, EMA_WE high to EMA_CE[5:2] high (SS = 0) | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
Output hold time, EMA_WE high to EMA_CE[5:2] high (SS = 1) | -3 | 0 | +3 | ns | ||
18 | tsu(EMDQMV-EMWEL) | Output setup time, EMA_BA[1:0] valid to EMA_WE low | (WS)*E-3 | (WS)*E | (WS)*E+3 | ns |
19 | th(EMWEH-EMDQMIV) | Output hold time, EMA_WE high to EMA_BA[1:0] invalid | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
20 | tsu(EMBAV-EMWEL) | Output setup time, EMA_BA[1:0] valid to EMA_WE low | (WS)*E-3 | (WS)*E | (WS)*E+3 | ns |
21 | th(EMWEH-EMBAIV) | Output hold time, EMA_WE high to EMA_BA[1:0] invalid | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
22 | tsu(EMAV-EMWEL) | Output setup time, EMA_A[13:0] valid to EMA_WE low | (WS)*E-3 | (WS)*E | (WS)*E+3 | ns |
23 | th(EMWEH-EMAIV) | Output hold time, EMA_WE high to EMA_A[13:0] invalid | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
24 | tw(EMWEL) | EMA_WE active low width (EW = 0) | (WST)*E-3 | (WST)*E | (WST)*E+3 | ns |
EMA_WE active low width (EW = 1) | (WST+EWC)*E-3 | (WST+EWC)*E | (WST+EWC)*E+3 | ns | ||
25 | td(EMWAITH-EMWEH) | Delay time from EMA_WAIT deasserted to EMA_WE high | 3E-3 | 4E | 4E+3 | ns |
26 | tsu(EMDV-EMWEL) | Output setup time, EMA_D[15:0] valid to EMA_WE low | (WS)*E-3 | (WS)*E | (WS)*E+3 | ns |
27 | th(EMWEH-EMDIV) | Output hold time, EMA_WE high to EMA_D[15:0] invalid | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
30 | tsu(EMARW-EMWEL) | Output setup time, EMA_A_RW valid to EMA_WE low | (WS)*E-3 | (WS)*E | (WS)*E+3 | ns |
31 | th(EMWEH-EMARW) | Output hold time, EMA_WE high to EMA_A_RW invalid | (WH)*E-3 | (WH)*E | (WH)*E+3 | ns |
The DDR2/mDDR Memory Controller is a dedicated interface to DDR2/mDDR SDRAM. It supports JESD79-2A standard compliant DDR2 SDRAM devices and compliant Mobile DDR SDRAM devices.
The DDR2/mDDR Memory Controller support the following features:
No. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
1 | tc(DDR_CLK) | Cycle time, DDR_CLKP / DDR_CLKN |
DDR2 | 125 | 156 | 125 | 150 | —(1) | —(1) | MHz |
mDDR | 105 | 150 | 100 | 133 | 95 | 133 |
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0xB000 0000 | REVID | Revision ID Register |
0xB000 0004 | SDRSTAT | SDRAM Status Register |
0xB000 0008 | SDCR | SDRAM Configuration Register |
0xB000 000C | SDRCR | SDRAM Refresh Control Register |
0xB000 0010 | SDTIMR1 | SDRAM Timing Register 1 |
0xB000 0014 | SDTIMR2 | SDRAM Timing Register 2 |
0xB000 001C | SDCR2 | SDRAM Configuration Register 2 |
0xB000 0020 | PBBPR | Peripheral Bus Burst Priority Register |
0xB000 0040 | PC1 | Performance Counter 1 Registers |
0xB000 0044 | PC2 | Performance Counter 2 Register |
0xB000 0048 | PCC | Performance Counter Configuration Register |
0xB000 004C | PCMRS | Performance Counter Master Region Select Register |
0xB000 0050 | PCT | Performance Counter Time Register |
0xB000 00C0 | IRR | Interrupt Raw Register |
0xB000 00C4 | IMR | Interrupt Mask Register |
0xB000 00C8 | IMSR | Interrupt Mask Set Register |
0xB000 00CC | IMCR | Interrupt Mask Clear Register |
0xB000 00E4 | DRPYC1R | DDR PHY Control Register 1 |
0x01E2 C000 | VTPIO_CTL | VTP IO Control Register |
This section provides the timing specification for the DDR2/mDDR interface as a PCB design and manufacturing specification. The design rules constrain PCB trace length, PCB trace skew, signal integrity, cross-talk, and signal timing. These rules, when followed, result in a reliable DDR2/mDDR memory system without the need for a complex timing closure process. For more information regarding guidelines for using this DDR2/mDDR specification, Understanding TI's PCB Routing Rule-Based DDR2 Timing Specification (SPRAAV0).
Figure 6-18 shows the DDR2/mDDR interface schematic for a single-memory DDR2/mDDR system. The dual-memory system shown in Figure 6-19. Pin numbers for the device can be obtained from the pin description section.
Table 6-25 shows the parameters of the JEDEC DDR2/mDDR devices that are compatible with this interface. Generally, the DDR2/mDDR interface is compatible with x16 DDR2-400/mDDR-200 speed grade DDR2/mDDR devices.
The device also supports JEDEC DDR2/mDDR x8 devices in the dual chip configuration. In this case, one chip supplies the upper byte and the second chip supplies the lower byte. Addresses and most control signals are shared just like regular dual chip memory configurations.
NO. | PARAMETER | MIN | MAX | UNIT |
---|---|---|---|---|
1 | JEDEC DDR2/mDDR Device Speed Grade(1) | DDR2-400/mDDR-200 | ||
2 | JEDEC DDR2/mDDR Device Bit Width | x8 | x16 | Bits |
3 | JEDEC DDR2/mDDR Device Count(2) | 1 | 2 | Devices |
The minimum stackup required for routing the device is a six layer stack as shown in Table 6-26. Additional layers may be added to the PCB stack up to accommodate other circuitry or to reduce the size of the PCB footprint.Complete stack up specifications are provided in Table 6-27.
LAYER | TYPE | DESCRIPTION |
---|---|---|
1 | Signal | Top Routing Mostly Horizontal |
2 | Plane | Ground |
3 | Plane | Power |
4 | Signal | Internal Routing |
5 | Plane | Ground |
6 | Signal | Bottom Routing Mostly Vertical |
NO. | PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|---|
1 | PCB Routing/Plane Layers | 6 | |||
2 | Signal Routing Layers | 3 | |||
3 | Full ground layers under DDR2/mDDR routing region | 2 | |||
4 | Number of ground plane cuts allowed within DDR routing region | 0 | |||
5 | Number of ground reference planes required for each DDR2/mDDR routing layer | 1 | |||
6 | Number of layers between DDR2/mDDR routing layer and reference ground plane | 0 | |||
7 | PCB Routing Feature Size | 4 | Mils | ||
8 | PCB Trace Width w | 4 | Mils | ||
8 | PCB BGA escape via pad size | 18 | Mils | ||
9 | PCB BGA escape via hole size | 8 | Mils | ||
10 | Device BGA pad size(1) | ||||
11 | DDR2/mDDR Device BGA pad size(2) | ||||
12 | Single Ended Impedance, Zo | 50 | 75 | Ω | |
13 | Impedance Control(3) | Z-5 | Z | Z+5 | Ω |
Figure 6-19 shows the required placement for the device as well as the DDR2/mDDR devices. The dimensions for Figure 6-20 are defined in Table 6-28. The placement does not restrict the side of the PCB that the devices are mounted on. The ultimate purpose of the placement is to limit the maximum trace lengths and allow for proper routing space. For single-memory DDR2/mDDR systems, the second DDR2/mDDR device is omitted from the placement.
NO. | PARAMETER | MIN | MAX | UNIT |
---|---|---|---|---|
1 | X | 1750 | Mils | |
2 | Y | 1280 | Mils | |
3 | Y Offset | (3) | 650 | Mils |
4 | Clearance from non-DDR2/mDDR signal to DDR2/mDDR Keepout Region(4) | 4 | w(5) |
The region of the PCB used for the DDR2/mDDR circuitry must be isolated from other signals. The DDR2/mDDR keep out region is defined for this purpose and is shown in Figure 6-21. The size of this region varies with the placement and DDR routing. Additional clearances required for the keep out region are shown in Table 6-28.
Bulk bypass capacitors are required for moderate speed bypassing of the DDR2/mDDR and other circuitry. Table 6-29 contains the minimum numbers and capacitance required for the bulk bypass capacitors. Note that this table only covers the bypass needs of the DSP and DDR2/mDDR interfaces. Additional bulk bypass capacitance may be needed for other circuitry.
NO. | PARAMETER | MIN | MAX | UNIT |
---|---|---|---|---|
1 | DDR_DVDD18 Supply Bulk Bypass Capacitor Count(1) | 3 | Devices | |
2 | DDR_DVDD18 Supply Bulk Bypass Total Capacitance | 30 | μF | |
3 | DDR#1 Bulk Bypass Capacitor Count(1) | 1 | Devices | |
4 | DDR#1 Bulk Bypass Total Capacitance | 22 | μF | |
5 | DDR#2 Bulk Bypass Capacitor Count(1)(2) | 1 | Devices | |
6 | DDR#2 Bulk Bypass Total Capacitance(2) | 22 | μF |
High-speed (HS) bypass capacitors are critical for proper DDR2/mDDR interface operation. It is particularly important to minimize the parasitic series inductance of the HS bypass cap, DSP/DDR2/mDDR power, and DSP/DDR2/mDDR ground connections. Table 6-30 contains the specification for the HS bypass capacitors as well as for the power connections on the PCB.
NO. | PARAMETER | MIN | MAX | UNIT |
---|---|---|---|---|
1 | HS Bypass Capacitor Package Size(1) | 0402 | 10 Mils | |
2 | Distance from HS bypass capacitor to device being bypassed | 250 | Mils | |
3 | Number of connection vias for each HS bypass capacitor | 2(4) | Vias | |
4 | Trace length from bypass capacitor contact to connection via | 1 | 30 | Mils |
5 | Number of connection vias for each DDR2/mDDR device power or ground balls | 1 | Vias | |
6 | Trace length from DDR2/mDDR device power ball to connection via | 35 | Mils | |
7 | DDR_DVDD18 Supply HS Bypass Capacitor Count(2) | 10 | Devices | |
8 | DDR_DVDD18 Supply HS Bypass Capacitor Total Capacitance | 0.6 | μF | |
9 | DDR#1 HS Bypass Capacitor Count(2) | 8 | Devices | |
10 | DDR#1 HS Bypass Capacitor Total Capacitance | 0.4 | μF | |
11 | DDR#2 HS Bypass Capacitor Count(2)(3) | 8 | Devices | |
12 | DDR#2 HS Bypass Capacitor Total Capacitance(3) | 0.4 | μF |
Table 6-31 lists the clock net classes for the DDR2/mDDR interface. Table 6-32 lists the signal net classes, and associated clock net classes, for the signals in the DDR2/mDDR interface. These net classes are used for the termination and routing rules that follow.
CLOCK NET CLASS | DSP PIN NAMES |
---|---|
CK | DDR_CLKP / DDR_CLKN |
DQS0 | DDR_DQS[0] |
DQS1 | DDR_DQS[1] |
SIGNAL NET CLASS | ASSOCIATED CLOCK NET CLASS | DSP PIN NAMES |
---|---|---|
ADDR_CTRL | CK | DDR_BA[2:0], DDR_A[13:0], DDR_CS, DDR_CAS, DDR_RAS, DDR_WE, DDR_CKE |
D0 | DQS0 | DDR_D[7:0], DDR_DQM0 |
D1 | DQS1 | DDR_D[15:8], DDR_DQM1 |
DQGATE | CK, DQS0, DQS1 | DDR_DQGATE0, DDR_DQGATE1 |
No terminations of any kind are required in order to meet signal integrity and overshoot requirements. Serial terminators are permitted, if desired, to reduce EMI risk; however, serial terminations are the only type permitted. Table 6-33 shows the specifications for the series terminators.
NO. | PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|---|
1 | CK Net Class | 0 | 10 | Ω | |
2 | ADDR_CTRL Net Class | 0 | 22 | Zo | Ω |
3 | Data Byte Net Classes (DQS[0], DQS[1], D0, D1)(4) | 0 | 22 | Zo | Ω |
4 | DQGATE Net Class (DQGATE) | 0 | 10 | Zo | Ω |
VREF is used as a reference by the input buffers of the DDR2/mDDR memories as well as the C6742 . VREF is intended to be half the DDR2/mDDR power supply voltage and should be created using a resistive divider as shown in Figure 6-18. Other methods of creating VREF are not recommended. Figure 6-22 shows the layout guidelines for VREF.
Figure 6-23 shows the topology of the routing for the CK and ADDR_CTRL net classes. The route is a balanced T as it is intended that the length of segments B and C be equal. In addition, the length of A should be maximized.
NO. | PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|---|
1 | Center to Center CK-CKN Spacing(3) | 2w(4) | |||
2 | CK A to B/A to C Skew Length Mismatch(1) | 25 | Mils | ||
3 | CK B to C Skew Length Mismatch | 25 | Mils | ||
4 | Center to center CK to other DDR2/mDDR trace spacing(3) | 4w(4) | |||
5 | CK/ADDR_CTRL nominal trace length(2) | CACLM-50 | CACLM | CACLM+50 | Mils |
6 | ADDR_CTRL to CK Skew Length Mismatch | 100 | Mils | ||
7 | ADDR_CTRL to ADDR_CTRL Skew Length Mismatch | 100 | Mils | ||
8 | Center to center ADDR_CTRL to other DDR2/mDDR trace spacing(3) | 4w(4) | |||
9 | Center to center ADDR_CTRL to other ADDR_CTRL trace spacing(3) | 3w (4) | |||
10 | ADDR_CTRL A to B/A to C Skew Length Mismatch(1) | 100 | Mils | ||
11 | ADDR_CTRL B to C Skew Length Mismatch | 100 | Mils |
Figure 6-24 shows the topology and routing for the DQS and D net class; the routes are point to point. Skew matching across bytes is not needed nor recommended.
NO. | PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|---|
1 | Center to center DQS to other DDR2/mDDR trace spacing(4) | 4w(6) | |||
2 | DQS/D nominal trace length(1)(3) | DQLM-50 | DQLM | DQLM+50 | Mils |
3 | D to DQS Skew Length Mismatch(3) | 100 | Mils | ||
4 | D to D Skew Length Mismatch(3) | 100 | Mils | ||
5 | Center to center D to other DDR2/mDDR trace spacing(4)(5) | 4w(6) | |||
6 | Center to Center D to other D trace spacing(4)(2) | 3w(6) |
Figure 6-25 shows the routing for the DQGATE net class. Table 6-36 contains the routing specification.
NO. | PARAMETER | MIN | TYP | MAX | UNIT |
---|---|---|---|---|---|
1 | DQGATE Length F | CKB0B(1) | |||
2 | Center to center DQGATE to any other trace spacing | 4w(3) | |||
3 | DQS/D nominal trace length | DQLM-50 | DQLM | DQLM+50 | Mils |
4 | DQGATE Skew(2) | 100 | Mils |
Due to DDR implementation and timing restrictions, it was not possible to place boundary scan cells between core logic and the IO like boundary scan cells for other IO. Instead, the boundary scan cells are tapped-off to the DDR PHY and there is the equivalent of a multiplexer inside the DDR PHY which selects between functional and boundary scan paths.
The implication for boundary scan is that the DDR pins will not support the SAMPLE function of the output enable cells on the DDR pins and this is a violation of IEEE 1149.1. Full EXTEST and PRELOAD capability is still available.
The MPU performs memory protection checking. It receives requests from a bus master in the system and checks the address against the fixed and programmable regions to see if the access is allowed. If allowed, the transfer is passed unmodified to its output bus (to the targeted address). If the transfer is illegal (fails the protection check) then the MPU does not pass the transfer to the output bus but rather services the transfer internally back to the input bus (to prevent a hang) returning the fault status to the requestor as well as generating an interrupt about the fault. The following features are supported by the MPU:
MPU1 BYTE ADDRESS |
ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01E1 4000 | REVID | Revision ID |
0x01E1 4004 | CONFIG | Configuration |
0x01E1 4010 | IRAWSTAT | Interrupt raw status/set |
0x01E1 4014 | IENSTAT | Interrupt enable status/clear |
0x01E1 4018 | IENSET | Interrupt enable |
0x01E1 401C | IENCLR | Interrupt enable clear |
0x01E1 4020 - 0x01E1 41FF | - | Reserved |
0x01E1 4200 | PROG1_MPSAR | Programmable range 1, start address |
0x01E1 4204 | PROG1_MPEAR | Programmable range 1, end address |
0x01E1 4208 | PROG1_MPPA | Programmable range 1, memory page protection attributes |
0x01E1 420C - 0x01E1 420F | - | Reserved |
0x01E1 4210 | PROG2_MPSAR | Programmable range 2, start address |
0x01E1 4214 | PROG2_MPEAR | Programmable range 2, end address |
0x01E1 4218 | PROG2_MPPA | Programmable range 2, memory page protection attributes |
0x01E1 421C - 0x01E1 421F | - | Reserved |
0x01E1 4220 | PROG3_MPSAR | Programmable range 3, start address |
0x01E1 4224 | PROG3_MPEAR | Programmable range 3, end address |
0x01E1 4228 | PROG3_MPPA | Programmable range 3, memory page protection attributes |
0x01E1 422C - 0x01E1 422F | - | Reserved |
0x01E1 4230 | PROG4_MPSAR | Programmable range 4, start address |
0x01E1 4234 | PROG4_MPEAR | Programmable range 4, end address |
0x01E1 4238 | PROG4_MPPA | Programmable range 4, memory page protection attributes |
0x01E1 423C - 0x01E1 423F | - | Reserved |
0x01E1 4240 | PROG5_MPSAR | Programmable range 5, start address |
0x01E1 4244 | PROG5_MPEAR | Programmable range 5, end address |
0x01E1 4248 | PROG5_MPPA | Programmable range 5, memory page protection attributes |
0x01E1 424C - 0x01E1 424F | - | Reserved |
0x01E1 4250 | PROG6_MPSAR | Programmable range 6, start address |
0x01E1 4254 | PROG6_MPEAR | Programmable range 6, end address |
0x01E1 4258 | PROG6_MPPA | Programmable range 6, memory page protection attributes |
0x01E1 425C - 0x01E1 42FF | - | Reserved |
0x01E1 4300 | FLTADDRR | Fault address |
0x01E1 4304 | FLTSTAT | Fault status |
0x01E1 4308 | FLTCLR | Fault clear |
0x01E1 430C - 0x01E1 4FFF | - | Reserved |
MPU2 BYTE ADDRESS |
ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01E1 5000 | REVID | Revision ID |
0x01E1 5004 | CONFIG | Configuration |
0x01E1 5010 | IRAWSTAT | Interrupt raw status/set |
0x01E1 5014 | IENSTAT | Interrupt enable status/clear |
0x01E1 5018 | IENSET | Interrupt enable |
0x01E1 501C | IENCLR | Interrupt enable clear |
0x01E1 5020 - 0x01E1 51FF | - | Reserved |
0x01E1 5200 | PROG1_MPSAR | Programmable range 1, start address |
0x01E1 5204 | PROG1_MPEAR | Programmable range 1, end address |
0x01E1 5208 | PROG1_MPPA | Programmable range 1, memory page protection attributes |
0x01E1 520C - 0x01E1 520F | - | Reserved |
0x01E1 5210 | PROG2_MPSAR | Programmable range 2, start address |
0x01E1 5214 | PROG2_MPEAR | Programmable range 2, end address |
0x01E1 5218 | PROG2_MPPA | Programmable range 2, memory page protection attributes |
0x01E1 521C - 0x01E1 521F | - | Reserved |
0x01E1 5220 | PROG3_MPSAR | Programmable range 3, start address |
0x01E1 5224 | PROG3_MPEAR | Programmable range 3, end address |
0x01E1 5228 | PROG3_MPPA | Programmable range 3, memory page protection attributes |
0x01E1 522C - 0x01E1 522F | - | Reserved |
0x01E1 5230 | PROG4_MPSAR | Programmable range 4, start address |
0x01E1 5234 | PROG4_MPEAR | Programmable range 4, end address |
0x01E1 5238 | PROG4_MPPA | Programmable range 4, memory page protection attributes |
0x01E1 523C - 0x01E1 523F | - | Reserved |
0x01E1 5240 | PROG5_MPSAR | Programmable range 5, start address |
0x01E1 5244 | PROG5_MPEAR | Programmable range 5, end address |
0x01E1 5248 | PROG5_MPPA | Programmable range 5, memory page protection attributes |
0x01E1 524C - 0x01E1 524F | - | Reserved |
0x01E1 5250 | PROG6_MPSAR | Programmable range 6, start address |
0x01E1 5254 | PROG6_MPEAR | Programmable range 6, end address |
0x01E1 5258 | PROG6_MPPA | Programmable range 6, memory page protection attributes |
0x01E1 525C - 0x01E1 525F | - | Reserved |
0x01E1 5260 | PROG7_MPSAR | Programmable range 7, start address |
0x01E1 5264 | PROG7_MPEAR | Programmable range 7, end address |
0x01E1 5268 | PROG7_MPPA | Programmable range 7, memory page protection attributes |
0x01E1 526C - 0x01E1 526F | - | Reserved |
0x01E1 5270 | PROG8_MPSAR | Programmable range 8, start address |
0x01E1 5274 | PROG8_MPEAR | Programmable range 8, end address |
0x01E1 5278 | PROG8_MPPA | Programmable range 8, memory page protection attributes |
0x01E1 527C - 0x01E1 527F | - | Reserved |
0x01E1 5280 | PROG9_MPSAR | Programmable range 9, start address |
0x01E1 5284 | PROG9_MPEAR | Programmable range 9, end address |
0x01E1 5288 | PROG9_MPPA | Programmable range 9, memory page protection attributes |
0x01E1 528C - 0x01E1 528F | - | Reserved |
0x01E1 5290 | PROG10_MPSAR | Programmable range 10, start address |
0x01E1 5294 | PROG10_MPEAR | Programmable range 10, end address |
0x01E1 5298 | PROG10_MPPA | Programmable range 10, memory page protection attributes |
0x01E1 529C - 0x01E1 529F | - | Reserved |
0x01E1 52A0 | PROG11_MPSAR | Programmable range 11, start address |
0x01E1 52A4 | PROG11_MPEAR | Programmable range 11, end address |
0x01E1 52A8 | PROG11_MPPA | Programmable range 11, memory page protection attributes |
0x01E1 52AC - 0x01E1 52AF | - | Reserved |
0x01E1 52B0 | PROG12_MPSAR | Programmable range 12, start address |
0x01E1 52B4 | PROG12_MPEAR | Programmable range 12, end address |
0x01E1 52B8 | PROG12_MPPA | Programmable range 12, memory page protection attributes |
0x01E1 52BC - 0x01E1 52FF | - | Reserved |
0x01E1 5300 | FLTADDRR | Fault address |
0x01E1 5304 | FLTSTAT | Fault status |
0x01E1 5308 | FLTCLR | Fault clear |
0x01E1 530C - 0x01E1 5FFF | - | Reserved |
The McASP serial port is specifically designed for multichannel audio applications. Its key features are:
Registers for the McASP are summarized in Table 6-39. The registers are accessed through the peripheral configuration port. The receive buffer registers (RBUF) and transmit buffer registers (XBUF) can also be accessed through the DMA port, as listed in Table 6-40
Registers for the McASP Audio FIFO (AFIFO) are summarized in Table 6-41. Note that the AFIFO Write FIFO (WFIFO) and Read FIFO (RFIFO) have independent control and status registers. The AFIFO control registers are accessed through the peripheral configuration port.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01D0 0000 | REV | Revision identification register |
0x01D0 0010 | PFUNC | Pin function register |
0x01D0 0014 | PDIR | Pin direction register |
0x01D0 0018 | PDOUT | Pin data output register |
0x01D0 001C | PDIN | Read returns: Pin data input register |
0x01D0 001C | PDSET | Writes affect: Pin data set register (alternate write address: PDOUT) |
0x01D0 0020 | PDCLR | Pin data clear register (alternate write address: PDOUT) |
0x01D0 0044 | GBLCTL | Global control register |
0x01D0 0048 | AMUTE | Audio mute control register |
0x01D0 004C | DLBCTL | Digital loopback control register |
0x01D0 0050 | DITCTL | DIT mode control register |
0x01D0 0060 | RGBLCTL | Receiver global control register: Alias of GBLCTL, only receive bits are affected - allows receiver to be reset independently from transmitter |
0x01D0 0064 | RMASK | Receive format unit bit mask register |
0x01D0 0068 | RFMT | Receive bit stream format register |
0x01D0 006C | AFSRCTL | Receive frame sync control register |
0x01D0 0070 | ACLKRCTL | Receive clock control register |
0x01D0 0074 | AHCLKRCTL | Receive high-frequency clock control register |
0x01D0 0078 | RTDM | Receive TDM time slot 0-31 register |
0x01D0 007C | RINTCTL | Receiver interrupt control register |
0x01D0 0080 | RSTAT | Receiver status register |
0x01D0 0084 | RSLOT | Current receive TDM time slot register |
0x01D0 0088 | RCLKCHK | Receive clock check control register |
0x01D0 008C | REVTCTL | Receiver DMA event control register |
0x01D0 00A0 | XGBLCTL | Transmitter global control register. Alias of GBLCTL, only transmit bits are affected - allows transmitter to be reset independently from receiver |
0x01D0 00A4 | XMASK | Transmit format unit bit mask register |
0x01D0 00A8 | XFMT | Transmit bit stream format register |
0x01D0 00AC | AFSXCTL | Transmit frame sync control register |
0x01D0 00B0 | ACLKXCTL | Transmit clock control register |
0x01D0 00B4 | AHCLKXCTL | Transmit high-frequency clock control register |
0x01D0 00B8 | XTDM | Transmit TDM time slot 0-31 register |
0x01D0 00BC | XINTCTL | Transmitter interrupt control register |
0x01D0 00C0 | XSTAT | Transmitter status register |
0x01D0 00C4 | XSLOT | Current transmit TDM time slot register |
0x01D0 00C8 | XCLKCHK | Transmit clock check control register |
0x01D0 00CC | XEVTCTL | Transmitter DMA event control register |
0x01D0 0100 | DITCSRA0 | Left (even TDM time slot) channel status register (DIT mode) 0 |
0x01D0 0104 | DITCSRA1 | Left (even TDM time slot) channel status register (DIT mode) 1 |
0x01D0 0108 | DITCSRA2 | Left (even TDM time slot) channel status register (DIT mode) 2 |
0x01D0 010C | DITCSRA3 | Left (even TDM time slot) channel status register (DIT mode) 3 |
0x01D0 0110 | DITCSRA4 | Left (even TDM time slot) channel status register (DIT mode) 4 |
0x01D0 0114 | DITCSRA5 | Left (even TDM time slot) channel status register (DIT mode) 5 |
0x01D0 0118 | DITCSRB0 | Right (odd TDM time slot) channel status register (DIT mode) 0 |
0x01D0 011C | DITCSRB1 | Right (odd TDM time slot) channel status register (DIT mode) 1 |
0x01D0 0120 | DITCSRB2 | Right (odd TDM time slot) channel status register (DIT mode) 2 |
0x01D0 0124 | DITCSRB3 | Right (odd TDM time slot) channel status register (DIT mode) 3 |
0x01D0 0128 | DITCSRB4 | Right (odd TDM time slot) channel status register (DIT mode) 4 |
0x01D0 012C | DITCSRB5 | Right (odd TDM time slot) channel status register (DIT mode) 5 |
0x01D0 0130 | DITUDRA0 | Left (even TDM time slot) channel user data register (DIT mode) 0 |
0x01D0 0134 | DITUDRA1 | Left (even TDM time slot) channel user data register (DIT mode) 1 |
0x01D0 0138 | DITUDRA2 | Left (even TDM time slot) channel user data register (DIT mode) 2 |
0x01D0 013C | DITUDRA3 | Left (even TDM time slot) channel user data register (DIT mode) 3 |
0x01D0 0140 | DITUDRA4 | Left (even TDM time slot) channel user data register (DIT mode) 4 |
0x01D0 0144 | DITUDRA5 | Left (even TDM time slot) channel user data register (DIT mode) 5 |
0x01D0 0148 | DITUDRB0 | Right (odd TDM time slot) channel user data register (DIT mode) 0 |
0x01D0 014C | DITUDRB1 | Right (odd TDM time slot) channel user data register (DIT mode) 1 |
0x01D0 0150 | DITUDRB2 | Right (odd TDM time slot) channel user data register (DIT mode) 2 |
0x01D0 0154 | DITUDRB3 | Right (odd TDM time slot) channel user data register (DIT mode) 3 |
0x01D0 0158 | DITUDRB4 | Right (odd TDM time slot) channel user data register (DIT mode) 4 |
0x01D0 015C | DITUDRB5 | Right (odd TDM time slot) channel user data register (DIT mode) 5 |
0x01D0 0180 | SRCTL0 | Serializer control register 0 |
0x01D0 0184 | SRCTL1 | Serializer control register 1 |
0x01D0 0188 | SRCTL2 | Serializer control register 2 |
0x01D0 018C | SRCTL3 | Serializer control register 3 |
0x01D0 0190 | SRCTL4 | Serializer control register 4 |
0x01D0 0194 | SRCTL5 | Serializer control register 5 |
0x01D0 0198 | SRCTL6 | Serializer control register 6 |
0x01D0 019C | SRCTL7 | Serializer control register 7 |
0x01D0 01A0 | SRCTL8 | Serializer control register 8 |
0x01D0 01A4 | SRCTL9 | Serializer control register 9 |
0x01D0 01A8 | SRCTL10 | Serializer control register 10 |
0x01D0 01AC | SRCTL11 | Serializer control register 11 |
0x01D0 01B0 | SRCTL12 | Serializer control register 12 |
0x01D0 01B4 | SRCTL13 | Serializer control register 13 |
0x01D0 01B8 | SRCTL14 | Serializer control register 14 |
0x01D0 01BC | SRCTL15 | Serializer control register 15 |
0x01D0 0200 | XBUF0(1) | Transmit buffer register for serializer 0 |
0x01D0 0204 | XBUF1(1) | Transmit buffer register for serializer 1 |
0x01D0 0208 | XBUF2(1) | Transmit buffer register for serializer 2 |
0x01D0 020C | XBUF3(1) | Transmit buffer register for serializer 3 |
0x01D0 0210 | XBUF4(1) | Transmit buffer register for serializer 4 |
0x01D0 0214 | XBUF5(1) | Transmit buffer register for serializer 5 |
0x01D0 0218 | XBUF6(1) | Transmit buffer register for serializer 6 |
0x01D0 021C | XBUF7(1) | Transmit buffer register for serializer 7 |
0x01D0 0220 | XBUF8(1) | Transmit buffer register for serializer 8 |
0x01D0 0224 | XBUF9(1) | Transmit buffer register for serializer 9 |
0x01D0 0228 | XBUF10(1) | Transmit buffer register for serializer 10 |
0x01D0 022C | XBUF11(1) | Transmit buffer register for serializer 11 |
0x01D0 0230 | XBUF12(1) | Transmit buffer register for serializer 12 |
0x01D0 0234 | XBUF13(1) | Transmit buffer register for serializer 13 |
0x01D0 0238 | XBUF14(1) | Transmit buffer register for serializer 14 |
0x01D0 023C | XBUF15(1) | Transmit buffer register for serializer 15 |
0x01D0 0280 | RBUF0(2) | Receive buffer register for serializer 0 |
0x01D0 0284 | RBUF1(2) | Receive buffer register for serializer 1 |
0x01D0 0288 | RBUF2(2) | Receive buffer register for serializer 2 |
0x01D0 028C | RBUF3(2) | Receive buffer register for serializer 3 |
0x01D0 0290 | RBUF4(2) | Receive buffer register for serializer 4 |
0x01D0 0294 | RBUF5(2) | Receive buffer register for serializer 5 |
0x01D0 0298 | RBUF6(2) | Receive buffer register for serializer 6 |
0x01D0 029C | RBUF7(2) | Receive buffer register for serializer 7 |
0x01D0 02A0 | RBUF8(2) | Receive buffer register for serializer 8 |
0x01D0 02A4 | RBUF9(2) | Receive buffer register for serializer 9 |
0x01D0 02A8 | RBUF10(2) | Receive buffer register for serializer 10 |
0x01D0 02AC | RBUF11(2) | Receive buffer register for serializer 11 |
0x01D0 02B0 | RBUF12(2) | Receive buffer register for serializer 12 |
0x01D0 02B4 | RBUF13(2) | Receive buffer register for serializer 13 |
0x01D0 02B8 | RBUF14(2) | Receive buffer register for serializer 14 |
0x01D0 02BC | RBUF15(2) | Receive buffer register for serializer 15 |
ACCESS TYPE | BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|---|
Read Accesses | 0x01D0 2000 | RBUF | Receive buffer DMA port address. Cycles through receive serializers, skipping over transmit serializers and inactive serializers. Starts at the lowest serializer at the beginning of each time slot. Reads from DMA port only if XBUSEL = 0 in XFMT. |
Write Accesses | 0x01D0 2000 | XBUF | Transmit buffer DMA port address. Cycles through transmit serializers, skipping over receive and inactive serializers. Starts at the lowest serializer at the beginning of each time slot. Writes to DMA port only if RBUSEL = 0 in RFMT. |
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01D0 1000 | AFIFOREV | AFIFO revision identification register |
0x01D0 1010 | WFIFOCTL | Write FIFO control register |
0x01D0 1014 | WFIFOSTS | Write FIFO status register |
0x01D0 1018 | RFIFOCTL | Read FIFO control register |
0x01D0 101C | RFIFOSTS | Read FIFO status register |
Table 6-42 and Table 6-44 assume testing over recommended operating conditions (see Figure 6-27 and Figure 6-28).
NO. | 1.2V | 1.1V | UNIT | |||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||||
1 | tc(AHCLKRX) | Cycle time, AHCLKR/X | 25 | 28 | ns | |||
2 | tw(AHCLKRX) | Pulse duration, AHCLKR/X high or low | 12.5 | 14 | ns | |||
3 | tc(ACLKRX) | Cycle time, ACLKR/X | AHCLKR/X ext | 25(1) | 28(1) | ns | ||
4 | tw(ACLKRX) | Pulse duration, ACLKR/W high or low | AHCLKR/X ext | 12.5 | 14 | ns | ||
5 | tsu(AFSRX-ACLKRX) | Setup time, AFSR/X input to ACLKR/X(3) |
AHCLKR/X int | 11.5 | 12 | ns | ||
AHCLKR/X ext input | 4 | 5 | ns | |||||
AHCLKR/X ext output | 4 | 5 | ns | |||||
6 | th(ACLKRX-AFSRX) | Hold time, AFSR/X input after ACLKR/X(3) |
AHCLKR/X int | -1 | -2 | ns | ||
AHCLKR/X ext input | 1 | 1 | ns | |||||
AHCLKR/X ext output | 1 | 1 | ns | |||||
7 | tsu(AXR-ACLKRX) | Setup time, AXR0[n] input to ACLKR/X(3)(4) |
AHCLKR/X int | 11.5 | 12 | ns | ||
AHCLKR/X ext | 4 | 5 | ns | |||||
8 | th(ACLKRX-AXR) | Hold time, AXR0[n] input after ACLKR/X(3)(4) |
AHCLKR/X int | -1 | -2 | ns | ||
AHCLKR/X ext input | 3 | 4 | ns | |||||
AHCLKR/X ext output | 3 | 4 | ns |
NO. | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|
MIN | MAX | |||||
1 | tc(AHCLKRX) | Cycle time, AHCLKR/X | 35 | ns | ||
2 | tw(AHCLKRX) | Pulse duration, AHCLKR/X high or low | 17.5 | ns | ||
3 | tc(ACLKRX) | Cycle time, ACLKR/X | AHCLKR/X ext | 35(1) | ns | |
4 | tw(ACLKRX) | Pulse duration, ACLKR/W high or low | AHCLKR/X ext | 17.5 | ns | |
5 | tsu(AFSRX-ACLKRX) | Setup time, AFSR/X input to ACLKR/X(3) |
AHCLKR/X int | 16 | ns | |
AHCLKR/X ext input | 5.5 | ns | ||||
AHCLKR/X ext output | 5.5 | ns | ||||
6 | th(ACLKRX-AFSRX) | Hold time, AFSR/X input after ACLKR/X(3) |
AHCLKR/X int | -2 | ns | |
AHCLKR/X ext input | 1 | ns | ||||
AHCLKR/X ext output | 1 | ns | ||||
7 | tsu(AXR-ACLKRX) | Setup time, AXR0[n] input to ACLKR/X(3)(4) |
AHCLKR/X int | 16 | ns | |
AHCLKR/X ext | 5.5 | ns | ||||
8 | th(ACLKRX-AXR) | Hold time, AXR0[n] input after ACLKR/X(3)(4) |
AHCLKR/X int | -2 | ns | |
AHCLKR/X ext input | 5 | ns | ||||
AHCLKR/X ext output | 5 | ns |
NO. | PARAMETER | 1.2V | 1.1V | UNIT | ||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||||
9 | tc(AHCLKRX) | Cycle time, AHCLKR/X | 25 | 28 | ns | |||
10 | tw(AHCLKRX) | Pulse duration, AHCLKR/X high or low | AH – 2.5(2) | AH – 2.5(2) | ns | |||
11 | tc(ACLKRX) | Cycle time, ACLKR/X | ACLKR/X int | 25(4)(5) | 28(4)(5) | ns | ||
12 | tw(ACLKRX) | Pulse duration, ACLKR/X high or low | ACLKR/X int | A – 2.5(3) | A – 2.5(3) | ns | ||
13 | td(ACLKRX-AFSRX) | Delay time, ACLKR/X transmit edge to AFSX/R output valid(6) | ACLKR/X int | -1 | 6 | -1 | 8 | ns |
ACLKR/X ext input | 2 | 13.5 | 2 | 14.5 | ns | |||
ACLKR/X ext output | 2 | 13.5 | 2 | 14.5 | ns | |||
14 | td(ACLKX-AXRV) | Delay time, ACLKX transmit edge to AXR output valid | ACLKR/X int | -1 | 6 | -1 | 8 | ns |
ACLKR/X ext input | 2 | 13.5 | 2 | 15 | ns | |||
ACLKR/X ext output | 2 | 13.5 | 2 | 15 | ns | |||
15 | tdis(ACLKX-AXRHZ) | Disable time, ACLKR/X transmit edge to AXR high impedance following last data bit | ACLKR/X int | 0 | 6 | 0 | 8 | ns |
ACLKR/X ext | 2 | 13.5 | 2 | 15 | ns |
NO. | PARAMETER | 1.0V | UNIT | |||
---|---|---|---|---|---|---|
MIN | MAX | |||||
9 | tc(AHCLKRX) | Cycle time, AHCLKR/X | 35 | ns | ||
10 | tw(AHCLKRX) | Pulse duration, AHCLKR/X high or low | AH – 2.5(2) | ns | ||
11 | tc(ACLKRX) | Cycle time, ACLKR/X | ACLKR/X int | 35(4)(5) | ns | |
12 | tw(ACLKRX) | Pulse duration, ACLKR/X high or low | ACLKR/X int | A – 2.5(3) | ns | |
13 | td(ACLKRX-AFSRX) | Delay time, ACLKR/X transmit edge to AFSX/R output valid(6) | ACLKR/X int | -0.5 | 10 | ns |
ACLKR/X ext input | 2 | 19 | ns | |||
ACLKR/X ext output | 2 | 19 | ns | |||
14 | td(ACLKX-AXRV) | Delay time, ACLKX transmit edge to AXR output valid | ACLKR/X int | -0.5 | 10 | ns |
ACLKR/X ext input | 2 | 19 | ns | |||
ACLKR/X ext output | 2 | 19 | ns | |||
15 | tdis(ACLKX-AXRHZ) | Disable time, ACLKR/X transmit edge to AXR high impedance following last data bit | ACLKR/X int | 0 | 10 | ns |
ACLKR/X ext | 2 | 19 | ns |
The McBSP provides these functions:
If internal clock source is used, the CLKGDV field of the Sample Rate Generator Register (SRGR) must always be set to a value of 1 or greater.
McBSP1 BYTE ADDRESS |
ACRONYM | REGISTER DESCRIPTION |
---|---|---|
McBSP Registers | ||
0x01D1 1000 | DRR | McBSP Data Receive Register (read-only) |
0x01D1 1004 | DXR | McBSP Data Transmit Register |
0x01D1 1008 | SPCR | McBSP Serial Port Control Register |
0x01D1 100C | RCR | McBSP Receive Control Register |
0x01D1 1010 | XCR | McBSP Transmit Control Register |
0x01D1 1014 | SRGR | McBSP Sample Rate Generator register |
0x01D1 1018 | MCR | McBSP Multichannel Control Register |
0x01D1 101C | RCERE0 | McBSP Enhanced Receive Channel Enable Register 0 Partition A/B |
0x01D1 1020 | XCERE0 | McBSP Enhanced Transmit Channel Enable Register 0 Partition A/B |
0x01D1 1024 | PCR | McBSP Pin Control Register |
0x01D1 1028 | RCERE1 | McBSP Enhanced Receive Channel Enable Register 1 Partition C/D |
0x01D1 102C | XCERE1 | McBSP Enhanced Transmit Channel Enable Register 1 Partition C/D |
0x01D1 1030 | RCERE2 | McBSP Enhanced Receive Channel Enable Register 2 Partition E/F |
0x01D1 1034 | XCERE2 | McBSP Enhanced Transmit Channel Enable Register 2 Partition E/F |
0x01D1 1038 | RCERE3 | McBSP Enhanced Receive Channel Enable Register 3 Partition G/H |
0x01D1 103C | XCERE3 | McBSP Enhanced Transmit Channel Enable Register 3 Partition G/H |
McBSP FIFO Control and Status Registers | ||
0x01D1 1800 | BFIFOREV | BFIFO Revision Identification Register |
0x01D1 1810 | WFIFOCTL | Write FIFO Control Register |
0x01D1 1814 | WFIFOSTS | Write FIFO Status Register |
0x01D1 1818 | RFIFOCTL | Read FIFO Control Register |
0x01D1 181C | RFIFOSTS | Read FIFO Status Register |
McBSP FIFO Data Registers | ||
0x01F1 1000 | RBUF | McBSP FIFO Receive Buffer |
0x01F1 1000 | XBUF | McBSP FIFO Transmit Buffer |
The following assume testing over recommended operating conditions.
NO. | 1.2V | 1.1V | UNIT | |||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||||
2 | tc(CKRX) | Cycle time, CLKR/X | CLKR/X ext | 2P or 20(2)(3) | 2P or 25(2) | ns | ||
3 | tw(CKRX) | Pulse duration, CLKR/X high or CLKR/X low | CLKR/X ext | P - 1 | P - 1(4) | ns | ||
5 | tsu(FRH-CKRL) | Setup time, external FSR high before CLKR low | CLKR int | 15 | 18 | ns | ||
CLKR ext | 5 | 5 | ||||||
6 | th(CKRL-FRH) | Hold time, external FSR high after CLKR low | CLKR int | 6 | 6 | ns | ||
CLKR ext | 3 | 3 | ||||||
7 | tsu(DRV-CKRL) | Setup time, DR valid before CLKR low | CLKR int | 15 | 18 | ns | ||
CLKR ext | 5 | 5 | ||||||
8 | th(CKRL-DRV) | Hold time, DR valid after CLKR low | CLKR int | 3 | 3 | ns | ||
CLKR ext | 3 | 3 | ||||||
10 | tsu(FXH-CKXL) | Setup time, external FSX high before CLKX low | CLKX int | 15 | 18 | ns | ||
CLKX ext | 5 | 5 | ||||||
11 | th(CKXL-FXH) | Hold time, external FSX high after CLKX low | CLKX int | 6 | 6 | ns | ||
CLKX ext | 3 | 3 |
NO. | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|
MIN | MAX | |||||
2 | tc(CKRX) | Cycle time, CLKR/X | CLKR/X ext | 2P or 26.6(2)(3) | ns | |
3 | tw(CKRX) | Pulse duration, CLKR/X high or CLKR/X low | CLKR/X ext | P - 1(4) | ns | |
5 | tsu(FRH-CKRL) | Setup time, external FSR high before CLKR low | CLKR int | 21 | ns | |
CLKR ext | 10 | |||||
6 | th(CKRL-FRH) | Hold time, external FSR high after CLKR low | CLKR int | 6 | ns | |
CLKR ext | 3 | |||||
7 | tsu(DRV-CKRL) | Setup time, DR valid before CLKR low | CLKR int | 21 | ns | |
CLKR ext | 10 | |||||
8 | th(CKRL-DRV) | Hold time, DR valid after CLKR low | CLKR int | 3 | ns | |
CLKR ext | 3 | |||||
10 | tsu(FXH-CKXL) | Setup time, external FSX high before CLKX low | CLKX int | 21 | ns | |
CLKX ext | 10 | |||||
11 | th(CKXL-FXH) | Hold time, external FSX high after CLKX low | CLKX int | 6 | ns | |
CLKX ext | 3 |
NO. | PARAMETER | 1.2V | 1.1V | UNIT | ||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||||
1 | td(CKSH-CKRXH) | Delay time, CLKS high to CLKR/X high for internal CLKR/X generated from CLKS input | 0.5 | 16.5 | 1.5 | 18 | ns | |
2 | tc(CKRX) | Cycle time, CLKR/X | CLKR/X int | 2P or 20(3)(4) | 2P or 25(3) (4) | ns | ||
3 | tw(CKRX) | Pulse duration, CLKR/X high or CLKR/X low | CLKR/X int | C - 2(5) | C + 2(5) | C - 2(5) | C + 2(5) | ns |
4 | td(CKRH-FRV) | Delay time, CLKR high to internal FSR valid | CLKR int | -4 | 6.5 | -4 | 13 | ns |
CLKR ext | 1 | 16.5 | 1 | 18 | ||||
9 | td(CKXH-FXV) | Delay time, CLKX high to internal FSX valid | CLKX int | -4 | 6.5 | -4 | 13 | ns |
CLKX ext | 1 | 16.5 | 1 | 18 | ||||
12 | tdis(CKXH-DXHZ) | Disable time, DX high impedance following last data bit from CLKX high | CLKX int | -4 | 6.5 | -4 | 13 | ns |
CLKX ext | -2 | 16.5 | -2 | 18 | ||||
13 | td(CKXH-DXV) | Delay time, CLKX high to DX valid | CLKX int | -4 + D1(6) | 6.5 + D2(6) | -4 + D1(6) | 13 + D2(6) | ns |
CLKX ext | 1 + D1(6) | 16.5 + D2(6) | 1 + D1(6) | 18 + D2(6) | ||||
14 | td(FXH-DXV) | Delay time, FSX high to DX valid |
FSX int | -4(7) | 6.5(7) | -4(7) | 13(7) | ns |
ONLY applies when in data delay 0 (XDATDLY = 00b) mode |
FSX ext | -2(7) | 16.5(7) | -2(7) | 18 |
NO. | PARAMETER | 1.0V | UNIT | |||
---|---|---|---|---|---|---|
MIN | MAX | |||||
1 | td(CKSH-CKRXH) | Delay time, CLKS high to CLKR/X high for internal CLKR/X generated from CLKS input | 1.5 | 23 | ns | |
2 | tc(CKRX) | Cycle time, CLKR/X | CLKR/X int | 2P or 26.6(3)(4)(5) | ns | |
3 | tw(CKRX) | Pulse duration, CLKR/X high or CLKR/X low | CLKR/X int | C - 2(6) | C + 2(6) | ns |
4 | td(CKRH-FRV) | Delay time, CLKR high to internal FSR valid | CLKR int | -4 | 13 | ns |
CLKR ext | 2.5 | 23 | ||||
9 | td(CKXH-FXV) | Delay time, CLKX high to internal FSX valid | CLKX int | -4 | 13 | ns |
CLKX ext | 1 | 23 | ||||
12 | tdis(CKXH-DXHZ) | Disable time, DX high impedance following last data bit from CLKX high | CLKX int | -4 | 13 | ns |
CLKX ext | -2 | 23 | ||||
13 | td(CKXH-DXV) | Delay time, CLKX high to DX valid | CLKX int | -4 + D1 | 13 + D2(7) | ns |
CLKX ext | 1 + D1(7) | 23 + D2(7) | ||||
14 | td(FXH-DXV) | Delay time, FSX high to DX valid |
FSX int | -4(8) | 13(8) | ns |
ONLY applies when in data delay 0 (XDATDLY = 00b) mode |
FSX ext | -2(8) | 23(8) |
NO. | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
1 | tsu(FRH-CKSH) | Setup time, FSR high before CLKS high | 5 | 5 | 10 | ns | |||
2 | th(CKSH-FRH) | Hold time, FSR high after CLKS high | 4 | 4 | 4 | ns |
Figure 6-31 is a block diagram of the SPI module, which is a simple shift register and buffer plus control logic. Data is written to the shift register before transmission occurs and is read from the buffer at the end of transmission. The SPI can operate either as a master, in which case, it initiates a transfer and drives the SPIx_CLK pin, or as a slave. Four clock phase and polarity options are supported as well as many data formatting options.
The SPI supports 3-, 4-, and 5-pin operation with three basic pins (SPIx_CLK, SPIx_SIMO, and SPIx_SOMI) and two optional pins (SPIx_SCS, SPIx_ENA).
The optional SPIx_SCS (Slave Chip Select) pin is most useful to enable in slave mode when there are other slave devices on the same SPI port. The device will only shift data and drive the SPIx_SOMI pin when SPIx_SCS is held low.
In slave mode, SPIx_ENA is an optional output. The SPIx_ENA output provides the status of the internal transmit buffer (SPIDAT0/1 registers). In four-pin mode with the enable option, SPIx_ENA is asserted only when the transmit buffer is full, indicating that the slave is ready to begin another transfer. In five-pin mode, the SPIx_ENA is additionally qualified by SPIx_SCS being asserted. This allows a single handshake line to be shared by multiple slaves on the same SPI bus.
In master mode, the SPIx_ENA pin is an optional input and the master can be configured to delay the start of the next transfer until the slave asserts SPIx_ENA. The addition of this handshake signal simplifies SPI communications and, on average, increases SPI bus throughput since the master does not need to delay each transfer long enough to allow for the worst-case latency of the slave device. Instead, each transfer can begin as soon as both the master and slave have actually serviced the previous SPI transfer.
Table 6-52is a list of the SPI registers.
SPI1 BYTE ADDRESS |
REGISTER NAME | DESCRIPTION |
---|---|---|
0x01F0 E000 | SPIGCR0 | Global Control Register 0 |
0x01F0 E004 | SPIGCR1 | Global Control Register 1 |
0x01F0 E008 | SPIINT0 | Interrupt Register |
0x01F0 E00C | SPILVL | Interrupt Level Register |
0x01F0 E010 | SPIFLG | Flag Register |
0x01F0 E014 | SPIPC0 | Pin Control Register 0 (Pin Function) |
0x01F0 E018 | SPIPC1 | Pin Control Register 1 (Pin Direction) |
0x01F0 E01C | SPIPC2 | Pin Control Register 2 (Pin Data In) |
0x01F0 E020 | SPIPC3 | Pin Control Register 3 (Pin Data Out) |
0x01F0 E024 | SPIPC4 | Pin Control Register 4 (Pin Data Set) |
0x01F0 E028 | SPIPC5 | Pin Control Register 5 (Pin Data Clear) |
0x01F0 E02C | Reserved | Reserved - Do not write to this register |
0x01F0 E030 | Reserved | Reserved - Do not write to this register |
0x01F0 E034 | Reserved | Reserved - Do not write to this register |
0x01F0 E038 | SPIDAT0 | Shift Register 0 (without format select) |
0x01F0 E03C | SPIDAT1 | Shift Register 1 (with format select) |
0x01F0 E040 | SPIBUF | Buffer Register |
0x01F0 E044 | SPIEMU | Emulation Register |
0x01F0 E048 | SPIDELAY | Delay Register |
0x01F0 E04C | SPIDEF | Default Chip Select Register |
0x01F0 E050 | SPIFMT0 | Format Register 0 |
0x01F0 E054 | SPIFMT1 | Format Register 1 |
0x01F0 E058 | SPIFMT2 | Format Register 2 |
0x01F0 E05C | SPIFMT3 | Format Register 3 |
0x01F0 E060 | INTVEC0 | Interrupt Vector for SPI INT0 |
0x01F0 E064 | INTVEC1 | Interrupt Vector for SPI INT1 |
The following tables and timing diagrams assume testing over recommended operating conditions.
NO. | 1.2V | 1.1V | 1.0V | UNIT | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
1 | tc(SPC)M | Cycle Time, SPI1_CLK, All Master Modes | 20(2) | 256P | 30(2) | 256P | 40(2) | 256P | ns | |
2 | tw(SPCH)M | Pulse Width High, SPI1_CLK, All Master Modes | 0.5M-1 | 0.5M-1 | 0.5M-1 | ns | ||||
3 | tw(SPCL)M | Pulse Width Low, SPI1_CLK, All Master Modes | 0.5M-1 | 0.5M-1 | 0.5M-1 | ns | ||||
4 | td(SIMO_SPC)M | Delay, initial data bit valid on SPI1_SIMO to initial edge on SPI1_CLK(3) | Polarity = 0, Phase = 0, to SPI1_CLK rising |
5 | 5 | 6 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
-0.5M+5 | -0.5M+5 | -0.5M+6 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
5 | 5 | 6 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
-0.5M+5 | -0.5M+5 | -0.5M+6 | |||||||
5 | td(SPC_SIMO)M | Delay, subsequent bits valid on SPI1_SIMO after transmit edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK rising |
5 | 5 | 6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
5 | 5 | 6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK falling |
5 | 5 | 6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
5 | 5 | 6 | |||||||
6 | toh(SPC_SIMO)M | Output hold time, SPI1_SIMO valid after receive edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M-3 | 0.5M-3 | 0.5M-3 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK rising |
0.5M-3 | 0.5M-3 | 0.5M-3 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M-3 | 0.5M-3 | 0.5M-3 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK falling |
0.5M-3 | 0.5M-3 | 0.5M-3 | |||||||
7 | tsu(SOMI_SPC)M | Input Setup Time, SPI1_SOMI valid before receive edge of SPI1_CLK | Polarity = 0, Phase = 0, to SPI1_CLK falling |
1.5 | 1.5 | 1.5 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
1.5 | 1.5 | 1.5 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK rising |
1.5 | 1.5 | 1.5 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
1.5 | 1.5 | 1.5 | |||||||
8 | tih(SPC_SOMI)M | Input Hold Time, SPI1_SOMI valid after receive edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK falling |
4 | 5 | 6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK rising |
4 | 5 | 6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
4 | 5 | 6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK falling |
4 | 5 | 6 |
NO. | 1.2V | 1.1V | 1.0V | UNIT | ||||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
9 | tc(SPC)S | Cycle Time, SPI1_CLK, All Slave Modes | 40(2) | 50(2) | 60(2) | ns | ||||
10 | tw(SPCH)S | Pulse Width High, SPI1_CLK, All Slave Modes | 18 | 22 | 27 | ns | ||||
11 | tw(SPCL)S | Pulse Width Low, SPI1_CLK, All Slave Modes | 18 | 22 | 27 | ns | ||||
12 | tsu(SOMI_SPC)S | Setup time, transmit data written to SPI before initial clock edge from master.(3)(4) |
Polarity = 0, Phase = 0, to SPI1_CLK rising |
2P | 2P | 2P | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
2P | 2P | 2P | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
2P | 2P | 2P | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
2P | 2P | 2P | |||||||
13 | td(SPC_SOMI)S | Delay, subsequent bits valid on SPI1_SOMI after transmit edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK rising |
15 | 17 | 19 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
15 | 17 | 19 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK falling |
15 | 17 | 19 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
15 | 17 | 19 | |||||||
14 | toh(SPC_SOMI)S | Output hold time, SPI1_SOMI valid after receive edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5S-4 | 0.5S-10 | 0.5S-12 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK rising |
0.5S-4 | 0.5S-10 | 0.5S-12 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5S-4 | 0.5S-10 | 0.5S-12 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK falling |
0.5S-4 | 0.5S-10 | 0.5S-12 | |||||||
15 | tsu(SIMO_SPC)S | Input Setup Time, SPI1_SIMO valid before receive edge of SPI1_CLK | Polarity = 0, Phase = 0, to SPI1_CLK falling |
1.5 | 1.5 | 1.5 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
1.5 | 1.5 | 1.5 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK rising |
1.5 | 1.5 | 1.5 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
1.5 | 1.5 | 1.5 | |||||||
16 | tih(SPC_SIMO)S | Input Hold Time, SPI1_SIMO valid after receive edge of SPI1_CLK | Polarity = 0, Phase = 0, from SPI1_CLK falling |
4 | 5 | 6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK rising |
4 | 5 | 6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
4 | 5 | 6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK falling |
4 | 5 | 6 |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
17 | td(EN A_SPC)M | Delay from slave assertion of SPI1_ENA active to first SPI1_CLK from master.(3) | Polarity = 0, Phase = 0, to SPI1_CLK rising |
3P+5 | 3P+5 | 3P+6 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
0.5M+3P+5 | 0.5M+3P+5 | 0.5M+3P+6 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
3P+5 | 3P+5 | 3P+6 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
0.5M+3P+5 | 0.5M+3P+5 | 0.5M+3P+6 | |||||||
18 | td(SPC_ENA)M | Max delay for slave to deassert SPI1_ENA after final SPI1_CLK edge to ensure master does not begin the next transfer.(4) | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P+5 | 0.5M+P+5 | 0.5M+P+6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P+5 | P+5 | P+6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P+5 | 0.5M+P+5 | 0.5M+P+6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P+5 | P+5 | P+6 |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
19 | td(SCS_SPC)M | Delay from SPI1_SCS active to first SPI1_CLK(3) (4) | Polarity = 0, Phase = 0, to SPI1_CLK rising |
2P-1 | 2P-5 | 2P-6 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
0.5M+2P-1 | 0.5M+2P-5 | 0.5M+2P-6 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
2P-1 | 2P-5 | 2P-6 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
0.5M+2P-1 | 0.5M+2P-5 | 0.5M+2P-6 | |||||||
20 | td(SPC_SCS)M | Delay from final SPI1_CLK edge to master deasserting SPI1_SCS (5) (6) | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P-1 | 0.5M+P-5 | 0.5M+P-6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P-1 | P-5 | P-6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P-1 | 0.5M+P-5 | 0.5M+P-6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P-1 | P-5 | P-6 |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
18 | td(SPC_ENA)M | Max delay for slave to deassert SPI1_ENA after final SPI1_CLK edge to ensure master does not begin the next transfer.(3) | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P+5 | 0.5M+P+5 | 0.5M+P+6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P+5 | P+5 | P+6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P+5 | 0.5M+P+5 | 0.5M+P+6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P+5 | P+5 | P+6 | |||||||
20 | td(SPC_SCS)M | Delay from final SPI1_CLK edge to master deasserting SPI1_SCS (4)(5) |
Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P-1 | 0.5M+P-5 | 0.5M+P-6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P-1 | P-5 | P-6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P-1 | 0.5M+P-5 | 0.5M+P-6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P-1 | P-5 | P-6 | |||||||
21 | td(SCSL_ENAL)M | Max delay for slave SPI to drive SPI1_ENA valid after master asserts SPI1_SCS to delay the master from beginning the next transfer, |
C2TDELAY+P | C2TDELAY+P | C2TDELAY+P | ns | ||||
22 | td(SCS_SPC)M | Delay from SPI1_SCS active to first SPI1_CLK(6)(7)(8) | Polarity = 0, Phase = 0, to SPI1_CLK rising |
2P-1 | 2P-5 | 2P-6 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
0.5M+2P-1 | 0.5M+2P-5 | 0.5M+2P-6 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
2P-1 | 2P-5 | 2P-6 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
0.5M+2P-1 | 0.5M+2P-5 | 0.5M+2P-6 | |||||||
23 | td(ENA_SPC)M | Delay from assertion of SPI1_ENA low to first SPI1_CLK edge.(9) | Polarity = 0, Phase = 0, to SPI1_CLK rising |
3P+5 | 3P+5 | 3P+6 | ns | |||
Polarity = 0, Phase = 1, to SPI1_CLK rising |
0.5M+3P+5 | 0.5M+3P+5 | 0.5M+3P+6 | |||||||
Polarity = 1, Phase = 0, to SPI1_CLK falling |
3P+5 | 3P+5 | 3P+6 | |||||||
Polarity = 1, Phase = 1, to SPI1_CLK falling |
0.5M+3P+5 | 0.5M+3P+5 | 0.5M+3P+6 |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
24 | td(SPC_ENAH)S | Delay from final SPI1_CLK edge to slave deasserting SPI1_ENA. | Polarity = 0, Phase = 0, from SPI1_CLK falling |
1.5P-3 | 2.5P+15 | 1.5P-10 | 2.5P+17 | 1.5P-12 | 2.5P+19 | ns |
Polarity = 0, Phase = 1, from SPI1_CLK falling |
–0.5M+1.5P-3 | –0.5M+2.5P+15 | –0.5M+1.5P-10 | –0.5M+2.5P+17 | –0.5M+1.5P-12 | –0.5M+2.5P+19 | ||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
1.5P-3 | 2.5P+15 | 1.5P-10 | 2.5P+17 | 1.5P-12 | 2.5P+19 | ||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
–0.5M+1.5P-3 | –0.5M+2.5P+15 | –0.5M+1.5P-10 | –0.5M+2.5P+17 | –0.5M+1.5P-12 | –0.5M+2.5P+19 |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
25 | td(SCSL_SPC)S | Required delay from SPI1_SCS asserted at slave to first SPI1_CLK edge at slave. | P+1.5 | P+1.5 | P+1.5 | ns | ||||
26 | td(SPC_SCSH)S | Required delay from final SPI1_CLK edge before SPI1_SCS is deasserted. | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P+4 | 0.5M+P+5 | 0.5M+P+6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P+4 | P+5 | P+6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P+4 | 0.5M+P+5 | 0.5M+P+6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P+4 | P+5 | P+6 | |||||||
27 | tena(SCSL_SOMI)S | Delay from master asserting SPI1_SCS to slave driving SPI1_SOMI valid | P+15 | P+17 | P+19 | ns | ||||
28 | tdis(SCSH_SOMI)S | Delay from master deasserting SPI1_SCS to slave 3-stating SPI1_SOMI | P+15 | P+17 | P+19 | ns |
NO. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||||
25 | td(SCSL_SPC)S | Required delay from SPI1_SCS asserted at slave to first SPI1_CLK edge at slave. | P+1.5 | P+1.5 | P+1.5 | ns | ||||
26 | td(SPC_SCSH)S | Required delay from final SPI1_CLK edge before SPI1_SCS is deasserted. | Polarity = 0, Phase = 0, from SPI1_CLK falling |
0.5M+P+4 | 0.5M+P+5 | 0.5M+P+6 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK falling |
P+4 | P+5 | P+6 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
0.5M+P+4 | 0.5M+P+5 | 0.5M+P+6 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK rising |
P+4 | P+5 | P+6 | |||||||
27 | tena(SCSL_SOMI)S | Delay from master asserting SPI1_SCS to slave driving SPI1_SOMI valid | P+15 | P+17 | P+19 | ns | ||||
28 | tdis(SCSH_SOMI)S | Delay from master deasserting SPI1_SCS to slave 3-stating SPI1_SOMI | P+15 | P+17 | P+19 | ns | ||||
29 | tena(SCSL_ENA)S | Delay from master deasserting SPI1_SCS to slave driving SPI1_ENA valid | 15 | 17 | 19 | ns | ||||
30 | tdis(SPC_ENA)S | Delay from final clock receive edge on SPI1_CLK to slave 3-stating or driving high SPI1_ENA.(3) | Polarity = 0, Phase = 0, from SPI1_CLK falling |
2.5P+15 | 2.5P+17 | 2.5P+19 | ns | |||
Polarity = 0, Phase = 1, from SPI1_CLK rising |
2.5P+15 | 2.5P+17 | 2.5P+19 | |||||||
Polarity = 1, Phase = 0, from SPI1_CLK rising |
2.5P+15 | 2.5P+17 | 2.5P+19 | |||||||
Polarity = 1, Phase = 1, from SPI1_CLK falling |
2.5P+15 | 2.5P+17 | 2.5P+19 |
I2C port supports:
Figure 6-37 is block diagram of the device I2C Module.
Table 6-61 is the list of the I2C registers.
I2C0 BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01C2 2000 | ICOAR | I2C Own Address Register |
0x01C2 2004 | ICIMR | I2C Interrupt Mask Register |
0x01C2 2008 | ICSTR | I2C Interrupt Status Register |
0x01C2 200C | ICCLKL | I2C Clock Low-Time Divider Register |
0x01C2 2010 | ICCLKH | I2C Clock High-Time Divider Register |
0x01C2 2014 | ICCNT | I2C Data Count Register |
0x01C2 2018 | ICDRR | I2C Data Receive Register |
0x01C2 201C | ICSAR | I2C Slave Address Register |
0x01C2 2020 | ICDXR | I2C Data Transmit Register |
0x01C2 2024 | ICMDR | I2C Mode Register |
0x01C2 2028 | ICIVR | I2C Interrupt Vector Register |
0x01C2 202C | ICEMDR | I2C Extended Mode Register |
0x01C2 2030 | ICPSC | I2C Prescaler Register |
0x01C2 2034 | REVID1 | I2C Revision Identification Register 1 |
0x01C2 2038 | REVID2 | I2C Revision Identification Register 2 |
0x01C2 2048 | ICPFUNC | I2C Pin Function Register |
0x01C2 204C | ICPDIR | I2C Pin Direction Register |
0x01C2 2050 | ICPDIN | I2C Pin Data In Register |
0x01C2 2054 | ICPDOUT | I2C Pin Data Out Register |
0x01C2 2058 | ICPDSET | I2C Pin Data Set Register |
0x01C2 205C | ICPDCLR | I2C Pin Data Clear Register |
Table 6-62 and Table 6-63 assume testing over recommended operating conditions (see Figure 6-38 and Figure 6-39).
NO. | 1.2V, 1.1V, 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|
Standard Mode | Fast Mode | ||||||
MIN | MAX | MIN | MAX | ||||
1 | tc(SCL) | Cycle time, I2Cx_SCL | 10 | 2.5 | μs | ||
2 | tsu(SCLH-SDAL) | Setup time, I2Cx_SCL high before I2Cx_SDA low | 4.7 | 0.6 | μs | ||
3 | th(SCLL-SDAL) | Hold time, I2Cx_SCL low after I2Cx_SDA low | 4 | 0.6 | μs | ||
4 | tw(SCLL) | Pulse duration, I2Cx_SCL low | 4.7 | 1.3 | μs | ||
5 | tw(SCLH) | Pulse duration, I2Cx_SCL high | 4 | 0.6 | μs | ||
6 | tsu(SDA-SCLH) | Setup time, I2Cx_SDA before I2Cx_SCL high | 250 | 100 | ns | ||
7 | th(SDA-SCLL) | Hold time, I2Cx_SDA after I2Cx_SCL low | 0 | 0 | 0.9 | μs | |
8 | tw(SDAH) | Pulse duration, I2Cx_SDA high | 4.7 | 1.3 | μs | ||
9 | tr(SDA) | Rise time, I2Cx_SDA | 1000 | 20 + 0.1Cb | 300 | ns | |
10 | tr(SCL) | Rise time, I2Cx_SCL | 1000 | 20 + 0.1Cb | 300 | ns | |
11 | tf(SDA) | Fall time, I2Cx_SDA | 300 | 20 + 0.1Cb | 300 | ns | |
12 | tf(SCL) | Fall time, I2Cx_SCL | 300 | 20 + 0.1Cb | 300 | ns | |
13 | tsu(SCLH-SDAH) | Setup time, I2Cx_SCL high before I2Cx_SDA high | 4 | 0.6 | μs | ||
14 | tw(SP) | Pulse duration, spike (must be suppressed) | N/A | 0 | 50 | ns | |
15 | Cb | Capacitive load for each bus line | 400 | 400 | pF |
NO. | PARAMETER | 1.2V, 1.1V, 1.0V | UNIT | ||||
---|---|---|---|---|---|---|---|
Standard Mode | Fast Mode | ||||||
MIN | MAX | MIN | MAX | ||||
16 | tc(SCL) | Cycle time, I2Cx_SCL | 10 | 2.5 | μs | ||
17 | tsu(SCLH-SDAL) | Setup time, I2Cx_SCL high before I2Cx_SDA low | 4.7 | 0.6 | μs | ||
18 | th(SDAL-SCLL) | Hold time, I2Cx_SCL low after I2Cx_SDA low | 4 | 0.6 | μs | ||
19 | tw(SCLL) | Pulse duration, I2Cx_SCL low | 4.7 | 1.3 | μs | ||
20 | tw(SCLH) | Pulse duration, I2Cx_SCL high | 4 | 0.6 | μs | ||
21 | tsu(SDAV-SCLH) | Setup time, I2Cx_SDA valid before I2Cx_SCL high | 250 | 100 | ns | ||
22 | th(SCLL-SDAV) | Hold time, I2Cx_SDA valid after I2Cx_SCL low | 0 | 0 | 0.9 | μs | |
23 | tw(SDAH) | Pulse duration, I2Cx_SDA high | 4.7 | 1.3 | μs | ||
28 | tsu(SCLH-SDAH) | Setup time, I2Cx_SCL high before I2Cx_SDA high | 4 | 0.6 | μs |
The UART has the following features:
The UART registers are listed in Section 6.17.1
Table 6-64 is the list of UART registers.
UART0 BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01C4 2000 | RBR | Receiver Buffer Register (read only) |
0x01C4 2000 | THR | Transmitter Holding Register (write only) |
0x01C4 2004 | IER | Interrupt Enable Register |
0x01C4 2008 | IIR | Interrupt Identification Register (read only) |
0x01C4 2008 | FCR | FIFO Control Register (write only) |
0x01C4 200C | LCR | Line Control Register |
0x01C4 2010 | MCR | Modem Control Register |
0x01C4 2014 | LSR | Line Status Register |
0x01C4 2018 | MSR | Modem Status Register |
0x01C4 201C | SCR | Scratchpad Register |
0x01C4 2020 | DLL | Divisor LSB Latch |
0x01C4 2024 | DLH | Divisor MSB Latch |
0x01C4 2028 | REVID1 | Revision Identification Register 1 |
0x01C4 2030 | PWREMU_MGMT | Power and Emulation Management Register |
0x01C4 2034 | MDR | Mode Definition Register |
NO. | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
4 | tw(URXDB) | Pulse duration, receive data bit (RXDn) | 0.96U | 1.05U | ns |
5 | tw(URXSB) | Pulse duration, receive start bit | 0.96U | 1.05U | ns |
NO. | PARAMETER | 1.2V, 1.1V, 1.0V | UNIT | ||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | f(baud) | Maximum programmable baud rate | D/E (2) (3) | MBaud (4) | |
2 | tw(UTXDB) | Pulse duration, transmit data bit (TXDn) | U - 2 | U + 2 | ns |
3 | tw(UTXSB) | Pulse duration, transmit start bit | U - 2 | U + 2 | ns |
The device includes a user-configurable 16-bit Host-port interface (HPI16).
The host port interface (UHPI) provides a parallel port interface through which an external host processor can directly access the processor's resources (configuration and program/data memories). The external host device is asynchronous to the CPU clock and functions as a master to the HPI interface. The UHPI enables a host device and the processor to exchange information via internal or external memory. Dedicated address (HPIA) and data (HPID) registers within the UHPI provide the data path between the external host interface and the processor resources. A UHPI control register (HPIC) is available to the host and the CPU for various configuration and interrupt functions.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION | COMMENTS |
---|---|---|---|
0x01E1 0000 | PID | Peripheral Identification Register | |
0x01E1 0004 | PWREMU_MGMT | HPI power and emulation management register | The CPU has read/write access to the PWREMU_MGMT register. |
0x01E1 0008 | - | Reserved | |
0x01E1 000C | GPIO_EN | General Purpose IO Enable Register | |
0x01E1 0010 | GPIO_DIR1 | General Purpose IO Direction Register 1 | |
0x01E1 0014 | GPIO_DAT1 | General Purpose IO Data Register 1 | |
0x01E1 0018 | GPIO_DIR2 | General Purpose IO Direction Register 2 | |
0x01E1 001C | GPIO_DAT2 | General Purpose IO Data Register 2 | |
0x01E1 0020 | GPIO_DIR3 | General Purpose IO Direction Register 3 | |
0x01E1 0024 | GPIO_DAT3 | General Purpose IO Data Register 3 | |
01E1 0028 | - | Reserved | |
01E1 002C | - | Reserved | |
01E1 0030 | HPIC | HPI control register | The Host and the CPU both have read/write access to the HPIC register. |
01E1 0034 | HPIA (HPIAW)(1) |
HPI address register (Write) | The Host has read/write access to the HPIA registers. The CPU has only read access to the HPIA registers. |
01E1 0038 | HPIA (HPIAR)(1) |
HPI address register (Read) | |
01E1 000C - 01E1 07FF | - | Reserved |
NO. | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | tsu(SELV-HSTBL) | Setup time, select signals(3) valid before UHPI_HSTROBE low | 5 | ns | |
2 | th(HSTBL-SELV) | Hold time, select signals(3) valid after UHPI_HSTROBE low | 2 | ns | |
3 | tw(HSTBL) | Pulse duration, UHPI_HSTROBE active low | 15 | ns | |
4 | tw(HSTBH) | Pulse duration, UHPI_HSTROBE inactive high between consecutive accesses | 2M | ns | |
9 | tsu(SELV-HASL) | Setup time, selects signals valid before UHPI_HAS low | 5 | ns | |
10 | th(HASL-SELV) | Hold time, select signals valid after UHPI_HAS low | 2 | ns | |
11 | tsu(HDV-HSTBH) | Setup time, host data valid before UHPI_HSTROBE high | 5 | ns | |
12 | th(HSTBH-HDV) | Hold time, host data valid after UHPI_HSTROBE high | 2 | ns | |
13 | th(HRDYL-HSTBH) | Hold time, UHPI_HSTROBE high after UHPI_HRDY low. UHPI_HSTROBE should not be inactivated until UHPI_HRDY is active (low); otherwise, HPI writes will not complete properly. | 2 | ns | |
16 | tsu(HASL-HSTBL) | Setup time, UHPI_HAS low before UHPI_HSTROBE low | 5 | ns | |
17 | th(HSTBL-HASH) | Hold time, UHPI_HAS low after UHPI_HSTROBE low | 2 | ns |
NO. | PARAMETER | 1.2V | 1.1V | UNIT | ||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | |||||
5 | td(HSTBL-HRDYV) | Delay time, HSTROBE low to HRDY valid | For HPI Write, HRDY can go high (not ready) for these HPI Write conditions; otherwise, HRDY stays low (ready): Case 1: Back-to-back HPIA writes (can be either first or second half-word) Case 2: HPIA write following a PREFETCH command (can be either first or second half-word) Case 3: HPID write when FIFO is full or flushing (can be either first or second half-word) Case 4: HPIA write and Write FIFO not empty For HPI Read, HRDY can go high (not ready) for these HPI Read conditions: Case 1: HPID read (with auto-increment) and data not in Read FIFO (can only happen to first half-word of HPID access) Case 2: First half-word access of HPID Read without auto-increment For HPI Read, HRDY stays low (ready) for these HPI Read conditions: Case 1: HPID read with auto-increment and data is already in Read FIFO (applies to either half-word of HPID access) Case 2: HPID read without auto-increment and data is already in Read FIFO (always applies to second half-word of HPID access) Case 3: HPIC or HPIA read (applies to either half-word access) |
15 | 17 | ns | ||
5a | td(HASL-HRDYV) | Delay time, HAS low to HRDY valid | 15 | 17 | ns | |||
6 | ten(HSTBL-HDLZ) | Enable time, HD driven from HSTROBE low | 1.5 | 1.5 | ns | |||
7 | td(HRDYL-HDV) | Delay time, HRDY low to HD valid | 0 | 0 | ns | |||
8 | toh(HSTBH-HDV) | Output hold time, HD valid after HSTROBE high | 1.5 | 1.5 | ns | |||
14 | tdis(HSTBH-HDHZ) | Disable time, HD high-impedance from HSTROBE high | 15 | 17 | ns | |||
15 | td(HSTBL-HDV) | Delay time, HSTROBE low to HD valid | For HPI Read. Applies to conditions where data is already residing in HPID/FIFO: Case 1: HPIC or HPIA read Case 2: First half-word of HPID read with auto-increment and data is already in Read FIFO Case 3: Second half-word of HPID read with or without auto-increment |
15 | 17 | ns | ||
18 | td(HSTBH-HRDYV) | Delay time, HSTROBE high to HRDY valid | For HPI Write, HRDY can go high (not ready) for these HPI Write conditions; otherwise, HRDY stays low (ready): Case 1: HPID write when Write FIFO is full (can happen to either half-word) Case 2: HPIA write (can happen to either half-word) Case 3: HPID write without auto-increment (only happens to second half-word) |
15 | 17 | ns |
NO. | PARAMETER | 1.0V | UNIT | |||
---|---|---|---|---|---|---|
MIN | MAX | |||||
5 | td(HSTBL-HRDYV) | Delay time, HSTROBE low to HRDY valid | For HPI Write, HRDY can go high (not ready) for these HPI Write conditions; otherwise, HRDY stays low (ready): Case 1: Back-to-back HPIA writes (can be either first or second half-word) Case 2: HPIA write following a PREFETCH command (can be either first or second half-word) Case 3: HPID write when FIFO is full or flushing (can be either first or second half-word) Case 4: HPIA write and Write FIFO not empty For HPI Read, HRDY can go high (not ready) for these HPI Read conditions: Case 1: HPID read (with auto-increment) and data not in Read FIFO (can only happen to first half-word of HPID access) Case 2: First half-word access of HPID Read without auto-increment For HPI Read, HRDY stays low (ready) for these HPI Read conditions: Case 1: HPID read with auto-increment and data is already in Read FIFO (applies to either half-word of HPID access) Case 2: HPID read without auto-increment and data is already in Read FIFO (always applies to second half-word of HPID access) Case 3: HPIC or HPIA read (applies to either half-word access) |
22 | ns | |
5a | td(HASL-HRDYV) | Delay time, HAS low to HRDY valid | 22 | ns | ||
6 | ten(HSTBL-HDLZ) | Enable time, HD driven from HSTROBE low | 1.5 | ns | ||
7 | td(HRDYL-HDV) | Delay time, HRDY low to HD valid | 0 | ns | ||
8 | toh(HSTBH-HDV) | Output hold time, HD valid after HSTROBE high | 1.5 | ns | ||
14 | tdis(HSTBH-HDHZ) | Disable time, HD high-impedance from HSTROBE high | 22 | ns | ||
15 | td(HSTBL-HDV) | Delay time, HSTROBE low to HD valid | For HPI Read. Applies to conditions where data is already residing in HPID/FIFO: Case 1: HPIC or HPIA read Case 2: First half-word of HPID read with auto-increment and data is already in Read FIFO Case 3: Second half-word of HPID read with or without auto-increment |
22 | ns | |
18 | td(HSTBH-HRDYV) | Delay time, HSTROBE high to HRDY valid | For HPI Write, HRDY can go high (not ready) for these HPI Write conditions; otherwise, HRDY stays low (ready): Case 1: HPID write when Write FIFO is full (can happen to either half-word) Case 2: HPIA write (can happen to either half-word) Case 3: HPID write without auto-increment (only happens to second half-word) |
22 | ns |
The device contains up to three enhanced capture (eCAP) modules. Figure 6-45 shows a functional block diagram of a module.
Uses for ECAP include:
The ECAP module described in this specification includes the following features:
The eCAP modules are clocked at the ASYNC3 clock domain rate.
Table 6-71 is the list of the ECAP registers.
ECAP0 BYTE ADDRESS |
ECAP1 BYTE ADDRESS |
ECAP2 BYTE ADDRESS |
ACRONYM | DESCRIPTION |
---|---|---|---|---|
0x01F0 6000 | 0x01F0 7000 | 0x01F0 8000 | TSCTR | Time-Stamp Counter |
0x01F0 6004 | 0x01F0 7004 | 0x01F0 8004 | CTRPHS | Counter Phase Offset Value Register |
0x01F0 6008 | 0x01F0 7008 | 0x01F0 8008 | CAP1 | Capture 1 Register |
0x01F0 600C | 0x01F0 700C | 0x01F0 800C | CAP2 | Capture 2 Register |
0x01F0 6010 | 0x01F0 7010 | 0x01F0 8010 | CAP3 | Capture 3 Register |
0x01F0 6014 | 0x01F0 7014 | 0x01F0 8014 | CAP4 | Capture 4 Register |
0x01F0 6028 | 0x01F0 7028 | 0x01F0 8028 | ECCTL1 | Capture Control Register 1 |
0x01F0 602A | 0x01F0 702A | 0x01F0 802A | ECCTL2 | Capture Control Register 2 |
0x01F0 602C | 0x01F0 702C | 0x01F0 802C | ECEINT | Capture Interrupt Enable Register |
0x01F0 602E | 0x01F0 702E | 0x01F0 802E | ECFLG | Capture Interrupt Flag Register |
0x01F0 6030 | 0x01F0 7030 | 0x01F0 8030 | ECCLR | Capture Interrupt Clear Register |
0x01F0 6032 | 0x01F0 7032 | 0x01F0 8032 | ECFRC | Capture Interrupt Force Register |
0x01F0 605C | 0x01F0 705C | 0x01F0 805C | REVID | Revision ID |
Table 6-72 shows the eCAP timing requirement and Table 6-73 shows the eCAP switching characteristics.
TEST CONDITIONS | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
tw(CAP) | Capture input pulse width | Asynchronous | 2tc(SCO) | cycles | |
Synchronous | 2tc(SCO) | cycles |
PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | |||
tw(APWM) | Pulse duration, APWMx output high/low | 20 | 20 | 20 | ns |
The device contains two enhanced PWM Modules (eHRPWM). Figure 6-46 shows a block diagram of multiple eHRPWM modules. Figure 6-46 shows the signal interconnections with the eHRPWM.
eHRPWM0 BYTE ADDRESS |
eHRPWM1 BYTE ADDRESS |
ACRONYM | SHADOW | REGISTER DESCRIPTION |
---|---|---|---|---|
Time-Base Submodule Registers | ||||
0x01F0 0000 | 0x01F0 2000 | TBCTL | No | Time-Base Control Register |
0x01F0 0002 | 0x01F0 2002 | TBSTS | No | Time-Base Status Register |
0x01F0 0004 | 0x01F0 2004 | TBPHSHR | No | Extension for HRPWM Phase Register(1) |
0x01F0 0006 | 0x01F0 2006 | TBPHS | No | Time-Base Phase Register |
0x01F0 0008 | 0x01F0 2008 | TBCNT | No | Time-Base Counter Register |
0x01F0 000A | 0x01F0 200A | TBPRD | Yes | Time-Base Period Register |
Counter-Compare Submodule Registers | ||||
0x01F0 000E | 0x01F0 200E | CMPCTL | No | Counter-Compare Control Register |
0x01F0 0010 | 0x01F0 2010 | CMPAHR | No | Extension for HRPWM Counter-Compare A Register(1) |
0x01F0 0012 | 0x01F0 2012 | CMPA | Yes | Counter-Compare A Register |
0x01F0 0014 | 0x01F0 2014 | CMPB | Yes | Counter-Compare B Register |
Action-Qualifier Submodule Registers | ||||
0x01F0 0016 | 0x01F0 2016 | AQCTLA | No | Action-Qualifier Control Register for Output A (eHRPWMxA) |
0x01F0 0018 | 0x01F0 2018 | AQCTLB | No | Action-Qualifier Control Register for Output B (eHRPWMxB) |
0x01F0 001A | 0x01F0 201A | AQSFRC | No | Action-Qualifier Software Force Register |
0x01F0 001C | 0x01F0 201C | AQCSFRC | Yes | Action-Qualifier Continuous S/W Force Register Set |
Dead-Band Generator Submodule Registers | ||||
0x01F0 001E | 0x01F0 201E | DBCTL | No | Dead-Band Generator Control Register |
0x01F0 0020 | 0x01F0 2020 | DBRED | No | Dead-Band Generator Rising Edge Delay Count Register |
0x01F0 0022 | 0x01F0 2022 | DBFED | No | Dead-Band Generator Falling Edge Delay Count Register |
PWM-Chopper Submodule Registers | ||||
0x01F0 003C | 0x01F0 203C | PCCTL | No | PWM-Chopper Control Register |
Trip-Zone Submodule Registers | ||||
0x01F0 0024 | 0x01F0 2024 | TZSEL | No | Trip-Zone Select Register |
0x01F0 0028 | 0x01F0 2028 | TZCTL | No | Trip-Zone Control Register |
0x01F0 002A | 0x01F0 202A | TZEINT | No | Trip-Zone Enable Interrupt Register |
0x01F0 002C | 0x01F0 202C | TZFLG | No | Trip-Zone Flag Register |
0x01F0 002E | 0x01F0 202E | TZCLR | No | Trip-Zone Clear Register |
0x01F0 0030 | 0x01F0 2030 | TZFRC | No | Trip-Zone Force Register |
Event-Trigger Submodule Registers | ||||
0x01F0 0032 | 0x01F0 2032 | ETSEL | No | Event-Trigger Selection Register |
0x01F0 0034 | 0x01F0 2034 | ETPS | No | Event-Trigger Pre-Scale Register |
0x01F0 0036 | 0x01F0 2036 | ETFLG | No | Event-Trigger Flag Register |
0x01F0 0038 | 0x01F0 2038 | ETCLR | No | Event-Trigger Clear Register |
0x01F0 003A | 0x01F0 203A | ETFRC | No | Event-Trigger Force Register |
High-Resolution PWM (HRPWM) Submodule Registers | ||||
0x01F0 1040 | 0x01F0 3040 | HRCNFG | No | HRPWM Configuration Register (1) |
PWM refers to PWM outputs on eHRPWM1-6. Table 6-75 shows the PWM timing requirements and Table 6-76, switching characteristics.
TEST CONDITIONS | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
tw(SYNCIN) | Sync input pulse width | Asynchronous | 2tc(SCO) | cycles | |
Synchronous | 2tc(SCO) | cycles |
PARAMETER | TEST CONDITIONS |
1.2V | 1.1V | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
tw(PWM) | Pulse duration, PWMx output high/low | 20 | 20 | 26.6 | ns | ||||
tw(SYNCOUT) | Sync output pulse width | 8tc(SCO) | 8tc(SCO) | 8tc(SCO) | cycles | ||||
td(PWM)TZA | Delay time, trip input active to PWM forced high Delay time, trip input active to PWM forced low |
no pin load; no additional programmable delay | 25 | 25 | 25 | ns | |||
td(TZ-PWM)HZ | Delay time, trip input active to PWM Hi-Z | no additional programmable delay | 20 | 20 | 20 | ns |
TEST CONDITIONS | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
tw(TZ) | Pulse duration, TZx input low | Asynchronous | 1tc(SCO) | cycles | |
Synchronous | 2tc(SCO) | cycles |
The timers support the following features:
TIMER64P 0 BYTE ADDRESS | TIMER64P 1 BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|---|
0x01C2 0000 | 0x01C2 1000 | REV | Revision Register |
0x01C2 0004 | 0x01C2 1004 | EMUMGT | Emulation Management Register |
0x01C2 0008 | 0x01C2 1008 | GPINTGPEN | GPIO Interrupt and GPIO Enable Register |
0x01C2 000C | 0x01C2 100C | GPDATGPDIR | GPIO Data and GPIO Direction Register |
0x01C2 0010 | 0x01C2 1010 | TIM12 | Timer Counter Register 12 |
0x01C2 0014 | 0x01C2 1014 | TIM34 | Timer Counter Register 34 |
0x01C2 0018 | 0x01C2 1018 | PRD12 | Timer Period Register 12 |
0x01C2 001C | 0x01C2 101C | PRD34 | Timer Period Register 34 |
0x01C2 0020 | 0x01C2 1020 | TCR | Timer Control Register |
0x01C2 0024 | 0x01C2 1024 | TGCR | Timer Global Control Register |
0x01C2 0028 | 0x01C2 1028 | WDTCR | Watchdog Timer Control Register |
0x01C2 0034 | 0x01C2 1034 | REL12 | Timer Reload Register 12 |
0x01C2 0038 | 0x01C2 1038 | REL34 | Timer Reload Register 34 |
0x01C2 003C | 0x01C2 103C | CAP12 | Timer Capture Register 12 |
0x01C2 0040 | 0x01C2 1040 | CAP34 | Timer Capture Register 34 |
0x01C2 0044 | 0x01C2 1044 | INTCTLSTAT | Timer Interrupt Control and Status Register |
0x01C2 0060 | 0x01C2 1060 | CMP0 | Compare Register 0 |
0x01C2 0064 | 0x01C2 1064 | CMP1 | Compare Register 1 |
0x01C2 0068 | 0x01C2 1068 | CMP2 | Compare Register 2 |
0x01C2 006C | 0x01C2 106C | CMP3 | Compare Register 3 |
0x01C2 0070 | 0x01C2 1070 | CMP4 | Compare Register 4 |
0x01C2 0074 | 0x01C2 1074 | CMP5 | Compare Register 5 |
0x01C2 0078 | 0x01C2 1078 | CMP6 | Compare Register 6 |
0x01C2 007C | 0x01C2 107C | CMP7 | Compare Register 7 |
NO. | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | tc(TM64Px_IN12) | Cycle time, TM64Px_IN12 | 4P | ns | |
2 | tw(TINPH) | Pulse duration, TM64Px_IN12 high | 0.45C | 0.55C | ns |
3 | tw(TINPL) | Pulse duration, TM64Px_IN12 low | 0.45C | 0.55C | ns |
4 | tt(TM64Px_IN12) | Transition time, TM64Px_IN12 | 0.25P or 10 (3) | ns |
NO. | PARAMETER | 1.2V, 1.1V, 1.0V | UNIT | ||
---|---|---|---|---|---|
MIN | MAX | ||||
5 | tw(TOUTH) | Pulse duration, TM64P0_OUT12 high | 4P | ns | |
6 | tw(TOUTL) | Pulse duration, TM64P0_OUT12 low | 4P | ns |
The RTC provides a time reference to an application running on the device. The current date and time is tracked in a set of counter registers that update once per second. The time can be represented in 12-hour or 24-hour mode. The calendar and time registers are buffered during reads and writes so that updates do not interfere with the accuracy of the time and date.
Alarms are available to interrupt the CPU at a particular time, or at periodic time intervals, such as once per minute or once per day. In addition, the RTC can interrupt the CPU every time the calendar and time registers are updated, or at programmable periodic intervals.
The real-time clock (RTC) provides the following features:
Figure 6-51 shows a block diagram of the RTC.
The clock reference for the RTC is an external 32.768-kHz crystal or an external clock source of the same frequency. The RTC also has a separate power supply that is isolated from the rest of the system. When the CPU and other peripherals are without power, the RTC can remain powered to preserve the current time and calendar information. Even if the RTC is not used, it must remain powered when the rest of the device is powered.
The source for the RTC reference clock may be provided by a crystal or by an external clock source. The RTC has an internal oscillator buffer to support direct operation with a crystal. The crystal is connected between pins RTC_XI and RTC_XO. RTC_XI is the input to the on-chip oscillator and RTC_XO is the output from the oscillator back to the crystal.
An external 32.768-kHz clock source may be used instead of a crystal. In such a case, the clock source is connected to RTC_XI, and RTC_XO is left unconnected.
If the RTC is not used, the RTC_XI pin should be held either low or high, RTC_XO should be left unconnected, RTC_CVDD should be connected to the device CVDD, and RTC_VSS should remain grounded.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01C2 3000 | SECOND | Seconds Register |
0x01C2 3004 | MINUTE | Minutes Register |
0x01C2 3008 | HOUR | Hours Register |
0x01C2 300C | DAY | Day of the Month Register |
0x01C2 3010 | MONTH | Month Register |
0x01C2 3014 | YEAR | Year Register |
0x01C2 3018 | DOTW | Day of the Week Register |
0x01C2 3020 | ALARMSECOND | Alarm Seconds Register |
0x01C2 3024 | ALARMMINUTE | Alarm Minutes Register |
0x01C2 3028 | ALARMHOUR | Alarm Hours Register |
0x01C2 302C | ALARMDAY | Alarm Days Register |
0x01C2 3030 | ALARMMONTH | Alarm Months Register |
0x01C2 3034 | ALARMYEAR | Alarm Years Register |
0x01C2 3040 | CTRL | Control Register |
0x01C2 3044 | STATUS | Status Register |
0x01C2 3048 | INTERRUPT | Interrupt Enable Register |
0x01C2 304C | COMPLSB | Compensation (LSB) Register |
0x01C2 3050 | COMPMSB | Compensation (MSB) Register |
0x01C2 3054 | OSC | Oscillator Register |
0x01C2 3060 | SCRATCH0 | Scratch 0 (General-Purpose) Register |
0x01C2 3064 | SCRATCH1 | Scratch 1 (General-Purpose) Register |
0x01C2 3068 | SCRATCH2 | Scratch 2 (General-Purpose) Register |
0x01C2 306C | KICK0 | Kick 0 (Write Protect) Register |
0x01C2 3070 | KICK1 | Kick 1 (Write Protect) Register |
The GPIO peripheral provides general-purpose pins that can be configured as either inputs or outputs. When configured as an output, a write to an internal register can control the state driven on the output pin. When configured as an input, the state of the input is detectable by reading the state of an internal register. In addition, the GPIO peripheral can produce CPU interrupts and EDMA events in different interrupt/event generation modes. The GPIO peripheral provides generic connections to external devices. The GPIO pins are grouped into banks of 16 pins per bank (i.e., bank 0 consists of GPIO [0:15]).
The device GPIO peripheral supports the following:
The memory map for the GPIO registers is shown in Table 6-82.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION |
---|---|---|
0x01E2 6000 | REV | Peripheral Revision Register |
0x01E2 6004 | RESERVED | Reserved |
0x01E2 6008 | BINTEN | GPIO Interrupt Per-Bank Enable Register |
GPIO Banks 0 and 1 | ||
0x01E2 6010 | DIR01 | GPIO Banks 0 and 1 Direction Register |
0x01E2 6014 | OUT_DATA01 | GPIO Banks 0 and 1 Output Data Register |
0x01E2 6018 | SET_DATA01 | GPIO Banks 0 and 1 Set Data Register |
0x01E2 601C | CLR_DATA01 | GPIO Banks 0 and 1 Clear Data Register |
0x01E2 6020 | IN_DATA01 | GPIO Banks 0 and 1 Input Data Register |
0x01E2 6024 | SET_RIS_TRIG01 | GPIO Banks 0 and 1 Set Rising Edge Interrupt Register |
0x01E2 6028 | CLR_RIS_TRIG01 | GPIO Banks 0 and 1 Clear Rising Edge Interrupt Register |
0x01E2 602C | SET_FAL_TRIG01 | GPIO Banks 0 and 1 Set Falling Edge Interrupt Register |
0x01E2 6030 | CLR_FAL_TRIG01 | GPIO Banks 0 and 1 Clear Falling Edge Interrupt Register |
0x01E2 6034 | INTSTAT01 | GPIO Banks 0 and 1 Interrupt Status Register |
GPIO Banks 2 and 3 | ||
0x01E2 6038 | DIR23 | GPIO Banks 2 and 3 Direction Register |
0x01E2 603C | OUT_DATA23 | GPIO Banks 2 and 3 Output Data Register |
0x01E2 6040 | SET_DATA23 | GPIO Banks 2 and 3 Set Data Register |
0x01E2 6044 | CLR_DATA23 | GPIO Banks 2 and 3 Clear Data Register |
0x01E2 6048 | IN_DATA23 | GPIO Banks 2 and 3 Input Data Register |
0x01E2 604C | SET_RIS_TRIG23 | GPIO Banks 2 and 3 Set Rising Edge Interrupt Register |
0x01E2 6050 | CLR_RIS_TRIG23 | GPIO Banks 2 and 3 Clear Rising Edge Interrupt Register |
0x01E2 6054 | SET_FAL_TRIG23 | GPIO Banks 2 and 3 Set Falling Edge Interrupt Register |
0x01E2 6058 | CLR_FAL_TRIG23 | GPIO Banks 2 and 3 Clear Falling Edge Interrupt Register |
0x01E2 605C | INTSTAT23 | GPIO Banks 2 and 3 Interrupt Status Register |
GPIO Banks 4 and 5 | ||
0x01E2 6060 | DIR45 | GPIO Banks 4 and 5 Direction Register |
0x01E2 6064 | OUT_DATA45 | GPIO Banks 4 and 5 Output Data Register |
0x01E2 6068 | SET_DATA45 | GPIO Banks 4 and 5 Set Data Register |
0x01E2 606C | CLR_DATA45 | GPIO Banks 4 and 5 Clear Data Register |
0x01E2 6070 | IN_DATA45 | GPIO Banks 4 and 5 Input Data Register |
0x01E2 6074 | SET_RIS_TRIG45 | GPIO Banks 4 and 5 Set Rising Edge Interrupt Register |
0x01E2 6078 | CLR_RIS_TRIG45 | GPIO Banks 4 and 5 Clear Rising Edge Interrupt Register |
0x01E2 607C | SET_FAL_TRIG45 | GPIO Banks 4 and 5 Set Falling Edge Interrupt Register |
0x01E2 6080 | CLR_FAL_TRIG45 | GPIO Banks 4 and 5 Clear Falling Edge Interrupt Register |
0x01E2 6084 | INTSTAT45 | GPIO Banks 4 and 5 Interrupt Status Register |
GPIO Banks 6 and 7 | ||
0x01E2 6088 | DIR67 | GPIO Banks 6 and 7 Direction Register |
0x01E2 608C | OUT_DATA67 | GPIO Banks 6 and 7 Output Data Register |
0x01E2 6090 | SET_DATA67 | GPIO Banks 6 and 7 Set Data Register |
0x01E2 6094 | CLR_DATA67 | GPIO Banks 6 and 7 Clear Data Register |
0x01E2 6098 | IN_DATA67 | GPIO Banks 6 and 7 Input Data Register |
0x01E2 609C | SET_RIS_TRIG67 | GPIO Banks 6 and 7 Set Rising Edge Interrupt Register |
0x01E2 60A0 | CLR_RIS_TRIG67 | GPIO Banks 6 and 7 Clear Rising Edge Interrupt Register |
0x01E2 60A4 | SET_FAL_TRIG67 | GPIO Banks 6 and 7 Set Falling Edge Interrupt Register |
0x01E2 60A8 | CLR_FAL_TRIG67 | GPIO Banks 6 and 7 Clear Falling Edge Interrupt Register |
0x01E2 60AC | INTSTAT67 | GPIO Banks 6 and 7 Interrupt Status Register |
GPIO Bank 8 | ||
0x01E2 60B0 | DIR8 | GPIO Bank 8 Direction Register |
0x01E2 60B4 | OUT_DATA8 | GPIO Bank 8 Output Data Register |
0x01E2 60B8 | SET_DATA8 | GPIO Bank 8 Set Data Register |
0x01E2 60BC | CLR_DATA8 | GPIO Bank 8 Clear Data Register |
0x01E2 60C0 | IN_DATA8 | GPIO Bank 8 Input Data Register |
0x01E2 60C4 | SET_RIS_TRIG8 | GPIO Bank 8 Set Rising Edge Interrupt Register |
0x01E2 60C8 | CLR_RIS_TRIG8 | GPIO Bank 8 Clear Rising Edge Interrupt Register |
0x01E2 60CC | SET_FAL_TRIG8 | GPIO Bank 8 Set Falling Edge Interrupt Register |
0x01E2 60D0 | CLR_FAL_TRIG8 | GPIO Bank 8 Clear Falling Edge Interrupt Register |
0x01E2 60D4 | INTSTAT8 | GPIO Bank 8 Interrupt Status Register |
NO. | 1.2V, 1.1V, 1.0V | UNIT | |||
---|---|---|---|---|---|
MIN | MAX | ||||
1 | tw(GPIH) | Pulse duration, GPn[m] as input high | 2C(1) (2) | ns | |
2 | tw(GPIL) | Pulse duration, GPn[m] as input low | 2C(1) (2) | ns |
NO. | PARAMETER | 1.2V, 1.1V, 1.0V | UNIT | ||
---|---|---|---|---|---|
MIN | MAX | ||||
3 | tw(GPOH) | Pulse duration, GPn[m] as output high | 2C(1) (2) | ns | |
4 | tw(GPOL) | Pulse duration, GPn[m] as output low | 2C(1) (2) | ns |
NO. | 1.2V, 1.1V, 1.0V | UNIT | ||||
---|---|---|---|---|---|---|
MIN | MAX | |||||
1 | tw(ILOW) | Width of the external interrupt pulse low | 2C(1) (2) | ns | ||
2 | tw(IHIGH) | Width of the external interrupt pulse high | 2C(1) (2) | ns |
The debug capabilities and features for DSP are as shown below.
DSP:
Category | Hardware Feature | Availability |
---|---|---|
Basic Debug | Software breakpoint | Unlimited |
Hardware breakpoint | Up to 10 HWBPs, including: | |
4 precise(1) HWBPs inside DSP core and one of them is associated with a counter. | ||
2 imprecise(1) HWBPs from AET. | ||
4 imprecise(1) HWBPs from AET which are shared for watch point. | ||
Analysis | Watch point | Up to 4 watch points, which are shared with HWBPs, and can also be used as 2 watch points with data (32 bits) |
Watch point with Data | Up to 2, Which can also be used as 4 watch points. | |
Counters/timers | 1x64-bits (cycle only) + 2x32-bits (water mark counters) | |
External Event Trigger In | 1 | |
External Event Trigger Out | 1 |
The device target debug interface uses the five standard IEEE 1149.1(JTAG) signals (TRST, TCK, TMS, TDI, and TDO).
TRST holds the debug and boundary scan logic in reset (normal DSP operation) when pulled low (its default state). Since TRST has an internal pull-down resistor, this ensures that at power up the device functions in its normal (non-test) operation mode if TRST is not connected. Otherwise, TRST should be driven inactive by the emulator or boundary scan controller. Boundary scan test cannot be performed while the TRST pin is pulled low.
PIN | TYPE | NAME | DESCRIPTION |
---|---|---|---|
TRST | I | Test Logic Reset | When asserted (active low) causes all test and debug logic in the device to be reset along with the IEEE 1149.1 interface |
TCK | I | Test Clock | This is the test clock used to drive an IEEE 1149.1 TAP state machine and logic. |
TMS | I | Test Mode Select | Directs the next state of the IEEE 1149.1 test access port state machine |
TDI | I | Test Data Input | Scan data input to the device |
TDO | O | Test Data Output | Scan data output of the device |
EMU0 | I/O | Emulation 0 | Channel 0 trigger + HSRTDX |
EMU1 | I/O | Emulation 1 | Channel 1 trigger + HSRTDX |
Table 6-88 shows the TAP configuration details required to configure the router/emulator for this device.
Router Port ID | Default TAP | TAP Name | Tap IR Length |
---|---|---|---|
17 | No | C674x | 38 |
19 | No | ETB | 4 |
The router is revision C and has a 6-bit IR length.
The first level of debug interface that sees the scan controller is the TAP router module. The debugger can configure the TAP router for serially linking up to 16 TAP controllers or individually scanning one of the TAP controllers without disrupting the IR state of the other TAPs.
The JTAG IEEE Standard 1149.1-1990 Standard-Test-Access Port and Boundary Scan Architecture. interface is used for BSDL testing and emulation of the device.
The device requires that both TRST and RESET be asserted upon power up to be properly initialized. While RESET initializes the device, TRST initializes the device's emulation logic. Both resets are required for proper operation.
While both TRST and RESET need to be asserted upon power up, only RESET needs to be released for the device to boot properly. TRST may be asserted indefinitely for normal operation, keeping the JTAG port interface and device's emulation logic in the reset state.
TRST only needs to be released when it is necessary to use a JTAG controller to debug the device or exercise the device's boundary scan functionality. Note: TRST is synchronous and must be clocked by TCK; otherwise, the boundary scan logic may not respond as expected after TRST is asserted.
RESET must be released only in order for boundary-scan JTAG to read the variant field of IDCODE correctly. Other boundary-scan instructions work correctly independent of current state of RESET.
For maximum reliability, the device includes an internal pulldown (IPD) on the TRST pin to ensure that TRST will always be asserted upon power up and the device's internal emulation logic will always be properly initialized.
JTAG controllers from Texas Instruments actively drive TRST high. However, some third-party JTAG controllers may not drive TRST high but expect the use of a pullup resistor on TRST.
When using this type of JTAG controller, assert TRST to initialize the device after powerup and externally drive TRST high before attempting any emulation or boundary scan operations.
BYTE ADDRESS | ACRONYM | REGISTER DESCRIPTION | COMMENTS |
---|---|---|---|
0x01C1 4018 | DEVIDR0 | JTAG Identification Register | Read-only. Provides 32-bit JTAG ID of the device. |
The JTAG ID register is a read-only register that identifies the JTAG/Device ID. For the device, the JTAG ID register resides at address location 0x01C1 4018. The register hex value for each silicon revision is:
For the actual register bit names and their associated bit field descriptions, see Figure 6-55 and Table 6-90.
31-28 | 27-12 | 11-1 | 0 | ||||
VARIANT (4-Bit) | PART NUMBER (16-Bit) | MANUFACTURER (11-Bit) | LSB | ||||
R-xxxx | R-1011 0111 1101 0001 | R-0000 0010 111 | R-1 |
LEGEND: R = Read, W = Write, n = value at reset |
BIT | NAME | DESCRIPTION |
---|---|---|
31:28 | VARIANT | Variant (4-Bit) value |
27:12 | PART NUMBER | Part Number (16-Bit) value |
11-1 | MANUFACTURER | Manufacturer (11-Bit) value |
0 | LSB | LSB. This bit is read as a "1". |
No. | 1.2V | 1.1V | 1.0V | UNIT | |||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
1 | tc(TCK) | Cycle time, TCK | 40 | 50 | 66.6 | ns | |||
2 | tw(TCKH) | Pulse duration, TCK high | 16 | 20 | 26.6 | ns | |||
3 | tw(TCKL) | Pulse duration, TCK low | 16 | 20 | 26.6 | ns | |||
4 | tsu(TDIV-TCKH) | Setup time, TDI/TMS/TRST valid before TCK high | 4 | 4 | 4 | ns | |||
5 | th(TCLKH-TDIV) | Hold time, TDI/TMS/TRST valid after TCK high | 4 | 6 | 8 | ns |
No. | PARAMETER | 1.2V | 1.1V | 1.0V | UNIT | ||||
---|---|---|---|---|---|---|---|---|---|
MIN | MAX | MIN | MAX | MIN | MAX | ||||
6 | td(TCKL-TDOV) | Delay time, TCK low to TDO valid | 18 | 23 | 31 | ns |
To use boundary scan, the following sequence should be followed: