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

BLE SoC PHY6202

pvvx

Активный участник сообщества
Так эта та же ерунда, что у вас. Просто я адреса по-другому написал.
Адреса I2C 0x18 и 0x19, регистр (0x0f) WHO_AM_I = 0x11.
Начальный дамп:
Код:
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
0x 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11
1x 00 fe 00 ff ff 5c 91 fd 00 03 01 02 00 00 00 00
2x 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20
3x 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4x 1c 8d 00 6a 69 6e 00 4f 65 38 26 32 1b 12 18 0f
5x 02 03 03 38 44 50 29 00 58 0f 07 00 00 00 00 00
6x 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
7x 11 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Такой-же? Так PDF на него и не нашел.
 

pvvx

Активный участник сообщества
Некоторое время назад покупал китайский пульсометр Kyto 2809. Выдавал по всем каналам какую-то ерунду. Взял отвертку - внутри nRF51422. Устаревший, памяти мало. Но выпуска 4й недели 2019г. Взяв nRF SDK v10 (также устаревшую) сколхозил свою прошивку. Теперь и по ANT+ и по BT предается то, что нужно. Плюс бонусом прикрутил сервис DFU OTA, чтоб не раскручивать больше.
Это я к чему. Древнее барахло еще производят, покупают и используют. Нордическая SDK содержит кучу примеров, по которым можно собрать что нужно. И она не такая уж и непонятная. Не без проблем конечно.
В том-то и дело, что элементарных примеров хотя-бы передачи потока со встроенного ADC нет, а nRF чипы на рынке уже вторую пятилетку.
Пример нужен для оценки - пойдет вообще данный чип куда или нет. А без наглядной проверки и примерки - такого чипа для разработки просто не существует - вычеркнут из списка претендентов...
OTA есть у всех - это ныне минимальный стандарт.
А на счет барахла - кому нужно делать то, что уже продается готовое? Какой-то спортивный блогерский интерес?
Но вот простого выключателя с экраном как не было, так и нет... Это единственное во что можно переделать фитнес-часы.
 

greyfox13

New member
У меня нет начального дампа в таком же виде. Могу только или скрин от DSView показать, или из него отчет TXT.
Хотя там "начального" и "конечного" дампа нет. Он все время делает одно и то же. Сначала лезет в регистр 0x2F (читает состояние FIFO - количество сэмплов), потом в регистр 0xA8 (читает сами сэмплы), напоследок что-то пишет в 0x2E, потом "отключается". Потом опять по-новой 2 раза в секунду. WHO_AM_I пока не читал с него. Схема подключения тоже как у Боша, а регистры почти как у STM. Надо искать среди самых дешевых китайских клонов. В другом браслете на TSLR стоит похоже BGA корпус. SDA и SCL не выведены. Потом попробую подключиться.
Делать то-что продается готовое - это зачем перешивал? Потому что нужны были точные замеры RR-интервалов, была надежда что оригинал работает, но он выдавал не весть что (на один удар сердца выдавал, что прошло 4-5, при этом пульс показывал +-5 точность). Раз не заработало с завода, сделал сам. 100% работают дорогие аналоги известных фирм, но у них и цены другие.
 

greyfox13

New member
В том-то и дело, что элементарных примеров хотя-бы передачи потока со встроенного ADC нет, а nRF чипы на рынке уже вторую пятилетку.
Хоть оффтоп. Залез в доки про свой древний nRF51422. Потокового преобразования АЦП нет в принципе, если нужно делается запуском через таймер и отловом данных через прерывание. В примере это как раз и реализовано. В новых чипах может и есть, надо читать.
 

pvvx

Активный участник сообщества
Хоть оффтоп. Залез в доки про свой древний nRF51422. Потокового преобразования АЦП нет в принципе, если нужно делается запуском через таймер и отловом данных через прерывание. В примере это как раз и реализовано. В новых чипах может и есть, надо читать.
По прерываниям на 5..200 кГц :)
 

greyfox13

New member
Читает ужасно медленно (ff прочитало за 2096.556 sec), но писать специальный boot-loader-rd/wr-flasher для единичного чтения китайской прошивки я пока не хочу...
А у меня нормально прочитало. Или скрипт поменяли?
Код:
Start address: 0x11000000, length: 0x00080000 ...
  Time: 323.655 sec
Writes: 1703948 Bytes
 Reads: 2228230 Bytes

Start address: 0x10000000, length: 0x00020000 ...
  Time: 80.372 sec
Writes: 425996 Bytes
 Reads: 557062 Bytes
