• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

BLE модуль JDY-10 на чипе TLSR8266

pvvx

Активный участник сообщества
Там нет инструментального операционного усилителя. Соответственно синфазное не гасится и т.д...
Там просто два ОУ у которых один вход включен к опорному (Ref) напряжению.
И я не помню, в той программе отключал или нет подтяжки на GND.
По этому может быть разница на Ваши манипуляции тыкания пальцем на входы.
 

pvvx

Активный участник сообщества
Там просто два ОУ у которых один вход включен к опорному (Ref) напряжению. И когда на входе отклонение от опорного напряжения более чем +-0.65/коэф.усиления то происходит зашкал выхода этого ОУ.
 

nikolz

Well-known member
Там просто два ОУ у которых один вход включен к опорному (Ref) напряжению. И когда на входе отклонение от опорного напряжения более чем +-0.65/коэф.усиления то происходит зашкал выхода этого ОУ.
спасибо.
Можете прояснить что за регистр 0x28, который тоже задает входы PGA.
 

pvvx

Активный участник сообщества
спасибо.
Можете прояснить что за регистр 0x28, который тоже задает входы PGA.
Я уже не помню, а могу приводить только готовое, т.к. данный модуль стоит в измерителе (подручный PowerProfiler который не жалко сжечь) которым ещё пользуюсь...
Но помню, что в TLSR8269 значительно лучше работает ADC, а в TLSR8266 он частично такой-же, но обгрызан.
 

pvvx

Активный участник сообщества
У TLSR826x три "канала". Соответственно и три PGA.
Код:
#define reg_adc_pga_sel_m        REG_ADDR8(0x28)
#define reg_adc_pga_sel_l        REG_ADDR8(0x29)
#define reg_adc_pga_sel_r        REG_ADDR8(0x2a)
 

nikolz

Well-known member
У TLSR826x три "канала". Соответственно и три PGA.
Код:
#define reg_adc_pga_sel_m        REG_ADDR8(0x28)
#define reg_adc_pga_sel_l        REG_ADDR8(0x29)
#define reg_adc_pga_sel_r        REG_ADDR8(0x2a)
спасибо.
непонятно как связана установка каналов в 0x2с, с установкой в 0х28.
В обоих случаях определяется одно и тоже.
Надо устанавливать в обоих регистрах ( У Вас в UBIA в 0x28 записан 0)
---------------
и еще
Вы согласны, что для выбора PGA_R и PGA_L в качестве канала надо
указать (это из adc.h оригинала)
#define CHN_pga_R 0x0d
#define CHN_pga_L 0x0e
а не (это у Вас в html файлах UBIA)
=0x6E: PC1, PGA
=0x8D: PC2, PGA
 

pvvx

Активный участник сообщества
Вы согласны, что для выбора PGA_R и PGA_L в качестве канала надо
указать (это из adc.h оригинала)
#define CHN_pga_R 0x0d
#define CHN_pga_L 0x0e
а не (это у Вас в html файлах UBIA)
=0x6E: PC1, PGA
=0x8D: PC2, PGA
Не вижу разницы

u8 chnll = chnl&0x1f;
 

pvvx

Активный участник сообщества
Биты [6:5]: Differential analog input selection bits
00: single-end
01: D[5] as inverting input
10: C[3] as inverting input
11: PGA left channel as inverting input
 

pvvx

Активный участник сообщества
Бит7 - вывод данных со знаком
Открывайте PDF и не пудрите мозги :)
 

pvvx

Активный участник сообщества
вы до сих пор пользуетесь блокнотом для редакции исходников?
Эксплорер и тот находит #define
1711658048304.png
а в них специально для Вас указал:
Код:
enum{
    FLD_ADC_CHN_SEL =             BIT_RNG(0,4),
    FLD_ADC_DIFF_CHN_SEL =         BIT_RNG(5,7),    // datasheet  12.1
    FLD_ADC_DATA_FORMAT  =      BIT(7),
};
 

nikolz

Well-known member
вы до сих пор пользуетесь блокнотом для редакции исходников?
Эксплорер и тот находит #define
Посмотреть вложение 13735
а в них специально для Вас указал:
Код:
enum{
    FLD_ADC_CHN_SEL =             BIT_RNG(0,4),
    FLD_ADC_DIFF_CHN_SEL =         BIT_RNG(5,7),    // datasheet  12.1
    FLD_ADC_DATA_FORMAT  =      BIT(7),
};
спасибо.
Вы, как обычно, не угадали.
Никогда не пользовался блокнотом.
 

nikolz

Well-known member
Не вижу разницы

u8 chnll = chnl&0x1f;
Да, я это нашел.
Но в чем смысл, что Для одного канала установили 6 и 5 биты?
---------------
Про 7 бит тоже прочитал в документации.
----------
Но в вашем UBIA BLE так и не смог установить какой-нибудь коэффициент усиления PGA .
Спасибо за объяснения
Буду разбираться.
 

pvvx

Активный участник сообщества
Да, я это нашел.
Но в чем смысл, что Для одного канала установили 6 и 5 биты?
А вам надо на выходе получать раздельно значения по двум каналам?
Тогда это совсем отдаленно не похоже на "дифференциальный" ввод, а является вариантом оцифровки для "stereo".
Если в варианте "stereo" программно сложить два канала, то это и будет то, что устанавливается в моем варианте, но делается аппаратно без увеличения объемов буферов принимаемого потока с ADCs.
 
Сверху Снизу