• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

UBIA - USB / BLE to I2C/SMBus Adapter.

pvvx

Активный участник сообщества
USB/BLE to I2C/ADC/DAC


I2C/SMBus:
  • SLC clock 100..2000 kHz.
    SMBus auto-read mode:
  • USB: 20000 transactions per sec
  • BLE: 1250 transactions per sec
    I2C/SMBus host write-read:
  • USB: 500 transactions per sec
  • BLE: 50 transactions per sec
ADC(SAR):
  • 15..16 bits, Ref 1.3V, PGA 0..42.5 dB
  • SNR 73..96 dB (x1 to x8 decimation, 50 ksps to 250 sps)
  • USB: 250..50000 sps
  • BLE: 250..5000 sps
DAC(SDM):
  • 14..15 bits, Out p-p: 0..Vcc, SDM CLK 0.5..16 MHz
  • 2..200000 sps
BLE Power (default config)
  • Disconnect 0.09 mA (800 ms sleep: 17 uA, 5 ms active: TX impulse 33 mA +8dB)
  • Deep-sleep 1.7 / 3 uA (KEY2 - WakeUp KEY2 / KEY1 - Timer 30 sec)
  • Connect (7.5ms..4sec - sleep 17 uA, 3..5 ms active: TX impulse 33 mA +8dB)

Среда разарботки IDE SDK
Программаторы TlsrTools TLSR8269-EVK
 

pvvx

Активный участник сообщества
Универсальная поддержка любых чипов c интерфейсом I2S/SMBUS.

Приложены примеры для BLE связи на WebBluetooth На текущий момент это чипы INA219, INA226, MXL90614, SHT85, BMP280

Примеры тестирования можно посмотреть в теме: BLE модуль JDY-10 на чипе TLSR8266
 

pvvx

Активный участник сообщества
Пример с SHT85:

Общее среднее потребление UBIA с SHT85 от источника в 3.3В:
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

Активный участник сообщества
Интересная особенность модуля GY-91 с BMP280.
При подаче питания на модуль GY-91 BMP280 начинает прогреваться:

Тест проведен при вкладывании модуля в картонную коробку для меньшего влияния сквозняка.
BMP280 настроен своими фильтрами на вывод 20 бит по температуре.
Но говорить о точности абсолютных показаний с датчика BMP280 не приходится - включение питания и опрос его нагревает и без учета этого влияния показания на помойку.
Если питание не снимать, то стартовых, более холодных показаний нет и разница нагрева от включения опроса проявляется не так сильно. Сразу получаем от +2 С в зависимости от рассеивания тепла, т.е. конструктива...
 

pvvx

Активный участник сообщества
Другой экземпляр модуля GY-91 с BMP280.
1582096161329.png
Полная идентичность поведения.
 

pvvx

Активный участник сообщества
А вот кто греется:
1582162418962.png
Для теста на графике отображены длины 3D векторов приведенные к единице: G-гироскопа, A-акселерометра, M-магнитометра.
1582163274144.png
Температура тоже от MPU-9250. Смотреть обычные графики 9 осей (x,y,z) - скучно :)
Гравитация качается :), магнитное поле бьет с 50 Гц...

MPU-9250, BMP280 и какой-то стабилизатор на 3.3В установленный на плате GY-91 совместно кушают 3.7 мА при работе...
В ожидании GY-91 - ничего не жрет, т.к. модуль отключает питание (GY-91 запитан от вывода '+Pow/4mA' ) и остывает на не менее 2 С.
 

pvvx

Активный участник сообщества
Если фильтрануть по 1000 точек:
1582163985987.png
Гравитационные волны на акселерометре :) :)
 

pvvx

Активный участник сообщества
UBIA DDS генератор на встроенном DAC и ввод на HX711:
1582256282863.png
И просто весы с тензодатчиком на UBIA:
1582256491450.png
Замер разных предметов (в граммах, тензодатчик на 1 кг)...
Потребление с HX711 (10 sps):
  • HX711 без тензодатчика как ADC -> 1.7 мА
  • HX711 c тензодатчиком 1 кОм -> 3.2V/R -> 1.7+3.2 мА
  • Disconnect -> 0.09 mA
