DA14580供电电压高的通信问题-随动

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
24个员额/ 0个新员额
最后发表
mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
DA14580供电电压高的通信问题-随动

我们在PAN1740模块上使用DA14580。
该模块用于硬币电池供电产品。亚博电竞菠菜
在该产品上,单片机通过UART与DA14580进行通信。

我们正在遇到一些模块连接问题。
我们注意到,当电池电压较高时,如3.1V - 3.3V,就会发生这种情况。

这是新主题,因为我在前一个的进一步调查结果和问题是'完成'。我收到了从生产中显示出这个问题的新单位。

只要电源电压低于3.25V,我们的生产软件就可以正常运行。
具有更高电压的电压,运行几秒钟。我可以看到在Windows蓝牙配对中弹出的产品。如果我足够快,我可以获得PIN提示。但是我无法完成配对。

我们已经为测试进行了基本支持RF Master(start / stop)。可以通过整个供应范围(高达3.6V)通信。

为了消除我们可能引入的任何错误,我们使用SDK中的示例应用程序:
\ DA1458x_SDK_5.0.4 \ DA1458x_SDK \ 5.0.4 \ target_apps \ ble_examples \ \项目prox_reporter \ Keil_5 \ prox_reporter.uvprojx
没有任何修改,已经编制了它。
我可以把蓝牙设备看作DIALOG-PRXR当我在设备上启动蓝牙模块时。
在3.25V下一切都很好-我可以看到单位,我可以在Windows中配对它(没有PIN)。
一旦我将电压提高到3.3V,它就会再次运行几秒钟 - 在设备上电源突出后右侧,但我无法完成配对。
该模块在UART上引导时没有任何问题,直到(至少)3.6V。

我们使用的松下模块(PAN1740)有非常少的外部组件(电感,两个晶体和少数电容)。

上述电压均为本公司产品供货。该模块是通过一个微控制器的IO引脚提供的,因此该模块上的实际电压较低(大约少50mV)。

问题是只显示一些单位。其他工作没有任何麻烦(配对和交流)高达3.6V(和更高:-))。

什么可能导致这种行为?我应该在哪里进行进一步搜索?

设备:
PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

谢谢你的在线问题。是否可以提供以下数据,以便更好地了解您的问题?

  1. 连接失败时的电流捕获。我怀疑某些设备未命中连接事件,因此无法维护连接。您正在使用的连接间隔是什么?如果缺少连接事件,则连接间隔应逐渐变大。
  2. 当连接失败时,BLE Sniffer日志。
  3. 故障设备发布时的电流捕获。是你能够计算广告活动?你错过了任何广告活动吗?

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
1.

1.
附件中模块在3.0V (OK), 3.2V (OK), 3.3V(失败)上电启动后的电流消耗。
似乎软件在初始化后挂起…

连接间隔是Prox_reporter BLE示例(最小。10ms,最大20ms?)。
但是它取决于与Windows 10的协商最重要 - 它具有标准配置。

2.
我们没有BLE嗅探器…
你能推荐一个吗?

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
目前的消费

模块电压变化时的电流消耗:

1.模块以3.0V启动

2.供电量短暂增加至3.3V

3.电源降回3.0V

模块未恢复低电压。

omesa.
离线
最后看到:7个月3周前
加入:2014-12-07 12:17
你好,

你好,

也许你的问题是:“模块是通过微控制器的IO引脚提供的,所以模块上的实际电压更低(大约少50mV)。”

干杯

Siegmar

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
我已经对模块进行了硬件连接

我已将模块与外部电源连接。没有运气…电压一到3.3V就停止了…

omesa.
离线
最后看到:7个月3周前
加入:2014-12-07 12:17
hmmh .....什么时候发生什么

HMMH .....发生了什么,当您的控制器使用Pan1740 Modul上的PortPin重置Portpin时。

我在我的项目中有相同的模块和批量生产将很快开始。我的外部控制器总是可以重置模块。这是我的硬件看门狗。

干杯

Siegmar

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
我们的主机软件我们

使用我们的主机软件,我们检查与模块的通信。
如果它停止响应主机使模块复位。
低电压供电的模块工作正常,只有在模块真的卡住的情况下才会使用复位-我没有观察到它。
一旦电压增加,我就能观察到无休止的重置循环……
BLE激活几秒钟,然后再次复位……
活动期足以检测设备,一次或两次我可以完成配对,但您可以忘记任何通信...

