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.

[参考译文] CC2560B:HCI UART 通信问题

Guru**** 684850 points
Other Parts Discussed in Thread: BT-MSPAUDSOURCE-RD, CC2560B, CC2560
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1046318/cc2560b-hci-uart-communication-problem

器件型号:CC2560B
主题中讨论的其他部件:BT-MSPAUDSOURCE-RDCC2560

尊敬的论坛用户:

我使用 HCI UART 与 CC2560B 通信时遇到问题。 我将 BT-MSPAUDSOURCE-RD 用作早期开发的参考设计、其中 MSP430板载传输 PC 和 CC2560B 之间的字节。 复位后的启动操作包括:

  • 等待 SLOW_CLK (从32、768kHz ACLK)稳定
  • 将 nSHUTD 引脚置为高电平
  • 将 RTS 设置为低电平

我遇到的第一个问题是、BT 控制器 CTS 引脚在启动后永远不会变为低电平。 我使用 HCITester 工具来交换 HCI 命令、BT 控制器会应答、但对于已发送的命令、响应事件并不正确。 HCITester 的输出示例如下:

09:59:02.309 Load Succeeded
09:59:02.309 --
09:59:02.309 VersionPlatform = "ORCA"
09:59:02.309 VersionMajor = 7
09:59:02.309 VersionMinor = 16
09:59:02.309 --
09:59:25.381 --
09:59:25.381 Packet "HCI_Read_Local_Version_Information", Opcode 0x1001
09:59:25.381 --
09:59:25.381 Outgoing Dump:
09:59:25.381     0000: 01 01 10 00                                     ....
09:59:25.381 Incoming Dump:
09:59:25.381     0000: 04                                              .
09:59:25.381 Incoming Dump:
09:59:25.381     0000: 88 01 06                                        ...
09:59:25.381 --
09:59:25.381 Packet "se", Opcode 0x0088
09:59:25.381 Parameters:
09:59:25.381 | Layer        : 0x04
09:59:25.381 | Event Opcode : 0x88
09:59:25.381 | Length       : 0x01
09:59:25.381 | Payload      : "06"
09:59:25.381 --
09:59:25.381 Incoming Dump:
09:59:25.381     0000: 00 50                                           .P
09:59:25.388 Incoming Dump:
09:59:25.388     0000: 90 e3                                           ..
09:59:36.147 --
09:59:36.147 Packet "HCI_Read_BD_ADDR", Opcode 0x1009
09:59:36.147 --
09:59:36.147 Outgoing Dump:
09:59:36.147     0000: 01 09 10 00                                     ....
09:59:36.156 Incoming Dump:
09:59:36.156     0000: 04                                              .
09:59:36.156 Incoming Dump:
09:59:36.156     0000: 48 01 cb                                        H..
09:59:36.156 --
09:59:36.156 Packet "se", Opcode 0x0048
09:59:36.156 Parameters:
09:59:36.156 | Layer        : 0x04
09:59:36.156 | Event Opcode : 0x48
09:59:36.156 | Length       : 0x01
09:59:36.156 | Payload      : "CB"
09:59:36.156 --
09:59:36.156 Incoming Dump:
09:59:36.156     0000: 20                                               
09:59:36.156 Incoming Dump:
09:59:36.156     0000: f8                       

我接收事件数据包(0x04)、但操作码和以下字节不正确。 无论 HCITester 中的流量控制设置如何、都会发生这种情况。 当我从 MSP430代码发送命令而不是将微控制器用作代理时、接收到的事件是相同的。

我还尝试将初始化脚本从 https://www.ti.com/tool/CC256XB-BT-SP 下载 到模块、但由于接收到的事件错误、我在第二行收到错误:

Send_HCI_VS_Update_Uart_HCI_Baudrate 0xFF36, 0x0001c200
Wait_HCI_Command_Complete_VS_Update_Uart_HCI_Baudrate_Event 5000, 0x00, 0xff36, 0x00