PS: Всё пишется в js в HTML, модуль c UBIA является просто конечным адаптером к своим ADC, DAC, I2C/SMBUS, ....
 

pvvx

Активный участник сообщества
UBIA: BLE - UART troungput (BT4.2)
при half duplex TX-RX и максимальном размере MTU для Telink BLE SDK в 241 байт вышел:
1582905418946.png
Среднее выходит более 5800 байт в сек на RX и на TX канал при half duplex, общий трафик: 11600 байт в сек.
За раз, с вычетом заголовков, для UART передается блок с полезными 232 байтами (что составляет 9 RF пакетов BLE).

Сверим по показаниям счетчика транзакции в сек. Он указывает на средние 24.8 транзакции в сек.
Одна транзакция это передача и прием блока в BLE 232 байтов через UART на модуле с закороченными TX и RX.
Итого по счетчику транзакций 24.8*232*2 = 11507.2 байта в сек, что совпадает и с показаниями среднего по графику и при вводе максимального усреднения в dygraph...
 

pvvx

Активный участник сообщества
В тесте использована настройка на 2 MBaud, чтобы UART не явилась узким горлышком, но всё равно время на передачу отнимает.
11507.2 байта в сек это полные 115200N1 RS-232. Т.е. при одностороннем перекосе передачи 115200 Baud на COM порту может не хватить...
Вполне нормально для данного модуля.
 

sdsm

New member
Проект ubia собирается. Спасибо за большую работу.
Все очень просто:
1. Установил SDK в C:/TELINKSDK
2. Разархивировал ubia master в C:/TELINK
3.Заменил в TlsrMemInfo.py из C:\telink\UBIA-master\TlsrSrc\tl_pvvx_ble_sdk "e:/Telink/SDK" на "C:/TELINKSDK"
4.На всякий случай заменил в C:\telink\UBIA-master\TlsrSrc\my_ble_usb_i2c_adc\.project E:/Telink на С:/Telink
5. При первом открытии Eclipse указал Workspase c:\telink\wk и в меню file->import указал каталог C:\telink\ubia_master
ВСЕ забираем готовый bin для прошивки
Поскольку я стар то делалось все под XP под DOS не пробовал.
 

pvvx

Активный участник сообщества
Проект ubia собирается. Спасибо за большую работу.
Это не проект, а типа типа теста возможностей чипа и собирается/дополняется на ходу. Инструкций у него нет, т.к. идет освоение и в процессе неизбежны переработки ранее налепленных наслоений, но это возможно только после уже освоенного.
Счас занят другим и времени перелапатить, упростить, оптимизировать ненужные наслоения в нем пока нет. А мыслей и вариантов, что надо переработать, накопилось много...
В принципе для этого есть "второй эшелон", типа Ардуинщиков. Пусть и занимаются :)
 

pvvx

Активный участник сообщества
Протестировал такой адаптер:
1586791928797.png
Связывается и работает по BLE хорошо (дрова на автомате в Windows 10).
Troungput c half duplex при блоке 232 байта = 11600 байт в сек (по 5 килобайт на RX и TX).
 

Kabron

Member
Че то с драйвером TlsrTools не в порядке.
Проверено на двух исправных голубых таблетках
 

Вложения

Kabron

Member
Блин, такого еще не было. Задигом установил CDC на интерфейс 1 и девайс опознался.
Но нулевой по прежнему не существует.
 

Kabron

Member
Зашил UBIA в TLSR. BLE Browser работает. Cоединения по USB нет.
Устройство не видится.
Родная паршивка JDY-10-V2.5.bin с USB работает.
Что не так?
 

pvvx

Активный участник сообщества
Зашил UBIA в TLSR. BLE Browser работает. Cоединения по USB нет.
Устройство не видится.
Родная паршивка JDY-10-V2.5.bin с USB работает.
Что не так?
Не переключено на USB (вход USB/BLE на "1").
Автоматического распознавания USB нет, т.к. при режиме BLE эта функция жрет дополнительные десятки мка.
 
Сверху Снизу