MP tool user guide for linux20180319
:::info 文档信息
页数:35 · 语言:英文
原始文档:MP tool user guide for linux20180319.pdf
:::
在线预览
若预览无法显示,请直接下载 PDF 后用本地阅读器打开。
Realtek
Bluetooth
MP Flow
(Linux)
Date: 2018/03/19
This document is subject to change without notice. The document contains Realtek confidential information and must not be disclosed to any third party without appropriate NDA.
1. Overview
This document is used to introduce MP (Mass Production) test tool for Realtek Bluetooth chip series. Customers should comply with the steps and requirements under this document. Contact Realtek Bluetooth FAE if any problem arises in the use of MP flow.
2. Prerequisites
Before MP tool startup, below items should be checked: a) The Bluetooth Chip embedded is provided by Realtek;
| Realtek Bluetooth Chip Number | |
|---|---|
| RTL8723B series | |
| RTL8761A series | |
| RTL8821A series | |
| RTL8703B series | |
| RTL8723D series | |
| RTL8822B series | |
| RTL8821C series |
b) The Bluetooth on target production is available and works normally;
2.1 Binary Files
MP tool package is provided to customers in binary format: rtlbtmp MP cmd tool mp_rtl8723b_fw, mp_rtl8723b_config 8723b MP firmware and configure files mp_rtl8761a_fw, mp_rtl8761a_config 8761a MP firmware and configure files mp_rtl8821a_fw, mp_rtl8821a_config 8821a MP firmware and configure files mp_rtl8703b_fw, mp_rtl8703b_config 8703b MP firmware and configure files mp_rtl8723d_fw, mp_rtl8723d_config 8723d MP firmware and configure files mp_rtl8822b_fw, mp_rtl8822b_config 8822b MP firmware and configure files mp_rtl8821c_fw, mp_rtl8821c_config 8821c MP firmware and configure files
Customers should copy these binary files to respective directories on target production: rtlbtmp --> /usr/sbin/rtlbtmp chmod 755 /usr/sbin/rtlbtmp mp_rtlxxx_fw, mp_rtlxxx_config --> /lib/firmware
Notice: If customer use 8723b chip, then the mp_rtlxxx_config's name must be mp_rtl8723b_config, so as to other chips. Customers should copy the normal config file and rename it to mp_rtlxxx_conifg.
3. MP Tool Usage
3.1 MP Initial Commands
These commands used to initialize Bluetooth DUT in MP mode are listed as below:
| MP Command | Parameters | Return | Description |
|---|---|---|---|
| rtlbtmp | None | [success] | Start the MP CMD tool. |
| enable | USB: enable usb:/dev/rtk btusb _ | [success] | Enable USB I/F Bluetooth MP stack and download FW code. Device node is fixed as rtk btusb. _ |
| UART5: enable uart:/dev/ttyS0 enable uart5:/dev/ttyS0 UART4: enable uart4:/dev/ttyS0 | [success] | Enable Uart I/F Bluetooth MP stack and download FW code. Device node is chosen by vendor specifically. H5 (UART5) or H4 (UART4) is determined by the chip configurations. Customers can consult FAE for detailed information. | |
| disable | None | [success] | Disable Bluetooth MP stack and close the device. |
| quit | None | None | Exit from the MP CMD tool. |
| help | None | None | List all MP CMDs supported. |
NOTE: Before running the MP CMD tool, BT on UI settings should be disabled; otherwise, MP tool will be at abnormal status.
3.1.1 Start MP CMD Tool
# rtlbtmp
3.1.2 Enable MP Stack
Check Bluetooth stack HCI interface first, then run the enable MP stack CMD. > enable usb:/dev/rtk_btusb // usb I/F > enable uart:/dev/ttyS0
// uart I/F, device node specified by vendor (platform)
3.1.3 Disable MP Stack
> disable
3.1.5 Exit MP Tool
> quit
3.1.6 Lookup MP CMDs
> help
3.2 MP Mode Control Parameters Commands
3.2.1 Control Parameters Commands Format
These commands used to set/get Bluetooth DUT parameters.
| MP Command | Parameters | Return | ||
|---|---|---|---|---|
| bt mp SetParam _ _ | Return Index | Return Status | ||
| Index0,value0;Index1,value1;...;IndexN,valueN | ||||
| bt mp GetParam _ _ | Return Index | Return Status | Return Value | |
| Index |
TABLE CONTROL_PARAM_CMD
3.2.2 Control Commands: Set/Get parameter command
You can use “bt_mp_SetParam” to set parameters and can use ”bt_mp_GetParam” to check it. The Format is “bt_mp_SetParam Index0,value0; Index1,..;IndexN,valueN”.
Example : If you want to set the channel 10 and packet type “BT_PKT_3DH5”, you can use” bt_mp_SetParam 0x01,0x0a;0x02,0x08”
Or set channel and packet type separately.
Usebt_mp_GetParam to check parameter settings. The parameter Indexes define in “PARAM_INDEX” Table.
| INDEX | VALUE | Length | Value Range | Table Index | |||||
|---|---|---|---|---|---|---|---|---|---|
| (Byte) | |||||||||
| 0 | PGRawData | 256 | Row data | None | |||||
| 1 | ChannelNumber | 1 | 0~78 | None | |||||
| 2 | PacketType | 1 | 0~9 | See PKT TYPE _ | |||||
| 3 | PayloadType | 1 | 0~7 | See PAYLOAD TYPE _ | |||||
| 4 | TxPacketCount (only for packet tx) | 2 | 0~0x3FFF | See Section3.2.3 | |||||
| 6 | WhiteningCoeffValue | 1 | 0x00~0x7F | 0x00~0x7F: Enable Whitening 0x80: Disable Whitening | |||||
| 7 | TxGainIndex | 1 | Realtek define | See Section3.2.5 | |||||
| 9 | PacketHeader | 4 | 0x0~0x3FFFF | See PACKET HEADER _ | |||||
| 10 | HoppingFixChannel (for Hopping mode) | 1 | 0 : Disable 1 : Enable Fix Channel | None | |||||
| 11 | HitTarget | 6 | 6 bytes | None | |||||
| 14 | Xtal | 4 | 0~0x3F | None | |||||
| 15 | LEDataLen | 1 | 0~0x25 | None |
Table PARAM_INDEX
The packet types are defined in Table PKT_TYPE:
| NAME | INDEX | Payload Length in bits | ||
|---|---|---|---|---|
| BT PKT DH1 _ _ | 0 | 0~27*8 | ||
| BT PKT DH3 _ _ | 1 | 0~183*8 | ||
| BT PKT DH5 _ _ | 2 | 0~339*8 | ||
| BT PKT 2DH1 _ _ | 3 | 0~54*8 | ||
| BT PKT 2DH3 _ _ | 4 | 0~367*8 | ||
| BT PKT 2DH5 _ _ | 5 | 0~679*8 | ||
| BT PKT 3DH1 _ _ | 6 | 0~83*8 | ||
| BT PKT 3DH3 _ _ | 7 | 0~552*8 | ||
| BT PKT 3DH5 _ _ | 8 | 0~1021*8 | ||
| BT PKT LE _ _ | 9 | 0~39*8 |
Table PKT_TYPE
The payload types are defined in Table PAYLOAD_TYPE.
| NAME | INDEX | |
|---|---|---|
| BT PAYLOAD TYPE ALL0 _ _ _ | 0 | |
| BT PAYLOAD TYPE ALL1 _ _ _ | 1 | |
| BT PAYLOAD TYPE 0101 _ _ _ | 2 | |
| BT PAYLOAD TYPE 1010 _ _ _ | 3 | |
| BT PAYLOAD TYPE 0x0 0xF _ _ _ _ | 4 | |
| BT PAYLOAD TYPE 0000 1111 _ _ _ _ | 5 |
| BT PAYLOAD TYPE 1111 0000 _ _ _ _ | 6 |
|---|---|
| BT PAYLOAD TYPE PRBS9 _ _ _ | 7 |
Table PAYLOAD_TYPE
| Packet type | Payload(Bits) | Packet Header Hex |
|---|---|---|
| DH1 | 216 | 33820 |
| DH3 | 1464 | 39858 |
| DH5 | 2712 | A078 |
| 2DH1 | 432 | 33820 |
| 2DH3 | 2936 | C050 |
| 2DH5 | 5432 | 3F870 |
| 3DH1 | 664 | 15C40 |
| 3DH3 | 4416 | 39858 |
| 3DH5 | 8168 | A078 |
Table PACKET_HEADER
3.2.3 TxPacketCount parameter
TxPacketCount is used to set how many TX packets will be transmitted. The range of TxPacketCount is from 0 to 0xFFF. In UI mode, the value of TxPacketCount is “0” that means to send the most tx packet counts “0xFFF”. In FW mode, the value of TxPacketCount is “0” that means to send tx packet counts continuously.
3.2.4 WhiteningCoeffValue parameter
The range of WhiteningCoeffValue is from 0 to 0x7F. However, if WhiteningCoeffValue is “0x80”, it means to disable whitening. 3.2.5 TxGainIndex parameter
| IC TYPE | MODE | GET DEFAULT POWER | USED by “bt mp Exec” _ _ | ||||
|---|---|---|---|---|---|---|---|
| COMMAND | |||||||
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | “bt mp Exec” _ _ 12 | ||||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||||
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||||
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | “bt mp Exec” _ _ 30 | |||||
| Get Tx Power Info | “bt mp Exec” _ _ | ||||||
| #./ bt mp Exec 38 _ _ | |||||||
| #./bt mp Report 17 _ _ | 12~14(pkt tx) | ||||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | 15~17(cont tx) | |||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | 18~20(pkt rx) | |||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | 28~29(le cont tx) | ||||
| tx index. | |||||||
| 30~31(pkt tx) | |||||||
| 32~33(pkt rx) | |||||||
| 34~35(cont tx) | |||||||
| 36~37(le cont tx) |
Only in packet tx, the UI mode and FW mode are different. In other operations they are the same. In UI mode, the value of TxPacketCount is “0” that means to send packet “0xFFF”counts. In FW mode, the value of TxPacketCount is “0” that means to send packets continuously.
3.3 MP Mode execute Commands
Using this command to control bt mp action, and get current report.
| MP Command | Parameters | Return | |
|---|---|---|---|
| bt mp Exec _ _ | Action | Return Action | Return Status |
You can use “bt_mp_Exec ACTION_INDEX”. The definition of ACTION_INDEX can refer to “BT_ACTIONCONTROL_TAG” Table. Example: If you want to run “PACKET_TX_START” this action, please use the “bt_mp_Exec 12” command. On the contrary “bt_mp_Exec 14” is “PACKET_TX_STOP”.
| Support Chip | |||
|---|---|---|---|
| RTL8723B | RTL8723D | ||
| Command | Index | ||
| RTL8761A | RTL8821C | ||
| RTL8821A | RTL8822B | ||
| HCI RESET _ | 0 | ▓ | ▓ |
| TEST MODE ENABLE _ _ | 1 | ▓ | ▓ |
| WRITE EFUSE DATA _ _ | 2 | ▓ | ▓ |
| SET TX GAIN TABLE _ _ _ | 3 | ▓ | ▓ |
| SET TX DAC TABLE _ _ _ | 4 | ▓ | ▓ |
| SET DEFAULT TX GAIN TABLE _ _ _ _ | 5 | ▓ | ▓ |
| SET DEFAULT TX DAC TABLE _ _ _ _ | 6 | ▓ | ▓ |
| SET POWER GAIN INDEX _ _ _ | 7 | ▓ | ▓ |
| SET POWER GAIN _ _ | 8 | ▓ | ▓ |
| SET POWER DAC _ _ | 9 | ▓ | ▓ |
| SET XTAL _ | 10 | ▓ | ▓ |
| REPORT CLEAR _ | 11 | ▓ | ▓ |
| PACKET TX START _ _ | 12 | ▓ | |
| PACKET TX UPDATE _ _ | 13 | ▓ | |
| PACKET TX STOP _ _ | 14 | ▓ | |
| CONTINUE TX START _ _ | 15 | ▓ | |
| CONTINUE TX UPDATE _ _ | 16 | ▓ |
| CONTINUE TX STOP _ _ | 17 | ▓ | |
|---|---|---|---|
| PACKET RX START _ _ | 18 | ▓ | |
| PACKET RX UPDATE _ _ | 19 | ▓ | |
| PACKET RX STOP _ _ | 20 | ▓ | |
| HOPPING DWELL TIME _ _ | 21 | ▓ | ▓ |
| LE TX DUT TEST CMD _ _ _ _ | 22 | ▓ | ▓ |
| LE RX DUT TEST CMD _ _ _ _ | 23 | ▓ | ▓ |
| LE DUT TEST END CMD _ _ _ _ | 24 | ▓ | ▓ |
| READ EFUSE DATA _ _ | 25 | ▓ | ▓ |
| LE CONTINUE TX START _ _ _ | 28 | ▓ | |
| LE CONTINUE TX STOP _ _ | 29 | ▓ | |
| FW PACKET TX START _ _ _ | 30 | ▓ | |
| FW PACKET TX STOP _ _ _ | 31 | ▓ | |
| FW PACKET RX START _ _ _ | 32 | ▓ | |
| FW PACKET RX STOP _ _ _ | 33 | ▓ | |
| FW CONTINUE TX START _ _ _ | 34 | ▓ | |
| FW CONTINUE TX STOP _ _ _ | 35 | ▓ | |
| FW LE CONTINUE TX START _ _ _ _ | 36 | ▓ | |
| FW LE CONTINUE TX STOP _ _ _ _ | 37 | ▓ | |
| FW READ TX POWER INFO _ _ _ _ | 38 | ▓ |
Table BT_ACTIONCONTROL_TAG
3.4 MP Mode Report Commands
These commands used to report Bluetooth DUT TX/RX status are listed as below: #./bt_mp_Report “Item Index”
| Item | Return | |||||
|---|---|---|---|---|---|---|
| Item Index | ||||||
| Index | ||||||
| PKT TX = 1 | 1 | Status | TXBits | TxCounts | ||
| 2 | Status | TXBits | TxCount s | |||
| CONT TX = 2 | ||||||
| PKT RX = 3 | 3 | Status | RxRssi | RXBits | RxCounts | RxErrorBits |
| Tx Gain Table = 4 | 4 | Status | Tx Gain Table | |||
| Tx DAC Table = 5 | 5 | Status | Tx DAC Table | |||
| Xtal = 6 | 6 | Status | Xtal | |||
| Thermal = 7 | 7 | Status | Thermal | |||
| Stage = 8 | 8 | Status | Stage | |||
| Efuse = 10 | 10 | Status | Efuse | |||
| LE RX = 11 | 11 | Status | RxCounts | |||
| LE CONT TX=12 | 12 | Status | TXBits | TxCounts |
| FW PKT TX=13 _ _ | 13 | Status | TXBits | TxCounts | |||
|---|---|---|---|---|---|---|---|
| FW CONT TX=14 _ _ | 14 | Status | TXBits | TxCounts | |||
| FW PKT RX=15 _ _ | 15 | Status | RxRssi | RXBits | RxCounts | RxErrorBits | |
| FW LE CONT TX=16 _ _ _ | 16 | Status | TXBits | TxCounts | |||
| 17 | Status | Max tx power index | 1M default tx power index | 2M default tx power index | 3M default tx power index | LE default tx power index | |
| TX POWER INFO=17 _ _ |
4. RF Test Mode (Certification)
This chapter describes the entering BQB test and RF safety testing
4.1 Direct Test Mode - BR/EDR (BQB Certification)
Enter the Bluetooth device to Bluetooth DUT Test and stop DUT Test Mode command below: --Enter DUT Test Mode: Use bt_mp_Exec(TEST_MODE_ENABLE) to enter Bluetooth test mode. --Stop Test Mode Use bt_mp_Exec(HCI_RESET) to stop Bluetooth test mode.
The Test connection diagram :
Bluetooth test Bluetooth device Air instrument
For example by ADB for android : ex usb interface and use Anritsu 8852B to test (a) Enter MP Mode and download patch code
(b) Enter DUT MP Mode
(c) Begin MP test by Bluetooth test instrument (e.g. Anritsu 8852B) (d) bt_mp_Exec(HCI_RESET) to stop test.
(e) exit MP Mode
4.2 TX Test- BR/EDR (Certification)
In order to transmit a continuous signal, follow the process below: Step0: Get default tx power index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | ||||
| Get Tx Power Info | |||||
| #./ bt mp Exec 38 _ _ | |||||
| #./bt mp Report 17 _ _ | |||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |||
| tx index. |
Step1: bt_mp_SetParam
| INDEX | VALUE | ||
|---|---|---|---|
| 1 | ChannelNumber | ||
| 2 | PacketType | ||
| 3 | PayloadType | ||
| 6 | WhiteningCoeffValue | ||
| 7 | TxGainIndex | ||
| 9 | PacketHeader | ||
| 11 | HitTarget |
Step2: bt_mp_Exec(CONTINUE_TX_START = 15) or (FW_CONTINUE_TX_START=34)
Step3: bt_mp_Report 2
Step4: bt_mp_Exec(CONTINUE_TX_STOP = 17) or (FW_CONTINUE_TX_STOP=35)
4.3 LE Direct Test Mode (BQB Test)
After testing BT4.0 only enable device and download patch code, you should jump interface to the instrument. Step 1:rtlbtmp Step 2:enable (xxxxxxxx) Step 3: Jump hardware interface to the instrument. Step 4:Begin test. BLE is a schematic diagram of the test for Certification:
4.4 LE Certification TX Mode(Certification)
In order to facilitate RF safety testing, such as the band edge. We often use to facilitate continuous tx RF safety testing. eg.Bandedge Step0: Get default tx power index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 |
| RTL8761A | FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | |||
|---|---|---|---|---|---|
| Get Tx Power Info | |||||
| #./ bt mp Exec 38 _ _ | |||||
| #./bt mp Report 17 _ _ | |||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |||
| tx index. |
Step1: bt_mp_SetParam : Channel Number = 0~39
| INDEX | VALUE | ||
|---|---|---|---|
| 1 | ChannelNumber | ||
| 7 | TxGainIndex |
Step2: bt_mp_Exec(LE_ CONTINUE _TX _START = 28) or
(FW_LE_CONTINUE_TX_START=36)
Step3: bt_mp_Exec(LE_ CONTINUE _TX _STOP = 29) or (FW_LE_CONTINUE_TX_STOP=37)
4.5 Hopping Test Mode(Certification- Dwell time)
In order to start hopping mode test, follow the steps below: Step 1: bt_mp_SetParam….(to setting packet type:DH1,DH2….3DH5)
| NAME | INDEX | ||
|---|---|---|---|
| BT PKT DH1 _ _ | 0 | ||
| BT PKT DH3 _ _ | 1 | ||
| BT PKT DH5 _ _ | 2 | ||
| BT PKT 2DH1 _ _ | 3 | ||
| BT PKT 2DH3 _ _ | 4 | ||
| BT PKT 2DH5 _ _ | 5 | ||
| BT PKT 3DH1 _ _ | 6 | ||
| BT PKT 3DH3 _ _ | 7 |
| BT PKT 3DH5 _ _ | 8 |
|---|---|
| BT PKT LE _ _ | 9 |
| BT PKT NULL _ _ | 10 |
| INDEX | VALUE | ||
|---|---|---|---|
| 2 | PacketType | ||
| 10 | HoppingFixChannel (0 or 1) | ||
| 1 | ChannelNumber (0~78) | ||
| 6 | WhiteningCoeffValue |
Step 2: bt_mp_Exec(HOPPING_DWELL_TIME = 21) Step 3: bt_mp_Exec(HCI_RESET = 0) to disable hopping mode. PS. If HoppingFixChannel = 1, it enable fix channel that is controlled by “ChannelNumber”. If HoppingFixChannel = 0, “ChannelNumber” is useless.
5. MP Mode Test Control Steps (Certification)
5.1 DUT Single Tone TX Mode
To Set Single-Tone Tx, step by step:
Step0: Get default tx power index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 |
| RTL8761A | FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | |||
|---|---|---|---|---|---|
| Get Tx Power Info | |||||
| #./ bt mp Exec 38 _ _ | |||||
| #./bt mp Report 17 _ _ | |||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |||
| tx index. |
Step1: bt_mp_SetParam
| INDEX | VALUE | ||
|---|---|---|---|
| 1 | ChannelNumber | ||
| 2 | PacketType | ||
| 3 | PayloadType | ||
| 6 | WhiteningCoeffValue | ||
| 7 | TxGainIndex | ||
| 9 | PacketHeader | ||
| 11 | HitTarget |
Set fix parameter list below as:
PacketType=3DH5;
PayloadType=ALL0;
TxPacketCount=Infinite;
WhiteningCoeffValue =0xFF(disable);
TxGainIndex=7;
PacketHeader=0XA078;
HitTarget=0x000000c6967e
In this example we use 0X3FFFF that different PACKET_HEADER, please check PACKET_HEADER table. Step2: Execute : CONTINUE_TX_START = 15 or FW_CONTINUE_TX_START=34
Step 3: Stop Single-Tone Tx. CONTINUE_TX_STOP = 17 or FW_CONTINUE_TX_STOP=35
5.2 DUT TX Mode(MP)
In order to transmit a packet signal, follow the process below: Step0: Get default tx power index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index |
| The range of “TxGainIndex” value is from 0 to max tx index. | |||
|---|---|---|---|
| Get Tx Power Info | |||
| #./ bt mp Exec 38 _ _ | |||
| #./bt mp Report 17 _ _ | |||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |
| tx index. |
Step1: bt_mp_SetParam….
| INDEX | VALUE | ||
|---|---|---|---|
| 1 | ChannelNumber | ||
| 2 | PacketType | ||
| 3 | PayloadType | ||
| 4 | TxPacketCount | ||
| 6 | WhiteningCoeffValue | ||
| 7 | TxGainIndex | ||
| 9 | PacketHeader | ||
| 11 | HitTarget |
Step2: bt_mp_Exec(PACKET_TX_START =12) or (FW_PACKET_TX_START=30) Step3: bt_mp_Report 1 (if need report, to do..) Step4: bt_mp_Exec(PACKET_TX_STOP =14) or (FW_PACKET_TX_STOP=31)
5.2 DUT RX Mode(MP)
In order to receive a packet signal, follow the process below: Step1: bt_mp_SetParam….
| INDEX | VALUE | ||
|---|---|---|---|
| 1 | ChannelNumber | ||
| 2 | PacketType | ||
| 3 | PayloadType | ||
| 6 | WhiteningCoeffValue | ||
| 9 | PacketHeader | ||
| 11 | HitTarget |
Step2: bt_mp_Exec(PACKET_RX_START =18) or (FW_PACKET_RX_START=32) Step3: bt_mp_Report 3 Step4: bt_mp_Exec(PACKET_RX_STOP=20) or (FW_PACKET_RX_STOP=33)
PS. bt_mp_Report 3” should be excuted every 1s.
5.3 LE DUT Test Mode-TX/RX (MP)
To start LE TX DUT test mode, follow the steps below: Step0: Get default tx power index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | ||||
| Get Tx Power Info | |||||
| #./ bt mp Exec 38 _ _ | |||||
| #./bt mp Report 17 _ _ | |||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |||
| tx index. |
Step 1: bt_mp_SetParam
| INDEX | VALUE | Value Range | |||
|---|---|---|---|---|---|
| 1 | ChannelNumber | 0~39 | |||
| 3 | PayloadType | BT LE PAYLOAD TYPE PRBS9 = 0, _ _ _ _ BT LE PAYLOAD TYPE 1111 0000 = 1, _ _ _ _ _ BT LE PAYLOAD TYPE 1010 = 2, _ _ _ _ BT LE PAYLOAD TYPE PRBS15 = 3, _ _ _ _ BT LE PAYLOAD TYPE ALL1 = 4, _ _ _ _ BT LE PAYLOAD TYPE ALL0 = 5, _ _ _ _ BT LE PAYLOAD TYPE 0000 1111 = 6, _ _ _ _ _ BT LE PAYLOAD TYPE 0101 = 7, _ _ _ _ | |||
| 7 | TxGainIndex | 1~MAX POWER INDEX _ _ | |||
| 15 | LEDataLen | 0x00~0x25 |
Step 2: bt_mp_Exec(LE_TX_DUT_TEST_CMD = 22) Step 3: bt_mp_Exec(LE_DUT_TEST_END_CMD=24) to stop LE TX DUT mode.
To start LE RX DUT test mode, follow the steps below: Step 1: bt_mp_SetParam
| INDEX | VALUE | Value Range | |||
|---|---|---|---|---|---|
| 1 | ChannelNumber | 0~39 |
Step 2: bt_mp_Exec(LE_RX_DUT_TEST_CMD=23) Step 3: bt_mp_Exec(LE_DUT_TEST_END_CMD=24) to stop LE RX DUT mode. Step 4: bt_mp_Report 11
6. MP Test Flow
6.1 Bluetooth Calibrates Crystal (Xtal) Cap by Non-Signaling
mode
First, take a look at eFuse content about setting of Crystal Cap. . Normal driver will load this value in initial step. So this value must be well-calibrated and filled on correct eFuse location. The flow of calibration Bluetooth step is as below:
Set Index = Measure Carrier Start to Find Index Set Single-Tone Tx InitIndex Frequency (Hz)
Abs. Value of No Set Index = Index + (TargetCFOffset - MeasuredCFOffset) / Step Set New Index for binary search MeasuredCFOffset < 2ppm
YES
Have Found Index
Finding Crystal Cap. Index Flow
InitIndex: the default value is 0x20. Index range is 0x0 to 0x3F. MeasuredCFOffset: Carrier frequency measured by instrument - Ideal Carrier Frequency Target range Abs. Value of 2ppm in 2.441GHz band is about 10KHz(±5KHz).
Step1 : Get default tx gain index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 |
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||
|---|---|---|---|---|---|
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. | ||||
| Get Tx Power Info | |||||
| #./ bt mp Exec 38 _ _ | |||||
| #./bt mp Report 17 _ _ | |||||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | ||||
| RTL8822B | 1M, 2M, 3M, LE default tx power index | ||||
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max | |||
| tx index. |
Step 2: Set Index = InitIndex(0x20)
Step 3: Set Single-Tone Tx
Channel=39;
PacketType=3DH5;
PayloadType=ALL0;
TxPacketCount=Infinite;
WhiteningCoeffValue =0xFF(disable);
TxGainIndex=7;
PacketHeader=0XA078;
HitTarget=0x000000c6967e CONTINUE_TX_START = 15 or FW_CONTINUE_TX_START=34 In this example we use 0X3FFFF that different PACKET_HEADER, please check PACKET_HEADER table.
Step 4: Stop Single-Tone Tx. CONTINUE_TX_STOP = 17 or FW_CONTINUE_TX_STOP=35
Step 5: Go to Step2and re-tune Index value until find the best Crystal index value.
6.2 Verify Bluetooth Legacy Tx Performance by Non-Signaling
mode
To measure the DUT TX power/initial Carrier offset/modulation characteristics to check Tx performance is ok or not. Bluetooth TX criterion is shown as below:
| Verify Tx DH1 | Criterion | ||||
|---|---|---|---|---|---|
| Test Item | Sub Test Item | Packet Type | Channel | ||
| Bluetooth Spec. | |||||
| Average Power | DH1 | Low (CH6- 2408MHZ) | > 0dBm | ||
| Middle (CH42- 2444MHZ) | > 0dBm | ||||
| Maximum Output Power | |||||
| High (CH70- 2472MHZ) | > 0dBm | ||||
| Delta F1 Avg. | DH1 | Low (CH6- 2408MHZ) | 140KHz ~ 175KHz | ||
| Delta F2 Max. | Middle (CH42- 2444MHZ) | > 115KHz | |||
| Modulation Characteristics | |||||
| Modulation Index | High (CH70- 2472MHZ) | > 0.8 | |||
| DH1 | Low (CH6- 2408MHZ) | -20KHz ~ 20KHz | |||
| Middle (CH42- 2444MHZ) | |||||
| Initial Carrier Frequency Error | |||||
| High (CH70- 2472MHZ) | |||||
| Verify Tx 3DH1 | Average Power | 3DH1 | Low (CH6- 2408MHZ) | > 0dBm | |
| Middle (CH42- 2444MHZ) | > 0dBm | ||||
| Maximum Output Power | |||||
| High (CH70- 2472MHZ) | > 0dBm | ||||
| RMS DEVM | 3DH1 | Low (CH6- 2408MHZ) | 0.13 | ||
| Peak DEVM | Middle (CH42- 2444MHZ) | 0.25 | |||
| Modulation Characteristics | |||||
| 99% DEVM | High (CH70- 2472MHZ) | 0.20 | |||
| Initial Carrier Frequency Error | 3DH1 | All | -20KHz ~ 20KHz |
Table The recommended test items of Bluetooth Tx
For example, use adb commands android platform, device is UART interface. step by step command: (1) Enter MP Mode and download patch code
Get default tx gain index
| IC TYPE | MODE | GET DEFAULT POWER | |||
|---|---|---|---|---|---|
| RTL8723B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index(usb) 1M/2M/3M/LE : 5/5/5/4 Default Tx Index(uart) 1M/2M/3M/LE : 4/4/4/4 | Load Tx Table | ||
| RTL8821A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 7/7/7/6 | |||
| RTL8703B | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/6 | |||
| RTL8761A | UI mode | Load Tx Table # ./bt mp Exec 5 // SET TX GAIN TABLE _ _ #./ bt mp Exec 6 //SET TX DAC TABLE _ _ Default Tx Index 1M/2M/3M/LE : 6/6/6/5 | |||
| FW mode | Get Tx Power Info #./ bt mp Exec 38 _ _ #./bt mp Report 17 _ _ [Retuen format] 17,Status, max tx power index, 1M, 2M, 3M, LE default tx power index The range of “TxGainIndex” value is from 0 to max tx index. |
| Get Tx Power Info | ||
|---|---|---|
| #./ bt mp Exec 38 _ _ | ||
| #./bt mp Report 17 _ _ | ||
| RTL8723D | [Retuen format] 17,Status, max tx power index, | |
| RTL8822B | 1M, 2M, 3M, LE default tx power index | |
| RTL8821C | FW mode | The range of “TxGainIndex” value is from 0 to max |
| tx index. |
(2) Set Parameter :
| Test Item | adb command | |
|---|---|---|
| Test Item | Channel = 6 | |
| DH1 | Maximum Power | bt mp SetParam 1,0x06;2,0x00;3,0x07;4,0x00;6,0x7F;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F1 | bt mp SetParam 1,0x06;2,0x00;3,0x05;4,0x00;6,0xFF;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F2 | bt mp SetParam 1,0x06;2,0x00;3,0x02;4,0x00;6,0xFF;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| 3DH1 | ALL | bt mp SetParam 1,0x06;2,0x06;3,0x07;4,0x00;6,0x7F;7,0x7;9, 0x15C40;11,0x0000009e8b33 _ _ |
| Test Item | adb command | |
|---|---|---|
| Test Item | Channel = 42 | |
| DH1 | Maximum Power | bt mp SetParam 1,0x2a;2,0x00;3,0x07;4,0x00;6,0x7F;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F1 | bt mp SetParam 1,0x2a;2,0x00;3,0x05;4,0x00;6,0xFF;7,0x7;9,0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F2 | bt mp SetParam 1,0x2a;2,0x00;3,0x02;4,0x00;6,0xFF;7,0x7;9,0x33820;11,0x0000009e8b33 _ _ |
| 3DH1 | ALL | bt mp SetParam 1,0x2a;2,0x06;3,0x07;4,0x00;6,0x7F;7,0x7;9,0x15C40;11,0x0000009e8b33 _ _ |
| Test Item | adb command | |
|---|---|---|
| Test Item | Channel = 70 | |
| DH1 | Maximum Power | bt mp SetParam 1,0x46;2,0x00;3,0x07;4,0x00;6,0x7F;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F1 | bt mp SetParam 1,0x46;2,0x00;3,0x05;4,0x00;6,0xFF;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| DH1 | Delta F2 | bt mp SetParam 1,0x46;2,0x00;3,0x02;4,0x00;6,0xFF;7,0x7;9, 0x33820;11,0x0000009e8b33 _ _ |
| 3DH1 | ALL | bt mp SetParam 1,0x46;2,0x06;3,0x07;4,0x00;6,0x7F;7,0x7;9, 0x15C40;11,0x0000009e8b33 _ _ |
(3)Run Packe Tx (PACKET_TX_START =12) or (FW_PACKET_TX_START=30)
(4) measured by Bluetooth test instrument (e.g. Litepoint IQNxN) (5)Stop Packet Tx (PACKET_TX_STOP =14) or (FW_PACKET_TX_STOP=31)
-- If you need to test other parameters, please stop packet tx and go back to step 2 (6)exit MP Mode
6.3 Verify Bluetooth Rx Performance by Non-Signaling mode
Measure the DUT Rx sensitivity to check Rx performance is ok or not. The Rx performance test can be measured in Signaling mode (ex: Anritsu 8852B, Agilent N4010A) or Non-Signaling mode (ex:LitePoint IQNxN). Bluetooth Rx criterion is shown as below:
| Verify Bluetooth Rx | Test Item | Packet Type | Criterion | |||
|---|---|---|---|---|---|---|
| Bluetooth Spec | ||||||
| Sensitivity | DH1 or 3DH5 | < -70dBm |
For final MP, Rx can just test DH1, 3DH5 BER at sensitivity criterion power level at channel 0 and 78 to reduce time. All Bluetooth Rx criterion is shown as:
| Test Item | Criterion(Bluetooth Spec) | |
|---|---|---|
| Channel | Packet type | < -70dBm |
| 6 | DH1 | < -70dBm |
| 42 | DH1 | < -70dBm |
| 70 | DH1 | < -70dBm |
| 6 | 3DH1 | < -70dBm |
| 42 | 3DH1 | < -70dBm |
| 70 | 3DH1 | < -70dBm |
Figure The recommended test items of Bluetooth Rx
(1) Enter MP Mode and download patch code
Set default table
(2) Set Parameter
| Test Item | adb command | |
|---|---|---|
| Channel | Packet type | PayloadType=PRBS9; WhiteningCoeffValue = 0xFF(disable); PacketHeader=PACKET HEADER Table; HitTarget= 0x000000c6967e _ |
| 6 | DH1 | bt mp SetParam 1,0x06;2,0x00;3,0x07;6,0xFF;9, 0x33820;11,0x000000c6967e _ _ |
| 42 | DH1 | bt mp SetParam 1,0x2a;2,0x00;3,0x07;6,0xFF;9, 0x33820;11,0x000000c6967e _ _ |
| 70 | DH1 | bt mp SetParam 1,0x46;2,0x00;3,0x07;6,0xFF;9, 0x33820;11,0x000000c6967e _ _ |
| 6 | 3DH1 | bt mp SetParam 1,0x06;2,0x06;3,0x07;6,0xFF;9, 0x15C40;11,0x000000c6967e _ _ |
| 42 | 3DH1 | bt mp SetParam 1,0x2a;2,0x06;3,0x07;6,0xFF;9, 0x15C40;11,0x000000c6967e _ _ |
| 70 | 3DH1 | bt mp SetParam 1,0x46;2,0x06;3,0x07;6,0xFF;9, 0x15C40;11,0x000000c6967e _ _ |
Please refer to Chapter 3. (3)To setting Parameter with the Bluetooth test instrument. Bluetooth test instrument begin transmit.. (4)Run Packe Rx (PACKET_RX_START =18) or (FW_PACKET_RX_START=32)
(5) Report Received Result. -- “bt_mp_Report 3” should be executed every 1s. (6)Stop Packet Rx
(PACKET_RX_STOP=20) or (FW_PACKET_RX_STOP=33)
-- If you need to test other parameters, please stop packet Rx and go back to step 2. (7)exit MP Mode
6.4 Verify Bluetooth BLE Tx Performance
To measure the DUT BLE TX power and modulation index to check BLE TX performance is ok or not. Bluetooth BLE TX criterion is shown as below:
| Verify BLE Tx | Criterion | ||||
|---|---|---|---|---|---|
| Test Item | Sub Test Item | Payload Type | Channel | ||
| Bluetooth Spec. | |||||
| Average Power | PRBS9 | Low (CH0- 2402MHZ) | > 0dBm | ||
| Middle (CH19- 2440MHZ) | > 0dBm | ||||
| BLE Output Power | |||||
| High (CH34- 2470MHZ) | > 0dBm | ||||
| Delta F1 Avg. | BT PAYLOAD TYPE 1111 0000 _ _ _ _ | 2440MHZ CH19- | 225 kHz ~ 275 kHz | ||
| Modulation Characteristics | Delta F2 Max. | BT PAYLOAD TYPE 1010 _ _ _ | ≥ 185 kHz | ||
| Modulation Index | None | ≥ 0.8 |
Table The recommended test items of Bluetooth BLE Tx
For example, use adb commands android platform, device is UART interface. step by step command: (1) Enter MP Mode and download patch code (2) Set Parameter :
| Test Item | adb command | |
|---|---|---|
| Channel | Test item | PayloadType=PRBS9; WhiteningCoeffValue = 0x(dis80able); PacketHeader=PACKET HEADER Table; HitTarget= _ 0x000000c6967e |
| 0 | Avg power _ | bt mp SetParam 1,0x00;3,0x00;7,0x06 _ _ |
| 19 | Avg power _ | bt mp SetParam 1,0x13;3,0x00;7,0x06 _ _ |
| 34 | Avg power _ | bt mp SetParam 1,0x22;3,0x00;7,0x06 _ _ |
| 0 | Delta F1 | bt mp SetParam 1,0x00;3,0x01;7,0x06 _ _ |
| 0 | Delta F2 | bt mp SetParam 1,0x00;3,0x02;7,0x06 _ _ |
6.5 Verify Bluetooth BLE Rx Performance
Measure the DUT BLE Rx sensitivity to check Rx performance is ok or not. The Bluetooth Rx criterion is shown as below:
| Channel | Payload Type | BLE sensitivity limit | Criterion | ||||
|---|---|---|---|---|---|---|---|
| Bluetooth Spec | |||||||
| Low (CH0-2402MHZ) | PRBS9 | PER<= 30.800 % | < -70dBm | ||||
| Middle (CH19-2440MHZ) | |||||||
| High (CH34-2470MHZ) |
Figure The recommended test items of Bluetooth BLE Rx
To calculate the Packet Error Rate(PER) PER%= 100*(1-(Packets Received /Packets Send)
The step by step list below : (1) Enter MP Mode and download patch code (2) Set Parameter :
| Test Item | adb command | |
|---|---|---|
| Item | Payload type | |
| Sensitivity | PRBS9 | bt mp SetParam 1,0x00;3,0x0 _ _ |
| Sensitivity | PRBS9 | bt mp SetParam 1,0x13;3,0x0 _ _ |
| Sensitivity | PRBS9 | bt mp SetParam 1,0x22;3,0x0 _ _ |
(3)To setting Parameter with the Bluetooth test instrument. (4)Run LE Packet Rx (5)Stop LE Packet Rx and to obtain the receive packet count
(6) Calculate PER If ( PER< limit) , goto step (3) , else Stop