2 posts / 0 new
Last post
NScherdin
Offline
Last seen:1 year 3 months ago
加入:2015-08-15 19:34
ADC accuracy/settings

I've noticed an odd behavior with the ADC on the DA14580. When I first run my code the ADC has a 2bit error on the analog signals. Then If I connect to a Bluetooth device it drops to 1bit of error. I've gone through every bit of code I've loaded to see if the 5.0.3 library is doing anything with the ADC but cant find anything. I've also tried to determine exactly when the better readings happen. It appears to be while discovery is running and Im reading my custom service information. I setup the ADC when the board first powers up and then continuously take readings from all 4 ADC channels(via the ADC interrupt). Beyond the register access necessary to change the AD channel and start the next sample I do not make any other accesses to the ADC registers and cant see any reason why the performance of the ADC would improve when connected to a BlueTooth client.

Note, this is a custom board. All active source of noise are active before and after connection to the client. The only difference would be before connection the unit is advertising and after connection it is just transfering status information and responding to commands. The BLE trafic should actually be much higher when connected relative to the advertising traffic before connection.

Any ideas what could be causing this would be appriciated. I need the same performance(preferably the 1bit performance) at all times, not just when the device is connected to a client.

Device:
MT_dialog
Offline
Last seen:1 month 2 days ago
工作人员
加入:2015-06-08 11:34
Hi NScherdin,

Hi NScherdin,

我不see any correlation between the ADC and the state of the BLE (Connected/Advertising). How do you know that there is a 1-bit error and a 2-bit error, are you sure that the analog signal that you are measuring is rock solid ? the bit error of the ADC doens't change, you will have to check the input signal. You can place an oscilloscope while measuring and check the signal. Also what kind of analog signal you are measuring, is it the battery voltage ?

Thanks MT_dialog