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

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

pvvx

Активный участник сообщества
Освоен не описанный DAC в виде PDM audio.
Выходит нормальный DDS генератор (по hardware 15 бит). Фильтр реализуется на R + C.
При PDM на 16 MГц генерация пилы (из буфера fifo):
1581850190972.png
Амплитуда не полная, т.к. в буфере значения от -16 до 32752.
Но уже видно, что размах от нуля до Vcc.
Если немного прибавить "громкость" в регистре "громкости" вывода (аппаратный множитель входных значений из буфера), для просмотра полного нуля и максимума:
1581850459156.png
То видно что амплитуда полностью от 0 до Vcc. Осел слаб - 8 бит... :(
Внешний DAC для TLSR8266 более не нужен.
 

pvvx

Активный участник сообщества
деБил это очевидно деБел т е десять Белов
Отвянь - это очевидно что-то китайское
Да судя по вашему сленгу у Вас крыша поехала.
Автобус по какому маршруту следует?
О - опять дебил nikolz высрался на форуме своим натерпевшимся...
 

pvvx

Активный участник сообщества
Опечатался, вместо "PDM" надо SDM audio.
Этот псевдо DAC в TLSR8266 работает до 200 ksps. Минимальная скорость вывода при тактировании 8 MHz - 244.140625 sps, при 16 MHz соответственно 488.28125 sps.
Диапазон тактирования 1..16 MHz. Есть добавка "шума", чтобы сгладить малое кол-во бит.
Как и свойственно любому audio DAC-у, переключение из минимального значения (-32768) в максимальное (32767) происходит путем построения лесенки в 16 уровней-шагов. Типа 4 бита.
1581862574061.png
И с включенной добавкой нормированного "шума":
1581862628589.png
 

pvvx

Активный участник сообщества
Такое происходит при выводе полной амплитуды сигнала на деленной на два частоте следования семплов.
Т.е. в звуке практически не встречается - это типа сигнал с полным размахом 24 кГц при 48 кГц оцифровке :p
 

pvvx

Активный участник сообщества
Это значит, что у данного DAC 4-х битная линейная интерполяция - процесс построения гладкой кривой из дискретного сигнала путем добавления промежуточных значений в исходный сигнал.
 

pvvx

Активный участник сообщества
особенно впечатляет число цифирек в шкале влажности
сказочник pvvx очевидно намекает что измерил влажность с погрешность 0.00001%
Гениально.
маразм крепчает.
ждем продолжения.
По мнению дебила nikolz такое ограничение для js dygraph безусловно лучше:
1581926594932.png
Дебил не в курсе, что SHT85 выдает влажность с 5-тью знаками.
 

pvvx

Активный участник сообщества
В "точке росы", да с усреднением лучше.
1581927690120.png

Потребление UBIA с SHT85:
10 sps -> 1.36 mA
4 sps -> 0.58 mA
2 sps -> 0.32 mA
1 sps -> 0.19 mA
0.5 sps -> 0.12 mA
Disconnect -> 0.09 mA
 

pvvx

Активный участник сообщества
ADC->DAC с буферизацией:
1581959979433.png
Синий вход, желтый выход.
Отношение на осле выставлено 215 к 500 для сравнения. (Вход ADC до Ref 1.3V p-p, выход DAC до 3.3V p-p от туда отношение в 2.538462 раза)
1 кГц пила подана на вход ADC ~50 ksps... DAC установлен тоже на ~50 ksps (при 16MHz SDM)

8-ми битным ослом ничего не оценить.
Соотношение синал / шум канала ADC-DAC (SNR) >73 дБ
 

pvvx

Активный участник сообщества
BMP280 оказывается нагревается после выхода из sleep и не хило:
На графике четыре включения через 25 сек:
1582016878621.png
И для тролля nikolz есть пища - у BMP280 вообще температура в 20 бит по доке :p
с погрешность 0.00001%
Гениально.
маразм крепчает.
ждем продолжения.
И дельту высоты в 10 см на нем возможно узреть. :p
 

nikolz

Well-known member
BMP280 оказывается нагревается после выхода из sleep и не хило:
На графике четыре включения через 25 сек:
Посмотреть вложение 8913
И для тролля nikolz есть пища - у BMP280 вообще температура в 20 бит по доке :p
И дельту высоты в 10 см на нем возможно узреть. :p
привет маразматик и хамло pvvx,
Я рад что мои пинки по твоему заду
вдохновляют тебя на новые исследования
и изучение учебников.
Ждем продолжения твоего самообразования.
 

pvvx

Активный участник сообщества
Тролль nikolz опять накакал.

Теперь вы выставляете свою обреченность в невозможности что-либо создать или просто использовать?
вы еще не наигрались?
Можете назвать задачу реальную кроме мигания лампочкой?
Даже задачи для игры придумать не можете. Куда уж там до другого.
Образование видимо пропили, теперь ссылаетесь на учебники :)
Учебники тут и создаются мной, совместно с исследования и уточнениями реальных характеристик чипов, а не ваших выдумок :p
вдохновляют тебя на новые исследования
Другого использования дебила nikolz, кроме как участия в сценарии для генерации заранее определенных вопросов для разбора не бывает. Исследование таких возможностей давно завершено и практически используется – Вы, nikloz, тут и играете роль дурака. Вдохновения захотели – от куда оно у вас, если сценарий вам задал заранее? :ROFLMAO:
 

