Схемотехника и обзор модуля EMW3080

Рассмотрим сегодня один из модулей на RTL8710BN (вроде как должен быть на нём, судя по характеристикам и SDK со страницы производителя). Наконец-то он пришел, спустя более месяца с момента заказа. По идее EMW3080 должен быть аналогом модуля MJIOT-AMB-03, рассмотренным ранее, но под металлической крышкой ждало кое что интересное!

B40-0

На этот раз будет не только схемотехника, но и краткий обзор модуля, т.к. оказалось, что со стоковой прошивкой он умеет довольно немало, и готов к применению сходу в мелких проектах, у которых есть UART и хочется управлять ими по сети или за пределами роутера, пробросив порты (а-ля IoT для начинающих).

Что забавно, так это то, что на английской версии сайта документов для скачивания кот наплакал, зато на китайской версии поболее будет! :) Итак, модуль собственной персоной сверху и снизу (кликабельно):

Довольно свежий — 2017.06.01. Качество изготовления и текстолита заметно лучше, чем в модулях MJIOT или RAK (что, в принципе, не удивительно и должно быть при цене-то в 1,5-2 раза большей!). Платы даже по контуру отфрезерованы, а не применено скайбирование, как у модулей от MJIOT или RAK (что тоже в худшую сторону на цену влияет, хоть и держать такой модуль приятнее :) правда, после запаивания в устройство, как по мне, глубоко пофиг уже, какие там края у текстолита на модуле… ). Так, а что внутри-то? Открываем крышку (кликабельно):

А внутри то SoC стоит — MX1290! Неожиданно. Судя по описанию, один-в-один RTL8710BN, только частота 133 МГц (разгон ? :) ). Даже распиновка совпадает, но все GPIO по-своему обозначены (кликабельно):

По внутреннему фаршу всё тоже самое (стоит отметить, что показана возможность подключения флешки DSPI\QSPI, запомним! В модуле от MJIOT было QSPI подключение флешки):

B40-5.PNGА вот если посмотреть даташит на сам модуль EMW3080, то там уже флешка скромно подключена через обычный SPI (ну либо DSPI хотя бы):

B40-6

Также, что примечательно, пустое место под микросхему на плате, видимо, как раз и есть Encryption Chip, а какой конкретно — не указано нигде. Модуль же приходит без буквенного обозначения A\B, а просто EMW3080 — видимо, это и имеется в виду EMW3080B. Для EMW3080A наличие этого чипа отдельно обозначено и чуть меньше свободных GPIO:

B40-7

Перейдем к схемотехнике модуля. Вот получившаяся схема, без чипа шифрования (кликабельно):

Что примечательно, флешка действительно подключена как SPI\DSPI. Поэтому прошивки от EMW3080 явно нельзя залить в MJIOT-AMB-03 модуль и наоборот — получим нерабочий кирпич. :) В остальном сильных изменений нет, только дополнительные производственные разъёмы для быстрой прошивки\проверки и пара-тройка дополнительных пассивных компонентов.

По питанию также нет изменений:

B40-9

Разве что изменился номинал конденсатора у выхода LDO.

Полная схема в PDF — EMW3080-Schematic.

Флешка же установлена — QH16A104GIP ф. cFeon. Даташит на неё найти не смог, только то, что это то ли аналог, то ли ребрендеринг EN25Q16 ф. EoN, даташит на последнюю.

Примечателен ещё такой момент, что в даташите на модуль для GPIO одно обозначение:

B40-22

Если посмотреть на пример отладочной платы EVK5180V1.1-MXCHIP-20160609, то обозначения GPIO там совершенно другие:

B40-21.PNG

Есть какие-то неведомые порты PC\PE\PB, которых нет физически у RTL8710BN (не говоря уже о совершенно другой распиновке PA). Это прям специальное запутывание клиента. :) Интересно, китайцы сами не путаются со своими вариантами обозначений GPIO ?… В общем, вот правильная распиновка модуля по RTL8710BN (кликабельно):

Окей, с железом и схемой более-менее разобрались, подключим питание и посмотрим, как оно работает то! При запуске в LOG UART модуль выводит следующее:


<RTL8195A>
ROM:[V0.1]

FLASHRATE:4

BOOT TYPE:0 XTAL:40000000

IMG1 DATA[1152:10002000]

