Координатор Zigbee V3

Вторая версия координатора снимала проблемы с расстоянием, но оставались проблемы со стабильностью и количеством подключенных устройств. Все эти проблемы обусловлены скудными ресурсами чипа СС2530. Для решения текущих проблем появилась версия номер три, на более продвинутом чипе CC2538.

Схема еще более упростилась по сравнению со второй версией, так как все необходимые интерфейсы уже реализованы в самом чипе.

плата разведена в DipTrace

планируемый результат

при желании можно использовать разъем micro usbкак видно на рендерах, можно установить разъем SMA и подключить внешнюю антенну. Для связи модуля с SMA разъемом удобно использовать вот такой кабельпри использовании внешней антенны, на модуле СС2538 нужно не забыть перепаять резистор в указанное положение.
Пайка обычным паяльником, все достаточно просто(на последней фотографии кнопка временная, пока не пришла нужного размера).

Я прошивал координатор с помощью китайского клона программатора от Segger.

схема соединения и инструкция  в отдельной статье.

Прошивка под эту версию координатора собрана стараниями Антона Старикова. Прошивка постоянно модернизируется, последняя версия доступна на его странице.

@reverieline сделал свою версию прошивки, в ней задействованы светодиоды и внесены другие изменения улучшающие качество связи.

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

Осталось нарисовать корпус и примерить виртуально

распечатать и убедиться что все подошлоДля желающих повторить, gerber файлы для заказа плат и BOM.

Файлы для печати корпуса в формате .STL

Обсудить устройство можно в профильной группе в телеграм.

Запись опубликована в рубрике handmade, Железо с метками , , , , , . Добавьте в закладки постоянную ссылку.