您是否曾遇到过此类行为? 也许我在模块初始化中缺少了什么?

感谢您提前提供任何帮助。

Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    这是新设计吗? 我强烈建议 使用 CC2564C 而不是 CC2560B、因为 C 变体已通过5.1认证。 这将需要一个新的微控制器、因为 MSP430不受支持。 当前最佳选择是 STM32。  

    从您提供的输出来看、数据包构成不正确。  我假设您正在使用   您提到的 CC256XB 服务包中的.xml? 您能否验证您是否正在使用 TIInit_6.7.16.xml 和 initscripts TIInit_6.7.16_bt_spec_4.1.bts?  

    谢谢、
    Jacob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jacob、

    我们必须将双模蓝牙功能添加到基于 MSP430的现有项目中、因此该控制器是最佳匹配项。

    是的、我验证了我的文件以及命令库和 init 脚本与您提到的相同。

    谢谢、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    是否可以运行  HCI_VS_GET_System_Status (0xFE1F)命令并在此处发布输出? 您可能需要更早版本的服务包才能与 CC2560B 兼容。

    谢谢、
    Jacob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已成功与 CC2560进行正确通信。 我认为这个模块的初始化脚本有问题、因为它发送命令来写入大小为0xFA = 250B 的内存块。 命令中允许的存储器块大小为1-200、如 TIInit_6.7.16.xml 中指定。

    我下载的服务包/库为: www.ti.com/.../CC256XB-BT-SP

    手动编辑脚本(将较小的块写入内存)后、我能够运行所有这些命令。

    我的下一步是连接该模块。 运行 init 脚本并设置基本广播包后、我可以使用来自 Adv 的有效信息发现我的器件。 在经典/BLE 模式下使用手机发送数据包。

    我的设置如下:

    HCI_VS_Write_BD_ADDR、HCI_Change_Local_Name

    HCI_VS_LE_Enable

    HCI_LE_Write_Advertising_Parameters、HCI_LE_Write_Advertising 数据

    HCI_LE_Write_Adverted_Enable

    但是、尽管发现了器件、但我还是被卡住了、因为我找不到执行配对/连接的任何命令或文档。 我没有从手机 BT 接口接收到任何配对尝试事件。 在尝试从应用程序进行连接时,我每隔5秒仅接收以下 ACL 数据包:

    15:30:02.378 --
    15:30:02.378数据包"HCI_ACL_Packet_Event"、操作码0x0000
    15:30:02.378参数:
    15:30:02.378|图层            :0x02
    15:30:02.378|连接句柄:0x0401
    15:30:02.378 |边界         :0x0002 (开始)
    15:30:02.378|广播标志   : 0x0000 (无)
    15:30:02.378 |长度           :0x000b
    15:30:02.378 |数据             :“07:00:04:00:10:01:00:FF:00:28”
    15:30:02.378 --

    您能否指导我阅读介绍此模块在经典/BLE 模式下的配对和连接步骤的文档? HCI_ACL 数据包文档也很有用。

    谢谢、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我将在周五再次查看此内容。

    谢谢、
    Jacob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Adam:

    我对我的答复拖延表示歉意。 我认为 CC2560B 是一款仅支持 BR/EDR 的蓝牙经典器件。 这是 CC2560B 数据表中的器件表

    恐怕我们没有任何有关使用 CC2560B 的特定指南。 我们还有其他一些关于 HCI 命令和 MSP430堆栈的有用指南、我将在这里提供。 如果您有其他问题、请告诉我。

    e2e.ti.com/.../1108.CC256x-MSP430-TI-Bluetooth-Stack-_2D00_-Texas-Instruments-Wiki.pdf

    e2e.ti.com/.../6371.CC256x-VS-HCI-Commands-_2D00_-Texas-Instruments-Wiki.pdf

    e2e.ti.com/.../4428.CC256x-TI-Bluetooth-Stack-SPPDemo-App-_2D00_-Texas-Instruments-Wiki.pdf

    此致、

    Jacob