nikolz

Well-known member
Тролль nikolz опять накакал.

Теперь вы выставляете свою обреченность в невозможности что-либо создать или просто использовать?

Даже задачи для игры придумать не можете. Куда уж там до другого.
Образование видимо пропили, теперь ссылаетесь на учебники :)
Учебники тут и создаются мной, совместно с исследования и уточнениями реальных характеристик чипов, а не ваших выдумок :p
Другого использования дебила nikolz, кроме как участия в сценарии для генерации заранее определенных вопросов для разбора не бывает. Исследование таких возможностей давно завершено и практически используется – Вы, nikloz, тут и играете роль дурака. Вдохновения захотели – от куда оно у вас, если сценарий вам задал заранее? :ROFLMAO:
привет Хамло pvvx,
Насмешил.
Если не заниматься ковырянием чужого софта как делает это маразматик pvvx,
все хорошо написано в документации
и сложность написания для TLSR составляет:
обращение к АЦП - 4 строчки кода
обращение к I2C - 5 строчек
обращение к UART -4 строчки
работа с BLE - не намного больше но есть готовые примеры.
Готовая прошивка маяка с ацп и uart получается всего 16 кбайт
теперь вопрос к хамлу pvvx
Ну и что в этом интересного?
Присоединить датчик четырьмя проводами и прочитать данные с этого датчика ?
Такому дебилу как pvvx - это предел достижений.
Порадуемся за маразматика pvvx,
который дорос до пенсии а все в песочнице никак не наиграется.
только пока не ясно по какой лицензии дурила pvvx продает взломанный софт.
 

pvvx

Активный участник сообщества
привет Хамло pvvx,
Насмешил.
Если не заниматься ковырянием чужого софта как делает это маразматик pvvx,
все хорошо написано в документации
и сложность написания для TLSR составляет:
обращение к АЦП - 4 строчки кода
обращение к I2C - 5 строчек
обращение к UART -4 строчки
работа с BLE - не намного больше но есть готовые примеры.
Готовая прошивка маяка с ацп и uart получается всего 16 кбайт
теперь вопрос к хамлу pvvx
Ну и что в этом интересного?
Присоединить датчик четырьмя проводами и прочитать данные с этого датчика ?
Такому дебилу как pvvx - это предел достижений.
Порадуемся за маразматика pvvx,
который дорос до пенсии а все в песочнице никак не наиграется.
только пока не ясно по какой лицензии дурила pvvx продает взломанный софт.
Пример в студию. Вы у нас писать даже не умеете... Документацию читать тоже не научились, а уж смотреть сколько строчек в примерах и про что они - для вас это запредельное. Так что не расстраивайтесь - всё равно мозгов у вас не хватит написать хоть что-то аналогичное представленному тут. Так и помрете бездарем :p

Пока вы будете искать в теме где я написал, что не так с примером ADC у Telink,
я пока в авто-калибровку канала DAC-ADC по 50 мВ через BLE в js, чтобы с разметкой dygraph шкалы по напряжению поиграю:
1582261379575.png
:p
 

pvvx

Активный участник сообщества
Вы совсем бедняга, бездарь nikolz, опустились ниже плинтуса.
Что-то продавать из моих примеров решили?
Да куда уж вам дебилу это освоить. Четыре года осваивали ESP8266 и так ничего не написали, кроме спаму и тасканием за мной.
 

