CC256x Bluetooth Hardware Evaluation Tool
- 1 Introduction
- 2 Requirements
- 3 Installation
- 4 Setup Configuration
- 5 A Quick Tour of the CC256x Bluetooth Hardware Evaluation Tool
- 5.1 Connecting to Serial Port
- 5.2 Loading Service Pack
- 5.3 Modifying Service Pack
- 5.4 Converting Service Pack to C array (For MCU)
- 5.5 Combining Service Packs (For Linux)
- 5.6 Send RF Test Mode commands
- 6 Detailed Description of the CC256x Bluetooth Hardware Evaluation Tool
- 7 Troubleshooting
The CC256x Bluetooth Hardware Evaluation Tool is a Texas Instruments (TI) tool which can be downloaded as a complete package from the TI web site. It is a very intuitive, user-friendly tool to evaluate TI's Bluetooth chips. More specifically, it is used to configure the BT chip's properties through the Service Pack (SP) and also allows to test RF performance.
- Set device properties such as baud rate, sleep mode, XTAL support, etc.
- RF performance testing
- FCC certification testing
- SIG certification testing
Not Used For:
- Transmitting/Recieving messages
- Running Bluetooth stack
- Bluetooth Sniffing
The testing can be done for both BR and BLE devices. Please load the corresponding SP for the device. The CC256x PC Tool controls a TI Bluetooth device from a computer by sending and receiving Host Controller Interface (HCI) commands. Current functionality includes loading Service Packs and putting the device in specific test modes.
The following table lists some of the abbreviations/acronyms used in this page:
|BTS||File Format for Service Packs|
|SP||Same as Service Pack, service patch, patch, init script|
|CC256x||TI's Latest Single-Chip Bluetooth Device|
|CC256x Bluetooth Hardware Evaluation Tool|
Basic Rate(BT V2.1+EDR)
|BLE||Bluetooth Low Energy(BT V4.1)|
|HCI||Host Controller Interface|
|GUI||Graphical User Interface|
The CC256x Bluetooth Hardware Evaluation Tool is a java program which can be downloaded as a complete package from Texas Instruments. The
following is a list of its minimum system requirements:
- Microsoft Windows® XP operating system
- Pentium® II processor
- 64 MB of RAM
- Hard disk drive with 100MB free space
- Serial Communication Port (RS-232) or USB Port (using Virtual COM Port)
- Java SE Runtime Environment 7u7 (Windows x86): </span>
- Latest Service Pack: http://processors.wiki.ti.com/index.php/CC256x_Downloads
To install the software, download the package from (product site) under "Tools & Software " section and follow the InstallAnywhere prompts to install the package.
Note: Direct Link: CC256x Bluetooth Hardware Evaluation Tool
You should see the following window after successfully running the installer, just ignore the warnings and click "Done":
After installing, you can access the PC Tool using the Start menu:
Start>Texas Instruments>CC256x Bluetooth Hardware Evaluation Tool v0.5>CC256x Bluetooth Hardware Evaluation Tool:
Alternatively, you can click on the CC256x Bluetooth Hardware Evaluation Tool Folder to find the Tool.
This will open up the GUI for the PC Tool. The CC256x Bluetooth Hardware Evaluation Tool wiki link(the one you are reading now) is also conveniently provided in this directory for easy access.
Setting Java Path
If GUI does not show up, please make sure that your PATH includes Java such as: C:\Program Files (x86)\Java\jre7\bin
Change line 4 to:
start "C:\Program Files (x86)\Java\jre7\bin\javaw -jar" BT_TOOL_EXE.jar
If running into an issue of the Port chooser window not opening, you need to copy the RXTXcomm.jar and rxtxSerial.dll files from:
C:\ti\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\v1.0\BT_TOOL_EXE_lib\
C:\ti\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\v1.0\
and restart the application.
The BT device(Controller) interfaces to the MCU (Host) using HCI interface. The PC Tool also uses HCI commands to communicate with the BT device. The HCI provides a uniform interface
method of accessing a Bluetooth Controller’s capabilities.
There are several ways for the PC Tool to communicate with the BT device. One way is that is it interfaced to the Host CPU/MPU in which the Host CPU/MPU is in a transparent mode. Transparent mode means it will just pass data coming from the PC to the CC256x device and vice-versa. The other way it can be interfaced is that the PC is directly connected to the HCI interface of the CC256x device without the CPU/MPU present. This can be done using a USB/Serial converter to translate the USB voltage levels from the PC to the Serial voltages of the CC256x device. First we will go over the generic setup and the required connections that need to be made, then we will show an example that meets all the setup requirements.
The following figure represents a generic setup to use the CC256x PC Tool:
*Implementations may vary
The CC256x device requires at least these 3 major connections(6 signals) in addition to power and ground. The nSHUTD is required for proper startup. The guideslines for a proper startup must be followed as described here: http://processors.wiki.ti.com/index.php/CC256x_Testing_Guide#Device_Power_Up
The slow clock must also be provided in order for the CC256x to function. The HCI consists of four signals(TX,RX,RTS,CTS) collectively called H4 UART, which should be interfaced to communicate with the CC256x device using HCI protocol as described in the Bluetooth specifications.
Example A: Transparent Mode
In this setup, the Host CPU/MPU is the MSP430. The MSP430 is running a program which puts it in transparent mode (as shown below). As stated earlier, transparent mode will just pass data coming from the PC to the CC256x device and vice-versa. The USB signals are converted to UART signal on the MSP430 Experimenter's board(red board) as shown below and passed through HCI UART lines to the CC256x device. The MSP430 also provides the slow clock and nSHUTD signals. The MSP-EXP430F5438 board configurations are shown here.
For example, the transparent code for the Experimenter board is found in this relative directory: C:\TI\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\vX.X\TI Transparent MSP430 PAN1323ETU\MSP-EXP.
You can use an IDE to compile and download the source code or just flash the binary following the FETPRO Tool Setup Guide
*Note also the CC256x has 1.8V I/O pins.
A Quick Tour of the CC256x Bluetooth Hardware Evaluation Tool
Now we will go through some simple steps to use the PC Tool for a simple use case, to execute a continous spectrum at a particular frequency. The three main things to do is(in order):
- Connect to the serial port
- Loading the Service Pack
- Send RF Test Mode commands
The ordering make sense since you have to first connect to the device before communication can take place. Then you have to load the service pack which is required for the BT device to function properly. The you can send the HCI commands corresponding to the different test modes the BT device can be placed.
Connecting to Serial Port
There are multiple ways CC256x PC Tool allows the user to connect to a Serial COM port. By default, all TI Bluetooth device
are configured to work with the following settings:
- Baud Rate: 115,200 bps
- Flow Control: Hardware
The PC Tool will automatically for a COM port number in the file "COMsaved" and connect to that COM port when it is opened. If that is unsuccessful, it will automatically pop up a window saying COM port is not found. If COM port is not found, the user can initiate a Manual connection as described next. The following is a screenshot of PC Tool first opened up and automatically connected to the serial port, in this case it is connected to COM3:
To initiate serial port connection manually, click Setting -> Serial Port. A "Port Chooser" window will pop up for the user to select the corresponding COM port (using the drop down menu) to the BT device. The program will then save that COM port information in "COMsaved" and will try to connect automatically to that COM port next time the program is opened.
Loading Service Pack
Click on Browse to look for the BTS file and open it. The Status will then changed to "Received BTS file". Reset the target BT device then click on "SEND" to load the service to the CC256x BT device.
The user can also load the Service Pack by using the Menu bar: File ->Open.
Modifying Service Pack
After loading SP, Modify SP button will be enabled.
- Click on one of the configuration options on the right panel which will pop up a window.
- Press "OK" to set the changes.
- Press "Save as..." to save the changes as BTS format (.bts) or C array (.h).
- Enables support for 26MHz crystal.
- Configures output power of BT/BLE radio
Note: CC256x QFN device EDR2 and EDR3 max output power should be limited to 8 dBm as stated in the datasheet.
- Used to turn on low power sleep mode
Note: Must turn off if host does not support the sleep mode protocol if it is already enabled in the SP.
- Configure the baud rate to communicate to the CC256x controller from the host
Converting Service Pack to C array (For MCU)
The BHET tool can also be used to convert the BTS format of the SP to a C array. Basic steps include:
- Load SP in BTS format
- Save as ".h" file (File > Save as..)
Then the C array can be found in the textfile where the file was saved and can be copy/pasted to any source code.
Add to TI’s Bluetooth Stack SDK
In the SDK, in BTPSVEND.c, open the right header file containing the patch used ("__SUPPORT_CC256XB_PATCH__" might be defined in project settings):
/* By default we will include the CC256X patch. This can be used on */ /* the CC2560A, and CC2564 TI Chipsets. */
> #include "CC256X.h"
> #include "CC256XB.h"
After opening the correct header file, you will see two arrays. One is the BasePatch which is the base SP, the other is the LowEnergyPatch which is the add-on for enabling BLE on the CC256x. The bytes correspond to mixture of HCI commands sent to the CC256x device by the host processor.
Combining Service Packs (For Linux)
Note: When using add-ons on a Linux Host with the CC256x device, you must combine the Main init script with Add-on init script.
Step-by-step instructions for combining CC256X bts scripts (for Linux) : CC256x Service Pack User's Guide
Send RF Test Mode commands
After connecting to the serial port and loading the Service Pack to the CC256x, click on one of the test modes in the left panel on the RF Testing tab. Then choose the appropriate parameters in the dropdown boxes in the right panel. Click on "SEND" to load the service pack to the BT device.
After pressing the Send button, you should observe the messages as shown above on the debug trace corresponding to the Test mode (in this case, Continuous TX). You should also observe on the spectrum analyzer a spectrum centered on Channel 0 similar to:
Detailed Description of the CC256x Bluetooth Hardware Evaluation Tool
In this section, we will provide a more detailed description of the features and function of the BT Tool. We will go over the 3 main sections of the CC256x PC Tool GUI:
- Menu Bar
- Debug Trace
|Open||Same as "Browse" button. Opens BTS file.|
|Quit||Quits the program|
|Select Port||Manually connect to COM port to BT device|
|Clear Trace||Clears the debug trace|
|About||Displays Version Info|
The program thus far contains two tabs:
|CC256x SP||Load the SP|
|RF Testing||Puts the BT device into specific test modes|
This tab is used to load the SP. The main features of this tab includes:
|BROWSE||Browses for BTS file in file directory|
|PATH||Displays the absolute path to the currently selected BTS file|
|Status||Displays Status information relating to the BTS file|
|SEND||Sends the BTS file to the BT device|
This tab is used to put the BT device into specific test modes. This tab is split into two panes, Test Modes and Test Parameters, and two buttons, Send and Cancel:
|Test Modes||Click on one of the buttons to select test mode|
|Test Parameters||Configure the parameters for the test mode|
|Cancel||Cancels Test Mode/Displays blank|
|Send||Sends test mode commands|
Now we will describe the individual test modes:
|Continuous TX||BT device continously transmits at a particular frequency, modulation, and power|
|Continuous RX||Sets BT device to receive continuously at a particular channel|
|Packet TX/RX||BT device continously transmits packets at particular frequency, packet type, etc...|
|BT RF SIG Mode||Put the device into Device Under Test mode to be used with Bluetooth Tester|
Now we will describe the parameters to each test mode:
User can select 5 modulations:
|GFSK||Gaussisan Frequency Shift Keying modulation (1 Mbps)|
|Pi/4 DPSK||aka 2-EDR (2 Mbps)|
|8 DPSK||aka 3-EDR (3 Mbps)|
Select the channel to receive on and select loop mode:
Packet TX RX
The user can select the parameters here to select the type of packets to transmit continuously:
BT RF SIG Mode
You will enter SIG Test Mode by clicking the ENTER TEST MODE button:
The Debug Trace shows the output and input serial commands sent to and from the BT device. This trace is useful for debugging purposes. The following lists summarizes the functions of the Debug Trace:
- Shows serial port connection status
- Font color changes to red when error occurs in transmitting/receiving serial data
- Lists all outgoing bytes sent to the BT device and incoming bytes returned from BT device
As usual if it doesn't work the first time, please try closing the program, reset board, browse for bts file and send again.
|1||COM Port Time Out after loading SP||Use modified SP to make sure sleep mode is [disabled]|
|2||COM Port Time Out before loading SP||Reset the board|
|3||SP does not load||Reset the board|
|4||Port Chooser does not show (Settings>Select Port)||Re-install JRE|