Cypress Semiconductor 3033 User Manual

Page of 33
Document Number: 002-18414 Rev. ** 
Page 14 of 33
PRELIMINARY
CYBT-013033-01
Microprocessor Unit
Overview
The CYBT-013033-01 microprocessor unit runs software from the Link Control (LC) layer up to the stack and Application layer. In the 
HCI mode of operation the stack will be run on the external host. The microprocessor is based on the Cortex-M3 32-bit RISC processor 
with embedded ICE-RT debug and JTAG interface units. The microprocessor also includes 848 KB of ROM memory for program 
storage and boot ROM, 352 KB of RAM for data scratch-pad, and patch RAM code.
The internal boot ROM provides flexibility during power-on reset to enable the same device to be used in various configurations, 
including automatic host transport selection from UART transport without external NVRAM. At power-up, the lower layer protocol stack 
is executed from the internal ROM.
External patches can be applied to the ROM-based firmware to provide flexibility for bug fixes and features additions. These patches 
can be downloaded from the host to the device through the UART transport. 
One-Time Programmable Memory
The CYBT-013033-01 includes a One-Time Programmable (OTP) memory, allowing manufacturing customization and avoiding the 
need for an on-board NVRAM. If customization is not required, then the OTP does not need to be programmed. Whether the OTP is 
programmed or not, it is disabled after the boot process completes to save power.
The OTP size is 2048 bytes.
The OTP is designed to store a minimal amount of information. Aside from OTP data, most user configuration information will be 
downloaded into RAM after the CYBT-013033-01 boots up and is ready for host transport communication. The OTP contents are 
limited to:
Parameters required prior to downloading user configuration to RAM.
Parameters unique to each part and each customer (i.e., the BD_ADDR, and software license key).
The following are typical parameters programmed into the OTP memory:
BD_ADDR
Software license key
Output power calibration
Frequency trimming
Initial status LED drive configuration
The OTP contents also include a static error correction table to improve yield during the programming process as well as forward error 
correction codes to eliminate any long-term reliability problems. The OTP contents associated with error correction are not visible by 
customers.
Peripheral Transport Unit
This section discusses the UART peripheral interface. The CYBT-013033-01 has a 1040-byte transmit and receive FIFO, which is 
large enough to hold the entire payload of the largest EDR Bluetooth packet (3-DH5).
HCI Transport Detection Configuration
Note: HCI transport detection is only valid for the HCI operating mode. 
The CYBT-013033-01 supports the following interface types for the HCI transport from the host:
UART (H4)
Only one host interface can be active at a time. The firmware performs a transport detect function at boot-time to determine which
host is the active transport. It can auto-detect UART interfaces, but the SPI interface must be selected by strapping the SCL pin to 0. 
The complete algorithm is summarized as follows:
Determine if any local NVRAM contains a valid configuration file. If it does and a transport configuration entry is present, select the
active transport according to entry, and then exit the transport detection routine.
Look for CTS_N = 0 on the UART interface. If it is present, select UART.
Repeat Step 2 and Step 3 until transport is determined.