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

EMW3080(A)/EMW3080(B)

sharikov

Active member
Начали появляться в продаже модули EMW3080(A)/ EMW3080(B) от MXCHIP.
Там внутри Ameba-Z или что-то неведомое ?
Производитель шифруется но по ресурсам похоже на 8710/11 B

Интерес пока абстрактный потому что ценник выставлен абсурдный.
 

pvvx

Активный участник сообщества
Начали появляться в продаже модули EMW3080(A)/ EMW3080(B) от MXCHIP.
Там внутри Ameba-Z или что-то неведомое ?
Производитель шифруется но по ресурсам похоже на 8710/11 B

Интерес пока абстрактный потому что ценник выставлен абсурдный.
https://esp8266.ru/forum/threads/raznoobraznye-moduli-s-rtl871x-i-rtl8195.2017/page-2#post-30873
https://esp8266.ru/forum/threads/raznoobraznye-moduli-s-rtl871x-i-rtl8195.2017/page-4#post-36586
 

A_D

Active member
sharikov, MX1290, но это просто перемаркированный RTL8710BN. Завтра могу попробовать его сдуть и вместо него запаять RTL8710BN, с той же флешкой загрузится или нет. Заодно потребление могу посмотреть..
 

pvvx

Активный участник сообщества
sharikov, MX1290, но это просто перемаркированный RTL8710BN. Завтра могу попробовать его сдуть и вместо него запаять RTL8710BN, с той же флешкой загрузится или нет. Заодно потребление могу посмотреть..
Не стоит этого делать(!). Прошивка от MXCHIP прописывает eFuse. В EMW3080/EMW5080 стоит отключение доступа к logUART и включение шифрования Flash. После этой операции вам придется восстанавливать eFuse - или дописывать или патчить в ней значения. (Описывать не буду, т.к. это может перейти в тему "как вскрыть защиту"... Для этого они и закрывают LogUART, чтобы не получить простой доступ из ROM-BIOS... Но защита у MXCHIP неполноценная :) Полную они выставить не могут, т.к. тогда не будет доступа для модификации пользователями прошивки.)
А если в этом не сильно разбираетесь, то чип RTL8710BN придется выкинуть...
Мне показалось, не точно, по ПО, но там вроде используется кристалл от RTL8711BN.
Прошивки от MXCHIP не имеют практического интереса. Там в Flash имеется закрытый блок прошивки всех функций из SDK занимающий большую часть Flash, а ПО собираемое пользователем обращается к этому блоку. Т.е. ПО пользователя как нашлепка над закрытым их SDK из громадного бинарника с крос-таблицей функций. Почти интерпретатор :)
 
Последнее редактирование:

sharikov

Active member
Не стоит этого делать(!). Прошивка от MXCHIP прописывает eFuse. В EMW3080/EMW5080 стоит отключение доступа к logUART и включение шифрования Flash.
Шизоиды. Перемаркировка чипов - плохой признак. Как правило таким занимаются придурошные фирмы у них и остальное в том же духе.

Прошивки от MXCHIP не имеют практического интереса. Там в Flash имеется закрытый блок прошивки всех функций из SDK занимающий большую часть Flash...
MXCHIP вычеркиваем.
Получается что на Ameba-Z модулей пригодных для использования все еще нет.
 

A_D

Active member
Не стоит этого делать(!). Прошивка от MXCHIP прописывает eFuse. В EMW3080/EMW5080 стоит отключение доступа к logUART и включение шифрования Flash.
После этой операции вам придется восстанавливать eFuse - или дописывать или патчить в ней значения. (Описывать не буду, т.к. это может перейти в тему "как вскрыть защиту"... Для этого они и закрывают LogUART, чтобы не получить простой доступ из ROM-BIOS... Но защита у MXCHIP неполноценная :) Полную они выставить не могут, т.к. тогда не будет доступа для модификации пользователями прошивки.)
А если в этом не сильно разбираетесь, то чип RTL8710BN придется выкинуть...
Понял, спасибо за предупреждение!
А отключение доступа logUART из прошивки пользовательской или на время старта ? (сам лог uart то работает ведь, AT команды тоже на нём, но выводит явно меньше отладочной инфы при старте, чем другие модули)

Мне показалось, не точно, по ПО, но там вроде используется кристалл от RTL8711BN.
Прошивки от MXCHIP не имеют практического интереса. Там в Flash имеется закрытый блок прошивки всех функций из SDK занимающий большую часть Flash, а ПО собираемое пользователем обращается к этому блоку. Т.е. ПО пользователя как нашлепка над закрытым их SDK из громадного бинарника с крос-таблицей функций. Почти интерпретатор :)
Это как раз объясняется\подтверждается ихней вариацией обозначений GPIO и другого на свой лад - всё по своему, хотя по факту можно смотреть на оригинальный пинаут RTL8710BN. Сделали эдакую свою вариацию по типу ардуины (пины и т.д. по своему) и пользователю использовать всё закрытое в либах.
И почему именно RTL8711BN ?
upload_2017-11-8_12-20-11.png
Вроде по набору периферии не отличаются от RTL8710BN особо, корпус другой да и только..
 

