Журнал РАДИОЛОЦМАН, ноябрь 2016
Duane Benson
Embedded
Arduino начинала жизнь в качестве простого и недорогого обучающего инструмента на базе 8-разрядного микроконтроллера. За прошедшее десятилетие она выросла в многоликую платформу, которая произвела революцию в мире изучения микроконтроллеров и радиолюбительства. В последнее время расширение семейства Arduino за счет добавления 16- и 32-битных процессоров перенесло Arduino в область промышленных платформ для быстрого создания прототипов.
Одним из последних абитуриентов в мире совместимых с Arduino высокопроизводительных плат стал модуль Edison компании Intel (Рисунок 1). Edison имеет двухъядерный 500-мегагерцовый процессор Intel Atom со встроенными модулями Wi-Fi и Bluetooth. Он поставляется с 1 ГБ оперативной памяти, 4 ГБ встроенной памяти eMMC и контроллером OTG USB 2.0 (но без разъема).
Рисунок 1. |
Я разработал немало плат, совместимых с Arduino. 8-битные Atmega32u4 и Atmega328P очень просты в применении, но ограничены в вычислительной мощности. Я начал использовать плату ChipKIT с 32-разрядным микроконтроллером Microchip PIC32MX340-512E, которая имеет гораздо больше возможностей и не намного сложнее во внедрении. Тем не менее, я хочу еще больше мощности, что привело меня к Edison.
Edison настраивается на программную совместимость с Arduino. Он также работает с предварительно загруженным дистрибутивом Linux. Вы можете записать в него Arduino-код через Arduino IDE, либо загрузить код со стороны Linux так же, как если бы вы это делали на любом другом встраиваемом дистрибутиве Linux. В сочетании с подходящими дополнительными картами эта гибкость позволяет быстро начать освоение, а также дает возможность сделать что-то реально работающее.
Базовый модуль не может работать автономно. Он спроектирован с учетом обязательного подключения к материнской плате или использования в качестве одной из плат в стеке. Все линии ввода/вывода и питания подведены к 70- контактному межплатному разъему высокой плотности, так что устройству требуется, по меньшей мере, одна дополнительная плата для питания. Несколько плат могут быть собраны в единый стек, чтобы обеспечить устройство всеми желаемыми периферийными возможностями.
Недавно я купил модуль Edison, намереваясь что-нибудь разработать на его основе. Я купил также дочернюю плату «Base block» компании SparkFun с разъемами USB для подключения консоли и USB OTG (Рисунок 2). Весь стек можно запитать через порты USB, так что эта минимальная конфигурация позволит познакомиться с программным обеспечением, пока разрабатывается и собирается моя плата.
Рисунок 2. |
Я довольно часто использую интерфейс I2C, поэтому мой первый проект представляет собой дополнительную плату, на которой будут блоки I2C на напряжения 3.3 В и 5 В и разъем для карт памяти microSD. Edison рассчитан на работу при напряжении питания 1.8 В, поэтому практически для всего ему требуются преобразователи уровней. На моей плате их будет три: по одному для каждого из интерфейсов I2C и один для карты microSD.
К сожалению, одним из первых моих действий с Edison была поломка межплатного разъема на базовом блоке. Я не рекомендовал бы вам делать то же самое. Это хрупкий 70-контактный разъем Hirose с шагом выводов 0.4 мм. Я повредил его гаечным ключом, когда соединял две платы вместе (Рисунок 3).
Рисунок 3. |
Он слишком мал для того, чтобы я мог с ним что-то сделать, но, к счастью, мои коллеги из Screaming Circuits смогли легко заменить его. Разъемы с шагом 0.4 мм действительно находятся за пределами возможностей ручной пайки для всех, кроме самых мазохистских индивидуумов. В нашем отделе восстановления есть такие люди – вот преимущества места, где специализируется на работе именно такого рода (Рисунок 4).
Рисунок 4. |
SparkFun сделала документацию на свои платы Edison открытой и разместила файлы проекта для скачивания на страницах продуктов своего веб-сайта. Github, где размещает свои проектные файлы большинство людей, хорош, но мне нравится, когда есть возможность скачать файлы прямо в том же месте, где была куплена плата. Отправной точкой мне послужили их файлы EagleCAD с описанием платы, совпадающей по размерам с платой SparkFun и имеющей разъемы высокой плотности с разведенными контактами. К этому я добавил слот microSD, преобразователи уровней и два разъема для I2C.
В качестве преобразователя уровней для карт microSD я использовал 8-битную микросхему TBX0108 компании Texas Instruments, а для 5- и 3.3-вольтовых интерфейсов I2C выбрал два 2-битных транслятора уровней PCA9306, также производства TI. Еще не так давно преобразователи уровней были редкостью в мире микроконтроллеров. Теперь же, с появлением высокопроизводительных систем, таких как Edison с напряжением питания 1.8 В, преобразователи стали обычным явлением.
Рисунок 5. |
Как вы можете видеть на Рисунке 5, плата прекрасно вписывается в форм-фактор платы SparkFun с размерами 3.05×4.45 см. Из множества вариантов корпусов TBX0108 я выбрал DFN с размерами 2×4 мм и шагом выводов 0.4 мм, чтобы обеспечить дополнительное пространство вокруг монтажного отверстия. Для PCA9306 я взял больший корпус, чтобы иметь возможность проводить дорожки под микросхемой.
Я напишу больше, когда закончу проект и получу собранные платы.