Simplelink wi-fi and iot solution with mcu launchpad hardware (63 pages)
Summary of Contents for Texas Instruments CC3200
Page 1
CC3200 SimpleLink Wi-Fi and Internet-of- Things Solution, a Single Chip Wireless MCU Technical Reference Manual Literature Number: SWRU367D June 2014 – Revised May 2018...
Page 12
11-17. MMCHS_ISE Register ........................ 12-1. I2S Protocol ......................12-2. MCASP Module ......................12-3. Logical Clock Path ................13-1. Architecture of the ADC Module in CC3200 ....................13-2. Operation of the ADC ..................... 13-3. ADC_CTRL Register ................... 13-4. ADC_CH0_IRQ_EN Register ...................
Page 13
14-15. CC_CTRL_XCLK Register ....................14-16. CC_FIFODATA Register ............ 15-1. Power Management Unit Supports Two Supply Configurations ......................15-2. Sleep Modes ..............15-3. Power Management Control Architecture in CC3200 ....................15-4. CAMCLKCFG Register ....................15-5. CAMCLKEN Register ....................15-6. CAMSWRST Register ....................
Page 14
16-1. Board Configuration to Use Pins 45 and 52 as Digital Signals ............. 16-2. Board Configuration to Use Pins 45 and 52 as Digital Signals ............. 16-3. I/O Pad Data and Control Path Architecture in CC3200 ..................16-4. Wake on Pad for Hibernate Mode .......................
Introduction Created for the Internet of Things (IoT), the SimpleLink CC3200 device is a wireless MCU that integrates a high-performance ARM Cortex-M4 MCU, allowing customers to develop an entire application with a single IC. With on-chip Wi-Fi, Internet, and robust security protocols, no prior Wi-Fi experience is required for faster development.
Functional Overview www.ti.com Functional Overview The following sections provide an overview of the main components of the CC3200 system on chip (SoC) from a microcontroller point of view. 1.3.1 Processor Core 1.3.1.1 ARM Cortex M4 Processor Core The CC3200 application MCU subsystem is built around an ARM Cortex-M4 processor core, which provides outstanding computational performance and exceptional system response to interrupts at low power consumption while optimizing memory footprint –...
1.3.1.3 Nested Vector Interrupt Controller (NVIC) CC3200 includes the ARM NVIC. The NVIC and Cortex-M3 prioritize and handle all exceptions in handler mode. The processor state is automatically stored to the stack on an exception and automatically restored from the stack at the end of the interrupt service routine (ISR). The interrupt vector is fetched in parallel to the state saving, thus enabling efficient interrupt entry.
Functional Overview www.ti.com The CC3200 DriverLib is a software library that controls on-chip peripherals. The library performs both peripheral initialization and control functions, with a choice of polled or interrupt-driven peripheral support. The ROM DriverLib provides a rich set of drivers for peripheral and chip. It is aimed at reducing application development time and improving solution robustness.
1.3.5 Watch Dog Timer (WDT) The watchdog timer in the CC3200 restarts the system when it gets stuck due to an error and does not respond as expected. The watchdog timer can be configured to generate an interrupt to the microcontroller on its first time-out, and to generate a reset signal on its second time-out.
SDA and a serial clock line SCL). The I2C bus interfaces to a wide variety of external I2C devices such as sensors, serial memory, control ports of image sensors, and audio codecs. Multiple slave devices can be connected to the same I2C bus. The CC3200 microcontroller includes one I2C module with the following features: •...
1.3.10 General Purpose Input / Output (GPIO) All digital pins of the CC3200 device and some of the analog pins can be used as a general-purpose input/output (GPIO). The GPIOs are grouped as 4 instance GPIO modules, each 8-bit. Supported features include: •...
1.3.15 Hardware Cryptography Accelerator The secure variant of the CC3200 includes a suite of high-throughput, state-of-the-art hardware accelerators for fast computation of ciphers (AES, DES, 3-DES), hashing (SHA, MD5), and CRC algorithms by the application. It is also referred as the data hashing and transform engine (DTHE). Further details about the hardware cryptography accelerator will be addressed in the revision of this manual.
The SimpleLink subsystem provides fast, secured WLAN and Internet connections with 256-bit encryption. The CC3200 device supports station, AP, and Wi-Fi Direct modes. The device also supports WPA2 personal and enterprise security and WPS 2.0. The Wi-Fi network processor includes an embedded IPv4 TCP/IP stack.
• Low-power consumption with multiple sleep modes The ARM Cortex-M4 application processor core in the CC3200 does not include the floating point unit and memory protection unit (FPU and MPU). This chapter provides information on the implementation of the Cortex-M4 application processor in the CC3200, including the programming model, the memory model, the exception model, fault handling, and power management.
See the ARM Debug Interface V5 Architecture Specification for details on SWJ-DP. The 4-bit trace interface from embedded trace macrocell (ETM) is not supported in the CC3200 due to pin limitations. Instead, the processor integrates an instrumentation trace macrocell (ITM) alongside data watchpoints and a profiling unit.
0553A). 2.2.2.1.3 Exceptions and Interrupts The Cortex-M4 application processor in the CC3200 supports interrupts and system exceptions. The processor and the nested vectored interrupt controller (NVIC) prioritize and handle all exceptions. An exception changes the normal flow of software control. The processor uses handler mode to handle all exceptions except for reset.
This allows bit-band accesses to match the access requirements of the underlying peripheral. The CC3200 family of Wi-Fi microcontrollers support up to 256 Kbyte of on-chip SRAM for code and data. The SRAM starts from address 0x2000 0000.
0553A). 2.2.4 Exception Model The ARM Cortex-M4 application processor in the CC3200 and the nested vectored interrupt controller (NVIC) prioritize and handle all exceptions in handler mode. The processor state is automatically stored to the stack on an exception, and automatically restored from the stack at the end of the interrupt service routine (ISR).
Page 45
NMI is permanently enabled and has a fixed priority of –2. NMIs cannot be masked or prevented from activation by any other exception or preempted by any exception other than reset. NMI in the CC3200 is reserved for the internal system, and is not available for application usage. •...
In the system, peripherals use interrupts to communicate with the processor. Table 2-5 lists the interrupts on the CC3200 application processor 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.
0. NOTE: Configurable priority values for the CC3200 implementation are in the range 0-7. This means that the reset, hard fault, and NMI exceptions (NMI is reserved for use by the system) with fixed negative priority values always have higher priority than any other exception.
NMI occurs, or it is halted by a debugger. 2.2.6 Power Management The CC3200 Wi-Fi microcontroller is a multi-processor system-on-chip. An advanced power management scheme has been implemented at chip level that delivers the best-in-class energy efficiency across a wide class of application profiles, while handling the asynchronous sleep-wake requirements of multiple high performance processors and Wi-Fi radio subsystems.
Functional Description www.ti.com Figure 2-7 shows the architecture of the CC3200 SoC level power management, especially from the application point of view. Figure 2-7. Power Management Architecture in CC3200 SoC The Cortex-M4 processor implementation inside the CC3200 multiprocessor SoC has a few differences when compared to a discrete MCU.
RUN (or ACTIVE) state should then be minimized. The dedicated Cortex-M4 application processor in CC3200 is particularly suited for this mode of operation due to its advanced power management, DMA, zero wait state multi-layer AHB interconnect, fast execution and retention over the entire range of zero- wait state SRAM.
Overview www.ti.com Overview This chapter provides information on the CC3200 implementation of the Cortex-M4 application processor in CC3200 peripherals, including: • SysTick (see Section 3.2.1) – Provides a simple, 24-bit clear-on-write, decrementing, wrap-on-zero counter with a flexible control mechanism. •...
IT folding, write buffer use for accesses to the default memory map, and interruption of multi-cycle instructions. By default, this register is set to provide optimum performance from the Cortex-M4 application processor in CC3200 and does not normally require modification. Figure 3-1. ACTLR Register...
Constant Value Description 0xF Always reads as 0xF. 15-4 PARTNO C24h Part Number C24h = Cortex-M4 application processor in CC3200. Revision Number 1h = The pn value in the rnpn product revision identifier, for example, the 1 in r0p1. SWRU367D – June 2014 – Revised May 2018...
0x05FA must be written to this field in order to change the bits in this register. On a read, 0xFA05 is returned. ENDIANESS Data Endianess The CC3200 implementation uses only little-endian mode so this is cleared to 0. 14-11 RESERVED...
Usage Fault Status (UFAULTSTAT), bits 31:16 Bus Fault Status (BFAULTSTAT), bits 15:8 Memory Management Fault Status (MFAULTSTAT), bits 7:0 (Not applicable for CC3200) FAULTSTAT is byte accessible. FAULTSTAT or its subregisters can be accessed as follows: The...
Overview The CC3200 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-M4 processor, allowing for more efficient use of the processor and the available bus bandwidth. The μDMA controller can perform transfers between memory and peripherals.
Overview This chapter describes the general purpose input/output module and the I/O pad cells in the CC3200. The GPIO module is composed of 4 physical GPIO blocks, each corresponding to an individual GPIO port (Port 0, Port A1, Port A2, Port A3). The GPIO module supports up to 32 programmable input/output pins when GPIO function is selected in I/O pin muxing.
Overview www.ti.com Overview The CC3200 includes two Universal Asynchronous Receivers/Transmitters (UART) with the following features: • Programmable baud-rate generator allowing speeds up to 3 Mbps. • Separate 16×8 transmit (TX) and receive (RX) FIFOs to reduce CPU interrupt service loading •...
Figure 6-1. UART Module Block Diagram Functional Description Each CC3200 UART performs the functions of parallel-to-serial and serial-to-parallel conversions. The UART is configured for transmit and receive through the TXE and RXE bits of the UART Control (UARTCTL) register. Transmit and receive are both enabled out of reset. Before any control registers are programmed, the UART must be disabled by clearing the UARTEN bit in the UARTCTL register.
Pin R Functional Description The CC3200 has one instance of an I2C module comprised of both master and slave functions, identified by a unique address. A master-initiated communication generates the clock signal, SCL. For proper operation, the SDA and SCL pin must be configured as an open-drain signal. Both SDA and SCL signals must be connected to a positive supply voltage using a pullup resistor.
BURST transaction initiated. 7.2.2 Supported Speed Modes The I2C bus in the CC3200 can run in standard mode (100 kbps) or fast mode (400 kbps). The selected mode should match the speed of the other I2C devices on the bus.
PRCM module (refer to on clock-reset-power management). The subdivision of this clock is inside the SPI module. The CC3200 does not support waking up of the chip on SPI interface activity. This chapter focuses on the second SPI interface.
Programmable timers can be used to count or time external events that drive the timer input pins. The CC3200 general-purpose timer module (GPTM) contains 16- or 32-bit GPTM blocks. Each 16- or 32-bit GPTM block provides two 16-bit timers/counters (referred to as Timer A and Timer B) that can be configured to operate independently as timers or event counters, or concatenated to operate as one 32-bit timer.
10.1 Overview The watchdog timer in CC3200 generates a regular interrupt or a reset when a time-out value is reached. The watchdog timer regains control when a system has failed due to a software error or due to the failure of an external device to respond in the expected way.
The watchdog timer is disabled by default out of reset. To achieve maximum watchdog protection of the device, the watchdog timer can be enabled at the start of the reset vector. NOTE: In the CC3200 R1 device, TI recommends that the application software, when rebooting after a WDT reset, requests the PRCM for hibernation (see Section 15.4.10) for 10 ms, and...
11.1 Overview The Secure Digital Host (SD Host) controller on the CC3200 provides an interface between a local host (LH) such as a microprocessor controller (MCU) and an SD memory card, and handles SD transactions with minimal LH intervention.
10485760 389741 2.97 11.6 Peripheral Library APIs This section lists the APIs, hosted in the CC3200 SDK (peripheral library) necessary for I2S configuration. void SDHostInit(unsigned long ulBase) • Description: This function configures the SD host module, enabling internal sub-modules. •...
12.1 Overview The CC3200 hosts a multi-channel audio serial port (MCASP). In this version of the device, only the Inter- Integrated Sound (I2S) bit stream format is supported. Given the nature of integration of this peripheral on the CC3200 platform, developers should use peripheral library APIs to control and operate the I2S block.
I2S_RX_DMA_PORT 0x4401E280 12.3.3 Initialization and Configuration I2S on the CC3200 acts as master providing frame sync and bit clock to slave and can operate in two modes: transmit-only mode and synchronous transmit – receive mode. In transmit-only mode, the device is only configured to transmit data. In synchronous transmit – receive mode, the device is configured to transmit and receive in a synchronous manner.
Peripheral Library APIs for I2S Configuration www.ti.com 12.4 Peripheral Library APIs for I2S Configuration This section describes the APIs hosted in the CC3200 SDK (Peripheral Library) necessary for I2S configuration. 12.4.1 Basic APIs for Enabling and Configuring the Interface void I2SDisable (unsigned long ulBase) Disables transmit and/or receive.
13.1 Overview The CC3200 provides a general purpose, multi-channel Analog-to-Digital Converter (ADC). Each of the ADC channels supports 12-bit conversion resolution with sampling periodicity of 16 uS (62.5 Ksps/channel). Each channel has an associated FIFO and DMA. For detailed electrical characteristics of the ADC, refer to the CC3200 data sheet (SWAS032).
The remaining channels (odd) are used for monitoring various internal levels by the SimpleLink subsystem in CC3200 SoC. Register bits and functions related to these internal channels are marked as reserved in the register description. These bits must not be modified by application code to ensure proper functioning of the system.
13.6 Peripheral Library APIs for ADC Operation 13.6.1 Overview Four out of the eight channels of the ADC in the CC3200 are used internally for the SimpleLink subsystem (NWP and Wi-Fi). TI encourages applications to access the four external ADC channels through the peripheral library APIs.
14.1 Overview The CC3200 camera core module can interface an external image sensor. It supports an 8-bit parallel image sensor interface (Non-BT) interface with vertical and horizontal synchronization signals. BT mode is not supported. The recommended maximum pixel clock is 1 MHz. The module stores the image data in a FIFO and can generate DMA requests.
31-0 FIFO_DATA Reads/writes the 32-bit word from/into the FIFO. 14.6.2 Peripheral Library APIs This section lists the software APIs hosted in the CC3200 SDK (peripheral library) for configuring and using the camera interface module. void CameraReset(unsigned long ulBase) • Description: This function resets the camera core.
Most image sensors provide a two-wire serial interface for external MCUs to control them. This section shows how to use the CC3200 I2C interface to communicate with these image sensors. The CC3200 includes one I2C module operating with standard (100-Kbps) or fast (400-Kbps) transmission speeds.
AMBA, CoreSight are trademarks of ARM Limited. 15.2 Overview The CC3200 SoC incorporates a highly optimized on-chip power management unit capable of operating directly from battery, without any external regulator. The on-chip PMU includes a set of high-efficiency, fast transient response DC-DC converters, LDOs, and reference voltage generators.
– Not directly accessible from the application processor – PMU state transitions are initiated by control signals from the PRCM Refer to the CC3200 data sheet (SWAS032) for the chip wake-up sequence and timing parameters. 15.2.3 Supply Brownout and Blackout BROWNOUT is the state where the supply voltage falls below the chip brownout threshold.
Page 458
The system can subsequently be made to restart on a RTC timer, on a chip reset, or on plugging of new batteries. For CC3200 applications where battery life is critical, maximize the fraction of time spent in LPDS or hibernate modes compared to active and other sleep modes (SLEEP, DEEPSLEEP).
While this repeats in multiples of the beacon period (104 mS), the application processor may implement its own sleep strategy with a different periodicity. An advanced power management scheme has been implemented at the CC3200 chip level. This scheme handles the asynchronous sleep-wake requirements of multiple processors and Wi-Fi radio subsystems in a way that is transparent to the software, yet energy efficient.
Page 460
Table 15-1 shows the feasible combinations of power states between the application processor and the network (including WLAN) subsystems. Refer to the CC3200 data sheet (SWAS032) for details of current consumption for these combinations. Table 15-1. Possible PM State Combinations of Application Processor and Network Subsystem...
Power Management Control Architecture www.ti.com Figure 15-3 shows the high-level architecture of the CC3200 SoC-level power management. Figure 15-3. Power Management Control Architecture in CC3200 15.3.1 Global Power-Reset-Clock Manager (GPRCM) The global power-reset-clock manager module (GPRCM) receives the sleep requests from the subsystems and the wake events from associated sources.
Section 15.7. 15.4 PRCM APIs This section gives an overview of the PRCM APIs provided in the CC3200 Software Development Kit peripheral library. For more details, refer to the SDK documentation. 15.4.1 MCU Initialization Booting from power-off or exiting hibernate low power mode, the user application can configure the mandatory MCU parameters by calling void PRCMCC3200MCUInit() API.
Return: None 15.4.6 Low Power Modes SRAM Retention – The CC3200 SRAM is organized in 4 × 64-KB columns. By default, all SRAM columns are configured to be retained across LPDS and deep sleep power modes. The application can enable or...
Return: Returns a 32-bit value read from a specified OCR register. 15.4.11 Slow Clock Counter The CC3200 has a 48-bit on-chip always-on slow counter running at 32.768 KHz, which can wake up the device from hibernate low-power mode, or generate an interrupt to the core on counting a particular match value.
I2C interface 15.6 Power Management Framework The CC3200 SDK comes with a power management software framework. This framework provides simple services that can be invoked by the application, and callback functions that can be overridden by the application code. For details refer to the Power Management framework software documentation.
• Configurable pullup and pulldown (10-uA nominal) • Software configurable pad state retention during LPDS Each I/O pad cell in the CC3200 has the following ports: • PAD: I/O pad connected to package pin and external components • ODI: Level-shifted data from from PAD to core logic •...
RF sensitivity and performance. The default drive-strength setting is 6 mA. 16.3 Analog-Digital Pin Multiplexing The CC3200 implements an advanced analog-digital pin multiplexing scheme to maximize the number of functional signals in a compact 64-pin QFN package. Pins are multiplexed with analog-test, RF-test, clock and power-management functionalities.
16.4.2 Pin 29 and 30 Pin 29 and pin 30 are reserved for WLAN antenna diversity. These pins control an external RF switch, which multiplexes the RF pin of the CC3200 between two antennas. These pins should not be used for other functions.
GPIO9 (THERMAL PAD) Total available for application 16.7 Functional Pin Mux Configurations Pin mux configurations supported in the CC3200 are listed in Table 16-7. I/O Pads and Pin Multiplexing SWRU367D – June 2014 – Revised May 2018 Submit Documentation Feedback...
LPDS mode: The state of unused GPIOs in LPDS is input with 500-kΩ pulldown. For all used GPIOs , the user can enable internal pulls, which would hold them in a valid state. Hibernate mode: The CC3200 device leaves the digital pins in a Hi-Z state without any internal pulls when the device enters hibernate state. This can cause glitches on output lines, unless held at valid levels by external resistors.
Page 538
(0x4402 E10C) For details on proper use, see the Drive Strength and Reset States for Analog-Digital Multiplexed Pins section of the CC3200 data sheet (SWAS032). This pin is one of three that must have a passive pullup or pulldown resistor on board to configure the chip hardware power-up mode. Because of this, if this pin is used for digital functions, it must be output only.
Wake-up sources are covered in detail in . 16.8.6 Sense on Power The CC3200 implements a sense on power scheme. By using a few board level pull resistors, the CC3200 can be configured by the user to power up in one of the three following modes: SWRU367D –...
SWRU367D – June 2014 – Revised May 2018 Software Development Kit Examples Software Development Kit Examples The CC3200 SDK kit contains several examples of sample code for most of the peripherals covered in this document. Table A-1 provides links to examples for each of the peripherals. Also refer to the...
Page 571
Changes from March 31, 2016 to May 30, 2018 (from C Revision (March 2016) to D Revision) ......... Page ..................... • Updated Debug Interface section................• Updated CC3200 Application Processor Interrupts table................. • Updated CPUID Register Field Descriptions table..........• Added DMA_(OFFSET_FROM_DMA_BASE_ADDRESS) Registers section..............
Page 572
IMPORTANT NOTICE FOR TI DESIGN INFORMATION AND RESOURCES Texas Instruments Incorporated (‘TI”) technical, application or other design advice, services or information, including, but not limited to, reference designs and materials relating to evaluation modules, (collectively, “TI Resources”) are intended to assist designers who are developing applications that incorporate TI products;...
Need help?
Do you have a question about the CC3200 and is the answer not in the manual?
Questions and answers