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.

[参考译文] CC2650EM-4XS-RD:自定义主板不是广告

Guru**** 2562120 points
Other Parts Discussed in Thread: CC2650, CC2640, CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/585198/cc2650em-4xs-rd-custom-board-not-advertising

部件号:CC2650EM-4XS-RD
主题中讨论的其他部件:CC2650CC2640CC2540

您好,

我有一个使用CC2650 4XS封装和外部MCU开发的自定义板。 我将使用SPP与自定义板和BLED112加密狗进行双向通信。 最终应用程序应以大约500sps的速率传输数据,最多可传输1000 SPS。  我的开发环境是IAR 7.70 ,我正在使用smartRF06板上20引脚ARM皮质接头的自定义捆扎(cJtag pins)。

为了实现同样的目标,我使用SPP_BLE_Server项目作为参考。 如果有人能为我澄清以下疑问,那将是非常好的。

  1. 当我下载并调试代码时,它实际上会遇到插入的断点,但不会公布。 我已将initial_Advertising _enable_flag设置为true,且类型为常规。 即使没有调试会话,它也不会通告
  2. 在大多数情况下,我收到错误,在bootloader1错误信息后停止失败,为什么会发生这种情况? 然后我强制从SmartRFflash编程器2擦除闪存并重试。 是否是因为堆栈已损坏/与我的调试自定义捆绑有关?
  3. 如果我暂停执行并检查,则它将出现在CPU_WFI或某些反汇编部分中,这表示异常?我错了吗?
  4. 是否可以使用其自己的IEEE MAC地址(而不是05:04:03:02:01:00)进行设备通告。 单击从SmartRF闪存编程器读取MAC地址时,我得到一个6字节十六进制值,这到底是什么?
  5. 我正在使用DIO_0到DIO_9,并已将它们映射到外部MCU UART和SPI线路的GPIO,甚至CC_RESET线路也连接到GPIO。这是否正常?
  6. 代码闪存到CC2650时有一种异常行为,但当我停止调试会话时,它不会运行。即使我关闭并重新启动主板,也没有变化。 为什么会发生这种情况? 对于CJTAG连接,我已映射VDD,GND,TMS和TCLK。 未连接重置。
  7. 我正在使用BLE堆栈2.2 ,并尝试使用BLE堆栈2.1。1但没有变化。 哪个堆栈版本适合SPP BLE服务器(我必须实施具有高数据速率的双向通信
  8. 如何测量CC2650的吞吐量? 我们正在比较不同BLE模块之间的吞吐量。是否有可用作参考的文档/代码。

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

    您是否可以 先使用主板上的simple外围设备按照Bringup Guide (software-dl.ti.com/.../index.html)进行操作? 请确保选择指南中指定的正确RF前端设置。

    此外,建议浏览BLE Wiki上的硬件核对表项目。

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

    您好,

    我遵循了您提到的指南,但该主板仍然不是广告。 我正在附加我的BLE设计,并告诉我此设计是否正常。 我也尝试使用内部振荡器,但没有变化。 也将尝试RF前端修改。 我可以刷新代码,现在在board_gPIO_init_table中没有任何内容,我遵循的顺序是使用闪存加载程序,闪存应用程序项目,然后堆栈,然后再次下载和调试应用程序项目。 (有时启动加载程序1错误消息后无法停止,从SMART RF闪存编程器闪存时cc2650变为未知,我在该消息上执行了强制的大量擦除。

    我做错了吗?

    e2e.ti.com/.../ble.pdf

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

    由于CC2640具有内部负载盖,因此应卸下24 MHz晶体上的负载电容器。

    您是否尝试过从SmartRF Studio控制您的主板? 是否可以使用该工具发送接收数据包?

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

    我从24MHz晶体中移除了外部电容器。我可以闪存代码,它只在调试模式下广告。当我断开调试器时,它停止了。使用自定义捆扎是可取的吗? 但在bootloader 1错误再次出现后无法停止。 为什么会发生此错误?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    我尝试使用简单的GPIO代码来打开和关闭。 当我停止调试会话时,即使我对CC2650行应用了重置,代码仍会运行。 所以我排除了调试器设置不正确的可能性。

    当您收到错误消息“Failed to halt after bootloader1”时,这是否意味着堆栈损坏? 因为我必须使用SmartRF闪存编程器擦除全部内存,然后才能从IAR闪存任何代码。 如何查找是否是已损坏的堆栈? 等待CPU_WFI指示是否正常??

    现在我将尝试使用简单的BLE外设,看看它是否会广告?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    我尝试了GPIO和UART (无BLE代码),即使在重置后也能顺畅运行。 之后,我刷新了一个简单的BLE外围项目。 现在设备不会通告。 我的芯片版本是2.3 ,SDK版本是2.02 ,TI RTOS版本是2.20 .01.08。
    我有另一个4XS模块(CC2650EM-4XS),它是2.2 芯片版本,我使用评估套件测试了简单的BLE外设。

    有什么想法说明为什么会发生这种情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    有人能告诉我我做错了吗? I从RF闪存编程器闪存堆栈,然后使用Donwload和调试按钮从IAR闪存堆栈。

    我尝试使用IAR闪存加载程序,首先下载活动应用程序,然后堆栈,然后下载和调试应用程序。只有当我单击下载和调试时,代码看起来像闪存。 (这是在评估套件上测试的)。这是预期的行为。 是否有任何方法可以检查主板是否工作正常。 我到目前为止还没有使用过SmartRF Studio。也会尝试。

    2.3 Silicon版本是否可在2.2 上工作? 还是其他的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Alex:

    是否确定正在对正确的堆栈映像进行编程? 为什么不同时从IAR编程?

    您还应尝试使用由SmartRF Studio控制的板发送和接收数据包,以确认对讲机按预期工作。

    谢谢,
    Fredrik

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

    您好,

    通常,在bootloader1错误后,我无法停止。 因此,我通过智能射频闪存编程器为同一项目从IAR编译的闪存堆栈恢复电路板。 然后下载并调试应用程序代码。

    如果我错了,请纠正我

    • 我怀疑IAR的闪存加载器是否按预期工作。 因为如果我只是下载了堆栈和应用程序的活动应用程序,它不会在手机中显示,但是如果我下载并刷新应用程序,它会在手机中显示。 这是预料之中的吗?
    • 问题与芯片版本无关,对吗?? 我有2.3 芯片和BLE 2.2 1堆栈。 这些项目开箱即用,对吗?
    • 我必须更改ccfg中的任何内容
    • SmartRF Studio的任何文档。 当我尝试在连续RX模式下获取一些图解时(RSSI正在更新) ,但当我单击连续TX时,没有任何图解。我的设置不正确。 将尝试使用CC2540加密狗并再次测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我怀疑IAR的闪存加载器是否按预期工作。 因为如果我只是下载了堆栈和应用程序的活动应用程序,它不会在手机中显示,但是如果我下载并刷新应用程序,它会在手机中显示。 这是预期吗?[/QUOT]

    没有理由怀疑IAR中的闪存编程器。 您应该选择Stack项目(使用左下角的按钮),然后下载和调试(它将显示一条警告,说找不到main()),然后选择App项目并下载和调试该项目。  

    问题我与硅片版本无关,对吗?? 我有2.3 芯片和BLE 2.2 1堆栈。 这些项目开箱即用?[/QUOT]

    不会。所有BLE 2.x项目都将在所有CC2640和CC2650芯片上运行。

    annamol alex 说:
    我是否必须更改ccfg

    中的任何内容?

    仅当您使用的晶体具有与我们的参考设计中不同的CL值时。

    SmartRF Studio的任何文档。 当我尝试在连续RX模式下获取一些图解时(RSSI正在更新) ,但当我单击连续TX时,没有任何图解。我的设置不正确。[/QUOT]

    是的,有大量的文档。 您可以通过按F1键来访问它。 您应该使用Packet TX将数据包从电路板发送到使用Packet RX的EVM。 然后切换。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    24MHz晶体的CL为8pF (您要求从该晶体中移除外部Cs,我就是这样做的)
    32kHz晶体的CL为12.5pF,外部CS为22pF

    我是否需要更改任何内容??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    理想情况下,您应该稍微降低DeltaCap值,因为您使用的是较低的24 MHz CL值,但它也应按原状工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    将更改CL值可能需要再尝试几次。 我安装了新的SDK和XDS仿真器以重新启动。 现在,在bootloader 1增加并出现新错误后,无法停止的频率。 我正在为此附加屏幕截图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否可以共享您的布局(pdf或Gerber格式)以及连接到调试器的主板的照片?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    我在您的邮件(私人邮件)中共享了详细信息
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您应该为JTAG信号尝试使用较短的跳线。

    很难从发送的片段中清晰地了解您的布局。 但DCDC布局似乎不是很理想。 10 UF VDDR盖子放在哪里? 您是否可以尝试禁用DCDC电脑控制器并查看这是否会改变行为?

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

    我正在向您发送另一张突出显示了10uF电容器的图片。 如何卸下DCDC电脑控制器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这不是一个好的位置。 您必须遵循参考设计布局。

    您可以通过以下两个定义禁用CCFG中的DCDC:
    #define set_CCFG_MODE_CONF_DCDC_docrend 0x1
    #define set_CCFG_MODE_Conf_DCDCC_ACTIVE 0x1
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    好的。 将通知我们的PCB设计团队。 但如果我使用这些语句禁用DC_DC,它是否有效?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定,但值得一看。

    您还应:
    -使用SmartRF Studio进行测试(您的主板能否发送和接收数据包)
    -使用较短的JTAG电线进行测试
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    我目前已经将JTAG电线制作为短线。 直到现在才检测到XDS。
    还将尝试在SmartRF Studio中进行这些修改。

    有时,如果我重置BLE,它会在智能RF闪存编程器中被检测到。这是因为堆栈存在任何问题吗? 我怀疑堆栈,因为我下载并调试堆栈项目,当我尝试应用程序时,它将抛出XDS调试器错误/在bootloader1后无法停止
    然后我再次使用射频闪存编程器,尝试查看是否检测到主板。 如果不是,请在CC_RESET行上应用重置,然后尝试。 有时,显示为未知的设备被检测为CC2650。 然后,我闪存相同的堆栈,然后从IAR闪存应用程序。 有时是来自IAR的。

    当您下载和调试堆栈时,所有出现的“main is missing”警告都可能被忽略,对吗? 我得到XDS调试器有时报告错误弹出窗口
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Flash编程器或SmartRF Studio中的检测与堆栈或设备上运行的任何软件无关。 它仅为HW。

    下载和调试堆栈时,会出现有关缺少main()的警告(堆栈项目中没有main()函数)。 只需忽略它,然后中止调试并下载和调试应用程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我使用SMART RF工作室进行了测试。 我的设置如下所述。一个安装了7ID模块的smartRF06板和另一个SmartRF06板,带有连接到20引脚ARM JTAG连接器的定制板(图片已在前面共享)。然后我打开了SMART RF工作室,制作了具有数据包TX模式的定制板和具有数据包RX模式的SmartRF06 (无限数据包),我在这里收到了相同的数据包。 然后我反向配置,数据仍在接收。 我选择了基于CC2650-7ID的射频设计。 但是,基于CC2650-4XS的射频设计却不会在定制电路板上收到任何信息

    我正在附上结果的屏幕截图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这很好,因为它确认您的对讲机正在工作(至少它能够发射和接收,并且频率容差正常)。

    您还可以将您的主板配置为连续RX,并查看启用和不启用DCDC的噪声基线(您会看到"启用DCDC "复选框?)。 如果DCDC布局较差,当电脑控制器启用时,您很可能会看到更高的噪声级别。 但请注意,它可能也取决于电源电压。

    由于您使用的是平衡变压器,因此您的主板必须配置为内部偏置,差分射频(ID)。 您可以使用7ID EVM配置(您已看到此配置),也可以使用“配置目标”按钮。

    您还应确保BLE堆栈中的配置与之类似(ID)。 这是在ble用户配置. c/.h中完成的 如果您使用的是CC2650DK-4XS项目定义,您将设置不正确的RF设置。 您可以在我刚才提到的文件中手动更改此值,也可以在 board.h中将#define CC2650EM-4XS更改为7ID
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我已经在ble_user_config.h中更改了

    #Elif Defined (CC2650EM_4XS)

     #define RF_FE_MODE_AND_BIAS      (RF_FE_DIFFERENTIAL |         \

                         RF_FE_INT_BIAS)

    //

    // #define RF_FE_MODE_AND_BIAS      (RF_FE_single _结束_RFP |       \

    //                      RF_FE_EXT_BIAS (RF_FE_EXT_BIAS)

    使用SMART RF工作室进行测试后。 但没有变化。

    请查找具有或不具有DC_DC启用模式的主板连续RX的屏幕截图

    不带DC_DC启用模式

    使用DC_DC启用模式

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您还需要更改覆盖和PA表(在ble用户_config.c中),这就是更改 #define in board.h的原因

    下部屏幕截图上的标尺缺失,但噪音楼层似乎较高。 正如我之前所说的,其他电压可能会更糟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    对不起上一个屏幕截图。 如果不启用DC_DC,则楼板大约为-120dBm,如果启用DC_DC,则楼板大约为-100dBm

    启用DC_DC时

    未启用DC_DC

    在简单BLE外设项目中,我在编译器->预定义符号中将4XS更改为7ID,并将堆栈和应用程序进行了闪存。 在board_gPIO_init_table()中,所有GPIO都被注释。

    广告上说的… :)我可以连接应用程序。 我删除了调试器并进行了测试,但它仍然连接并尝试使用BLE以及MCU重置。 它仍与应用程序连接。 我可以看到应用程序中列出的所有服务...

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

    我在恢复在ccfg.c中对DC_DC所做的更改后尝试了,仍然有效...........为了更安全,我将进行您要求的更改,以删除ccfg.c文件中的DC_DC。

    非常感谢Fredrik :)

    现在,我可以转到SPP BLE服务器项目,在应用程序和自定义板之间进行双向通信...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很开心听到您解决了问题!

    谢谢,
    Fredrik