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

Обсуждение TLSR8269

pvvx

Активный участник сообщества
Уважаемы pvvx, проектиком " STM32F103 INA219" не поделитесь? Бывает нужда померить потребление своих поделок. На STM32 я могу написать , а вот для PC писать как то не сложилось у меня.
Но думаю время выберу, попробую начать. И еще вопрос, Вы писали: " Кошмар!!! Вот у меня кончились спец. платки с шагом к таким модулям, а ждать новых некогда." Как хоть они выглядят? Искал на Али не нашел.
Были платки такого плана, но с другим шагом, под 1.25, 1.o, ...

105.42руб. |5 шт./лот QFP TQFP LQFP FQFP 32 44 64 80 100 LQF SMD поворот к DIP адаптер печатной платы конвертер пластина 0,5/0,8 мм IC адаптер разъем-in Двусторонняя печатная плата from Электронные компоненты и принадлежности on AliExpress - 11.11_Double 11_Singles' Day
А теперь найти не могу. Надо теребить китайцев или самому заказывать.
STM32F103-INA219 скину позже...
 

pvvx

Активный участник сообщества
Я вообще собираюсь перейти на TLSR8269 как замену STM32F103 да с плюсом ВТ/BLE :)
По тому и разгребал как там у неё c USB. На сегодня на TLSR8269 писать USB приложение проще и у неё 9 end-point (точек)...
 

Alex

Member
Так и подумал :) Есть такие где то, с шагом 1.25. Надеялся что есть что то более удобное.
Для инструментария контроллер с bluetooth очень интресно. Тоже могу несколько вариантов использования придумать.
 

pvvx

Активный участник сообщества
В скором наверно примотаю INA226 к TLSR8269. Есть такая нужда...
А так, есть и всякие готовые китайские USB-Тестеры - QWAY U2 (USB-тестер с BT) WITRN, с ним уже разобрался...
 

Alex

Member
Спасибо pvvx. Подключил, прошил. Все работает. Но есть у меня одна проблема. Из за разного китайского софта у меня в системе разделитель целой и дробной части точка, а ваша программа требует запятую. Постоянно лазить переключать не удобно. Буду стучаться в личку. Править под себя. Да и на перспективу хотелось бы перенести все на STM32F373. У меня их много от проекта осталось. Возможно будет задействовать его SDADC. И огромное спасибо, очень полезная штука. У знакомых в конторе keysight N6705, завидовал "черной завистью" :)
 

pvvx

Активный участник сообщества
Подключил, прошил. Все работает. Но есть у меня одна проблема. Из за разного китайского софта у меня в системе разделитель целой и дробной части точка, а ваша программа требует запятую. Постоянно лазить переключать не удобно. Буду стучаться в личку. Править под себя.
Я так и предполагал, по тому и тянул, думал успею исправить, даже в поиске надыбал Float точка или запятая - Delphi - Киберфорум но времени не вышло... Кинул как есть.
 

pvvx

Активный участник сообщества
Влепил в FormCreate [inline]DecimalSeparator := '.';[/inline] и перезалил по старой ссылке.
Подстройки калибровки пока только в ina219.ini:
[INA219]
Z_40mV=0.095
Z_80mV=0.19
Z_160mV=0.155
Z_320mV=0.284
Ik=0.09475
Uk=0.0005024
Т.к. на каждый диапазон у INA219 ходит нуль...
 

Alex

Member
Да теперь все нормально. И с точкой и запятой в системе работает.
 

Alex

Member
Страница автоматом не перегружается после отправки сообщения, это особенность движка форума или у меня глюк? В углу вроде барграф появляется и висит.
 

pvvx

Активный участник сообщества
Прикрутил INA226 к программе STM32INA2xx и к TLSR8269.
upload_2019-10-26_19-57-4.png
Теперь программа STM32INA2xx универсальная - для STM32 с INA219 или INA226...
С INA219 или INA226 с BLE на TLSR8269 пока не определенно - нужно уточнить/выбрать подходящие GATT...
GATT Specifications | Bluetooth Technology Website
 

Alex

Member
Когда вы все успеваете :) Я свои проблемы решил только. Сегодня протестил ваши доработки, а тут уже и 226 работает. Да уж, это не проблему с ресетом обосновать ;)
 

pvvx

Активный участник сообщества
Когда вы все успеваете :) Я свои проблемы решил только. Сегодня протестил ваши доработки, а тут уже и 226 работает. Да уж, это не проблему с ресетом обосновать ;)
Я уже многократно писал, что это всё делается на ходу, как написать батник для некоторых тестов. Качество такого ПО никчемное, но работу свою выполняет. По тому и быстро пишется, со скоростью как набить "батник"... Ошибки исправляются по мере нужды...
Я вот больше времени провозился с I2C у STM32F103. Нигде не писано как разогнать CLK на более 1 MHz. Да и вообще максимальная скорость SMBUS на нем, описание как тактируется... И это за время его существования!
Опытно удалось завести на 2 MHz, но нестабильно...
 

pvvx

Активный участник сообщества
BLE Телинковский профиль SSP (стандартно не поддерживается никем).
Алго их примера:
Модуль просыпается, включает UART, выставив на GPIO сигнал типа RTS, принимает/передает, засыпает. Кто не успел по UART, тот опоздал :)
Протокол в UART тоже ужасный.

