Usn keyboard/hub evm featuring the 3.3-v ldo and dual switch (20 pages)
Summary of Contents for Texas Instruments CC2538
Page 1
Public Version CC2538 System-on-Chip Solution for 2.4-GHz IEEE 802.15.4 and ZigBee®/ZigBee IP® Applications Texas Instruments CC2538™ Family of Products Version B User's Guide Literature Number: SWRU319B April 2012 – Revised April 2013...
Page 2
WARNING: EXPORT NOTICE Recipient agrees to not knowingly export or re-export, directly or indirectly, any product or technical data (as defined by the U.S., EU, and other Export Administration Regulations) including software, or any controlled product restricted by other applicable national regulations, received from Disclosing party under this Agreement, or any direct product of such technology, to any destination to which such export or re-export is restricted or prohibited by U.S.
Page 21
TEX, S, C, and B Bit Field Encoding ................3-4. Cache Policy for Memory Attribute Encoding ..................... 3-5. AP Bit Field Encoding ............3-6. Memory Region Attributes for a CC2538 Microcontroller ....................3-7. Peripherals Register Map ......................4-1. Memory Map ....................4-2.
SWRU319B – April 2012 – Revised April 2013 Read This First About This Document This user's guide provides information on how to use the CC2538 and describes the functional blocks of the system-on-chip (SoC) designed around the ARM® Cortex™-M3 core and an IEEE 802.15.4 radio. Audience This manual is intended for system software developers, hardware designers, and application developers.
Page 28
TI’s ZigBee PRO stack Z-Stack™ with associated profiles and the ZigBee IP stack with Smart Energy 2.0 profile. The usage is, however, not limited to these protocols alone. The CC2538 is, for example, also suitable for 6LoWPAN and wireless HART implementations.
SWRU319B – April 2012 – Revised April 2013 Architectural Overview The CC2538 device family provides solutions for a wide range of applications. To help the user develop these applications, this user's guide focuses on the use of the different building blocks of the CC2538 device family.
Public Version Target Applications www.ti.com Target Applications The CC2538 family is positioned for low-power wireless applications such as: • IEEE 802.15.4 Radio Networks • ZigBee Smart Energy 1.x and to 2.0 profiles • Home and building automation • Intelligent lighting systems •...
Page 35
CC2538 device to a low-power state during extended periods of inactivity. A power-up and power-down sequencer, a 32-bit sleep timer (which is a real-time clock [RTC]) with interrupt and 16KB of RAM with retention in all power modes positions the CC2538 microcontroller perfectly for battery applications.
1.3.1.2 Memory Map A memory map lists the location of instructions and data in memory. The memory map for the CC2538 can be found in the Memories section of this User's Guide. Register addresses are given as a hexadecimal increment, relative to the base address of the module as shown in the memory map.
The following sections describe the on-chip memory modules. 1.3.2.1 SRAM The CC2538 provides a 16KB block of single-cycle on-chip SRAM with full retention in all power modes. In addition, some variants offer an additional 16KB of single-cycle on-chip SRAM without retention in the lowest power modes.
1.3.2.3 The ROM is preprogrammed with a serial boot loader (SPI or UART). For applications that require in-field programmability, the royalty-free CC2538 boot loader can act as an application loader and support in-field firmware updates. 1.3.3 Radio The CC2538 device family provides a highly integrated low-power IEEE 802.15.4-compliant radio transceiver.
A watchdog timer is used to regain control when a system fails due to a software error or because an external device does not respond in the expected way. When enabled by software, the watchdog timer must be cleared periodically; otherwise, the watchdog timer resets the CC2538 device when it times out. 1.3.5.3...
1.3.7 System Control and Clock System control determines the overall operation of the CC2538 device. System control provides information about the CC2538 device, controls power-saving features, controls the clocking of the CC2538 device and individual peripherals, and handles reset detection and reporting.
Universal serial bus (USB) is a serial bus standard designed to allow peripherals to be connected and disconnected using a standardized interface. The CC2538 device supports the USB 2.0 FS configuration in device mode and has the following features: •...
FIFO contains four entries 1.3.9 Programmable GPIOs GPIO pins offer flexibility for a variety of connections. The CC2538 GPIO module is comprised of four GPIO blocks, each corresponding to an individual GPIO port. The GPIO module supports CC2538 programmable I/O pins. The number of GPIOs available depends on the peripherals being used (see Chapter 5 for the signals available to each GPIO pin).
An analog comparator is a peripheral that compares two analog voltages, two external pin inputs, and provides a logical output that signals the comparison result. The CC2538 microcontroller provides an independent integrated and low-power analog comparator that can be active in all power modes. The comparator output is mapped into the digital I/O port, and the MCU can treat the comparator output as a regular digital input.
32-MHz operation • 1.25 DMIPS/MHz The CC2538 builds on this core to bring high-performance 32-bit computing to cost-sensitive embedded microcontroller applications, such as factory automation and control, industrial control power devices, building and home automation, and stepper motor control. This chapter provides information on the CC2538 implementation of the Cortex-M3 processor, including the programming model, the memory model, the exception model, fault handling, and power management.
The Cortex-M3 processor closely integrates a nested vector interrupt controller (NVIC) to deliver industry- leading interrupt performance. The CC2538 NVIC includes a nonmaskable interrupt (NMI) and provides eight interrupt priority levels. The tight integration of the processor core and NVIC provides fast execution of interrupt service routines (ISRs), dramatically reducing interrupt latency.
Public Version Cortex™-M3 Peripherals Introduction www.ti.com Cortex™-M3 Peripherals Introduction This chapter provides information on the CC2538 implementation of the Cortex-M3 processor peripherals, including: • System timer (SysTick) (see SysTick): Provides a simple, 24-bit clear-on-write, decrementing, wrap-on- zero counter with a flexible control mechanism.
TEX, C, B, and S access permission bits. All encodings are shown for completeness; however, the current implementation of the Cortex-M3 does not support the concept of cacheability or shareability. For information on programming the MPU for CC2538 implementations, see MPU Configuration for a CC2538 Microcontroller.
Read-only, by privileged or unprivileged software 3.2.4.2.1 MPU Configuration for a CC2538 Microcontroller CC2538 microcontrollers have only a single processor and no caches. As a result, the MPU should be programmed as shown in Table 3-6. Table 3-6. Memory Region Attributes for a CC2538 Microcontroller In current CC2538 microcontroller implementations, the shareability and cache policy attributes do not affect the system behavior.
Page 76
RESERVED Reserved 0x000 CLK_SRC Clock source Value Description External reference clock (not implemented for CC2538 microcontrollers) System clock Because an external reference clock is not implemented, this bit must be set in order for SysTick to operate. INTEN Interrupt enable...
Page 132
This field is used to guard against accidental writes to this register. 0x05FA must be written to this field to change the bits in this register. On a read, 0xFA05 is returned. ENDIANESS Data endianness The CC2538 implementation uses only little-endian mode so this is cleared to 0. 14:11 RESERVED Reserved...
The processor has a fixed memory map that provides up to 4GB of addressable memory. Table 4-1 provides the memory map for the CC2538 controller. In this manual, register addresses are given as a hexadecimal increment, relative to the base address of the module, as shown in the memory map.
For more information on memory types and the XN attribute, see Section 4.1.1, Memory Regions, Types, and Attributes. CC2538 devices may have reserved memory areas within the address ranges listed in Table 4-2...
The CC2538 has 48 interrupts that are spread across a range of 147 possible ARM® Cortex™-M3 interrupt inputs in a regular interrupt map setting.
Page 168
In the system, peripherals use interrupts to communicate with the processor. Table 5-2 lists the interrupts on the CC2538 controller. For an asynchronous exception, other than reset, the processor can execute another instruction between when the exception is triggered and when the processor enters the exception handler.
Interrupt 0–3 Priority (PRI0). Configurable priority values for the CC2538 implementation are in the range 0 to 7. NOTE: This means that the Reset and Hard fault exceptions, with fixed negative priority values, always have higher priority than any other exception.
SWRU319B – April 2012 – Revised April 2013 System Control The system control module configures the overall operation of the CC2538 device. Configurable features include reset control, power control, clock control, and low-power modes. Low-power operation is enabled through different operating modes (power modes). Ultralow-power operation is obtained by turning off the power supply to modules to avoid static (leakage) power consumption and also by using clock gating and turning off oscillators to reduce dynamic power consumption.
This section describes how to manage the different power saving actions. 7.1.1 Control Inputs to Power Management CC2538 has different configuration registers and an initiator (WFI instruction) for control of operational (i.e power) modes. 7.1.1.1 Clock Gating Registers The description of the clock gating registers for each peripheral are found in the register section (see ).
7.1.2.3.2. 7.1.2.1 Sequencing when using Power Modes When using power management in CC2538 it is important to understand the sequence of events and timing involved in the process. A simple flow diagram for power management is shown in Figure 7-2. As can be seen from the figure PM1, 2 and 3 are always entered from a state where the CPU is running on 16 MHz RCOSC.
WFI was asstered. Figure 7-3 show an example of a sequence when CC2538 is in Active mode running on 32 MHz system clock, until the chip has entered PM1, PM2 or PM3. SWRU319B – April 2012 – Revised April 2013...
PM2 and PM3 the required time for restore that is driven by 16 MHz clock (approx 30us) will be saved. 7.1.2.4.2 32 MHz Qualification Time In the CC2538 an additional module for detection of 32 MHz XOSC stability is available. Enabling this feature adds approx 20 us to the 32 MHz XOSC startup time, see 7.2.1 for details.
Figure 7-6. Block Diagram Oscillators and Clocks 7.2.1 High Frequency Oscillators Figure 7-6 gives an overview of the clock system with available clock sources on the CC2538 device. Two high-frequency oscillators are present in the device: • 32 MHz crystal oscillator •...
32 MHz XOSC (such as the radio) are started. In the CC2538, an additional module for detection of 32 MHz XOSC stability is available. This amplitude detector can be useful in environments with significant noise on the power supply to ensure that the clock source is not used until the clock signal is stable.
Clock-loss detetector is disabled. During reset, the GPIO pins are configured as inputs with pull-up. In the CC2538, a system reset can be generated immediately in software by writing the NVIC_APINT_SYSRESETREQ bit to '1' in the NVIC_APINT register (see Application Interrupt and Reset Control (APINT) for the register description).
During entry/exit to/from PM2 and PM3 the device state is stored during power down and read back during power up are CRC checked. A feature to automatically reset the CC2538 in the case of a CRC error can be enabled by setting bit CRC_REN_RF and CRC_REN_USB to '1' in the SRCRC register.
Instance SYS_CTRL Description The clock control register handels clock settings in the CC2538. The settings in CLOCK_CTRL do not always reflect the current chip status which is found in CLOCK_STA register. Type 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10...
Introduction The CC2538 family contains flash memory up to 512 kB for storage of program code. The flash memory is programmable from the user software and through the debug interface. The flash controller handles writing and erasing the embedded flash memory. The embedded flash memory consists of up to 256 pages of 2048 bytes each.
NOTE: If the Enable bit is set to 0 in the CCA area of the Lock Bit page, the CC2538 ROM boot loader ignores any received boot loader commands, even if no application image is present in the flash memory.
Data can also be transferred to and from the SRAM using the micro direct memory access controller (μDMA). The internal SRAM of the CC2538 is located at 0x2000 0000 of the device memory map, and has the following features: •...
Page 231
Description These settings are a function of the FLASH information page bit settings, which are programmed during production test, and are subject for specific configuration for multiple device flavors of cc2538. Type 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10...
Page 232
These settings are a function of the FLASH information page bit settings, which are programmed during production test, and are subject for specific configuration for multiple device flavors of cc2538. The DIE_*_REVISION registers are an exeception to this, as they are hardwired and are not part of the FLASH information page.
10.1 μDMA Introduction The CC2538 microcontroller includes a direct memory access (DMA) controller, known as micro-DMA (μDMA). The μDMA controller provides a way to offload data transfer tasks from the Cortex™-M3 processor, allowing for more efficient use of the processor and the available bus bandwidth. The μDMA controller can perform transfers between memory and peripherals.
DMA channels, and several transfer modes to allow for sophisticated programmed data transfers. Since the CC2538 uses an AHB matrix, as long as the CPU and μDMA controller are targeting different slaves, the transfers will be concurrent. The only time the CPU will delay a μDMA transfer is if they are targeting the same slave device.
16-bit timers (referred to as timer A and timer B) that can be configured to operate independently as timers, or concatenated to operate as one 32-bit timer. The GPT is one timing resource available on the CC2538 microcontroller. Other timer resources include the System Timer (SysTick) (see Section 3.2.1), MAC timer, sleep timer and watchdog timer, see the...
CC2538 devices • For general radio timekeeping when running the radio in proprietary mode on the CC2538 device When the MAC timer is used with the sleep timer, the timing function is provided even when the system enters low-power modes PM1 and PM2. The timer runs at a speed according to the system clock. If the MAC timer is to be used with the sleep timer, the system clock source must be the 32-MHz crystal whenever the MAC timer is running, and an external 32-kHz XOSC should be used for accurate results.
The MAC timer has two event outputs, MT_EVENT1 and MT_EVENMT. These can be used as DMA triggers, as inputs to the radio, for conditions in conditional instructions in the CSP on CC2538, or for timing TX or RX in CC2538 when running the radio in proprietary mode. The event outputs can be configured individually to any of the following events: •...
SOC_ADC_RNDL register. For the CC2538, when a random value is required, writing the SOC_ADC_RNDL register with random bits from the IF_ADC in the RF receive path seeds the LFSR. To use this seeding method, first power on the radio.
Public Version Chapter 17 SWRU319B – April 2012 – Revised April 2013 Analog Comparator The analog comparator in the CC2538 device has the following features: • Low-power operation • Wake-up source ........................... Topic Page ....................17.1 Introduction ................17.2 Analog Comparator Registers SWRU319B –...
Universal Asynchronous Receivers and Transmitters www.ti.com 18.1 Universal Asynchronous Receivers and Transmitters The CC2538 controller includes two UARTs with the following features: • Programmable baud-rate generator allowing speeds up to 2 Mbps for regular speed (divide by 16) and 4 Mbps for high speed (divide by 8) •...
Each CC2538 UART performs the functions of parallel-to-serial and serial-to-parallel conversions. The CC2538 UART is similar in functionality to a 16C550 UART, but is not register compatible. The UART is configured for transmit and/or receive through the TXE and RXE bits of the UART Control (UART_CTL) register (see UART_CTL).
19.1 Synchronous Serial Interface The CC2538 microcontroller includes two SSI modules. Each SSI is a master or slave interface for synchronous serial communication with peripheral devices that have either Freescale SPI, MICROWIRE, or Texas Instruments SSIs. The CC2538 SSI modules have the following features: •...
(pulled down) during the entire transmission of the frame. For Texas Instruments synchronous serial frame format, the SSIFss pin is pulsed for one serial clock period starting at its rising edge, before the transmission of each frame. For this frame format, both the SSI and the off-chip slave device drive their output data on the rising edge of SSIClk and latch data from the other device on the falling edge.
LCDs, tone generators, and so on. The I C bus may also be used for system testing and diagnostic purposes in product development and manufacture. The CC2538 device includes one I module, providing the ability to interact (both transmit and receive) with other I C devices on the bus.
C Bus Functional Overview The I C bus uses only two signals: SDA and SCL, named I2CSDA and I2CSCL on the cc2538 controller. SDA is the bidirectional serial data line and SCL is the bidirectional serial clock line. The bus is considered idle when both lines are high.
Public Version Chapter 22 SWRU319B – April 2012 – Revised April 2013 Security Core This chapter provides information on configuring the security engine of the CC2538 device..........................Topic Page ....................22.1 PKA Engine ................. 22.2 AES and SHA Cryptoprocessor ..................
The RF output power is controlled by the 8-bit value in the TXPOWER register. The data sheet for the CC2538 device shows typical output power and current consumption for recommended settings when the center frequency is set to 2.440 GHz. The recommended settings are only a small subset of all the possible register settings.
The digital voltage regulator is used to power the digital core. The output of this regulator is available on the DCOUPL pin and requires capacitive decoupling to function properly (for example, see the reference design of the CC2538 device). The voltage regulator is disabled in power modes PM2 and PM3. When the voltage regulator is disabled, most of the register and RAM contents are retained while the unregulated 2- to 3.6-V power supply is...
Page 771
Appendix A SWRU319B – April 2012 – Revised April 2013 Available Software This chapter presents the various available software solutions relevant to the CC2538 SoC. They are all available free of charge on the TI Web site at www.ti.com/lprf when used with TI LPRF devices.
SmartRF Studio software runs on Microsoft™ Windows™ XP (32 bit), Windows Vista (32 & 64 bit) and Windows 7 (32 & 64 bit). SmartRF Studio can be downloaded from the Texas Instruments Web page: www.ti.com/smartrfstudio.
Page 773
• Wireless sensor networks • Alarm and security • Asset tracking • Applications that require interoperability For more information, visit the Texas Instruments Z-Stack™ software page: www.ti.com/z-stack. SWRU319B – April 2012 – Revised April 2013 Available Software Submit Documentation Feedback...
RF transceivers, RF transmitters, RF front ends and System-on-Chips as well as various software solutions for the sub-1 and 2.4-GHz frequency bands. In addition, Texas Instruments provides a large selection of support collateral such as development tools, technical documentation, reference designs, application expertise, customer support, third-party and university programs.
Texas Instruments Low-Power RF Web Site www.ti.com Texas Instruments Low-Power RF Web Site Texas Instruments’ Low-Power RF Web site has all our latest products, application and design notes, FAQ section, news and events updates, and much more. Just go to www.ti.com/lprf. Low-Power RF Online Community •...
SWRU319 April 2012 SWRU319A November 2012 SWRU319B April 2013 CC2538 User's Guide, (SWRU319) - initial release. CC2538 User's Guide Version A, (SWRU319A): • Most of resolved and closed action items have been updated. CC2538 User's Guide Version B, (SWRU319B): •...
IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest issue.
Need help?
Do you have a question about the CC2538 and is the answer not in the manual?
Questions and answers