This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求蓝牙2540/2541射频测试流程的文档

Other Parts Discussed in Thread: CC2540, CC2541, CC2640

求蓝牙2540/2541射频测试流程的文档,求TI技术支持或者有TI蓝牙射频测试文档的大神提供一下,谢谢,感激不尽啊,跪求。。。

  • 产测 http://processors.wiki.ti.com/index.php/PTM

    研发测试有蓝牙综测仪

  • 那个不行啊,你们代理说2541用不了USB dongle,2541没有USB 口啊

  • 和USB没有关系,是通过暴露UART发命令来测试你的设备的

    蓝牙测试有两种方法

    1. DTM(Direct Test Mode)

    DTM是一个标准的BLE测试模式, 它包含了一系列标准通用的HCI命令. 很多测试仪器厂商, 比如安利(Anritsu, 他们有MT8852B蓝牙测试仪), 罗德施瓦茨(Rhode and Schwarz), 都用DTM模式来测试蓝牙设备. 在开发过程中或者生产过程中, 用这些厂商的蓝牙测试仪能很好的测试验证BLE设备的射频性能. 对于这些测试仪, 你也完全可以自己开发PC上的应用程序, 通过串口发送HCI命令给BLE设备进行测试.

    他的缺点在于要烧两次固件,第一次烧写network processor来暴露UART口来写命令测试射频性能,第二次才是烧写你产品真正的镜像,产线测试比较麻烦,适合研发测试阶段,但是是标准的测试方法

    2.PTM(Production Test Mode)

    PTM 是为了避开烧写两次固件的困扰,TI开发出来的一种测试方法,.V1.2 版本以后的协议栈中都提供了PTM模式.

    在不重新烧入固件的前提下, 就可以在需要进入测试模式的时候直接暴露出UART从而进入到DTM模式, 而在普通运行模式下UART可以用作其他用途.

    上电之后通过一个GPIO的电平设定来进入PTM测试,调用hci.h文件下面的HCI_EXT_EnablePTM 函数来进入PTM模式,这样你就可以通过UART来发命令来控制了

    上面WIKI提到的USB Dongle,是和你的被测件可以同信道通讯,把多个包测试的结果传给PC,你没有USB Dongle也没关系,那就连仪器看

    关键TI 的Estore上有卖CC2540 USB Dongle啊

    https://store.ti.com/CC2540EMK-USB-CC2540-USB-Dongle-P2381.aspx

  • 噢,那我们的模块是2541也可以用你说的CC2540-USB-Dongle吗?现在我们有台测试仪器WT-200,请问你哪里有关于这台仪器测试蓝牙的相关文档吗?谢谢

  • CC2541是你的待测件,CC2540 USB Dongle是插电脑上的,可以和你的被测件之间通信测试

    你的CC2541被测件Tx,Dongle进入Rx,Dongle进入Tx, 被测件进入Rx,这是空中耦合的信号,你也可以射频线接仪器测试

    WT-200文档你要找仪器厂家,我们的开放是针对CC254x的控制命令和测试方法

  • 感谢Butterfly的耐心回答,那么经过您的指导以及查阅PTM,现还有如下疑问:

    1、2541与PC电脑连接的话需要连接那几根线

    2、是否在hci.h文件中添加以下语句即可

                                   if(GPIO == VDD) {HCI_EXT_EnablePTM();}

    3、测试之前,被测2541是否需要烧写特定固件,如果不需要,是否选择任一例程然后添加(2)中的if语句即可?

    4、HostTestRelease.hex 如何烧写进dongle?

  •  我后来仔细看了下,这个是说在初始化函数里加上if语句并在此.c文件内包含头文件“hci.h”,我现在是在TI的协议栈例程内添加,请问以上提到的if语句是加到那个初始化函数里面,可以提供具体位置么,或者示例,谢谢啦!

  • 1. 暴露USART0

    2. http://processors.wiki.ti.com/index.php/PTM, 有详细说明,比如SimpleBLEPeripheral_Init( )

    3. 用CCdebugger+ Flash Programmer, SWRU270C,31页开始有详细步骤

        http://www.ti.com/lit/ug/swru270c/swru270c.pdf?keyMatch=SWRU270C&tisearch=Search-EN-Everything

  • Butterfly,我是把代码放在了osal_set_event( simpleBLEPeripheral_TaskID, SBP_START_DEVICE_EVT );之前

    因为wiki中没有说具体的位置,所以我放在这里并且编译通过,不知是否可以

  • Butterfly, 这一部分“How to Use PTM from an Application Point of View”和“Using Rohde & Schwarz CBT Bluetooth Tester with CC254xEM Running HostTestRelease”部分都未提及if(GPIO == VDD) HCI_EXT_EnablePTM();这个if 语句需要放的位置

  • 关于WT200蓝牙测试和产测软件的发布,可参考WT200的原厂极致汇仪的官网

    http://www.itest.cn/cn/TechnicalServices.html

    对于2541的产测软件应该本周内发布。 对于WT200有问题可以私信。

  • 可是你标记的里面也没有函数HCI_EXT_EnablePTM(); 啊?

  • 谢谢邵峰,反应真快。:-)

    BR. AZ

  • 在极致汇仪官网未看到使用WT-200进行蓝牙测试的流程啊

  • 邵峰,还请方便的话留个联系方式,方便沟通

  • 推荐一个中文的 http://processors.wiki.ti.com/index.php/PTM_(Production_Test_Mode)

    hci. h 文件下就是 HCI_EXT_EnablePTMCmd();

  • Butterfly,TI在PTM的描述中是,在“如何在CC254X上使用PTM”一节中使用的是函数“HCI_EXT_EnablePTM()”,在后面小节中使用的是"HCI_EXT_EnablePTMCmd()",这两个函数名字不一样,然后你们解释的时候是当做一个函数来解释的,而并没有首解释说这两个函数是同一个函数,以至于纠结了一天呢。后来我就怀疑这两个函数是否为同一个函数,然后得到确认了。非常感谢Butterfly的技术支持,耐心解答,谢谢!!

  • 不好意思,文档写的不够严谨造成困扰,在hci.h文件里面没有HCI_EXT_EnablePTM()函数,只有HCI_EXT_EnablePTMCmd()

    谢谢对TI产品的支持!

  • 请问SimplePeripheral工程里,进入PTM模式相关代码要怎么修改?可以麻烦您指教一下么?我卡在这个问题上已经卡了一个月了。。谢谢。(也是用的WT-200测,协议栈版本1.4.1,库文件ptm.lib也添加了)我的代码如下:(哪里出错了,麻烦您指教一下好吗?谢谢)

    void llSetupPTMTestPort( void )
    {
    P0SEL &= ~(BV(PTM) | BV(RDY)); // GPIO
    P0DIR &= ~BV(PTM); // 输入, 这个是DUT的CTS, 测试仪的RTS
    P0DIR |= BV(RDY); // 输出, 这个是DUT的RTS, 测试仪的CTS
    P0 |= BV(RDY); // 首先, 拉高DUT的RTS输出, 就是测试仪的CTS
    P0INP &= ~BV(PTM); // 让P0.4的输入模式由P2INP寄存的器配置来决定
    P2INP &= ~BV(PDUP0); // 把P0.4拉高, P0中其他口拉低
    }
    void SimpleBLEPeripheral_Init( uint8 task_id )
    {
    llSetupPTMTestPort();
    if ( TESTER_CONNECTED() )
    {
    HCI_EXT_EnablePTMCmd();
    }
    else
    {
    simpleBLEPeripheral_TaskID = task_id;
    // Setup the GAP

    ......

    ......

  • 请问SimplePeripheral工程里,进入PTM模式相关代码要怎么修改?可以麻烦您指教一下么?我卡在这个问题上已经卡了一个月了。。谢谢。(也是用的WT-200测,协议栈版本1.4.1,库文件ptm.lib也添加了)我的代码如下:(哪里出错了,麻烦您指教一下好吗?谢谢)

    void llSetupPTMTestPort( void )
    {
    P0SEL &= ~(BV(PTM) | BV(RDY)); // GPIO
    P0DIR &= ~BV(PTM); // 输入, 这个是DUT的CTS, 测试仪的RTS
    P0DIR |= BV(RDY); // 输出, 这个是DUT的RTS, 测试仪的CTS
    P0 |= BV(RDY); // 首先, 拉高DUT的RTS输出, 就是测试仪的CTS
    P0INP &= ~BV(PTM); // 让P0.4的输入模式由P2INP寄存的器配置来决定
    P2INP &= ~BV(PDUP0); // 把P0.4拉高, P0中其他口拉低
    }
    void SimpleBLEPeripheral_Init( uint8 task_id )
    {
    llSetupPTMTestPort();
    if ( TESTER_CONNECTED() )
    {
    HCI_EXT_EnablePTMCmd();
    }
    else
    {
    simpleBLEPeripheral_TaskID = task_id;
    // Setup the GAP

    ......

    ......

  • 请问SimplePeripheral工程里,进入PTM模式相关代码要怎么修改?可以麻烦您指教一下么?我卡在这个问题上已经卡了一个月了。。谢谢。(也是用的WT-200测,协议栈版本1.4.1,库文件ptm.lib也添加了)我的代码如下:(哪里出错了,麻烦您指教一下好吗?谢谢)

    void llSetupPTMTestPort( void )
    {
    P0SEL &= ~(BV(PTM) | BV(RDY)); // GPIO
    P0DIR &= ~BV(PTM); // 输入, 这个是DUT的CTS, 测试仪的RTS
    P0DIR |= BV(RDY); // 输出, 这个是DUT的RTS, 测试仪的CTS
    P0 |= BV(RDY); // 首先, 拉高DUT的RTS输出, 就是测试仪的CTS
    P0INP &= ~BV(PTM); // 让P0.4的输入模式由P2INP寄存的器配置来决定
    P2INP &= ~BV(PDUP0); // 把P0.4拉高, P0中其他口拉低
    }
    void SimpleBLEPeripheral_Init( uint8 task_id )
    {
    llSetupPTMTestPort();
    if ( TESTER_CONNECTED() )
    {
    HCI_EXT_EnablePTMCmd();
    }
    else
    {
    simpleBLEPeripheral_TaskID = task_id;
    // Setup the GAP

    ......

    ......

  • 你是按照TI中的WIKI写的文档来做的吗,如果是的话还行,我之前试过。用的PTM?你参考下这个

    http://processors.wiki.ti.com/index.php/PTM

  • 我就是参照这个wiki做的,按照wiki里面的代码改来改去始终打不开PTM,库文件也添加了的。代码我上面有打出来,就是找不出问题在哪里。您能看出来么?谢谢

  • 你好

    一、待测设备串口无反应

    1.待测设备:我按照PTM文档上的用串口工具操作无反应(无论是btool,还是用串口助手),串口接P0_2,P0_3,使能PTM用P0_4

    2.待测设备:用HostTestRelease工程的话用btool能使用

    二、PTM是只需要按文档的加入HCI_EXT_EnablePTMCmd()就行,还是需要我把串口的接收发送都要全部自己写?

    三、没有测试仪怎么调试判断是否成功呢?

  • 兄弟,弄好了吗?江湖救急,如果看到此消息请加QQ353662337

  • 同问,可以测试吗?使用CC-debug 可以测吗

  • 可以看一下这个视频,说明的蛮清楚的。虽然是CC2640的,但是CC25xx同理可用。

    http://training.eeworld.com.cn/TI/video/9104

    BR. AZ

  • HI ;

    PTM模式是否一定需要USB dongle。尝试使用VCC ,GND,DC,DD接到另一片串口转换芯片上,DUT上电接到串口,串口提示无法连接。