Потребление и временная диаграмма по умолчанию (мА/мс):
upload_2019-10-26_21-40-54.png
(среднее за период - 2.5 мА, периоды не стабильны +- несколько мс)
Время реальной активности примерно в 2 раза меньше, т.к. по старту мозги TLSR просыпаются и ничего не делают некоторое время.
 

pvvx

Активный участник сообщества
Общий резюме по всем примерам SDK от Telink:
  • Нет ни одного практически применимого примера.
  • Нестандартные UUID (проприетарщина) = с ними нет связи по умолчанию со стандартным ПО на операционках Android, Windows, ...
  • Для связи требуются специальные собственные приложения или модули именно для Telink.
Т.е. необходимо всё переписывать. И тут уже не до ошибок в их примерах, т.к. всё равно всё переписывать с нуля(!).
 

pvvx

Активный участник сообщества
Тест поведения модуля E104-BT10 с прошивкой BLE SSP от Telink при разном напряжении питания.
Для этого включил модуль к своему лаб.БП и задал пилу на 0..3.6В с частой в 10 mHz (10 сек).
Питание модуля включено через резистор шунта на платке INA226 - сопротивление у него 0.1 Ом.
Т.е. считаем, что источник имеет внутреннее сопротивление в 0.1 Ом (хорошая батарейка :) ).
Получаем такое (красный ток в мА, синий - напряжение в В, время в мс):
upload_2019-10-27_7-12-18.png
Более детально (2560x1410):
ble-ssp-tst-power.gif
Прикол в обратном токе...
Видим, что модуль пытается стартануть с 1.8В, но у него не выходит, т.к. напряжение проседает на 0.1 Ом источника.
Вот если модуль при старте пишет в Flash, то на этом промежуточном пороге он проделает в Flash дыру :p. Это необходимо обязательно учитывать. В Telink SDK он по старту сразу пишет в Flash :) :) :)
Когда напряжение питания подрастает, просадка с включенным передатчиком, как самым большим потребителем, не опускается до 1.8В, то начинает работать уже полный цикл.
Итого:
Если батарейка села до 1.8В, то TLSR8269 отключается, но жрет 1.5 мА!
Если батарейка ещё упадет, то жручка увеличивается до 4 мА! Эдакая фича, чтобы быстрее убить севший элемент :)
На пороге 1.2В имеем скачек тока.
По пикам потребления видим, что нормальный режим работы в диапазоне 2.0..3.6В. Если ниже, то падает мощность передатчика...
 

pvvx

Активный участник сообщества
С батарейками алгоритм должен быть такой:
  1. По старту проверяем напряжение питания встроенным ADC. Если ниже 2В - отключаемся в sleep.
  2. Перед каждой записью или стиранием Flash проверяем напряжение питания. Уровень должен быть рассчитан на разряд установленной доп. емкости по питанию до порога не ниже 1.8В за время операции с Flash.
 

nikolz

Well-known member
Тест поведения модуля E104-BT10 с прошивкой BLE SSP от Telink при разном напряжении питания.
Для этого включил модуль к своему лаб.БП и задал пилу на 0..3.6В с частой в 10 mHz (10 сек).
Питание модуля включено через резистор шунта на платке INA226 - сопротивление у него 0.1 Ом.
Т.е. считаем, что источник имеет внутреннее сопротивление в 0.1 Ом (хорошая батарейка :) ).
Получаем такое (красный ток в мА, синий - напряжение в В, время в мс):
Посмотреть вложение 8124
Более детально (2560x1410):
Посмотреть вложение 8126
Прикол в обратном токе...
Видим, что модуль пытается стартануть с 1.8В, но у него не выходит, т.к. напряжение проседает на 0.1 Ом источника.
Вот если модуль при старте пишет в Flash, то на этом промежуточном пороге он проделает в Flash дыру :p. Это необходимо обязательно учитывать. В Telink SDK он по старту сразу пишет в Flash :) :) :)
Когда напряжение питания подрастает, просадка с включенным передатчиком, как самым большим потребителем, не опускается до 1.8В, то начинает работать уже полный цикл.
Итого:
Если батарейка села до 1.8В, то TLSR8269 отключается, но жрет 1.5 мА!
Если батарейка ещё упадет, то жручка увеличивается до 4 мА! Эдакая фича, чтобы быстрее убить севший элемент :)
На пороге 1.2В имеем скачек тока.
По пикам потребления видим, что нормальный режим работы в диапазоне 2.0..3.6В. Если ниже, то падает мощность передатчика...
Такая же проблема есть и в ESP8266
Полагаю что эта проблема есть у большинства современных чипов SOC.
для ее решения в ESP применяю два приема:
1) внутренний контроль питания с блокировкой WiFi
2) супервизор питания
 

pvvx

Активный участник сообщества
Такая же проблема есть и в ESP8266
Полагаю что эта проблема есть у большинства современных чипов SOC.
для ее решения в ESP применяю два приема:
1) внутренний контроль питания с блокировкой WiFi
2) супервизор питания
Вы сильно ошибаетесь. ESP8266 - это вообще брак. Он при тесте повышения/понижения питания начинает орать на всю Wifi улицу включенным заглючившим передатчиком :p.
В TLSR есть и успешно работает супервизор питания. Беда только в ПО от Telink.
 

pvvx

Активный участник сообщества
Полагаю что эта проблема есть у большинства современных чипов SOC.
Это всё до поры до времени. Intel вон уже скатился по прибыли ОЧЕНЬ хорошо из-за своих багов и наличия альтернативы без этих багов :p
 
Сверху Снизу