Всем привет! Недавно мы писали о том, что выпустили новую версию контроллера для автоматизации — Wiren Board 5. Сегодня мы подробно расскажем, как изменилась электронная часть устройства.  В предыдущей версии устройства мы использовали процессорный модуль собственного производства WB-IMX233-CORE. Он был основан на на основе дизайна Olinuxino Micro на процессоре i.MX233.  В WB5 вместо него используется модуль EV-IMX287-SODIMM.  Модуль построен на процессоре i.mx287 — следующей модели из той же линейки NXP. Хотя процессор новее и будет доступен минимум до 2025 г, он полностью программно совместим с предыдущим. Что ещё поменялось: оперативной памяти теперь больше и она быстрее (128MB DDR2). В качестве накопителя используется чип eMMC на 4GB вместо microSD — это более надёжное решение. Остальные небольшие улучшения: USB OTG-порт, отдельный Ethernet, поддержка CAN и SPDIF, аппаратные последовательные порты. Немного переделали схему питания — подняли максимальное допустимое входное напряжение до 28В, увеличили мощность линии 5В.  GSM-модуль на свежем чипсете от Mediatek требует более низкого напряжения, чем раньше, поэтому линия 4.5В заменена на 4.0В. От этой же мощной линии теперь напрямую питается и процессор, что позволяет снизить потребление.  Напряжение 3.3В в устройстве получается с помощью нескольких LDO, которые также изолируют друг от друга части схемы. Выходящие во внешний мир 5В на разъёме USB и клеммнике “5V out” имеют ограничение по току и допускают программное отключение. Опыт эксплуатации WB4 с аккумулятором показал, что: Не всякий аккумулятор поместится внутри корпуса. Те покупатели, кто собирался использовать Wiren Board с аккумулятором, благоразумно покупали его у нас.  Т.к. в корпусе предусмотрены места для крепления платы вторым-третьим этажом, то мы решили сделать отдельную плату со схемой зарядки, и к ней же закреплять аккумулятор. Блок по умолчанию поставляется с качественным аккумулятором EEMB на 1800 мАч.   Клеммники — весьмая “дорогая” часть в контроллере, место по бокам корпуса в дефиците. Для экономии можно некоторые функции совмещать, “мультиплексировать” на один клеммник. Хорошо совмещаются выходы типа “открытый коллектор” с входом АЦП. Вход АЦП высокоомный, не мешает работе выхода. Если транзистор закрыт, он не мешает измерению напряжения.  Параллельно с аналоговым входом на клеммниках Ain имеется и цифровой вход.
Вход представляет по схеме триггера Шмитта на операционном усилителе. Входное сопротивление велико, можно задать уровень срабатывания входа, гистерезис.
Важно, что цифровой вход — “честный”, а не эмулируется на аналоговом. Это позволяет использовать вход как источник прерываний и для измерения длительности импульсов с большой точностью, что нужно, например, при подключении счётчиков. В версии контроллера 3.5 (известный как Wiren Board Smart Home) был порт CAN (контроллер шины + трансивер). CAN — очень хороший протокол: быстрый, помехозащищенный, с пакетной передачей и разрешением коллизий, и т.д. Одна печаль — оборудования по доступной цене на нем нет и его мало кто использовал на контроллере. Поэтому с четвертой версии его убрали — занимал пару клеммников и много места на плате. Однако в новом процессоре CAN уже есть, нужен только трансивер.  Для экономии клеммников, в контроллере порт CAN совмещён с одним из портов RS-485. Работать одновременно можно только с одним из них. В режиме приёма трансиверы CAN и RS-485 не влияют друг на друга. А что бы растяжка линий RS-485 (А и В) не портила линии CAN (L и H), А соединяем с L, В с H.
В дополнение к встроенному CAN-порту, в Wiren Board 5 можно добавить ещё один изолированный порт CAN с помощью соответствующего модуля расширения. Некоторые производители называют словом CAN нестандартную шину, которая использует физический уровень от CAN, а логический от UART. Такое решение встречается в основном в счётчиках, например в популярных счётчиках электричества “Меркурий”. Такую шину контроллер тоже поддерживает с помощью специального модуля расширения UART-CAN, и протокол Меркурий (и много других) тоже. 1-Wire — двунаправленная шина, работающая по двум или трём проводам, включая провода питания. В основном используется для датчиков температуры. Количество устройств на шине в таком случае ограничено в первую очередь общим потреблением. Радикальное решение — использовать отдельный провод для питания (трёхпроводная схема подключения). Но есть и другой способ, который повышает надёжность при использовании двухпроводной шины: так называемая активная подтяжка линии. Т.е. во время когда не идет передача данных, замыкать линию транзистором на питание.  Так мы и сделали в WB5. В предыдущих версиях контроллера был аналоговый стерео выход аудио. ЦАП был встроен прямо в процессор i.mx233 (а там ЦАП оказался, потому i.mx233 основан на STMP3780 — чипе для MP3-плееров, который Freescale выкупили вместе с компанией Sigmatel и перепрофилировали в индустриальный процессор).
В новом процессоре i.MX28 аналогового звука нет, но есть цифровой выход S/PDIF. Eго и вывели на оптический передачик. S/PDIF конечно в дешевые колонки не воткнешь, что может быть не удобно, но зато он позволяет использовать контроллер как сетевой плеер с нормальным, качественным звуком. Для конвертации в аналог можно использовать внешние недорогие преобразователи. Существуют ИК приемники и ИК передатчики, как правило они с разъемом jack3.5 с тремя контактами. И к счастью, они условно совместимы по контактам. Поэтому в контроллере разместили один универсальный разъем. Но для некоторых применений может потребоваться работа и с приемником, и с передатчиком. Пришлось разрабатывать собственный приемопередатчик, с паразитным питанием приемника от сигнальной линии. В этой статье мы не рассказали про аппаратные решения, которые используются в модулях расширения и модулях ввода-вывода для Wiren Board. Так как материал получается объёмным (модулей уже набралось больше десятка!), мы опубликуем его в одной из следующей статей. Напоминаем, что до 15 мая продолжается невиданной щедрости предзаказ на контроллеры, про который мы рассказывали в прошлой статье. А в наличии устройства есть по обычным ценам. Как всегда, будем рады комментариям!