Pwm over 10K freq, ble can not connect,

6 posts / 0 new
Last post
Mark
Offline
Last seen:1 year 3 months ago
加入:2014-06-03 10:18
Pwm over 10K freq, ble can not connect,

HI, Dialog:

use DA14580, qfn40

1. enable pwm3, pwm4, pwm5, pulse 50%,
2. set pwm frequncy 10k or above
3. start run pwm,
4. app find device , can't connect the device or connected while disconnect immediately
5. stop pwm, app connected the device
6. send data to the ble device, run pwm
7. app disconnect or send data not response

please check the issue!

Keywords:
PWM
Device:
JE_Dialog
Offline
Last seen:1 month 1 week ago
工作人员
加入:2013-12-05 14:02
Hello Mark, can you tell me a

Hello Mark, can you tell me a little bit about what profile you are runnng on the DA14580 (e.g. a SIG profile or one you have built yourself) and what are you connecting into to ? e.g. another DA14580 or iOS or Android using say Lightblue or something similar ? This will help us guide an answer for you. BR JE_Dialog

WI_Dialog
Offline
Last seen:1 week 5 days ago
工作人员
加入:2014-01-03 16:21
Hi Mark, your mentioned

Hi Mark, your mentioned obsevation may be due to the coupling of strong PWM signal to the sensitive RF signal path inside and outside. Please make sure the setting of TRIPLE_PWM_CTRL_REG.HW_PAUSE_EN is SET to allow the PWM signal swing to be disabled upon BLE RF activities. If the issue cannot be fixed, setting the SW_PAUSE_EN bit is recommended to let the software decided when to temporarily disable PWM to avoid the interference from the exrernal power source.
Regards, WI_Dialog

Mark
Offline
Last seen:1 year 3 months ago
加入:2014-06-03 10:18
Thanks WI_Dialog, I have

Thanks WI_Dialog, I have found root cause of the issue, one pwm signal line through the crystal, hclk not stable, case this issue,

kobyfr_mag
Offline
Last seen:5 years 2 months ago
加入:2015-06-02 12:48
Hello.

Hello.
I'm having similar issues, ofnotbeing able to activate PWM2 (output by timer2).
I'm using the sps_device demo project (UART over BLE).
I've set it up with both HW and SW control DISABLED.
GPIO_ConfigurePin(GPIO_PORT_1, GPIO_PIN_0, OUTPUT, PID_PWM2, true);
timer2_init(false, false, 1000);
timer2_set_pwm2_duty_cycle(20000);

I do not see any signal generated.
When I use timer0, I can see the correct freq and D.C. for 2-3 seconds, which later change to completely different frequencies and D.C (incorrect ones, of course).
timer0_init(TIM0_CLK_FAST, PWM_MODE_ONE, TIM0_CLK_NO_DIV);
timer0_set(0, 500, 1000);
timer0_start();

Since timer0 and timer2 are not used by the BLE stack, is there a way to disable the interaction between BLE stack and those timers completely?
I don't mind disabling power-management, if that can do the trick - I do not require to save power on my device.
============================
OK, I've found that #undef CFG_EXT_SLEEP disables power-off, and keeps TIMER0 PWM output always active and correct.

MT_dialog
Offline
Last seen:2 months 1 week ago
工作人员
加入:2015-06-08 11:34
嗨kobyfr_mag

嗨kobyfr_mag

When the system goes into sleep the timers are also shut down therefore you can't generate PWM, you have disable sleep permanently, or if you want to use sleep you have to disable it when its time to generate PWM and enable it again when you 're done.

Thanks MT_dialog