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 processors.wiki.ti.com. The site is now set to read only.
CC256x Production Line Testing Guide
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.
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).
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)
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
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.
The following subset of the BT SIG RF testing is recommended.
- TRM/CA/01/C Tx Output Power - Low, Mid and High Channels
- TRM/CA/08/C Initial Carrier Frequency - Low, Mid and High Channels
- RCV/CA/07/C EDR Sensitivity - Low, Mid and High Channels