但是,没有与Dialog API示例应用程序(代理)的通信,因此Host中的重置功能是不稳定的。
当它卡住的时候,它只是卡住了……

再一次 - 只有很少的单位,我们已经发生了 - 所有其他单位都在工作良好,高达3.6V。
然而,这是影响产量和敲诈PCBA维修…

欢呼,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨omesa,谢谢你的

嗨omesa,谢谢你的答案。

你好,mratajski,我会检查你的输入,并尽快让你知道。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

再次感谢你的建议。请纠正我的任何错误/缺失,并请提供一些进一步的输入。然后,我会在内部升级你的输入以供进一步分析。

问题描述:

  • PAN14580模块采用的是定制板
  • DA14580通过硬币电池供电
  • 该问题仅在某些模块中出现,而不是所有设备。你能指出这个问题只存在于其中一些吗?是否有任何在3.3V电源电压下运行的设备?

电源电压为3.3V时:

  • 一些板,开始广告一段时间,然后不断重置。你怎么知道芯片会进入一个无休止的重置循环?
  • BLE很活跃几秒钟,所以你可以连接吗?

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
> PAN14580模块用于

>是采用PAN14580模块的自定义板
是的,它用于我们的BLE激活产品。

> DA14580通过硬币电池供电
是的,使用锂硬币初级电池电池提供问题产品(初始电压3.2-3.4V,标称电压3.0V)。亚博电竞菠菜

>该问题只出现在某些模块中,而不是所有设备。你能指出这个问题只存在于其中一些吗?是否有任何在3.3V电源电压下运行的设备?
我们不会使用3.3V进行生产测试。我们只需在生产结束时使用新鲜电池(电池电压测试为至少3.2V或更大的电池)。
有些单位(少数百分点)尚未使用新鲜电池进行最终的BLE通信测试。
大多数生产单位没有问题的初始(更高)电压的电池。
我们也在3.0V下对每一个PCBA进行BLE测试。在这个阶段,所有单位的通信都没有任何问题。

我已经从生产中测试了一些失败的样品-他们的阈值电压大约是3.25V。我观察到高于这个电压的问题。
我也测试了一些通过的样品-它们在3.6V以下是好的。

>一些板子,开始一段时间的广告,然后不断重置。
是的,我可以在Windows 10蓝牙配对中观察到BLE设备的正确名称。

>你怎么知道芯片会进入一个无休止的重置循环?
我观察主CPU和DA14580之间的通信使用示波器。我也观察重置线。
主机应用程序没有从DA14580上运行的应用程序接收到CTS,并在超时后重置蓝牙模块- DA14580正在进入UART引导过程,加载固件并开始正常操作几秒钟,CTS再次丢失…

> BLE激活了几秒钟,所以你能连接吗?
在其他方面,我能够读取ADC转换器的值从DA14580的BLE不时(重置和ADC池循环是不同步的),
当有问题的设备使用3.3V供电时。
在测试之前,在3.0V下进行配对。

我成功地将Windows 10中的蓝牙设备与3.3V供电的有问题的设备配对了一两次。

我得到的印象是,如果我增加电压(如3.4V或3.5V)的问题单位变得更糟。

问候,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

让我在内部升级您的投入。我会尽快回复你的反馈。

谢谢,PM_Dialog

omesa.
离线
最后看到:7个月3周前
加入:2014-12-07 12:17
嗨米甲

嗨米甲
“主机应用程序没有从DA14580上运行的应用程序接收到CTS,它在超时后重置蓝牙模块- DA14580正在进入UART引导过程,加载固件并开始正常操作几秒钟,CTS再次丢失……”

当你的主机重置PAN1740时,发生了什么?它还活着吗?
你们有什么样的主人?
也许用于测试Modul,您可以将标记固件放在上面。
另一个想法,可能是CTS信号太短或串行通信失败。
你的讨厌是什么?它受到了校验和吗?
对不起,这只是猜测,因为我们没有摆在我们面前的硬件。
干杯
Siegmar

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
嗨omesa,

嗨omesa,

当CTS消失时,DA14580就不再做广告了。
CTS脉冲长足够长的微控制器。当在DA14580上运行的应用程序挂起时,它不会再发送CTS(短或长 - 使用示波器验证)。
该应用程序基于SDK的示例。

