USER MANUAL CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON BCM2035 User Manual for the BCM2035 16215 Alton Parkway • P.O.
REVISION HISTORY Date Change Description 2035-UM100-R 04/23/03 Initial Draft Release. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Revision Broadcom Corporation P.O. Box 57013 16215 Alton Parkway Irvine, CA 92619-7013 © 2003 by Broadcom Corporation All rights reserved Printed in the U.S.A. Broadcom® and the pulse logo are trademarks of Broadcom Corporation and/or its subsidiaries in the United States and certain other countries. All other trademarks are the property of their respective owners.
BCM2035 User Manual 04/23/03 TABLE OF CONTENTS Section 1: Introduction........................................................................................................ 1 Scope ............................................................................................................................................................ 1 BCM2035 User Configurable Features .......................................................................................................
BCM2035 User Manual 04/23/03 RAM, ROM, and Patch Memory ............................................................................................................13 System Control ...........................................................................................................................................14 System Clock.........................................................................................................................................14 External Reset ...................
BCM2035 User Manual 04/23/03 Crystal Programming ............................................................................................................................ 35 Read EEPROM ..................................................................................................................................... 37 Read Flash............................................................................................................................................ 37 Firmware Power-Up Sequence ...
BCM2035 User Manual 04/23/03 RDC................................................................................................................................................66 FS Offset ........................................................................................................................................66 File System............................................................................................................................................67 Enumeration Control ........
BCM2035 User Manual 04/23/03 Events Generated ................................................................................................................................. 83 Write_PCM_Loopback_Mode .................................................................................................................... 84 Description ............................................................................................................................................ 84 Command Parameters.............
BCM2035 User Manual 04/23/03 Offset............................................................................................................................................106 Data..............................................................................................................................................106 Checksum ....................................................................................................................................
BCM2035 User Manual 04/23/03 LIST OF FIGURES Figure 1: BCM2035 Bluetooth System Overview ............................................................................................... 1 Figure 2: BCM2035 Hardware Functional Block Diagram.................................................................................. 5 Figure 3: BCM2035 PCM Interface with Linear PCM Codec............................................................................
BCM2035 User Manual 04/23/03 Figure 29: Linear PCM Data Formats ...............................................................................................................50 Figure 30: PCM Time Slots Example ................................................................................................................51 Figure 31: SCO Normal and Loopback Data Paths ..........................................................................................
BCM2035 User Manual 04/23/03 LIST OF TABLES Table 1: Power Savings Mode Descriptions ..................................................................................................... 11 Table 2: PIO/GPIO Assignment for the BCM2035 ........................................................................................... 12 Table 3: Common Baud Rate Examples ..........................................................................................................
BCM2035 User Manual CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON 04/23/03 B roa dcom Co rpo rat ion Page xii Document 9/29/2004 OV4F2 2035-UM100-R
BCM2035 User Manual 04/23/03 S e c t io n 1 : I nt r od u c t io n SCOPE CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 is a single-chip, HCI compliant bluetooth transceiver. Figure 1 illustrates the typical layers in a bluetooth system. The BCM2035 is versatile and provides several user-configurable options in hardware and software. This document describes the configurable hardware and software features for the BCM2035.
BCM2035 User Manual 04/23/03 Section 2: “Hardware System Overview” on page 5 provides a hardware system overview of the BCM2035. The BCM2035 is partitioned into several blocks and the overall functions of the various blocks are described in detail. This chapter also briefly describes the different configurations associated with each functional block. Section 3: “BCM2035 Usage Models” on page 19 describes typical operational/application modes in which the BCM2035 can be configured.
BCM2035 User Manual 04/23/03 BCM2035 USER CONFIGURABLE FEATURES The BCM2035 supports the following hardware and software features. HARDWARE CONFIGURABLE FEATURES Hardware Mode Configuration • Internal vs. external LPO • Crystal power-down configuration for active-low or active-high. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON • • System Clock Configuration • Main system clock between 12-26 Mhz for normal operation. • LPO clock (32.768 KHz) for low-power operation.
BCM2035 User Manual 04/23/03 SOFTWARE CONFIGURABLE FEATURES • Startup/Boot sequence • Transport Configuration USB descriptors • UART baud rates PCM Configuration • Master/slave, frame sync • PCM data rate (128, 256, 512, 1024, 2048 kHz) • Data format - linear, a-law, u-law CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON • • • • SCO Configuration • SCO over UART • SCO over USB • Test mode Power Management • Out-of-band signaling for low-power operation.
BCM2035 User Manual 04/23/03 Sec t ion 2 : Ha rdwa re Sys t em Over view INTRODUCTION CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 is Bluetooth Core Specification version 1.1 compliant and designed for use in standard HCI UART or HCI USB applications. Figure 2 shows a detailed hardware functional block diagram of the BCM2035.
BCM2035 User Manual 04/23/03 BCM2035 RADIO TRANSCEIVER CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 has an integrated radio transceiver that has been optimized for use in 2.4 GHz Bluetooth wireless systems. It has been designed to provide low-power, low-cost, robust communications for applications operating in the globally available 2.4 GHz unlicensed ISM band. It is fully compliant with the Bluetooth Radio Specification v1.
BCM2035 User Manual 04/23/03 TRANSMITTER PATH The BCM2035 features a fully-integrated zero IF transmitter. The baseband transmit data is digitally GFSK modulated in the modem block and up-converted to the 2.4 GHz ISM band in the Transmitter Path. The Transmitter Path consists of signal filtering, I/Q up-conversion, output power amplifier (PA), and RF filtering.
BCM2035 User Manual 04/23/03 BLUETOOTH BASEBAND CORE CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The Bluetooth Baseband Core (BBC) implements all of the time critical functions required for high performance Bluetooth operation. The BBC manages the buffering, segmentation, and routing of data for all connections.
BCM2035 User Manual 04/23/03 • • 8-bit fixed pattern or PRBS-9 • Enables modulated signal measurements with standard RF test equipment Fixed frequency connectionless Bluetooth packet transmission • All packet types supported • 8-bit fixed pattern or PRBS-9 payload CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON • Fixed frequency constant transmission B r oadco m C orp or ati on Document 2035-UM100-R Bluetooth Baseband Core 9/29/2004 OV4F2 Page 9
BCM2035 User Manual 04/23/03 POWER MANAGEMENT UNIT The Power Management Unit (PMU) provides power management features that can be invoked by either software through power management registers, or packet handling in the baseband core. The following sections are power management functions provided by the BCM2035. RF Power Management CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BBC generates power down control signals for the transmit path, receive path, PLL, and power amplifier to the 2.
BCM2035 User Manual 04/23/03 Host Controller Power Management When running in USB mode, the BCM2035 supports the USB version 1.1 specification, suspend/resume signaling as well as remote wake-up signaling for power control. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON When running in UART mode, the BCM2035 may be configured such that dedicated signals are used for power management hand-shaking between the BCM2035 and the host.
BCM2035 User Manual 04/23/03 FAST CONNECTION The BCM2035 supports page scan and inquiry scan modes that significantly reduce the average inquiry response and connection times. These scanning modes are compatible with the Bluetooth version 1.1 page and inquiry procedures and are designed to be forward compatible to Bluetooth version 1.x extension fast connection mode.
BCM2035 User Manual 04/23/03 Table 2: PIO/GPIO Assignment for the BCM2035 (Cont.) Pin Direction Description TX_PU_TDD_N/ LINK_IND/ LPO_OUT This pin has multiple functions. In normal mode, the default configuration is TX_PU_TDD_N (see “External TDD Switch Control” on page 14). In RF mode, the signal functions as the LPO_OUT indicator. The signal can be configured by the user for Link indication (LINK_IND).
BCM2035 User Manual 04/23/03 SYSTEM CONTROL SYSTEM CLOCK CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 uses two different clock references for normal and low-power operational modes. For normal operation, the BCM2035 uses an external crystal or external frequency reference driven by a temperature compensated crystal oscillator (TCXO) to generate all radio frequencies and system timing references. For low power mode operation, the BCM2035 uses either an external 32.
BCM2035 User Manual 04/23/03 SYSTEM DIAGRAM Figure 3 shows three options for connecting a BCM2035 to a PCM codec device as either a master, slave, or hybrid type connection.
BCM2035 User Manual 04/23/03 SLOT MAPPING CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 supports up to 3 simultaneous full duplex SCO channels. These 3 channels are time multiplexed onto the single PCM interface by using a time slotting scheme where the 8 kHz audio sample interval is divided into up to 16 slots. The number of slots is dependant on the selected interface rate of 128, 256, 512, 1024, or 2048 kHz.
BCM2035 User Manual 04/23/03 The USB Device Descriptor, Configuration Descriptor, and String Descriptor are fully programmable if the default settings are not desired. This allows the end manufacturer to customize the descriptors that the BCM2035 uses to identify itself on the USB port, including the Vendor ID and Product ID. Up to two sets of custom descriptors can be supplied so that the BCM2035 may boot using one set of descriptors and then later re-enumerate using the second set of descriptors.
BCM2035 User Manual 04/23/03 The baud rate of the BCM2035 UART is expressed as: 24 MHz/((16xUART Clock Divisor) + Total Inserted 24 MHz Clock Cycles) CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Normally, the UART baud rate will be set by the parameters stored in the optional serial EEPROM, or by automatic baud rate detection and the host will not need to adjust the baud rate.
BCM2035 User Manual 04/23/03 S ec t io n 3 : BC M 203 5 Usa ge M o de ls MOBILE PHONE USAGE MODEL CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 is designed to directly interface with new and existing handset designs as shown in Figure 4. The BCM2035 has a very flexible PCM and UART interfaces, enabling it to transparently connect with the existing circuits.
BCM2035 User Manual 04/23/03 VDD_RF CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON VDD_CORE VDD_IO Voice Codec PCM VDD_IO UART Handset Baseband BCM2035 BT_WAKE HOST_WAKE XTAL_PD TCXO XTAL_IN VDD_PCM Power Domain VDD_IO Power Domain LPO CLOCK LPO_INPUT Figure 4: Mobile Phone Usage Model B r oadco m C orp or ati on Page 20 Mobile Phone Usage Model Document 9/29/2004 OV4F2 2035-UM100-R
BCM2035 User Manual 04/23/03 PC PRODUCT USAGE MODEL CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 can be directly interfaced using the HCI USB interface and fully supports embedded USB applications such as laptop PC and PC motherboard integration, or as an external USB dongle peripheral device. Figure 5 shows an example of a PC product usage model.
BCM2035 User Manual 04/23/03 S e c t i on 4 : H a r dw a r e C on f i gu r a t i o n The BCM2035 is a single chip, HCI compliant Bluetooth transceiver. The Link Manager and Host Controller Interface layers reside in the BCM2035 ROM, so no external Flash is required to operate the BCM2035. UART and USB interfaces are supported for connection to the Host system.
BCM2035 User Manual 04/23/03 The Internal/External LPO selection allows a design to take advantage of a precise external 32.768 kHz oscillator if one is present in the design. The internal LPO may be used in a design in which no external 32.768 kHz oscillator is available. The advantage of using an external LPO when possible is that the higher precision will allow longer intervals to be used in the power savings modes (Park, Sniff, Hold).
BCM2035 User Manual 04/23/03 EXTERNAL FREQUENCY REFERENCE CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON An external frequency reference such as those generated by a TCXO signal may be directly connected to the XTAL_IN pin on the BCM2035 as shown in Figure 7.The external frequency reference input is designed to not change the loading on the TCXO when the BCM2035 is powered up or powered down.
BCM2035 User Manual 04/23/03 LPO CLOCK INTERFACE CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 can be configured for use with an external 32.768 kHz oscillator for low power operation. The 32.768 kHz clock should be connected to the LPO_IN/LPO_RES pin that can accept an analog or digital LPO clock. The LPO_IN/LPO_RES provides a high impedance input and will not load the oscillator even when the BCM2035 is powered down. Figure 8 shows the connectivity of BCM2035 to a 32.
BCM2035 User Manual 04/23/03 TRANSPORT CONFIGURATION CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 supports the HCI UART and HCI USB transports, and either one may be selected in a particular design. The transport selection is mutually exclusive, so it is not possible to use both USB and UART in a single application. The selection of USB or UART as the HCI transport is sensed by the BCM2035 Boot ROM after a hardware reset has occurred.
BCM2035 User Manual 04/23/03 3.3V VDD_USB HOST D+ Processor USB_DP D- CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON USB_DN 1K ohm 470 ohm USB_DETACH UART_RXD BCM2035 UART_TXD UART_CTS_N UART_RTS_N UP_TX UP_RX Figure 11: BCM2035 USB Transport Configuration When using the LCSP package, there is a separate VDD_UART power pin. If UART is not being used, then VDD_UART should be connected to the 1.8V supply to reduce leakage current.
BCM2035 User Manual 04/23/03 PCM CONFIGURATION PCM HARDWARE SIGNALS CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON There are four signals used for the PCM interface; PCM_BCLK, PCM_SYNC, PCM_IN, and PCM_OUT. The PCM_BCLK signal is the bit clock that controls the timing for the other three signals. PCM_SYNC is an 8kHz sync pulse that marks the start of a new PCM frame. PCM_IN and PCM_OUT are the serial PCM data input and output.
User Manual BCM2035 04/23/03 The PCM_SYNC signal supports two different sync formats - Long Sync, and Short Sync. The Long Sync format generates or expects (depending on Master or Slave operation) a rising edge on the PCM_SYNC signal at the beginning of the first bit of the first time slot, and generates or expects the falling edge of the PCM_SYNC signal after the third bit of the first time slot.
User Manual BCM2035 04/23/03 VDD_IO 10k CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON BCM2035 EEPROM_DATA EEPROM_CLK Figure 14: BCM2035 Without EEPROM ON-CHIP VOLTAGE REGULATOR The BCM2035 has a full integrated on-chip voltage regulator. The on-chip regulator operates from a 3.3V supply and can generate a 1.8V regulated supply. The on chip regulator can be selectively enabled or disabled via the REG_CTRL pin. Figure 15 shows the configuration with the internal regulator enabled. 3.
User Manual BCM2035 04/23/03 Figure 16 shows the configuration with the internal regulator disabled. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON 3.3V BCM2035 VDD_IO REG_CTRL External Regulated 1.
User Manual BCM2035 04/23/03 Section 5: Soft ware C onfiguration INTRODUCTION CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Figure 17 shows the high level power-up sequence for BCM2035. On power-up, the BCM2035 initializes the hardware and begins executing the BOOT code. The boot code performs RF programming to complete hardware initialization and sets the execution context to the firmware.
BCM2035 User Manual 04/23/03 HARDWARE POWER-UP SEQUENCE The BCM2035 contains a Power On Reset circuit. The desired voltage levels are checked for both CORE and I/O power. An LPO clock is required (external or internal) for proper H/W initialization. Without the presence of the LPO clock, the BCM2035 will remain in the state of reset (i.e crystal warm-up period) forever.
BCM2035 User Manual 04/23/03 BOOT ROM ENTRY BCM2035 BOOT ROM SEQUENCE DOWNLOAD MINI_DRIVER VIA UPRX (or UART if CTS is TRUE following sensing UPRX).
BCM2035 User Manual 04/23/03 CRYSTAL PROGRAMMING The BCM2035 supports several crystal frequency selection modes. Auto crystal frequency detection is supported in the presence of an external LPO clock. List of supported crystal frequencies are shown in Table 6. Crystal frequency settings can also be read from the EEPROM or programmed using a mini driver. Table 6: 4-bit PLL_SEL Field of CLK_CTL Byte Decimal Crystal Frequency (Mhz) 0000 0 19.2 0001 1 19.68 0010 2 19.
BCM2035 User Manual 04/23/03 3. External LPO a. In this mode, an external LPO clock is used by the BCM2035 to determine the frequency of the external crystal and complete the crystal programming phase. The external crystal must be one of the supported frequencies show in Table 6 on page 35. 4. Internal LPO with valid serial EEPROM CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON a.
BCM2035 User Manual 04/23/03 READ EEPROM CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON An BSC EEPROM is required for storage of BlueRF encoded crystal frequency data. The EEPROM will be connected to the 8051 microprocessor unit via GPIO5 and GPIO6. GPIO6 will provide the 8051's serial data interface to the EEPROM (requires 10K Ω pull-up no longer necessary as of BCM2035 with the 0-detecting boot and bluetooth ROM-firmware yet remains to be tested for BCM2035).
BCM2035 User Manual 04/23/03 2035 FIRMWARE FLOW DIAGRAM Initilize Baseband & RF Expose USB I/F Initilize HCI Subsystem CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Initilize System Determine Transport NO Transport Sensed Normal Operation NO Vendor Specific Command "Download Minidriver" YES BOOT ROM SOF Interrupt Sensed NO YES Load Mini Driver Over USB (~2-3s) NO CTS Sensed YES Load Mini Driver Over UART (~4-5s) Figure 19: BCM2035 Firmware Power-Up Sequence B r oadco m C orp or
BCM2035 User Manual 04/23/03 BCM2035 MINI-DRIVERS CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Mini-drivers serve several purposes such as updating EEPROM, FLASH, changing baud rates, updating runtime configuration data, etc. Depending on the purpose, the mini-driver is downloaded during different stages of the device operation. The device should be setup to accept a mini-driver download.
BCM2035 User Manual 04/23/03 LOADING MINI-DRIVERS FROM USB Instructions for loading mini-drivers from the USB port are listed below: 1. Download mini-driver a. The BCM2035 will enumerate with a VID/PID of 0x0A5C/0x2035. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON b. Transmit the mini-driver to the BCM2035 in Intel Hex format using the Bulk Out Endpoint in Interface 0. Line feeds and carriage returns can be eliminated if desired. The HEX records are sent one at a time.
BCM2035 User Manual 04/23/03 To ensure that all the different stages of the download procedure can be achieved with efficiency; many acknowledgements are sent from the BCM2035 to the host. The host uses these returned characters as indications to transition from one stage to the next. Figure 20 illustrates the downloading protocol between the host and the BT device for ASCII Intel hex formats.
BCM2035 User Manual 04/23/03 Host Controller Host Host Controller's UART-CTS should be TRUE within ~1ms of Reset CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON CTS Negotiation character 0x55 should not be sent earlier then ~1ms 0x55 (UART RX) "41" (at negotiated baud-rate over UART TX) Figure 22: Host and Bluetooth Device Handshaking Prologue: Mode is 0 and Configuration Data is Missing or Invalid.
BCM2035 User Manual 04/23/03 Host CTS Host Controller CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON micro driver download @ HCI System kbps 1 record at the time OPTIONAL 0x2E (Ack) or 0x78 (Nak) 0x2E (Ack) or 0x78 (Nak) record detection & pass checksum last record detection & pass checksum start micro driver exec mini driver download @ HCI System kbps or micro driver selected baud rate one record at a time 0x2E (Ack) or 0x78 (Nak) waiting for mini-driver download at HCI System or micro-
BCM2035 User Manual 04/23/03 The baud rate for downloading the micro- or mini-driver is negotiated at boot-time or read from configuration data. The default firmware baud rate is 115200bps. This setting is selected to ensure that BCM2035 can support all hosts that may or may not have higher baud rate capability.
BCM2035 User Manual 04/23/03 Figure 25 through Figure 28 on page 48 illustrate the startup, download and reset timing for the ROM and the mini-drivers.
BCM2035 User Manual 04/23/03 Table 8: Power-On Clock Stable to Boot ROM (All Modes) Ready for Baud Rate Negotiation and MiniDriver Download Description Table Description Time Min Typical Max TASmax - 100 us - Autobaud-signal to autobaud-character min TASTAmin - 50 us - Autobaud-signal to autobaud-character max Ttac - infinity - CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Clock stable to autobaud-signal max Autobaud character to RTS Trtsa - 100 us - RTS to autobaud-characte
BCM2035 User Manual 04/23/03 Table 9: Power-On Clock Stable to Mode-0 Boot ROM Ready for Baud Rate Negotiation and MiniDriver Download Description Table Description Time Min Typical Max TASmax - 100 us - Autobaud-signal to autobaud-character min TASTAmin - 50 us - Autobaud-signal to autobaud-character max Ttac - infinity - CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON Clock stable to autobaud-signal max Autobaud character to RTS Trtsa - 100 us - RTS to autobaud-character res
BCM2035 User Manual 04/23/03 CTS Driver Baud rate update CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON RTS !RTS TX Start bit for ACK RX Stop bit for Last ASCII Record Tlta Tltdbb Tbubtbue Last ASCII Record to ACK* *ACK character is 0x2E ('.
BCM2035 User Manual 04/23/03 SCO CONFIGURATION INTRODUCTION CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON The BCM2035 supports Bluetooth SCO connections for phone quality voice applications. HV1, HV2, and HV3 packet types are supported, as are CVSD, a-law, and m-law air coding. Voice data may be input and output to or from the PCM interface, the UART, or the USB interface using linear PCM, a-law, or m-law audio formats.
BCM2035 User Manual 04/23/03 Figure 29 shows the various Linear PCM data formats supported.
BCM2035 User Manual 04/23/03 PCM Time Slots Example Depending on the clock rate that the BCM2035 PCM interface is operating at, there will be multiple PCM time slots available between sync pulses. Figure 30 is an example showing the timing of 4 PCM time slots when using a clock rate of 512kHz in Master Mode with Short Frame Sync. CO NF ID EN CO TIA RP L F OR OR AT W IO IST N R ON In this example, two SCO connections are being used, one in time slot 0, and one in time slot 2.