9
Compute Module 3
В апреле 2014 года Raspberry Pi Foundation выпустила первую версию вычислительного модуля Compute Module (CM1). Он был основан на процессоре BCM2835 оригинального мини-компьютера Raspberry Pi. С тем же процессором эта плата была гораздо меньше по размеру: примерно такая же, как планка ОЗУ для ноутбука. Собственно, модуль выполнен именно в форм-факторе DDR2 SODIMM для ноутбука. На плате исчезли все разъёмы и гребёнка контактов, остались только процессор, ПЗУ и ОЗУ.
С выпуска оригинальной модели прошло почти три года. За это время свет увидели ещё два поколения Raspberry Pi, с каждым разом всё большей производительности. Так что сейчас пришло время для обновления вычислительного модуля: встречаем Compute Module 3, обратно совместимый с CM1.
Изначально предполагалось, что с помощью такого «вычислительного модуля» и платы расширения сторонние разработчики могут создавать более функциональные системы, чем сам Raspberry Pi, почти полноценные ПК. Или наоборот, его можно использовать в устройствах, где функциональность и габариты Raspberry Pi излишни. В общем, в разработке всяких нестандартных изделий.
Compute Module получил заслуженное признание и популярность. Его применяли для разработки разнообразных приборов, в том числе в Интернете вещей и промышленных роботах. Вычислительный модуль даже отправили в космос в составе миниатюрных спутников CubeSat. Маленькие дешёвые компьютеры доказали, что могут надёжно работать в условиях облучения космической радиациией. Под управлением CM1 спутники успешно справлялись с задачей обнаружения друг друга и выполняли различные маневры, в том числе по уклонению от столкновений и стыковке. Для маневров применялись лидары или сенсоры Microsoft Kinect.
Структура микроспутника MirrorSat
Compute Module 3 основан на аппаратном обеспечении Raspberry Pi 3. У него вдвое больше оперативной памяти и примерно вдесятеро большая производительность, чем у оригинального модуля.
Всего выпущено две версии Compute Module 3: стандартная и облегчённая.
Стандартный CM3
Процессор: BCM2837 с тактовой частотой до 1,2 ГГц
ОЗУ: 1 ГБ
Флеш-память: 4 ГБ eMMC (встроено)
Облегчённый CM3L
Процессор: BCM2837 с тактовой частотой до 1,2 ГГц
ОЗУ: 1 ГБ
Флеш-память: интерфейс для карт SD
Как видим, облегчённая версия отличается только отсутствием флеш-памяти на модуле. Но интерфейс остался, так что SD или eMMC можно подключить при необходимости. На фотографии показана обратная сторона обоих модулей: слева стандартный CM3, справа — CM3L (Light).
В числе первых Compute Module 3 применила в своих продуктах компания NEC, которая использовала его в широкоэкранных дисплеях нового поколения. Такие дисплеи с диагональю до 96" предназначены для использования в публичных местах: школах, офисах, магазинах, на вокзалах и т.д.
Compute Module 3 в дисплее NEC
Это лишь один пример промышленного использования CM3. Вычислительные модули наверняка найдут применение и в других сферах, как и модули первого поколения CM1, надеются в Raspberri Pi Foundation. Любая группа энтузиастов в гараже может применять такие же технологии, какие доступны крупной корпорации вроде NEC. В то же время им не нужно заморачиваться техническими деталями вроде распиновки процессора или высокоскоростным интерфейсом памяти, энергообеспечением компьютера. При подключении к простой плате расширения все внешние интерфейсы работают «из коробки». Модуль использует стандартный форм-фактор оперативной памяти для ноутбука DDR2 SODIMM, такие разъёмы поддерживаются несколькими производителями, они недороги и легко доступны.
По размеру CM3 практически идентичен CM1, он только на 1 мм выше. Разъём тот же. С аппаратной точки зрения разница лишь в большем энергопотреблении процессора (VBAT). При большой нагрузке он сильно греется.
По традиции, вместе с модулем представлены и референсные платы расширения, скорее в демонстрационных и образовательных целях. Вероятно, такие платы удобно использовать для экспериментов с CM3 перед конструированием и выпуском собственной платы.
Плата Compute Module IO Board V3 (CMIO3) обеспечивает модулю необходимое питание и даёт возможность программировать флеш-память (в стандартной версии) или использовать SD-карты (в облегчённой), даёт более простой доступ к интерфейсам процессора (штырьковая колодка и коннекторы, как в RPi). Здесь есть интерфейсы HDMI и USB.
Референсная плата CMIO3 совместима с модулями первого поколения, а также с новыми CM3 и CM3L.
Полная техническая информация и CM3 опубликована в разделе документации :
Спецификации
Блок-схемы
Конструкторские файлы CMIO и плат расширения камеры/дисплея
Руководство по проектированию для Compute Module
Перезапись встроенной флэш-памяти eMMC с использованием платы Compute Module IO Board
Подключение периферийных устройств к вычислительному модулю
Подключение камеры Raspberry Pi
Подключение официального 7-дюймового дисплея
Цена
CM3 и CM3L продаются по $30 и $25, соответственно (без учёта налога и доставки). Цена действует как для розничных, так и для оптовых покупок.
Одновременно стоимость первого CM снижена тоже до $25. Для некоторых задач уменьшенное энергопотребление может быть важнее, чем мощность, так что CM1 найдёт своего покупателя.
Партнёрские магазины RS и Premier Farnell предлагают полные комплекты для разработчика, которые включают всё необходимое для начала работы с Compute Module 3.
element14
RS Components
Плата расширения продаётся отдельно за 96 (примерно $116).
Это Firefox-то быстрый?! Да он даже на Raspberry Pi 3B тормозит так, что это далеко от понятия «комфортная работа».
Поэтому первым делом sudo apt-get install links2. Значительную часть именно сайтов (не сервисов!) читать в нём вполне можно, тот же Stackoverflow или Хабр к примеру. Даже с картинками. И есть куча удобных функций, например по щелчку мгновенно остановить загрузку всего, что связано с сайтом. А не как в FF/Chrome, когда хоть 5 раз нажми на стоп, а страница всё одно продолжает что-то из скриптов подтягивать да картинки прогружать.
Затем устанавливаем отдельные приложения для всего, что связано с Интернет-сервисами. Например, я использовал консольный rss-агрегатор newsbeuter (очень удобно), напоминалку reminder и почтовый клиент. Причём к почтовику за месяц безвылазного сидения на RPi привык настолько, что потом и на десктопе поставил Sylpheed — ничего лишнего и ни малейших тормозов с подлагиваниями, как у почтовых веб-сервисов. Ещё и все ящики в одной программе.
Если же нужен полноценный браузер, то из всех опробованных мной в плане скорости с огромным отрывом вырывается вперёд браузер из комплекта kweb Suite, представляющий собой сборку на основе Webkit. Там же, кстати, заодно имеется и GUI-обёртка над omxplayer, хотя этот плеер нужен только для просмотра в HD-качестве, а всякую мелочёвку и так смотреть можно.
Вот что меня реально удивило, так это отсутствие нормальных мессенджеров под RPi. Тот же Telegram там отсутствует и даже плагины под Pidgin пришлось собирать самостоятельно, причём предварительно поправив код. И информации по сборке всего этого в сети практически нет, как будто никто в целом мире даже не пытался ставить такое.
Готов. При определенных условиях. Например если разработчик сделает мне ADC, доступ к которому я получу как-то через cat /dev/adc1, а не через перелопачивание конфигов и ко-ко-конпеляцию ядра.
Иными словами, мне нужен либо идеально работающий в плане железа и софта компьютер, на котором я буду делать все то же, что и на компьютере (т.е. работать), либо микроконтроллер с гребенками GPIO, работа с которым будет не сложнее чем работа с Arduino.
Но я никогда не восприму гибрид бульдога с носорогом, читай «плата, на которой есть VGA и HDMI, не могущие работать одновременно, есть WiFi, который однако не может работать если работает VGA, есть bluetooth для активации которого нужно перекомпилить есть SATA, но всего лишь первой ревизии который медленнее чем есть инфракрасный порт, правда работает только через UART, есть 3д-ускоритель, правда он у вас работать не будет, равно как и 2д-ускоритель, но он есть, и вы в теории можете сконпелять под него ведро, а еще у нас есть много много GPIO, но для их активации вам придется деактивировать WiFI, а еще они не поддерживают ADC, PWM, не 5V-толерантны», и это еще не все косяки.
Либо мы танк, либо мы спорткар, третьего не дано.