13 posts / 0 new
最后一篇
Auzzz.
离线
最后一次露面:3 months 2 weeks ago
加入:2016-06-20 10:43
程序意外停止为DA14681

嗨对话框,
我们开发了一种基于基本devkit的最低DA14681系统的开发板。
The code we run correctly on BASIC Dev kit, it just simply print "hello world" to COM port periodically.
But when I downloaded the image to own designed board, the code only run for a short time, after 10 seconds, the program halted. We built 5 dev boards, all show the same error.

开发环境:
1.SmartSnippets Studio v1.2.3.588
2. SDK DA1468x_SDK_BTLE_v_1.0.6.968
3.外部Flash Winbond W25Q16DWSSIG QSPI 16Mbit
4. Demo project:pxp_reporter

我的问题可能导致这个问题是什么?谢谢

Device:
mt_dialog.
离线
最后一次露面:2 months 3 weeks ago
职员
加入:2015-06-08 11:34
Hi auzzz,

Hi auzzz,

The description of the probelm is quite generic i can't see where the problem is by the provided info, you will have to attach the debugger in order to check where the code has halted, this could give us a clue of what is happening with your custom hw.

谢谢mt_dialog.

Auzzz.
离线
最后一次露面:3 months 2 weeks ago
加入:2016-06-20 10:43
Hi MT_dialog,

Hi MT_dialog,
我们发现该问题是由串行端口引起的。DA14681 Devkit的默认电压电平USART1 TX是低电平。我们使用的USB到TTL芯片是CH340,其默认TX是高电平。
different voltage level may cause the system crash, by detaching the Tx of Debugger, system can function normally.
My question is why Rx of DA14681 will cause the crash? Do we have to find a debugger with same default voltage level as DA14681?

Auzzz.
离线
最后一次露面:3 months 2 weeks ago
加入:2016-06-20 10:43
we use coin battery as main

我们使用硬币电池作为主电源,同时调试器提供3.3V电压电平。不同的参考。电压可能导致问题。

kingwheat
离线
最后一次露面:1 year 4 days ago
加入:2016-12-08 09:21
你好,

你好,
似乎我们遇到了同样的问题,我们也设计了我们自己的电路板,我下载了SDK 1.0.6的PXP报告者。在大约8秒后,它重置,然后在接下来的8个SCEOND再次重置。..

mt_dialog.
离线
最后一次露面:2 months 3 weeks ago
职员
加入:2015-06-08 11:34
Hi auzzz, kingwheat,

Hi auzzz, kingwheat,

我不认为UART与您体验的内容有关,我相信其他事情是错误的,你所提到的是由另一个问题造成的副作用。一些信息,您使用的包装,您的焊接型材是什么,以及您的定制HW上的模板厚度是多少?

谢谢mt_dialog.

kingwheat
离线
最后一次露面:1 year 4 days ago
加入:2016-12-08 09:21
Hi MT_dialog

Hi MT_dialog
我认为我的板有点问题,当我使用Demo Project PXP记者,我没有对它进行任何改变。它在开发套件中运作良好。当我下载到我自己的电路板时,并使用+ vbat和-vbat供应,它每8秒再次重置一次。但是当我向VBUS提供5V或仅在PM_Mode_active中保持系统的电源时,它运行良好。

SDK: DA1468x_SDK_BTLE_v_1.0.6.968
SmartSnippets Studio版本:1.2.3.588
测试项目:da1468x_sdk_btle_v_1.0.6.968 \ da1468x_sdk_btle_v_1.0.6.968 \ projects \ dk_apps \ demos \ pxp_reporter

Auzzz.
离线
最后一次露面:3 months 2 weeks ago
加入:2016-06-20 10:43
Hi Kingwheat,

Hi Kingwheat,
你用UART调试了吗?

Hi MT_dialog,
我们使用AQFN包,请遵循DEV套件电路图。只有当CR2032是电源时,才能在DA14681-01A9DEVKT-B上再现此问题。

kingwheat
离线
最后一次露面:1 year 4 days ago
加入:2016-12-08 09:21
嗨Auzzz,

嗨Auzzz,
I use the UART to debug,and I only printf in the task. if printf in the interrupt's callback ,may cause some problems i think。

Auzzz.
离线
最后一次露面:3 months 2 weeks ago
加入:2016-06-20 10:43
Try detach Tx in debugger and

尝试在调试器中分离TX并检查重置是否消失。

mt_dialog.
离线
最后一次露面:2 months 3 weeks ago
职员
加入:2015-06-08 11:34
Hi kingwheat, auzzz,