oleg_777

New member
Кстати в chrome 80 теперь есть web serial - инфо

Большой вопрос, а можно добавить ble - uart bridge в UBIA. А то в модуле JDY-33 всего можно выжать 20 пакетов в сек. по 80 байт.

Я пока сделал небольшой драйвер для универсального подключения к различным модулям - пример
 

pvvx

Активный участник сообщества
Большой вопрос, а можно добавить ble - uart bridge в UBIA. А то в модуле JDY-33 всего можно выжать 20 пакетов в сек. по 80 байт.
20 пакетов по 80 байт уже хорошо для BLE 4.2.
1600 байт в сек.
Для полноценного ble - uart bridge нужно создавать специальную версию, именно этим и занимающуюся. Требуется специальная адаптация интервала соединения и MTU, да чем больше буфер, тем лучше.
К примеру, на штатных USB-адаптерах BT4.2 будет передано, при соединении с интервалом 11.25 ms, туда и обратно всего один пакет в среднем за 4.5 таких интервала (50 ms). Хотя стандарт до 7.5 ms - меньше 11.25 не все едят.

В UBIA уже есть UART, но пока до 58 байт блок. Таково аппаратное ограничение шага UART-DMA при размерах конечных буферов rx и tx (по 64 байта), а система рассчитана на работу всех сразу - i2c, ADC, DAC, UART и памяти в чипе мало. Аппаратные буфера DFIFO ADC жрут очень много RAM из-за stereo - рассчитаны два канала, а второй ADC в TLRS8266 не работает и DFIFO гоняет один пустой канал в буфере... Так-же и DAC. На него в UBIA уже не хватает памяти и буфер зажат до простого вывода значения, без нормальной возможности работать как с DDS или поточным DAC.
 

pvvx

Активный участник сообщества
На TLSR8266 в закрытых либах стека BLE получить MTU больше чем 234 полезных байта не выходит. Там запрограммированы статические буфера и больше не лезет. И это уже в предел - занимает сразу всю память стека и резерва нет.
Передача в BT 4.2 такого MTU за раз - это 9 пакетов - 20+27*n байт, где 20 - это первый пакет и n = 8 дополнительных. Не все устройства 4.2 такое уже съедят за один интервал - инфа из инет гласит, что до 6 пакетов...
9 пакетов уже передаются по времени более 7 ms, что есть минимальный интервал соединения. Т.е. он полностью заполнен, а приемник обычно хочет работать ещё с другими устройствами и не позволяет перием-передачу таких монстров каждый интервал соединения. Да ещё и тормоза обработки - все адаптеры BLE сидят на USB1.1 и сообразить с ответами и подтверждениями стеку каждый минимальный интервал не в состоянии (дрова и прочее ПО к BLE в ОС не я писал, как и стек в TLSR826x и довольствуемся тем что есть).
 

pvvx

Активный участник сообщества
в модуле JDY-33 всего можно выжать 20 пакетов в сек. по 80 байт.
Не пробовали коректировать интервал соединения и "время занятия канала"?
Connection event (interval. 0x0006 - 0x0C80 * 1.25 ms)
Number of LL latency connection events (0x0000 - 0x03e8)
От них полностью зависит трафик, как и от MTU.
Запрос на изменение этих значений серверу или клиенту - штатные команды в BT 4.2 и Web Bluetooth должен иметь это в API.
 

pvvx

Активный участник сообщества
На время тестовой версии, чтобы не привязываться к дровам и прочему внешнему ПО я это встроил в протокол самого UBIA. Модуль по команде и запрашивает нужные параметры у клиента, а затем сообщает смог ли клиент изменить их. Т.е. достаю “гланды через …”.

Там не всё ещё гладко, т.е. внешние BLE устройства и дрова в ОС имеют свои “причуды” и требуется выработка универсального расчета этих величин под необходимый поток.

Короткий интервал соединения (Connection event) выжирает батарейку и чем он больше по значению – тем меньше жрет модуль и меньше занят “эфир” (больше устройств одновременно может обслужить клиент). Аналогично и с latency connection events.

PS: Частичное описание -
latency connection events - последний коммент там
И про остальное -
И т.д.
 
Сверху Снизу