29 комментариев на «Координатор Zigbee V3»

  1. Kevin Rosenow говорит:

    Здравствуйте. Где я могу найти материнскую плату? Куда мне припаять SMA и USB-порт? Это не указано в спецификации. Может ли кто-нибудь помочь мне там?

  2. Zvuka4 говорит:

    Здравствуйте. Вопрос такой после сборки устройства перед прошивкой как то можно проверить работоспособность устройства? Какой нибудь светодиод загорится или никак?

    • Jager говорит:

      Никак. Более того, и после прошивки светодиоды не загорятся, пока не реализована поддержка в прошивке.

  3. Artyom говорит:

    Здравствуйте, как купить стик?

  4. Гаврилов Александр говорит:

    вроде как есть несоответствие схемы и платы. в части R2C5 R1C4. На схеме конденсаторы «справа» от резисторов, а если смотреть плату, то должны быть левее резисторов

    • Jager говорит:

      Нет никакой связи между тем как они расположены на схеме и на плате.

  5. Pascal говорит:

    Здравствуйте, как мне лучше припаять сс2538 + сс2592 к плате? На снимках это выглядит так хорошо припаяно. Есть ли инструменты для этого?

    • Jager говорит:

      Никаких секретов нет, обильно смазать контакты флюс-гелем и паять. После промыть хорошо.

  6. Владимир говорит:

    Здравствуйте!
    Можно ли скачать файлы платы для самостоятельного изготовления ? ( печати трафаретов

  7. Anton Afanasyeu говорит:

    А о чем сигнализируют светодиоды?

    • Jager говорит:

      Это зависит от прошивки, изначально они небыли задействованы. В этой прошивке они используются частично, отображая наличие сети и пакеты.

      • Anton говорит:

        Спасибо за ответ, а еще такой вопрос, я прошил и запустил на прошивке из статьи, а те прошивки что вы привели по ссылке, кроме индикации чем-то отличаются? Стоит ли перепрошить?

        • Jager говорит:

          Стоит попробовать, улучшено качество связи. Я обновил статью, добавил линк в нее на новую версию.

          • Anton Afanasyeu говорит:

            Cпасибо, прошился, диоды загорелись)

  8. Viktor говорит:

    Подскажите, пожалуйста, где почитать о настройке стика v3 в Home Assistant?

  9. Андрей говорит:

    Подскажите, какая наиболее актуальная на данный момент прошивка для вашего стика V3?

    • Jager говорит:

      В статье есть две ссылки на github с прошивками, смотрите даты и увидите какая последняя.

  10. Александр Маслюченко говорит:

    После нескольких дней ковыряния, чтения интернетов, и немножко дебага протокола, я выяснил что стик можно прошивать с помощью копеечного USB-UART конвертера. Программатор покупать не обязательно. Правда есть нюансы.

    Итак. У микроконтроллера CC2538 есть такая штука как backdoor bootloader, который позволяет прошиться через uart. Эта возможность включается специальным битом в прошивке, и если вы покупаете свежий чип с завода этот бит установлен. По умолчанию в любой прошивке этот бит снимается, так что как только вы вливаете какую либо прошивку больше по uart вы прошиваться не сможете, и тогда придется таки раскошелиться на jtag программатор.

    Но это еще не все. Чтобы микроконтроллеру понять куда грузиться, в бутлоадер или в основную прошивку, микроконтроллер при включении опрашивает определенную ножку процессора. Причем какую ножку и какой ожидаемый уровень на ней также можно задать в соответствующих битах конфигурации.

    Последовательность действий для прошивки по uart такая.
    1) сперва нужно подготовить саму прошивку — нужно включить тот самый бит. В принципе можно и не готовить, но как я уже сказал тогда получиться прошиться только один раз.

    Для этого качаем любую прошивку из упомянутых в статье. Я себе прошивал https://github.com/reverieline/CC2538-CC2592-ZNP/blob/master/MODKAMRU_V3/MODKAMRU_V3_USB.hex

    Далее мотаем в самый конец и видим строку
    :0CFFD400FFFFFFEF000000000000200015
    Ее нужно поменять на
    :0CFFD400FFFFFFF700000000000020000D

    Может показаться что это магия, но тут все просто. Формат строки можно прочитать на википедии в статье intel hex. Нас же интересует байт 0xEF, который стал 0xF7. Описание этого байта можно найти в документе CC2538/CC26x0/CC26x2 Serial Bootloader Interface от TI.

    Краткое описание битов в этом байте:
    — биты 0-2 отвечают за выбор ноги, которая будет выбирать входить в бутлоадер или нет. Ноги выбираются из диапазона PA0-PA7. Я выбрал PA7 — она в стике не задействована, и проверив тестером выглядит как будто подтянута к питанию. Я ее и задействовал. Соответственно биты 0-2 нужно установить в 1 (они и так уже в 1)
    — бит 3 выбирает по какому уровню на выбранной ноге входить в бутлоадер. Я буду входить только тогда, когда нога будет прижата к земле — ставим в этом бите 0
    — бит 4 — он, собственно, и отвечает за включение backdoor bootloader. включим этот бит.

    Последний байт это контрольная сумма. Поскольку мы к 0xEF добавили 8, чтобы получить 0xF7, то это же значение нужно отнять от контрольной суммы — 0x15-8=0x0d

    Вот и вся магия

    2) Подключаем USB-UART.

    Тут все как обычно: подключаем VCC, GND, TX к RX, а RX к TX
    Нужно только не забыть переключить USB-UART переходник в режим 3.3В, иначе спалите стик.

    3) Я нашел как минимум 2 прошивальщика
    https://github.com/1248/cc2538-prog
    https://github.com/JelmerT/cc2538-bsl

    Я прошивался первым, зато второй позволяет верифицировать прошивку. Я думаю без разницы каким шиться

    4) мне показалось не очень удобным (скажу больше жутко геморройным) закорачивать пинцетом ногу PA7 на землю, чтобы войти в бутлоадер. Поэтому я приколхозил небольшую кнопочку на суперклей (возле разъема USB как раз есть свободный пятачок), и припаял ее тоненькими проводками куда нужно.

    Вот и все. Можно шиться хоть каждую неделю теперь. Нужно только не забывать делать битовую магию из шага 1, иначе дверка прикроется.

    Выражаю благодарность автору стика за предоставленные схемы, гербера и STL. Тут разве что исходников прошивки для полного комплекта не хватает. Также буду благодарен, если глубокоуважаемый Jager запостит это отдельным постом на сайт — вдруг кому нибудь пригодиться.

    • tokolist говорит:

      Жаль что я не знал о такой возможности раньше, но программатор все равно пригодится 🙂 Спасибо что поделились!

  11. tokolist говорит:

    Сделал, работает, спасибо! 🙂 И спасибо @reverieline за прошивку!
    https://drive.google.com/file/d/1mT7_gOLVPHdKUqAiZ4h0XPEXSKlfvA8O/view

Добавить комментарий для Anton Отменить ответ