Hi kingwheat, auzzz,

据我所知,你的经验与您的自定义PCB的焊接有关。从8到10秒后,两种板都在延迟最大可能是因为DCDC被激活后立即启动并重置您的电路板。8秒后,系统从LDO更改为DCDC电源,当系统在LDO上运行时,获得BOD复位的唯一原因是通过具有实际电压下降,当系统在DCDC上运行BOD事件时可能会触发。特别是如果DCDC GND引脚或中央GND焊盘具有焊接问题。要检查此功能,可以通过#define dg_configuse_bod(0)禁用BOD,这将禁用重置(此问题仍然只是为了测试这是实际问题)。此外,您可以尝试在PCB上按SOC或重新加热焊料,以防您遇到的内容也将验证您具有焊接问题。

Also in order to check that indeed this is your problem you can do the following in order to check the BOD_VREF. This should be accurate to 515mV with variance less than 50mV under any circumstances.

So add the following code in the system_init() before starting any new task to export the BOD_VREF to P1_7

//将bof_ref导出到p1_7
REG_SETF(GPIO,test_ctrl5_reg,test_bod_vref_out,1);//将BOD参考缓冲区输出到TESTBUS
REG_SETF(Anamisc,ANA_TEST_REG,ACORE_TESTBUS_EN,1);//在acore中启用模拟 - testbus
REG_SETF(GPIO, TEST_CTRL2_REG, ANA_TESTMUX_CTRL, 0x3); // Select analog-testbus in the PADs
hw_gpio_set_pin_function(hw_gpio_port_1,hw_gpio_pin_7,hw_gpio_mode_output,hw_gpio_func_adc);//设置为p1.7至ADC /打开模式

保持BOD禁用,因此它不会通过在custom_config_qspi.h文件中添加#define db_configuse_bod(0)来启动并禁用睡眠模式。

In order to see this on an oscilloscope you will have to isolate the power supply to avoid noise and run the laptop on Battery to isolate it from devices which can inject noise through the ground, so be very carefull.

关于您可以在基本套件上复制它的事实,我无法在我的设置上看到这样的内容,我下载了运行并使用了与1.0在CR2032电池上运行的Hylink演示的UART。.6 SDK。

谢谢mt_dialog.

kingwheat
离线
最后一次露面:1 year 4 days ago
加入:2016-12-08 09:21
嗨,mt_dialog

嗨,mt_dialog
非常感谢你回答我们的问题。
before the test, the project's configration is #define dg_configUSE_BOD (1), and turn on the sleep mode, it will reset
我有测试,
首先,#define dg_configuse_bod(0),然后关闭睡眠模式,运行良好。
secondly, #define dg_configUSE_BOD (0), and turn on the sleep mode, it will reset.
As it's shows , I find the reset is much more relative to the power mode mangerment,.

当我使用Hardwear Iic时,我会遇到另一个问题。
I operate the IIC write function like this: ad_i2c_write(); read: ad_i2c_transact(dev, ®_addr, 1, reg_data, cnt);
it works well if I turn off the ble stack.if not ,some event may disturb the IIC interface.
我很迷惑,因为我使用hardwearic, after i operate the read or write function, I can let my cpu to do another thing after that has finished the opration they will give me a callback ...in this case ,how dose the ble event effect the hardwear iic? sometimes the iic will miss the callback and let my task to stay in Block..

mt_dialog.
离线
最后一次露面:2 months 3 weeks ago
职员
加入:2015-06-08 11:34
Hi kingwheat,

Hi kingwheat,

Please if you find the previous response helpfull, mark the answer as accepted, also please dont respond to an answer with an additional question irrelevant to the thread's topic, if you would like to ask a new question you can always create a new thread.

关于你的问题,我不确定我对此,我所理解的只是你缺少中断。通常,BLE中断与任何其他中断的优先级更高,但这并不意味着您将错过I2C中断。可能发生的是,当BLE将睡眠时,您的I2C中断与BLE关键部分同时发生,这具有一个关键部分,该部分禁用大约600us的中断,也许这是您的程序丢失的地方。

Also regarding the callbacks that you are refering to when the operation has finished, you mention that you are using synchronous functions ad_i2c_transact() and ad_i2c_write() instead of the asynchronous corresponding functions ad_i2c_async_transact() those kind of functions take a callback as a parameter and will not wait for the operation to finish and the corresponding callback will be invoked when the operation has concluded.

Thansk mt_dialog.