我们还在模块上放置了代理固件(例如Dialog SDK,我之前已经提到过,没有进行任何修改)。
在更高的电压下也是一样的-它是广告几秒钟,然后它停止。你可以看到电流绘制模块不再发射。
这意味着当存在更高的电压时,非常简单的应用程序(根本没有与主机的通信)悬挂。

问候,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

我已经在内部升级了你的问题。我会与你保持联系。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

你能把BANDGAP_REG [LDO_RET_TRIM]的位域改低一点吗?DA14580和SDK5.0.4的默认值是0x0A,因此将其更改为0x09。您还可以参考DA14580datasheet和表26:BANDGAP_REG (0x50000028)了解更多信息。在调用peripher_init()之前,必须在system_init()函数中添加以下代码行。

Void system_init(Void){…//检查并读取BD地址nvds_read_bdaddr();SetBits16 (BANDGAP_REG LDO_RET_TRIM 0 x9);/ /外设initilization periph_init ();...}

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
嗨pm_dialog,

嗨pm_dialog,

似乎起作用了!:-)
我得到了代理示例工作(我可以在Windows中配对它)高达3.5V。
在3.6V时,我不能像以前一样配对。
我还需要做进一步的测量来确定,但问题是:使用带隙电压的合理有多低?
使用了3uH线圈(我将尝试与松下确认),因为我在其他模块上测量过。

你有任何额外的注册文件吗?的表95:BANDGAP_REG (0x50000028)是不是没有给出太多的细节和注18.有点令人困惑…
预期什么副作用?

问候,
米甲

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
嗨pm_dialog,

嗨pm_dialog,

我测量了当前的电流消耗,通过Bankap调整。
我使用简单的场景 - 在蓝牙上使用DA14580上的ADC读取电池电压,维持3.0V电压,因此它适用,无需修改。
我们的产品在默认带隙配置下平均消耗大约1.2mA,在值设置为0x9时大约消耗2.4mA…

因此,修复器有助于更高的电池电压(不完全,但对我们来说很好),但使用蓝牙时,它会加倍电流消耗......
这并不是我们的目标。你还有别的主意吗?

问候,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

您是否使用相同的固件和相同的广告间隔?你用我们的SDK示例(如ble_app_barebone)测试过它吗?你提到电池电压是3.0V而不是3.3V(这就是问题所在)。你能解释一下吗?

电池电压= 3.0伏

—当BANDGAP_REG[LDO_RET_TRIM] = 0x0A时,电流消耗为1.2mA

—当BANDGAP_REG[LDO_RET_TRIM] = 0x9时,电流消耗为2.4mA

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
你好,

你好,

3.3V -新电池电池电压(有时较高)
3.0V - 电池的标称电压
我们的产品必须与两个电压一起使用。
蓝牙在某些单位上下降/悬挂在3.3V(我已经描述)。

我已经在电压下测量了所有设备上的蓝牙的电流。只是为了确保没有其他影响。

软件上唯一的区别是BANDGAP_REG[LDO_RET_TRIM]。其余部分未动(包括广告间隔)

BANDGAP_REG[LDO_RET_TRIM] = 0x0A——>电流消耗1.2mA
BANDGAP_REG[LDO_RET_TRIM] = 0x09——>电流消耗为2.4mA

无论3.3V的问题如何,当前消耗都会增加。两个“好”和“坏”单位需要更多的电流。

我用两个设置连接了一个单元的电流测量。

问候,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

能否取消da1458x_stack_config.h头文件中CFG_POWER_OPTIMIZATIONS宏的定义?在此之后,您能看到功耗的任何差异吗?

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
嗨pm_dialog,

嗨pm_dialog,

谢谢你的新想法:-)
不幸的是,我看不出有什么显著的区别……平均只少15-29uA左右……:-(

问候,
米甲

PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨Mratajski,

嗨Mratajski,

很抱歉回复晚了。事实上,它是一个定制的PCB,有几个参数涉及,并观察这样的行为,在系统性能。例如,以下参数可能会对系统产生影响:

  • Xtal Cut.
  • PCB层
  • PCB布局
  • 内部温度
  • XTAL的定位
  • 对系统整体性能的影响

解决方案是将LDO_RET_TRIM位域更改为较低的值(如前面建议的),并使系统在已知的操作限制内正常运行。

谢谢,PM_Dialog

mratajski
离线
最后看到:12个月3天前
加入:2019-02-21 11:32
嗨pm_dialog,

嗨pm_dialog,

谢谢!
似乎我现在需要推动模块制造商......

最好的问候,
米甲