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

Смотрите какая няшка от китайцев...

pvvx

Активный участник сообщества
Ну дык китайцы и не обещали много плат :) Только "CH579M-EVT No screen"
По описанию в объяве продавана об этом не догадаешься. Только с учетом того, что они жадные можно сразу понять - придет всего одна платка. :) Большего и не ожидалось, но данный продаван в итоге получил отметку не в 5 звезд. :p
Галку для разлочки swd надо если ранее что нить заливалось их утилитой через загрузчик.
Не обязательно. Я уже "кракнул" всю их защиту. Чип отдает всё что захочешь при определенных условиях... :)
На всякий случай ссылка на ЯДиск, где сложил все, что удалось нарыть у китайцев:
тыц
Чтобы отладка работала в Keil v5 надо установить *.pac и конвертнуть проекты примеров в формат v5.
Об этом известно из "пустыни"...
Фигово что чип не имеет возможности подключения к Li АКБ, хотя DC-DC у него встроен.
В общем пока не пошел никуда, т.к. кривостей и недочетов в его проектировании очень много...
 

pvvx

Активный участник сообщества
При нажатом "Reset" плата по 3.3В жрет 2.87 mA, а прошивка с EVT\EXAM\BLE\OTA\Project\ImageA\obj\ImageA.hex 4.92 mA при Advertising interval 100 ms
1610809351429.png
Выходит, что оно жрет 2.05 mA, что является ужасом для BLE.

Есть ли вообще пример с LowPower BLE для CH57x?
 

pvvx

Активный участник сообщества
Разобрался...
Надо натыкать #define HAL_SLEEP TRUE
и тогда потребление падает (average 1.974 mA):
1610811128473.png
Учесть потребление платы пока не удалось, но есть это:
'Третий шаг:
продолжайте знакомиться с информацией и узнайте, что порты ввода-вывода в текущей процедуре по умолчанию являются плавающими входами, что повлияет на энергопотребление. Кроме того, внутренние низкоскоростные часы 32 КБ будут включены по умолчанию, что также повлияет на энергопотребление чипа. Если вы хотите достичь минимального значения 0,2 мкА, их необходимо сбросить. Итак, в исходный код подпрограммы внесены небольшие изменения:
1. Сконфигурируйте все порты ввода-вывода как подтягивающие, и потребление энергии сразу снизится до 1,4 мкА!'
 

pvvx

Активный участник сообщества
Время выхода из состояния сна, до отработки передачи adv. на три канала:
1610814343843.png

Но нафига оно производит лишние просыпания?
1610814532437.png
 

pvvx

Активный участник сообщества
#define BLE_TX_POWER LL_TX_POWEER_0_DBM
И что мы видим в datasheet:
1610815344533.png
А измерения показывают 14.35 mA общих, а если вычесть по уровню начальной части работы CPU и прочего - 16-4.7 = 11.3 mA.
DC-DC не врублен (или доки врут)?
 

goodwin

Member
Мельком вроде видел, что в примерах используется внутренний LF генератор, который должен калиброваться. Может оно?
 

pvvx

Активный участник сообщества
Мельком вроде видел, что в примерах используется внутренний LF генератор, который должен калиброваться. Может оно?
Что оно? Чип в BLE не включает DC-DC. Так видимо писано ПО или реально (аппаратно) не может переключить с LDO на DC-DC при просыпании. Это надо разгребать...
А пока вот ток в Ethernet:
1610826424750.png
120+ mA жрет чип при передаче всего-то в 10 Mbit/s, а кто-то говорил что оно маложручее :) :)
Это равносильно целому OpenWRT на 100 Mbit/s на каком mips на 200..300 MHz с 32+Mбайт RAM.
 

pvvx

Активный участник сообщества
Интересно - эта козявка перегреется, если слепить постоянную передачу в Ethernet и врубить ещё USB?
В принципе не обязательно если правильно припаяна и рассчитано рассеивание по плате, т.к. получим, наверно, за 150 мА и 3.3В, а это 0.5Вт на чип 5x5 мм.
 

pvvx

Активный участник сообщества
А в BLE, если не врубать DC-DC, то уже на TX +0 дб оно вылезает за нормативы BLE. Должно быть менее 15 mA в пульсе...
И не нашел - какой у неё буфер приема-передачи. BT4 (23 байта) или BT5 (500+)
 

pvvx