IMG1 ENTRY[800043b:100021e5]
[207][MOC MAIN: moc_main.c: 198] Lib version 3080B002.010. APP built time 10:21:05
[214][MOC MAIN: moc_main.c: 199] heap reuse from 0x100323dc, 48164 bytes
[221][RTOS: mico_rtos_common.c: 84] Started MiCO RTOS interface for mocOS v1.0.0
[234][INIT: app_init.c: 217] firmware ver ATV1.9@EMW3080B

Initializing Station ...

Station initialized
disable powersave return 0

[418][SYSTEM: system_misc.c: 224] Free memory 128144 bytes
[424][SYSTEM: system_misc.c: 230] Kernel version: 3080B002.010
[429][SYSTEM: system_misc.c: 233] MiCO version: 3.5.2
[434][SYSTEM: system_misc.c: 235] Wi-Fi driver version 3080B-3.6a, mac B0:F8:93:13:B2:66

Deinitializing WIFI ...

WIFI deinitialized

Initializing WIFI ...

WIFI initialized
disable powersave return 0

[765][: app_notification.c: 62] uAP established
[770][INIT: app_init.c: 170] Establish soft ap: MXCHIP_13B266.....
[776][http server: http_server.c: 20] initializing web-services
[787][TCP SERVER: LocalTcpServer.c: 78] Server established 1 at port: 8080, fd: 4

Хм. В самом начале <RTL8195A> — ну вы поняли, чей кристалл внутри на самом деле. ;) А также строка в конце — Server established 1 at port: 8080, это уже интереснее! Подключаемся к открытой WiFi точке MXCHIP_13B266, заходим по IP 10.10.10.1 (имя\пароль = admin\admin) и нас встречают древние иероглифы могучий китайский:

B40-10

Переключаем на более понятный английский и смотрим, чего умеет модуль из коробки. По страницам:

Run State, на ней кратко показываются все текущие настройки и Uptime Run Time модуля:

B40-11

WiFi Mode Select — тут всё просто и сходу понятно…

B40-12

AP Mode Setting — аналогично предыдущей странице.

B40-13

Station Mode Setting — тут уже интереснее, можно выбрать WiFi-точку из доступных по скану и добавить в список из 5-ти точек, к которым модуль будет пытаться подключиться.

B40-14

Поиск и выбор WiFi точек незатейлив:

B40-15UART Setting — это настройки UART0, который на GPIOA23 (TxD), GPIOA22 (RTS), GPIOA19 (CTS), GPIOA18 (RxD):

B40-16

Настройки, правда, урезанные, доступны следующие пункты для UART:

  • Baud Rate = 9600 / 19200 / 38400 / 57600 / 115200 / 230400 / 460800 / 921600
  • Data bits = 8
  • Parity = None / Odd / Even
  • Stop bits = 1 / 2
  • RTS/CTS = Disable / Enable

Network Setting — вот тут как раз интересная опция из коробки, можно выбрать TCP\UDP клиента\сервера и сообщения будут напрямую поступать в UART0 и обратно, без AT команд и т.п.:

B40-17

Также есть и вторая настройка с аналогичными параметрами, которую можно и не использовать (Disable), в отличие от первой:

B40-18

Module Moduel Management — последняя страница с минимумом управления:

B40-19

Опять же часть информации дублируется с первой страницы, помимо этого есть основные вещи, как смена логин\пароля, перезагрузки модуля, сброса настроек, обновления прошивки по WEB и … таймер. :) Таймер прям вот в лоб назван Time Reboot — делает он прямо то, что и написано (нет, это не Watch Dog!), тупо и просто перезагружает модуль через указанное время. Не стоит ставить его менее 10 сек, защиты от дурака нет. ;)

В общем, с WEB частью вполне неплохо сделали, местами только ангельский хромает (везде Settings, опечатка в Module, Uptime переименовали и т.п.).

Также есть и поддержка AT-команд для любителей, документ RM1021EN_MiCO-AT Firmware Reference Manual V1.0 в помощь.

Судя по найденному документу RM0083CN_MiCOKit-3080_V1.1, есть аналог WISCREATOR-473MA в таком же формфакторе, но без встроенного отладчика (SWD просто выведен в виде стандартного JTAG 20-пин разъёма):

B40-20.PNG

Но нигде в продаже это чудо я не видел, видимо, оно только для своих разработчиков в MXCHIP.

На этом всё! Есть ошибки или замечания? Пишите в комментариях. ;)

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s