We are using DA14580 on PAN1740 module.
这module is used on a coin battery powered products.
On the product a microcontroller communicates with DA14580 over UART.
We are experiencing with some modules connection problems.
We have noticed that it happens when battery voltage is higher like 3.1V - 3.3V.
This is new topic as I have further findings and question in previous one is 'completed'. I have received new units from production showing this problem.
我们的生产软件在没有任何问题的情况下运行,因为长电源电压低于3.25V。
With higher voltages it is running for a few seconds. I can see the product popping up in Windows Bluetooth pairing. If I am fast enough I can get PIN prompt. However I cannot complete pairing.
We have implemented basic support for RF Master (start/stop) for tests. It is possible to communicate with it over whole supply range (up to 3.6V).
要消除我们介绍的任何可能的错误,我们使用SDK的示例应用程序:
\DA1458x_SDK_5.0.4\DA1458x_SDK\5.0.4\projects\target_apps\ble_examples\prox_reporter\Keil_5\prox_reporter.uvprojx
It has been compiled without any modifications.
I can see Bluetooth device asDIALOG-PRXRwhen I start the Bluetooth module on our device.
Everything is fine up to 3.25V - I can see the unit and I can pair it in Windows (no PIN).
As soon as I increase voltage to 3.3V it is running again for few seconds only - right after power on the device is popping up, but I cannot complete pairing.
这module is booting over UART without any problems up to (at least) 3.6V.
我们使用的松下模块(PAN1740)具有非常少的外部部件(电感器,两个晶体和少量电容器)。
提到的电压是我们产品的供应。该模块通过微控制器的IO引脚提供,因此模块上的实际电压较低(减少约50mV)。
这problem is showing with some units only. Others work without any fuss (pairing and communication) up to 3.6V (and higher :-) ).
What could cause such behavior? Where should I search further?
Hi mratajski,
Thanks for your question online. Would it be possible to provide the following data to have a better view on your issue?
谢谢,PM_DIALOG.
1。
In attachement current consumption of the module just right after power on and booting at 3.0V (OK), 3.2V (OK) and 3.3V (it fails).
初始化后,软件似乎是......
Connection interval is what prox_reporter BLE example has (min. 10ms, max. 20ms?).
However it depends on the negotiation with Windows 10 mostlikely - it has standard configuration.
2。
We do not have BLE Sniffer...
Can you recommend one?
电流消耗电压变化:
1.模块电源打开并启动3.0V
2。Supply increased briefly to 3.3V
3.供应减少到3.0V
这module is not recovering with lower voltage.
hello,
也许你的问题是:“模块通过微控制器的IO引脚提供,因此模块上的实际电压较低(减少约50mV)。”
干杯
Siegmar
I have hardwired the module to external power supply... No luck... It is stopping as soon as voltage is 3.3V...
hmmh ..... what happend, when your controller make with an Portpin RESET on the PAN1740 modul.
我在我的Projekt中,同样的模块和大规模生产很快就会开始。我的外部控制器可以始终重置Modul。这是我的硬件看门狗。
干杯
Siegmar
With our host software we check communication with the module all the time.
如果它停止响应主机,请重置模块。
低电压电源的模块正常工作,只有在模块真的卡住的情况下,只能使用复位 - 我没有观察到它。
一旦电压增加,我就可以观察到重置的无穷无尽的循环......
这BLE is active for few seconds and then reset and again and again...
Periods of activity are enough for Windows to detect the device, once or twice I could complete pairing, but you can forget any comunication...
However, there is no communication with Dialog API example application (proxy), so the reset functionality in host is dissabled.
当它被卡住时,它只是卡住了......
and once again - it is happening to only few units we have - all others are working fine up to 3.6V.
然而,这是影响产量并敲诈PCBA修理......
干杯,
米..
Hi omesa, thanks for your answer.
嗨MRATAJSKI,我将检查您的投入,并尽快通知您。
谢谢,PM_DIALOG.
Hi mratajski,
再次感谢您的投入。如果有任何错误/缺少任何东西,请纠正我的,并请提供一些进一步的输入。然后,我将在内部升级所有输入以进行进一步分析。
Issue description:
When the supply voltage is at 3.3V:
谢谢,PM_DIALOG.
> PAN14580 module is used in a custom board
是的,它用于我们的BLE启用的产品。
> DA14580 is powered through a coin cell battery
Yes, it is supplied using Lithium coin primary cell battery on problematic products (initial voltage 3.2-3.4V, nominal voltage 3.0V).
> The issue is appeared only in some modules, not at all devices. Can you indicate that the issue exists only on some of them? Are there any device which running at 3.3V supply voltage?
我们不执行生产测试为3.3 v。我们just test every unit with fresh battery (voltage of the battery is tested to be at least 3.2V or more) at the end of production.
Some units (few percent) are failing final BLE communication test with fresh battery.
Majority of produced units have no problem with initial (higher) voltage of the battery.
我们也在3.0V下执行每个PCBA的BLE测试。在这个阶段,所有单位都在没有任何问题进行通信。
我已经测试了从生产中的一些失败样本 - 对于它们阈值电压约为3.25V。我观察到这个电压高于问题。
我也在测试了一些传递的样本 - 它们良好高达3.6V。
> Some of the boards, start advertising for a while and then continually reset.
是的,我可以在Windows 10蓝牙配对中观察BLE设备的正确名称。
> How do you know that the chips enter an endless reset-loop?
I observe communication between host CPU and DA14580 with oscilloscope. I observe reset line as well.
主机应用程序不会从DA14580上运行的应用程序接收CTS,并且在超时后重置蓝牙模块 - DA14580进入UART启动过程,加载固件并开始正常操作几秒钟,CTS再次缺少CTS ...
> BLE is active for few second, so are you able to connect?
在其他情况下,我能够从DA14580读取ADC转换器值,不时(重置和ADC池循环不同步),
当有问题的单位提供3.3V时。
这pairing is perform at 3.0V before the test.
I managed to pair Bluetooth device in Windows 10 once or twice with 3.3V powered problematic unit.
I got impression it is getting worse if I increase voltage (like 3.4V or 3.5V) for problematic unit.
问候,
米..
Hi mratajski,
Let me escalate your inputs internally. I’ll get back to you as soon as I have feedback from the Team.
谢谢,PM_DIALOG.
嗨michal.
" The host application does not receive CTS from application running on DA14580 and it resets the Bluetooth module after time out – DA14580 is entering UART boot process, loads firmware and starts normal operation for few seconds and CTS is missing again..."
Whats happened, when your host resets not the PAN1740 ? It is still alive and advertising ?
你有什么样的主人?
Maybe for testing the modul, you can put for example a tag firmware on it.
另一个想法,也许CTS信号太短或串行通信失败。
What is your baudrate ? Is it protected my a checksum ?
Sorry, this are only speculations, because we have not the hardware in front of us.
干杯
Siegmar
Hi omesa,
当CTS丢失时,DA14580不再通告。
CTS pulses are long enough for the microcontroller. When application running on DA14580 is hanging it does not send CTS anymore (short or long - verified with oscilloscope).
这application is based on examples from SDK.
我们已经配置了代理固件(对话框SDK的示例,没有任何修改,因为我之前已在模块上提到)。
With higher voltage is the same - it is advertising for few seconds and then it stops. You can see with current drawn that the module is not transmitting anymore.
This means very simple application (no communication with host at all) is hanging by itself when there is higher voltage present.
问候,
米..
Hi mratajski,
I’ve already escalated your issue internally. I will keep you updated.
谢谢,PM_DIALOG.
Hi mratajski,
您能否将bandgap_reg [ldo_ret_trim]位域更改为较低的值?DA14580和SDK5.0.4的默认值为0x0A,因此将其更改为0x09。您还可以参考DA14580DATASHEET和表26:更多信息,CANDGAP_REG(0x50000028)。您必须在periph_init()调用之前在system_init()函数中添加以下行。
谢谢,PM_DIALOG.
Hi PM_Dialog,
它似乎在工作!:-)
我收到了代理示例工作(我可以在Windows中配对)高达3.5V。
At 3.6V I cannot pair it as before.
I still need to do further measurements to be sure, but the question is: How low is reasonable to go with the bandgap voltage?
使用3uh线圈(我将尝试用松下确认)在其他模块上测量。
您有寄存器的任何其他文档吗?这表95:bandgap_reg(0x50000028)没有提供更多细节和Note 18有点令人困惑......
What side effects are to be expected?
问候,
米..
Hi PM_Dialog,
I have measured current consumption with bangap adjustments.
I have used simple scenario - read-out of battery voltage using ADC on DA14580 over Bluetooth, maintaining 3.0V voltage, so it works with and without modification.
我们的产品平均消耗大约1.2mA,默认带隙配置和大约2.4mA,值设置为0x9 ...
So the fix helps with higher battery voltage (not entirely, but it is fine for us), but it doubles current consumption while Bluetooth is used...
This is not exactly what we are aiming for... Do you have any other idea?
问候,
米..
Hi mratajski,
您是否在使用具有相同广告间隔的相同固件?您是否与我们的任何SDK示例进行了测试,例如BLE_APP_BAREBONE?您提到的是,电池电压为3.0V而不是3.3V(这是问题)。你能澄清一下吗?
电池电压= 3.0伏
- 当BandGAP_REG [LDO_RET_TRIM] = 0x0A时,电流消耗为1.2mA
- When BANDGAP_REG[LDO_RET_TRIM] = 0x9, current consumption is 2.4mA
谢谢,PM_DIALOG.
Hello,
3.3V - 新鲜电池电池电压(有时它更高)
3.0V - nominal voltage of the battery
Our product must work with both voltages.
蓝牙is falling/hanging at 3.3V on some units (as I have already described).
我在所有单位上保持了电压的电压下进行了电流测量。只是为了确保没有其他影响。
软件中唯一的区别是bandgap_reg [ldo_ret_trim]。所有其余的尚未触及(包括广告间隔)
bandgap_reg [ldo_ret_trim] = 0x0a --->电流消耗是1.2ma
BANDGAP_REG[LDO_RET_TRIM] = 0x09 ---> current consumption is 2.4mA
Current consumption is increased regardless of problems at 3.3V. Both "good" and "bad" units need more current.
I have attached current measurements of one unit with both settings.
问候,
米..
Hi mratajski,
您能否请拒绝da1458x_stack_config.h标题文件中的cfg_power_optimizations宏?之后,您是否能够看到电源消耗的任何差异?
谢谢,PM_DIALOG.
Hi PM_Dialog,
Thank you for new ideas :-)
Unfortunatelly I do not see any significant difference... On average it is only around 15-29uA less... :-(
问候,
米..
Hi mratajski,
我为迟到的回应道歉。实际上它是一个自定义PCB,有几个参数涉及并观察系统性能中的这种行为。例如,以下参数可能会影响系统:
这resolution is to change LDO_RET_TRIM bit-field to a lower value (as previously suggested) and keep the system functional in the known operational limit.
谢谢,PM_DIALOG.
Hi PM_Dialog,
Thank you!
It seems I need to push module manufacturer now...
Best Regards,
米..