Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Обсуждение TLSR8269

Тема в разделе "Другие WiFi модули и оборудование", создана пользователем nikolz, 12 авг 2019.

  1. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    У 9960 по чертежу боковые выемки, а на используемых в часах их нет - только верхняя полоска.
     
  2. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    upload_2019-12-3_11-38-34.png upload_2019-12-3_11-39-11.png
    Пошкрябал замеряя размеры.
     
  3. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Лог шины i2c на часах с PHY6202 (на них у меня уже всё выведено на разъемы) ничего вразумительного не дал.
    По старту питания, первые транзакции:
    upload_2019-12-3_23-24-25.png
    лог (раскрыть)
    Код (Text):
    1. Decoded Protocol Result (7 бит адрес)
    2. Setup Write to [0x24] + ACK
    3. 0x0F + ACK                
    4. 0x01 + ACK                
    5. Setup Write to [0x24] + ACK
    6. 0x00 + ACK                
    7. 0x36 + ACK                
    8. Setup Write to [0x10] + ACK
    9. 0x04 + ACK                
    10. Setup Write to [0x00] + ACK
    11. 0x40 + ACK                
    12. Setup Write to [0x24] + ACK
    13. 0x03 + ACK                
    14. 0x00 + ACK                
    15. Setup Write to [0x24] + ACK
    16. 0x04 + ACK                
    17. 0x00 + ACK                
    18. Setup Write to [0x24] + ACK
    19. 0x05 + ACK                
    20. 0xFF + ACK                
    21. Setup Write to [0x24] + ACK
    22. 0x06 + ACK                
    23. 0xFF + ACK                
    24. Setup Write to [0x24] + ACK
    25. 0x07 + ACK                
    26. 0x80 + ACK                
    27. Setup Write to [0x24] + ACK
    28. 0x08 + ACK                
    29. 0x00 + ACK                
    30. Setup Write to [0x00] + NAK
    31. 0x24 + NAK                
    32. Setup Write to [0x00] + NAK
    33. 0x47 + NAK                
    34. Setup Write to [0x24] + ACK
    35. 0x0B + ACK                
    36. 0x00 + ACK                
    37. Setup Write to [0x24] + ACK
    38. 0x0C + ACK                
    39. 0x00 + ACK                
    40. Setup Write to [0x24] + ACK
    41. 0x0D + ACK                
    42. 0x00 + ACK                
    43. Setup Write to [0x00] + NAK
    44. 0xC0 + ACK                
    45. Setup Write to [0x24] + ACK
    46. 0x0F + ACK                
    47. 0x01 + ACK                
    48. Setup Write to [0x24] + ACK
    49. Setup Write to [0x00] + ACK
    50. Setup Write to [0x24] + ACK
    51. 0x21 + ACK                
    52. 0x00 + ACK                
    53. Setup Write to [0x24] + ACK
    54. 0x22 + ACK                
    55. 0x00 + ACK                
    56. Setup Write to [0x10] + ACK
    57. 0x8C + ACK                
    58. Setup Write to [0x24] + ACK
    59. 0x24 + ACK                
    60. 0x00 + ACK                
    61. Setup Write to [0x24] + ACK
    62. Setup Write to [0x14] + ACK
    63. Setup Write to [0x01] + ACK
    64. 0xC0 + ACK                
    65. Setup Write to [0x24] + ACK
    66. 0x27 + ACK                
    67. 0x00 + ACK                
    68. Setup Write to [0x24] + ACK
    69. 0x28 + ACK                
    70. 0x00 + ACK                
    71. Setup Write to [0x24] + ACK
    72. 0x29 + ACK                
    73. 0x00 + ACK                
    74. Setup Write to [0x24] + ACK
    75. Setup Write to [0x20] + ACK
    76. Setup Write to [0x01] + NAK
    77. 0x60 + ACK                
    78. Setup Write to [0x24] + ACK
    79. 0x2C + ACK                
    80. 0x00 + ACK                
    81. Setup Write to [0x24] + ACK
    82. Setup Write to [0x20] + ACK
    83. Setup Write to [0x24] + ACK
    84. Setup Write to [0x00] + ACK
    85. Setup Write to [0x10] + ACK
    86. 0xBC + ACK                
    87. Setup Write to [0x24] + ACK
    88. 0x30 + ACK                
    89. 0x00 + ACK                
    90. Setup Write to [0x24] + ACK
    91. 0x31 + ACK                
    92. 0x00 + ACK                
    93. Setup Write to [0x24] + ACK
    94. 0x01 + ACK                
    95. 0x80 + ACK                
    96. Setup Write to [0x00] + NAK
    97. 0x00 + ACK                
    98. Setup Write to [0x10] + ACK
    99. 0x28 + NAK                
    100. Setup Write to [0x24] + ACK
    101. 0x0D + ACK                
    102. 0xC7 + ACK                
    103. Setup Write to [0x24] + ACK
    104. Setup Read to [0x00] + NAK
    105. Setup Write to [0x24] + ACK
    106. 0x00 + ACK                
    107. Setup Read to [0x24] + ACK
    108. 0x36 + Missing ACK/NAK    
    109. Setup Write to [0x24] + ACK
    110. 0x00 + ACK                
    111. Setup Read to [0x24] + ACK
    112. 0x36 + Missing ACK/NAK    
    113. Setup Write to [0x10] + ACK
    114. Setup Read to [0x12] + ACK
    115. Setup Write to [0x10] + ACK
    116. Setup Read to [0x24] + ACK
    117. 0xC7 + Missing ACK/NAK    
    118. Setup Write to [0x24] + ACK
    119. 0x01 + ACK                
    120. 0x00 + ACK                
    121. Setup Write to [0x00] + NAK
    122. 0xA0 + ACK                
    123. Setup Write to [0x10] + NAK
    124. 0xE0 + ACK                
    125. Setup Write to [0x19] + ACK
    126. Setup Write to [0x00] + ACK
    127. Setup Write to [0x19] + ACK
    128. 0x1E + ACK                
    129. 0x00 + ACK                
    130. Setup Read to [0x10] + ACK
    131. 0xE0 + ACK                
    132. Setup Read to [0x10] + ACK
    133. 0x02 + ACK                
    134. Setup Write to [0x19] + ACK
    135. Setup Write to [0x26] + ACK
    136. Setup Read to [0x04] + ACK
    137. 0x10 + ACK                
    138. Setup Write to [0x19] + ACK
    139. 0x2E + ACK                
    140. Setup Write to [0x19] + ACK
    141. 0x0F + ACK                
    142. Setup Read to [0x19] + ACK
    143. 0x11 + NAK                
    144. Setup Write to [0x19] + ACK
    145. 0xA3 + ACK                
    146. Setup Read to [0x19] + ACK
    147.  
    Да и когда в меню выбирается замер с этого датчика то ничего нового в адресах i2c не появляется...
    В режиме ожидания примерно такая-же пачка проходит каждые пол секунды.
     
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Анализатор i2c в Saleae подвирает наверно из-за уровней стробов по шине, но устройство с адресом 0x24 - это сенсор x, y, z.
    uint8 EM70xx_SLAVE_ADDR = (0x24);
    em70xx_bpm_dynamic(int in,int qsensor_x,int qsensor_y,int qsensor_z);
    На него есть исходники в SDK к PHY6202. Микросхема нечто типа EM70xx - тоже до конца не выяснено что это, но исходники как работать с ней есть :)
    Надо глянуть схемы демо-плат для PHY6202 - возможно там всё уже подписано....
     
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Да, всё есть в схеме http://wiki.phyplusinc.com/doc/PCB/PHY6202_48_braceletV1.4.pdf
    KX023 is a tri-axis ±2g, ±4g or ±8g silicon micromachined accelerometer with integrated 256 byte buffer, orientation, tap/double tap, and activity detecting algorithms.
    http://kionixfs.kionix.com/en/datasheet/KX023-1025 Specifications Rev 12.0.pdf
    EM7028 Heart Rate Sensor with I2C Interface
    https://datasheet.lcsc.com/szlcsc/Epticore-Microelectronics-Shanghai-EM7028_C91478.pdf
    Часы сделаны по рефенс-дизайну из PHY6202_48_braceletV1.4.pdf, а я мучаюсь ... :) :)
     
  6. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    В итоге все микросхемы в часах с PDF и с примерами работы с ними в SDK, включая OTA и примеры приложений для Smart телефонов + работа с TFT, да всякие BLE ...
    Отладчики и программаторы так-же все уже есть на PHY6202 и TLSR826x.
     
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Как и указал, там шрифты и картинки на полные 4 Мегабайта.
    Изменил загружаемый floader (ExtFlash8266PB5.bin) и махнул на него название в tlsrtool.ini.
    Кнопки чтения и записи Flash стали работать с внешней flash:
    upload_2019-12-4_10-2-14.png
    Flash ID: 68-40-16 соответствует Boya Microelectronics BY25Q32BS на плате...
    Автоматической такая опция в tlsrtool не будет. Надо устанавливать GPIO связанного с CS Flash и уточнять если надо команды имеющейся внешней flash - огромный интерфейс выйдет.
    Проще собрать новый лоадер по исходникам в pvvx/TlsrTools (чуть позже туда кину версию исходника floadera c опцией смены на внешнюю flash и новую версию exe, с увеличенным буфером для чтения SPI Flash до 16 МБ).

    Если интересно что во флешке 25Q32 у часов - обе fullflash часов закинул туда: Lefun_x2.zip
     
  8. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    BLE передача ADCPM данных и декодирование в javascript через декодер из rochars/imaadpcm :)
    Sample Rate на 16 кГц, диф. входы PGA висят, трогаем руками для проверки сигнала :) :
    upload_2019-12-29_9-44-41.png upload_2019-12-29_9-48-17.png upload_2019-12-29_9-48-47.png
    В качестве начальных исходников использовался пример из Telink ble_sdk_release_v3.3.0_20191012\vendor\826x_ble_remote ...
     
  9. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Для "Ok Google" пойдет на все 100%.
    Большая часть работы выполняется аппаратно:
    upload_2019-12-29_10-5-15.png
    Аттенюация в PGA есть:
    upload_2019-12-29_10-21-48.png
    Принятые блоки от PGA+ADC(14 бит) укладываются в указанный пользователем буфер в памяти...
    Обрабатываются и далее чип передает блоки ADCPM по 128 байт с предиктором и квантователем...
    В спецификции 4.0 максимальная длина PDU составляет 39 байт, а в версии 5.0 длина пакета данных увеличена до 257 байт.
    TLSR826x поддерживает BT 5.0 и для передачи использует увеличенный размер пакета...

    А то @nikolz у нас сильно волновался - как передать "Ok Google" на BLE чипах от Ti ... Но в них только прерывание по готовности 10 бит ADC и нет никаких PGA :p
     
  10. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    АЧХ диапазона 10Гц - 10кГц включенных фильтров из SDK при 16 кsps:
    upload_2019-12-29_11-28-12.png
    Такой кривой ADPCM. Автоматическая аттенюация не дает снять пилу в пару Герц чтобы поглядеть какое там реальное разрешение в битах, но на ADPCM вообще глядеть нечего, т.к. он не создан для измерительной аппаратуры...
     
  11. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Итог теста DFIFO c ADC, модуль E104-BT10.
    CLK CPU 16 MHz.
    ADC цифрует на 16 000 000/(260+15*16) = 32 000 sps. (меньше не дано)
    DFIFO выполняет децимацию в 8 раз с неким коэф. для амплитуды (зависит от коэф. децимации), и складывает в кольцевой буфер в RAM c изменением указателя записи (4 000 sps). Это всё происходит аппаратно.
    Далее софт:
    CPU периодически ожидает накопления более 384 замеров в DFIFO.
    Перед передачей каждые 4-ре замера из DFIFO складываются и делятся на 2. (подбор для данной децимации, чтобы не вылезало за uint16).
    Собирается пакет из 96 замеров, пришлепывается счетчик и передается как блок в 194 байта (BT/BLE 5.0 - MTU до 256 байт).
    Итоговая скорость передачи - 1 000 замеров в сек до 16 бит.

    Для теста на вход ADC в модуле воткнут генератор пилы 0.1 Гц с максимальной для выбранного Ref (1.25В) у ADC амплитудой p-p.

    Прием BLE от модуля данных ведется в Chrome:
    upload_2020-1-6_6-56-1.png
    В нем и сохраняется в csv файл...

    Проверка принятого:
    TstAdcDfifoPila.gif
    Параметры ADC не очень - много шуму от работы самого чипа...
    Но хотя-бы DFIFO освоилось в TLRS8269...
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    По загрузке канала RF передачи (короткими пакетами) для теста выше имеем:
    upload_2020-1-6_7-47-3.png
    (принято на щуп осла и диод Д405Б рядом с модулем)
     
  13. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    У приемника:
    upload_2020-1-6_7-54-15.png
     
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Telink сменил дизайн своего сайта
    Telink | Chips for a Smarter IoT
    и начал активно выкладывать всё в GitHub
    TelinkGithub - Overview
    Ещё немного и поменяет лицензии в хидерах исходников и можно будет выкладывать свои наработки с исходниками...
     
  15. nikolz

    nikolz Гуру

    Сообщения:
    5.354
    Симпатии:
    473
    это уже давно, забыл Вам про это сказать.
     
  16. nikolz

    nikolz Гуру

    Сообщения:
    5.354
    Симпатии:
    473
    что скажите на такое замечание:
    цитата :
    ---------------------
    На модулях используется только кварц на 12 MHz, причём с достаточно большой ёмкостью (12 pF).
    Часового кварца нет, в документации говорится про встроенный на ±100 ppm. Что опять же приведёт к повышенному энергопотреблению.
    ------------------------------
    А если говорить про стек BLE, то Nordic тут значительно впереди. Причём даже конкурентов мирового уровня, а не просто китайцев, которые качеством ПО никогда не отличались.
     
  17. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    Кто вам сказал:
    1) Что ПО писали китайцы?
    2) С кварцами у Telink всё хорошо. Не то, что у Nordic. Есть встроенная аппаратная коррекция емкости. Управляется программно. Читайте читайте документацию.
    3) RTC тоже корректируется. RC генератор во все времена и народы жрал меньше и здорово.
    Кароче гуляйте и обтекайте своей безграмотностью :p
     
  18. nikolz

    nikolz Гуру

    Сообщения:
    5.354
    Симпатии:
    473
    кто сказал, написано, но вы не читаете.
    Вы батенька - Хам.
     
  19. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.314
    Симпатии:
    1.352
    А - понял, это вы выдумали. :)
    Вот и читайте в описании у Telink про:
    // customize freq_offset adjust cap value, if not customized, default ana_81 is 0xd0
    //ana_81<4:0> is cap value(0x00 - 0x1f)
    analog_write(0x81, (analog_read(0x81)&0xe0) | ((*(unsigned char*) CUST_CAP_INFO_ADDR)&0x1f) );
    И т.д. про другие подстройки...
    Не более вашего. Ваш ход первым.
     

Поделиться этой страницей