NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

CC256x Production Line Testing Guide

From Texas Instruments Wiki
Jump to: navigation, search

Return to CC256x Main Wiki


These tests are used at the production line after designing the board with the CC256x Bluetooth device. This is to sanity check the board works properly and detect any major design issues and manufacturing defects. For each of the tests on this page there are three formats of instructions given. The first is a generic pseudo code, the second are the parameters to pass to HCI_Send_Raw_Command() in the Bluetopia stack with a micro-controller and the third is the Linux equivalent using either hcitool or SS1Tool which have the same syntax and so are interchangeable.

Connection-less Tests

Receiver Test

The connection-less PLT is a bit error rate (BER) test of the DUT. It is primarily for testing of BT sensitivity (-70dBm per BT standard).

Note: Observe maximum RF input power during PLT test (-5dBm for BR and -10dBm for EDR).

BT PLT mode.jpg

The VS HCI commands for the PLT test mode are below. See [HCI VS Commands] for more info on syntax.

HCI_VS_DRPb_BER_Meter_Start 0xFD8B, 0, 0, 0x123456781234, 1, 0x1, 27, 1000, 0x1FF, 0x1
Command_OGF = 0x3f;
Command_OCF = 0x18B;
Command_Data = [0x00, 0x00, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x01, 0x01, 0x1B, 0x00, 0xE8, 0x03, 0xFF, 0x01, 0x01];
Command_Length = 17;
#./SS1Tool cmd 0x3f 0x18B 0x00 0x00 0x34 0x12 0x78 0x56 0x34 0x12 0x01 0x01 0x1B 0x00 0xE8 0x03 0xFF 0x01 0x01 

Delay 5000 (ms)

HCI_VS_DRP_Read_BER_Meter_Result 0xFD13
Command_OGF = 0x3f;
Command_OCF = 0x113;
Command_Data = [0x0];   // not used but just define a single byte
Command_Length = 0;
#./SS1Tool cmd 0x3f 0x113

The procedure is to send the first VS HCI command (HCI_VS_DRPb_BER_Meter_Start) which starts the BER function in the CC256x device. A delay equal to or longer than the time it takes to read the number of packets specified is needed before the second VS HCI command (HCI_VS_DRP_Read_BER_Meter_Result is sent to read back (event) the BER test result.

The parameters of the first command (HCI_VS_DRPb_BER_Meter_Start) can be found here.

The frequency channel, BD address, packet type and #bytes/packet must match that of the transmitter.

HCI_VS_DRP_Read_BER_Meter_Result (0xFD13) parameters

  • Finished at least one test - This value will latch and remain high once the designated number of packets are received as specified by the HCI_VS_DRPb_BER_Meter_Start 0xFD8B "Number of packets" field.
  • Number of packets received - This is the current count of the number of packets received for the current iteration of test. This number will roll over once the "Number of Packets" threshold is hit.
  • Total bits counted - This is the total number of bits received.
  • Number of errors found - Of the current bits counted, this is the number of errors that were received.

Example on how to read the results of the test

The command is: HCI_VS_DRP_Read_BER_Meter_Result 0xFD13

It does not have any parameters.

After sending the HCI_VS_DRPb_BER_Meter_Start (assuming number of packets is 1000) command, read the results using HCI_VS_DRP_Read_BER_Meter_Result command.

Given below are actual example of a sample run. The parameters to validate if one cycle has completed is "Finished at least 1 test". It will increase sequentially upon completion of each cycle (1000 packets in this example)

First execution of HCI_VS_DRP_Read_BER_Meter_Result

Finished at least 1 test     			  : 0x00                   
Number of packet received in current measurement  : 0x000000a2
Total bits counted         			  : 0x00000000                     
Number of bits error found     			  : 0x00000000         

Second execution

Finished at least 1 test     			  : 0x00                   
Number of packet received in current measurement  : 0x00000148
Total bits counted         			  : 0x00000000                     
Number of bits error found     			  : 0x00000000    

Third execution - Now there is a valid result !!!

Finished at least 1 test     			  : 0x01                  
Number of packet received in current measurement  : 0x000000b6
Total bits counted         			  : 0x0000049e                     
Number of bits error found     			  : 0x00000000  

Note: Finished at least 1 test  : 0x01 ---> after we receive 1000 packets
Note: Number of packet received in current test : 0x000000b6 is no longer relevant for the test which is completed.

If another CC256x unit is used for the BT transmitter in the PLT BER test, then the following two commands needs to be sent after the successful loading of the BT service pack:

HCI_VS_Write_BD_ADDR 0xFC06, "123456781234"
HCI_VS_DRPb_Tester_Packet_TX_RX 0xFD85, 3, 0, 0xFF, 0x1, 0x5, 0, 27, 9, 1, 0x01FF

Command_OGF = 0x3f;
Command_OCF = 0x0006;
Command_Data = [0x34, 0x12, 0x78, 0x56, 0x34, 0x12];  
Command_Length = 6;

Command_OGF = 0x3f;
Command_OCF = 0x185;
Command_Data = [0x03, 0x00, 0xFF, 0x01, 0x03, 0x00, 0x1B, 0x00, 0x0F, 0x01, 0xFF, 0x01];   
Command_Length = 12;
#./SS1Tool cmd 0x3f 0x0006 0x34 0x12 0x78 0x56 0x34 0x12
#./SS1Tool cmd 0x3f 0x0185 0x03 0x00 0xFF 0x01 0x03 0x00 0x1B 0x00 0x0F 0x01 0xFF 0x01

where the first VS HCI command sets the BD address of the TX device, as the DUT device needs to know the specific BD address of the transmitter. The second VS HCI command | HCI_VS_DRPb_Tester_Packet_TX_RX sets the transmitter characteristics.

The other unit can be any golden unit which has been fully characterized including the CC256x. Also some testers that can be used to carry out this test include the LitePoint IQ2010 and Agilent N4010A.

Transmitter Test

Refer to Continuous TX in CC256x Testing Guide

Connection-Oriented Tests

The following subset of the BT SIG RF testing is recommended.

Transmitter Test

TRM/CA/01/C Tx Output Power - Low, Mid and High Channels
TRM/CA/08/C Initial Carrier Frequency - Low, Mid and High Channels

Receiver Test

RCV/CA/07/C EDR Sensitivity - Low, Mid and High Channels