ROM совпадает полностью, а FF только частично (OTA bootloader наверное).
На ваших часах на фото видна деталька на шлейфе. Это для измерения пульса, та что со светодиодами?
В моем браслете другая реализация. Нанотехнологии, измеряет пульс, давление и SPO2 на любой части тела дистанционно. Можно даже у кошки замерить. Вот фото шлейфа.
IMG_4576.JPG
 

pvvx

Активный участник сообщества
А у меня нормально прочитало. Или скрипт поменяли?
Для меня долго если более 0.2 секунд. Стандартная реакция у человека из трех стадий - восприятие, обработка, действие.
К примеру это время проходит при звонке на старый телефон с трубкой под рукой. От начала звонка и до того как трубка снята. Аналогично и времени реакции водителя (не пьяного :) ).
Если кнопка не реагирует на нажатие, то мысль о молотке приходит уже после 0.2 секунд бездействия устройства...
На ваших часах на фото видна деталька на шлейфе. Это для измерения пульса, та что со светодиодами?
В моем браслете другая реализация. Нанотехнологии, измеряет пульс, давление и SPO2 на любой части тела дистанционно. Можно даже у кошки замерить. Вот фото шлейфа.
В часах ценой примерно до 400 руб с али обычно аналогично - там датчика нет, а стоят светодиоды для подражания.
Но бывают исключения и датчик есть.
 

pvvx

Активный участник сообщества
Скорость чтения зависима от чипа USB-COM-TTL и дров к нему.
 

pvvx

Активный участник сообщества
ROM совпадает полностью, а FF только частично (OTA bootloader наверное).
Я обновлял версию из проги в телефоне на каких-то из тех часов. Может по этому и не совпадает.
Надо было-бы скачать OTA прошивку, поглядев в логах смарта, но как-то оно мне не надо... Носить как часы это чудо я не собираюсь.
 

pvvx

Активный участник сообщества
пытаюсь получить стабильные показания параметров пульсовой волны.
применение БПФ не решает проблему фильтрации скачков и медленных дыхательных волн.
Задача более сложная, чем кажется изначально.
Все датчики запихали в кольцо:
 

greyfox13

New member
Интересно, но командой er512 flash у PHY6202 стирается не полностью. Не стирается часть 11000000-11001FFF.
 

pvvx

Активный участник сообщества
Интересно, но командой er512 flash у PHY6202 стирается не полностью. Не стирается часть 11000000-11001FFF.
Там хранится разметка для bootloader-а.
Эта часть просто так и не пишется. В SDK пытались сделать туда только эксклюзивный доступ из глубин bootloader-а. Но оставили ошибки... и эту область можно хитро писать.
 

greyfox13

New member
Эта область пишется и не хитро, я туда писал простым write. Первую 1000. А вот стирать получается, но как-то криво. А вот область 1000-1FFF уже не просто.
 

pvvx

Активный участник сообщества
Если посмотрите исходники моего "флашера", то там резервной задана
PHY_FLASH_ZONE = 0x4000
и операции стирания (и записи) делаются так:
if offset < PHY_FLASH_ZONE:
offset |= 0x400000
 

pvvx

Активный участник сообщества
После команд записи блоков в этой области появится таблица.
По этому, при записи полной Flash сначала стираете всю особой командой (указано в доках) и пишите часть с 0x4000 адреса, без начала. После записи этой части стираете "начало" и записываете начальный кусок, но со смещением 0x400000, чтобы встроенный в ROM код не волновался. :)
 

pvvx

Активный участник сообщества
Хотя нет, 1000-1FFF у меня тоже пишутся просто так write'ом.
Всё равно область с 0 до 0x4000 (четыре сектора) стандартной блочной командой не записать. При её работе будет дополнена таблица в этих секторах (4-ый сектор) и ваши данные испортит.
Этот кусок пишется только путем перебора адресов в команде записи 32-х биного слова, а не блочной командой записи с контролькой, которая и фиксируется в таблице в 4-ом секторе.
 

pvvx

Активный участник сообщества
Но стереть разметку в 4-ом секторе не сможете. Команды стирания сектора в этой области заблокированы и придется давать смещение на 16 Мб, т.к. там flash дублируется в адресном пространстве, а старшие биты самой flash ( выше 16 Мб ) не передаются.
 

greyfox13

New member
А 6212 в руки не попадалась? У них-то произвольное чтение хоть как-то убрали? Там же есть режим FCT.
 

pvvx

Активный участник сообщества
А 6212 в руки не попадалась? У них-то произвольное чтение хоть как-то убрали? Там же есть режим FCT.
6212 ещё не было. Программа для них та-же и наверняка boot-loader не отличается.
OTA сделали на WebBluetooth? Я пока не утруждался.
 
Сверху Снизу