pvvx

Активный участник сообщества
Понял, спасибо за предупреждение!
А отключение доступа logUART из прошивки пользовательской или на время старта ? (сам лог uart то работает ведь, AT команды тоже на нём, но выводит явно меньше отладочной инфы при старте, чем другие модули)


Это как раз объясняется\подтверждается ихней вариацией обозначений GPIO и другого на свой лад - всё по своему, хотя по факту можно смотреть на оригинальный пинаут RTL8710BN. Сделали эдакую свою вариацию по типу ардуины (пины и т.д. по своему) и пользователю использовать всё закрытое в либах.
И почему именно RTL8711BN ?
Посмотреть вложение 4995
Вроде по набору периферии не отличаются от RTL8710BN особо, корпус другой да и только..
Там стоит запись в eFuse значений, которые дают в регистре REG_SYS_EFUSE_SYSCFG6: 0x02004020. 0x4000 - это перенаправление logUART на другие ноги, которых нет на RTL8710BN и HAL и ROM-BIOS так будет отрабатывать это. Затереть это просто - забить данный бит в записи докинутой в eFuse MXCHIP.
Не будет работать и UARTIMG_Download().
ROM RTL8710BN в IDA
Код:
//----- (00006B9C) --------------------------------------------------------
int __fastcall DIAG_UartInit(int a1)
{
  int v1; // r4@1
  bool v2; // r1@2
  int result; // r0@4
  int v4; // r0@5
  char v5; // [sp+4h] [bp-2Ch]@4

  v1 = a1;
  RCC_PeriphClockCmd(0x80000004, 0x1000u, 1);
  v2 = REG_SYS_EFUSE_SYSCFG6 << 17 >= 0; // 0x4000 [REG_SYS_EFUSE_SYSCFG6 = 0x02000020]
  PINMUX_Ctrl(8, v2, 1);
  LOGUART_StructInit((int)&v5);
  result = LOGUART_Init((int)&v5);
  if ( v1 == 1 )
  {
    VECTOR_IrqRegister((int)UartLogIrqHandle, 28, 0);
    VECTOR_IrqEn(0x1Cu, 0);
    v4 = GetRomCmdNum();
    result = RtlConsolInit(0, v4, (int)UartLogRomCmdTable);
  }
  return result;
}
В зависимости от этого бита вызывается разный PINMUX_Ctrl(8, 0 или 1, 1) .
Снимок10.gif
Отключение сообщений ROM - это другой бит. Все биты eFuse не собрал, но 20% есть раскиданных в записках...
----------------
А внутри то SoC стоит — MX1290! Неожиданно. Судя по описанию, один-в-один RTL8710BN, только частота 133 МГц (разгон ? :) ).
Скорее всего ошибка. Не видел в спеках 133 - там 125MHz, кроме первого тестового образца с первой ревизией 8710BN-L0 (62.5MHz), которого ни у кого нет.

Так-же не ясно, зачем Encryption Chip, если в RTL"B" и так всё встроено...
 
Последнее редактирование:

A_D

Active member
С доставкой выходит чуть дороже, чем на ebay (buy it now):
1.PNG
А на ebay кстати бывают аукционы, начиная от 3,5$ и можно выиграть их за именно такую цену:
2.PNG
Так вот на обзор и появился модуль )
 

pvvx

Активный участник сообщества
В качестве автономного модуля с ограниченным питанием лучше будет EMW. Если нужна грелка, то ESP-32S. ESP-32S проще заменить на модуль с Linux - доплата минимальна, всё остальное - лучше.
Ну нет ниши применения у EPS-32S.
Для баловства дома наверно лучшим выбором получится какие "наручные часы". Там всё встроено - акб, wifi, bt, экран, gsm, и внешняя зарядка.
 
Последнее редактирование:

pvvx

Активный участник сообщества
ESP32 подешевел и почти сравнялся в цене с RTL8710AF. Так что доплатить за линукс придется вдвое.
Это было предсказано ранее. Уровень RAM для типовых задач практически одинаков, но у ESP-32S проблем больше + какие-то сложности у "сообщества", пишущего на него ПО (как я понял там и доступ глубже некоторым из них дан, но это дело не меняет, а тормозит ещё больше).

Лучше скажите как программно протестировать BOR (какие есть пожелания). Счас вот взял ещё модуль c RTL8710BN и готовлю его на тест 2-х его BOR...
 
Последнее редактирование:

sharikov