Активный участник сообщества
1610829631576.png
Тут только догадываться что там за hard по soft описанию:
BufMaxLen - Maximum supported length, range 27-251, ATT_MTU=BufMaxLen-4 (default value: 27)
BufNumber - The number of buffered data packets received and sent by the controller (default value: 5)

Видимо 4.2.
 

pvvx

Активный участник сообщества
@goodwin
Либа CH57xNET.LIB кривая. После DHCP не работает TCP_Server, а TCP_Client работает. Т.е. жить без TCP socket в режиме server.
По UDP пропускает/скипает от 60% пакетов, т.е. больше чем и обещал :) :
1610882978580.png
PS: В итоге получаем не "няшку", а ка... :)
 

pvvx

Активный участник сообщества
Нашел, для TCP_Server нужен типа патч по событию CONNECT:
C:
    if(initstat & SINT_STAT_CONNECT) {                               
        PRINT("Socket(%d) TCP Connect Success\r\n", sockeid);                           
        CH57xNET_ModifyRecvBuf(sockeid,(UINT32)SocketRecvBuf[sockeid],RECE_BUF_LEN);
    }
 

pvvx

Активный участник сообщества
В общем, что имеем в итоге:

Передача более 536 байт в LAN затруднена, что по UDP, что по TCP.

Win окно в TCP в пределе 536 байт. 4 socket как max на всё. Кроме мелочности пакетиков это ограничивает и скорость и так тормозной LAN на 10Mbit/s – на каждые 500 байт необходимо дождаться ACK. Это означает, что использовать данную микруху как PHY или как адаптер LAN для другого чипа не имеет никакого смысла.

Потребление при TX LAN не уменьшается при включении встроенного DC-DC. А на жручку самого MCU при работе с LAN включение DC-DC никак не влияет, т.к. сам DC-DC жрет.

C USB проблемы тоже есть – только одна ‘point’ имеет буфер больше 64 байт. Чтобы добиться нормального потока (загрузить в предел PHY на 12Mbit) на данном чипе в USB наверняка придется всё переписывать, т.к. скорости при использовании стандартных либ и CortexM0 на его штатных MHz недостаточно для загрузки (переключений DMA) и разбора на ходу блочками по 64 байта в CDC.

Так-же в чипе отсутствует I2C контроллер, что сильно сужает сферу его применения.

С BLE аналогично – либа есть, но с сильно ограниченными возможностями, впрочем как и всё в предоставленном SDK.

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

PS: в качестве хобби возможно ещё побалуюсь данным чипом, но на включение в производство рассчитывать пока не получается...
 

goodwin

Member
В итоге создание и отладка какого малого приложения на данном чипе потребует достаточно много времени.
Увы, пришел к такому же выводу после недельного ковыряния этого таракашки...
По-сути мне нужен только ethernet на низком уровне и 2.4 ГГц трансивер, а тут немеряно возни с закрытыми либами . Вполне гоже именно для хобби. Если бы еще корпус был подружелюбнее ;)
К тому же была мысль заказывать платы и монтаж в JLCPCB, но у них, как выяснилось, в каталогах отсутствует CH579. А монтировать в наших краях корпуса с шагом 0.35, мягко говоря, напряжно...
И вообще - перспективы чипа на длительный срок туманные (уже натыкался на китайские реалии).
Посему nrf52810 + ENC28 с его лошадиной жрачкой 250 мА в покое :( таки сильно предсказуемее.
До-кучи ссылка на мои экспресс тесты такой связки: тыц
 

pvvx

Активный участник сообщества
Увы, пришел к такому же выводу после недельного ковыряния этого таракашки...
Та ничего, ныне все китайцы схватились за RISC-V. Думаю что завтра наштампуют нормальных чипов с Ethernet 100 Mbit/s, а 10-мбитка уже изжила себя давно.
Я уже заказал и пришли бесплатные платы с отладчиками + программаторами на RISC-V, + тестовые лицензии... Но это возможно только на контору.
 

Ashton

New member
Обещали ZigBee в чипе ch579m, но, как я понимаю, так и не реализовали?
 

pvvx

Активный участник сообщества
ch57x
Bluetooth Low Energy Specification Rev. 4.2. - это обозначает короткий буфер у RF, плохая чувствительность приемника, отсутcnвие поддержки CODED PHY.
CODED PHY - это формат передачи (модуляции) Zigbee.
Ради буквы "m" они не будут переделывать весь чип.
Есть CH32V208W
 
Сверху Снизу