Active member
Лучше скажите как программно протестировать BOR (какие есть пожелания). Счас вот взял ещё модуль c RTL8710BN и готовлю его на тест 2-х его BOR...
BOR тестируют аппаратно. Берете источник на пару ампер чтобы получить волшебный дым. Источник должен уметь выдавать напряжение от нуля вольт.

1. плавная подача напряжения (за минуты) 0-->3.3V. Обратите внимание на поведение модуля в зоне 0,7-1,2V и вблизи срабатывания BOR.
2. плавное понижение напряжения (за минуты) 3,3V-->0V. Следить за тем же что в п.1
3. просадка напряжения. Включаем номинальное питание, запускам модуль в штатный режим работы потом медленно снижаем питание до 0,7V и плавно поднимаем до номинала. т.е 3,3-->0.7 -->3.3. Повторять с разными уровнями просадки и скоростями. Просаживать НЕ ДО НУЛЯ! (так интереснее)

условные 0,7V - это величина порогового напряжения mosfet в чипе. Когда питание ic чуть выше порога но далеко от штатного вылезает много интересного.

Быстрая пропажа напряжения при исправном источнике питания невозможна поэтому я ее не предлагаю тестировать.

Еще можно имитировать высокое внутреннее сопротивление источника питания (случай разряженной батарейки).
 

pvvx

Активный участник сообщества
Еще можно имитировать высокое внутреннее сопротивление источника питания (случай разряженной батарейки).
1.2.3 Это и так понятно и известно - просто включить пилу с генератора. (Можно и в минус :)) (Пила у меня с гена хорошая - линейность к 32-м битам... аналоговая с источников тока... сотни секунд - 10 MГц)
И такой тест обычно проводится с эмуляцией разного внутреннего сопротивления источника.
Кривой BOR при "на пару ампер" работает безотказно, а если увеличить сопротивление источника, то сбоит. (это меня и интересует)

Я про ПО - у RTL"B" два BOR.
Один на 2.8В - основной, второй на 3.0В и управляемый Off/On - IRQ или RESET.
-----
В общем буду поэтапно - как поведет первый BOR, а далее если пашет в норме, то и второй...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Предварительные данные:
0..2.74В, ток соответственно: 0..10 мА.

2.74В – включение и работа. Ток при WiFi-On 119 мА, потом впадает в экономию 28 мА (прошивка пока родная - AT).

При 1 Ом источника и приближении к порогу BOR1 можно поставить на вывод любого кол-ва символов по старту:
Код:
....
<
< 
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
< 
< 
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
< 
ROM:[V0.1]>
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
< 
< 
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
< 
< 
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
ROM:[V0.1]
FLASHRATE:4
<
...
Завесить пуск не удается.
К модулю подключено 3 провода:
1 ) питание
2) GND
3) TX через резистор 10к на UART-USB. (через диод PL-2303 не захотела, для минимизации утечек, махну на другую - FTDI - они лучше.)
 

sharikov

Active member
Предварительные данные:
0..2.74В, ток соответственно: 0..10 мА.

2.74В – включение и работа. Ток при WiFi-On 119 мА, потом впадает в экономию 28 мА (прошивка пока родная - AT).
...
Завесить пуск не удается.
в диапазоне 0-1.5V скачка тока не наблюдается ?
прям с 2.74 работа "на полную"? нехорошо.
надо бы с 3,0. второй bor после старта включен или выключен ?

Над завешиванием пуска можно еще поработать. Что если при включении с 2,74 просядет ?
 

pvvx

Активный участник сообщества
в диапазоне 0-1.5V скачка тока не наблюдается ?
Нету. Подробные графики потом. Сначала надо определиться с параметрами тестирования.
прям с 2.74 работа "на полную"? нехорошо.
По доку 2.8. Но температурные не описаны и у меня сомнения, что это не регулируется в PMU. От того и тест. И именно 10 мА - и полная моща M4F к 125MHz. Тут тоже пик ещё не установил - замеры пока снимаю тормозом 24-х битным на 4Гц с фильтрами усреднения...
надо бы с 3,0. второй bor после старта включен или выключен ?
Второй включается пользователем. В eFuse пока не смотрел по этому поводу.
Над завешиванием пуска можно еще поработать. Что если при включении с 2,74 просядет ?
Он в генерацию сам себя и вводит, если у источника сопротивление...(ещё не уточнено какое) Электролитов то нема. Голый модуль из пакетика :)
Для точности надо ещё разобраться с USB-UART - в PL китайцы что-то впаяли и у него ток 768мкА по RX :) В общем надо дособирать макет для теста... Программу правильную закинуть в модуль, а не детскую стрепнину не понимающую что питание не стабилизировалось и давай сразу WiFi врубать...

У BOR1 на данном экземпляре модуля порог включения 2.748В, порог отключения 2.54В (пока не точно - на глаз по графикам).
 
Последнее редактирование:
Сверху Снизу