Какие память используются в микрокомпьютерах

Обновлено: 07.07.2024

Первые компьютеры весили тонны и занимали целые комнаты, а над их обслуживанием трудилась огромная команда специалистов. Современные компьютеры по размерам сравнимы с обычным USB-брелоком. Выбираем между Raspberry Pi, Cotton Candy, CuBox, Panda Board, Trim-Slice и AllWinner A10.

Что такое мини-ПК и с чем его едят?

Все в нашем мире относительно. Сначала я хотел написать о том, кто первый создал мини-компьютер. Но что такое «мини»? 🙂 Например, в 1960-м году компания DEC разработала первый в мире мини-компьютер PDP-1, оснащенный клавиатурой и мышью, — размером «всего» с полкомнаты.

Сейчас мини-компьютерами считают одноплатные компьютеры весьма небольших размеров. В идеале хороший мини-компьютер должен занимать места не больше, чем USB-брелок. Кто был первым, проследить невозможно (а если и можно, то зачем?) — прежде чем появились одноплатные ПК для домашнего использования, была создана целая армия разнообразных индустриальных ПК, которые применялись в роли встроенных систем на производстве.

Вместо того чтобы ломать голову, кто был первым, разберемся, зачем нужен мини-комп сегодня самому обычному пользователю. Учитывая, что все мини-компы построены на базе ARM-процессоров, производительности у них не больше, чем у современных смартфонов. Поэтому на мини-ПК устанавливается или тот же Android, или легкие (во всех смыслах — и в плане системных требований, и в плане освоения) дистрибутивы Linux. Конечно, с Linux на борту девайс становится более универсальным, но от этого он быстрее не станет. Тем не менее производительности подобных устройств вполне достаточно для организации медиацентра и воспроизведения HD-видео. Подчеркивает мультимедианаправленность и наличие HDMI-разъема — девайс можно без проблем подключить к современному телевизору. На некоторых устройствах есть и DVI-разъемы, что позволяет также подсоединять их к не самым современным мониторам (на современных часто есть HDMI-разъем).

Итак, для подключения к телевизору/монитору имеется HDMI-разъем. Этот же разъем используется и для передачи звука. Но вот незадача: не на всех мониторах (не телевизорах), оснащенных HDMI-разъемом, есть акустика. В итоге, если на девайсе нет отдельного аудиовыхода, звук не услышишь, пока не подключишь комп к телевизору или монитору с акустикой. Этот факт нужно учитывать при выборе мини-ПК.

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

Связь с внешним миром, то есть интернетом, осуществляется или по Wi-Fi, или через Ethernet-порт.

Raspberry Pi

rassberrypi

Альфа-версия

Позволю себе сделать небольшой экскурс в историю разработки этого чуда техники. Впервые компьютер Raspberry Pi, точнее, его концепт размером с USB-брелок был представлен Дэвидом Брэбеном в мае 2011 года. Уже летом того же года была отправлена в производство альфа-версия платы, а 12 августа была произведена первая партия устройств.

Стало известно, что альфа-версия платы, помимо тестовых функций, содержит более дорогие детали, которых не будет в «релизе». Это делается для того, чтобы сделать комп дешевле, но есть ли в этом смысл? Себестоимость «релиза» — на 20% меньше, а сама плата состоит не из шести слоев, а из четырех.

Ранее компьютер распространятся только как плата, сейчас — в пластиковом корпусе: уже не нужно ломать голову над тем, куда воткнуть плату.

Железо и размеры

Существует две комплектации Raspberry Pi — модель «А» и модель «B». Процессор у них одинаковый — Broadcom BCM2835 (архитектура ARM11) с частотой всего 700 МГц и модулями оперативки по 256 Мб, которые размещены непосредственно на самом процессоре (технология «package-on-package»). Процессор BCM2835 также содержит в себе графическое ядро с поддержкой OpenGL ES 2.0, аппаратного ускорения и FullHD-видео. Особенностью этого компьютера является полное отсутствие часов реального времени.

Разница между моделями заключается в количестве USB-портов (у модели «А» один порт, у модели «B» — два) и в наличии Ethernet-порта у модели «B».

Вывод видеосигнала возможен или через композитный разъем RCA или через HDMI. Файловая система размещается на карте памяти SD, MMC или SDIO. Но обычно используются SD-карты.

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

3

А как же с программным обеспечением? А здесь все стандартно: мини-комп работает под управлением Debian или Fedora. Вполне привычные для Linux-пользователей дистрибутивы. Так, Raspberry Pi, выпущенный 19 февраля этого года, работал под управлением Debian 6.0, оболочка LXDE, браузер Midori. Впрочем, этот мини-компьютер может работать под управлением любой ОС, которая поддерживает архитектуру процессоров ARM.

Простое обновление прошивки Raspberry Pi

Первые экземпляры Raspberry Pi давно поступили в продажу. Понятно, что первым делом они попали в руки разработчиков, а потом уже рядовых пользователей. Один из разработчиков, Hexxeh, создал инструмент для простого обновления прошивки. Правда, он сразу предупреждает, что использовать данный инструмент можно только на свой страх и риск. Итак, для установки утилиты rpi-update нужно выполнить команды:

Для обновления прошивки нужно запустить rpi-update с полномочиями root:

Открой скрипт rpi-update и найди в нем строчку:

Управление скриптом осуществляется с помощью переменных окружения. Переменная SKIPKERNEL отвечает за прошивку без ядра. Если SKIPKERNEL=1, то операционная система твоего Raspberry Pi будет обновлена полностью, кроме файлов ядра и модулей ядра.

Переменные ROOTPATH/BOOTPATH используются для «оффлайн»-обновления, когда файлы прошивки уже загружены на SD-карту. Примеры использования переменных:

CuBox

5

География мини-компьютеров разнообразна. Raspberry Pi разработан в Великобритании, FXI — компания норвежская. Теперь мы виртуально перемещаемся в Израиль (так и до Китая доберемся — я обещаю), чтобы познакомиться с мини-ПК CuBox.

CuBox — это еще один одноплатный компьютер небольшого размера (2 × 2 × 2 дюйма) и массой всего 91 грамм.

Железо

Официально можно приобрести данный компьютер или с Ubuntu Desktop 10.04 (но можно установить любой дистрибутив Linux с ядром 2.6.x) и Android 2.2.x (поддерживаются и более поздние версии). Обе системы установлены на SD-карту, и при загрузке можно выбрать одну из них. Размер SD-карты, с которой поставляется компьютер, — всего 2 Гб, но никто не мешает установить карту побольше, предварительно проинсталлировав туда Ubuntu с Android (их можно взять с оригинальной флешки).

CuBox: проблемы с DBUS на предустановленной Ubuntu

На CuBox кроме Android установлена Ubuntu 10.04 LTS. Все бы хорошо, но Ubuntu без глюков не бывает. CuBox — не исключение. Главный глюк Ubuntu, установленной на CuBox, — это некорректно работающий DBUS. Проявляется это в отсутствии звука по HDMI, неработающем автоматическом монтировании носителей, неработающем NetworkManager и ошибке «asoc: CS42L51 <-> mv88fx-i2s1 No matching rates». На твоем CuBox может быть один какой-то симптом, а могут быть и все сразу. Проблема решается переустановкой DBUS:

На самом деле нетрадиционное использование мини-компьютеров — от применения в автомобиле до автоматического управления котом — богатая тема. Думаю, об этом мы еще напишем.

FXI Cotton Candy

fxi1

Железо и размеры

Внешне FXI Cotton Candy (разработчик — компания FXI Technologies) напоминает крупную флешку с выходом HDMI.

На борту Cotton Candy — двухъядерный процессор Samsung Exynos 4210 с частотой 1,2 ГГц (архитектура ARM), 1 Гб оперативной памяти и графический чип Mali-400 MP. В качестве запоминающего устройства можно использовать microSD-карты (поддерживаются объемы до 64 Гб).

Если на борту у модели «B» — только Ethernet-порт, то Cotton Candy поддерживает Wi-Fi 802.11b/g/n и Bluetooth 2.1.

Cotton Candy работает под управлением Android 4.0 Ice Cream Sandwich, но теоретически можно установить любую систему, поддерживающую архитектуру ARM, например тот же Linux.

PandaBoard

Цена: 182$ goo.gl/8fWYF

8

PandaBoard — еще один одноплатный компьютер, с которым мы сегодня познакомимся. Производитель — Texas Instruments (США). Компьютеры, о которых я уже рассказал, обычно поставляются в пластиковом корпусе, то есть сразу «пригодны для употребления». PandaBoard поставляется в виде платы, но при желании можно отдельно заказать и пластиковый корпус. Вообще, PandaBoard позиционируется не как мини-ПК, а как плата для разработчиков мобильных устройств — такой себе конструктор типа «собери сам».

Железо

Плата PandaBoard поставляется с процессором TI OMAP 4460 (для PandaBoard ES, на PandaBoard установлен процессор 4430) с двумя ядрами ARM Cortex-A9. Процессор работает на частоте 1,2 ГГц, объем оперативки — 1 Гб, а на борту имеется полноразмерный слот для SD-карт.

Обработкой видео занимается встроенный процессор PowerVR SGX540. Чип поддерживает OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1 и EGL 1.3.

Что еще интересного есть на плате? На рисунке продемонстрирован весь состав платы. Так, на ее борту есть модуль WiLinkTM 6.0, который отвечает за поддержку Wi-Fi (802.11 b/g/n) и Bluetooth, контроллер Ethernet 10/100, контроллер RTC (часы реального времени), интерфейсы HDMI и DVI-D, порты USB 2.0, а также аудиоразъем. При этом масса платы составляет всего 82 грамма, а размеры — 114,3 × 101,6 мм.

Изюминкой платы является последовательный порт RS-232 (дома ему уже не место, а вот на производстве пригодится, так что на базе этой платы можно строить не только мини-ПК для дома, но и индустриальные ПК) и слот для плат расширений. Чтобы увеличить функциональность платы, можно приобрести набор BeadaFrame 7" LCD (BeadaFrame 7" LCD display kit), который включает в себя сенсорный TFT-экран размером 7 дюймов и разрешением 800 × 480, пластиковый корпус, средство для хранения реального времени (RTC time keeper) и устройство контроля подсветки экрана.

Плата поставляется без какого-либо программного обеспечения, но «оживить» ее может любой дистрибутив Linux или же Android.

Как установить Ubuntu на PandaBoard

Я уже говорил, что на PandaBoard можно установить любой дистрибутив Linux или Android. Сейчас разберемся, как это сделать на примере Ubuntu. Сразу оговорюсь. PandaBoard — это платформа OMAP4, поэтому нам нужен не любой дистрибутив Linux, а «любой с поддержкой OMAP4». Например, Ubuntu. Нам понадобится компьютер под управлением Linux (дистрибутив значения не имеет), доступ к инету и SD-карта. Первым делом получаем образ Ubuntu с поддержкой OMAP4:

Теперь этот образ нужно поместить на SD-карту. Вставь SD-карту, сейчас нужно выяснить ее имя устройства:

В ответ получишь что-то вроде:

Отсюда ясно, что SD-карта — это /dev/sdb2. Размонтируем ее:

Запишем образ на SD-карту:

Далее вставляем карточку в PandaBoard и подключаем ее к COM-порту своего компа. Если такого порта нет, тогда понадобится кабель USB2COM (USB to Serial). Включаем PandaBoard и запускаем терминал (на твоем компе):

По умолчанию minicom использует устройство /dev/ttyUSB0, обычно так называется первое устройство USB2COM. Узнать, к какому именно устройству подключена PandaBoard, можно командой $ dmesg | grep tty.

Осталось только следовать инструкциям, появляющимся на экране терминала, — через некоторое время Ubuntu будет установлена.

После установки Ubuntu нужно установить дополнительные плагины. Опять подключись к консоли PandaBoard и отредактируй файл /etc/apt/sources.list

Нужно раскомментировать строки, отвечающие за подключение репозиториев Universe и Multiverse. После этого нужно ввести команды:

После этого перезагружаем PandaBoard:

Trim-Slice

10

Trim-Slice — безвентиляторный неттоп небольших размеров, разработанный израильской компанией CompuLab. Это самый большой из всех мини-компов. На фоне тех же нетбуков это устройство довольно маленькое — посмотри фото Trim-Slice на фоне ключей от автомобиля. Размер небольшой (9,5 × 13 × 1,5 см), но все же больше, чем у конкурентов.

Железо

Это первый коммерческий неттоп на базе процессоров NVIDIA Tegra 2. Это двухъядерные ARM-процессоры частотой 1 и 1,2 ГГц.

На борту Trim-Slice находятся: SSD SATA 32 Гб (да-да, SSD-накопитель), SD-слот для чтения SD-карт и расширения дискового пространства, 1 Гб DDR2-800, разъемы HDMI и DVI, звуковая плата 5.1, 4 USB-порта версии 2.0, Ethernet-порт 10/100/1000, Wi-Fi 80.211n, RS-232.

Без сомнения, данный неттоп самый универсальный (больше USB-портов, RS-232, Wi-Fi и быстрый Ethernet-порт), самый быстрый (благодаря использованию SSD-накопителя вместо SD-карт и быстрой оперативки), но и самый большой. Размеры этого компа таки превышают USB-брелок.

По сути, Trim-Slice — это полноценный компьютер, только без вентилятора и маленького размера. И поэтому он работает под управлением полноценного дистрибутива Ubuntu.

мини-компы построены на базе ARM-процессоров, и производительности у них не больше, чем у современных смартфонов. поэтому на мини-ПК устанавливается Android или легкие дистрибутивы Linux.

AllWinner A10 и ZERO Devices Z802

Цена: 74$ Китайские онлайн-магазины

11

Железо

Компьютер AllWinner A10 быстрее, чем Raspberry Pi: он основан на одноядерном процессоре ARM Cortex-A8 с частотой 1,5 ГГц. На борту — 512 Мб оперативки, графический чип Mali-400, HDMI-выход, порты USB и microUSB, слот для чтения SD-карт (поддерживаются SD карты до 32 Гб), модуль Wi-Fi 802.11 b/g.

Производительности AllWinner вполне достаточно, чтобы воспроизводить видео с разрешением Full HD. А большего от него и не требуется.

Китайский мини-компьютер работает под управлением ОС Android Ice Cream Sandwich. Можно установить и любую другую ARM-совместимую систему, например Linux.

Другие китайские устройства

Среди китайских устройств можно выделить три самых достойных:

  • Amlogic AML8726 — архитектура ARM Cortex A9 (65 нм), частота 800 МГц, кеш L2 128 Кб, графический чип Mali-400 GPU с частотой 250 MГц, поддержка декодирования видео 1080P.
  • Rockchip RK2918 — архитектура ARM Cortex A8 (55 нм), максимальная частота 1,2 ГГц, но пока устройства работают на частоте 1 ГГц, кеш L2 512 Кб, графический чип GC800 GPU на частоте 600 MГц, поддержка декодирования видео 1080P.
  • Allwinner A10 — архитектура ARM Cortex A8 (55 нм), максимальная частота 1,5 ГГц (пока устройства работают на частоте

Аутсайдер — Amlogic, несмотря на продвинутое ядро Cortex A9. Причина в урезанной частоте (всего 800 МГц) и скромном кеше.

Вы что-то слышали о миниатюрных компьютерах, помещающихся на ладони, и о том, что с их помощью можно создавать удивительные вещи. Вы загорелись желанием попробовать свои силы на данном поприще, и в вашей голове уже начал оформляться абсолютно безумный проект. Но с чего же начать? И какой микрокомпьютер выбрать новичку, никогда не имевшему дела с подобными девайсами? Сегодняшний материал поможет вам во всем разобраться

Одноплатные компьютеры в вопросах и ответах

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

Одноплатный компьютер, или SBC (Single-Board Computer), — миниатюрное электронно-вычислительное устройство, все компоненты которого собраны на единственной печатной плате. Для работы такого девайса не требуется подключения дополнительных контроллеров — он является полностью самодостаточным. При этом габариты одноплатного компьютера не намного больше размеров банковской карты.

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

  • Я не инженер и не программист. Микрокомпьютеры не для меня?

Вовсе нет. Начнем с того, что на просторах сети вы без труда отыщете множество готовых программ и даже специализированных дистрибутивов операционных систем для SBC, «заточенных» под те или иные задачи. Конечно, вам придется разобраться с тем, как работает нужный софт, и научиться его настраивать, но уметь программировать вовсе не обязательно.

Что касается подключения дополнительных модулей, то для этих целей на плате распаяны стандартные порты, а также универсальный интерфейс GPIO (General-Purpose Input/Output — интерфейс ввода/вывода общего назначения), который может быть легко сконфигурирован под любые задачи и используется для подсоединения к микрокомпьютеру датчиков освещенности, температуры, звука, LED-индикаторов и даже более сложных компонентов вроде 3G/4G-модемов. Если же вам понадобится какой-либо специфический порт, вы всегда можете приобрести нужную плату расширения.

Плата расширения для Raspberry Pi с последовательным портом RS232 Плата расширения для Raspberry Pi с последовательным портом RS232

Сама по себе сборка функциональной системы оказывается не сложнее работы с детским конструктором, не требует пайки и других сложных манипуляций. Помимо этого, вы можете найти в продаже множество вспомогательных деталей (корпусов, радиаторов, кулеров, антенн и т. д.) для микрокомпьютеров, так что вам не придется осваивать 3D-печать или мучиться в тщетных попытках приладить к SBC несовместимые компоненты.

Летом 2017 года на тематическом портале Linux Gizmos вышел подробный обзор 98 микрокомпьютеров. С тех пор минуло уже три года. За это время интерес к SBC со стороны энтузиастов лишь возрос, как многократно возросло и количество представленных на рынке устройств: поскольку подобные девайсы сравнительно дешевы в производстве, их выпуском стали заниматься буквально все кому не лень, начиная от крупных корпораций вроде Asus и заканчивая никому не известными стартапами.

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

Зачастую, стремясь сэкономить, новички приобретают noname-устройства и оказываются у разбитого корыта по той простой причине, что не могут найти ни стабильно работающей ОС под них, ни нужных драйверов, ни гайдов в интернете. В аналогичную ситуацию можно попасть и при покупке брендового, но малопопулярного микрокомпьютера: каким бы качественным ни был приобретенный вами девайс, если вокруг него так и не сложилось крепкое комьюнити, для начинающего разработчика он будет абсолютно бесполезен.

Именно по этой причине мы настоятельно рекомендуем отдавать предпочтение проверенным временем SBC и пускаться в эксперименты с необычными новинками, лишь набравшись опыта. И лучшим микрокомпьютером для новичков на сегодняшний день однозначно является Raspberry Pi.

Raspberry Pi — идеальный одноплатный компьютер для начинающих

Raspberry Pi, или, как его любовно называют фанаты, «малинка», по праву считается эталоном одноплатных компьютеров и практически идеальным выбором для тех, кто лишь начал приобщаться к удивительному миру SBC. Его появлением мы с вами обязаны программисту Дэвиду Брэбену, автору легендарного космического симулятора Elite. В мае 2011 года он представил первый концепт микрокомпьютера за $35, изначально предназначавшегося для обучения программированию в школах и вузах. Однако девайс, полноценный релиз которого состоялся спустя всего год, оказался настолько удачным, что снискал невероятную популярность в кругу программистов и конструкторов-энтузиастов по всему миру, выйдя далеко за рамки учебных проектов.

За время существования Raspberry Pi было выпущено 12 модификаций одноплатных компьютеров. И это первый довод за покупку «малинки»: устройства предыдущих поколений до сих пор можно найти в продаже по весьма привлекательным ценам, а их возможностей оказывается более чем достаточно для первых экспериментов с SBC, а также для проектов, нетребовательных к вычислительным мощностям. Наиболее же актуальной на сегодняшний день моделью является Raspberry Pi 4 Model B.

Основой этого малыша является SoC Broadcom BCM2711, включающий в себя 4 вычислительных ядра Cortex-A72 (ARM V8), работающих на частоте 1,5 ГГц, и графический процессор GPU VideoCore VI, частота которого составляет 500 МГц. Девайс доступен в трех модификациях, отличающихся объемом оперативной памяти (2, 4 и 8 ГБ) по рекомендуемой цене 35, 55 и 75 долларов США соответственно. В России цены на 4-гигабайтную модель стартуют в среднем от 6,5 тысячи рублей.

На плате распаяны 40 пинов GPIO, 4 порта USB (2 × USB 2.0 и 2 × USB 3.0), 4-контактный мини-джек 3,5 мм, пара комбинированных цифровых аудио/видеовыходов micro HDMI 2.0, последовательные интерфейсы для подключения камеры (MIPI CSI) и LCD-экрана (MIPI DSI), а также один слот для карт памяти microSD (собственного накопителя данных Raspberry Pi 4B не имеет). Для соединения с локальной сетью и интернетом предусмотрен гигабитный Ethernet-порт. Также микрокомпьютер поддерживает беспроводное подключение по стандартам Wi-Fi 802.11 b/g/n/ac и оснащен Bluetooth 5.0 с BLE. Такое обилие интерфейсов существенно упрощает работу с Raspberry Pi, делая устройство куда более универсальным по сравнению с множеством собратьев, что весьма важно, особенно для новичков. Это второй аргумент за покупку «малинки».

Что касается операционных систем, с которыми совместим Raspberry Pi, то их количество действительно впечатляет. Помимо фирменной Raspberry Pi OS, вы можете установить на микрокомпьютер готовый медиацентр OSMC на базе Kodi, RISC OS от Acorn Computers для процессоров на ARM-архитектуре, Windows 10 IoT (специальная версия Windows для проектов в сфере Интернета вещей), различные сборки Ubuntu (Lubuntu, Xubuntu, Kubuntu, Ubuntu Server), OpenWrt (ОС для создания продвинутых маршрутизаторов), систему управления NAS на основе Debian OpenMediaVault, о которой мы уже писали ранее , сборник эмуляторов игровых консолей прошлых поколений RetroPie, неофициальные сборки Android и множество других. Такое многообразие существенно упрощает разработку: вы без особого труда найдете подходящее решение под любую задачу.

За 9-летнюю историю вокруг Raspberry Pi сформировалось мощное сообщество, и это еще один весомый аргумент в пользу покупки данного SBC. На YouTube и тематических порталах вы найдете множество готовых проектов с перечнем всех необходимых комплектующих, ПО и описанием его настройки, каждый из которых послужит для вас отличным учебным пособием.

Еще одно весьма важное преимущество данного микрокомпьютера заключается в том, что производство Raspberry Pi ведется как на фабрике в Уэльсе (Великобритания), так и в Шэньчжэне (Китай). Таким образом, вы можете заказать оригинальный SBC не только на официальном сайте компании или в локальных компьютерных магазинах, но и на «народном» маркетплейсе AliExpress, при этом существенно дешевле. Для сравнения: если в России за флагманскую модификацию вам придется отдать около 9 тысяч рублей, то в Китае — всего 7 тысяч, а на сэкономленные деньги вы сможете приобрести вполне добротный набор «сделай сам», в который уже будут входить корпус, радиаторы для микрочипов, кулер, адаптер питания и сенсорный экран.

Выбираем карту памяти для одноплатного компьютера

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

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

Одноплатный компьютер используется в качестве NAS, мультимедийного сервера, торрент-сервера для скачивания и раздачи в режиме 24/7, персонального облака или выполняет функции DVR для домашней системы видеонаблюдения. В этом случае карта памяти будет испытывать огромные нагрузки, ведь данные на ней будут постоянно перезаписываться, а процессы чтения/записи зачастую идти параллельно, причем в несколько потоков. В такой ситуации лучшим выбором станет производительная microSD-карточка класса U1 или выше , способная работать в многопоточном режиме и обладающая расширенным ресурсом перезаписи.

Если вы хотите использовать одноплатный компьютер как основу для создания ретроконсоли, веб-сервера для тестирования сайтов и приложений или же в качестве мозга системы «умный дом», то вам, напротив, необходимо приобрести карту памяти, отличающуюся высокими устойчивыми показателями IOPS (количество операций ввода-вывода в секунду). В перечисленных сценариях нагрузка на карту сравнительно невысока, а данные перезаписываются достаточно редко: вы один раз загружаете необходимое программное обеспечение, а в дальнейшем происходит лишь считывание исполняемых файлов и необходимых библиотек. Изменениям же подвержены в основном файлы настроек и логи, которые по сравнению с мультимедийным контентом практически ничего не весят.

В первом случае наиболее оптимальным выбором станут карты памяти серии WD Purple QD101. Изначально созданные для цифровых камер видеонаблюдения, автомобильных и персональных видеорегистраторов, они превосходно подойдут для сценариев, предполагающих интенсивную перезапись информации.

Данная линейка microSD-карт включает в себя 6 моделей емкостью от 32 ГБ до 1 ТБ, так что вы сможете без труда подобрать наиболее оптимальный вариант в зависимости от поставленных задач. Каждая карта памяти соответствует скоростному классу U1 (V10), поддерживает работу в многопоточном режиме, а ее максимальная производительность достигает 80 МБ/с в операциях чтения и 50 МБ/с при записи данных.

Карты памяти WD Purple созданы на базе 96-слойной флеш-памяти 3D NAND BiCS четвертого поколения и могут похвастаться гарантированным рабочим ресурсом в 1000 циклов программирования/стирания. На практике это означает, что даже 32-гигабайтные модели выдерживают не менее 16 терабайт перезаписи, тогда как флагманская карточка на 1 ТБ обладает коэффициентом TBW уже в 512 терабайт. Столь высокая выносливость делает microSD-карты пурпурной серии практически идеальным решением для использования в составе систем видеонаблюдения, DLNA-серверов и в других аналогичных ситуациях.

Когда же на первый план выходит уровень производительности при работе с приложениями, следует отдавать предпочтение картам памяти класса A2. Изначально такие microSD-карточки создавались для смартфонов и планшетов на базе операционной системы Android, поддерживающих расширение системной памяти за счет съемных накопителей, поэтому при их разработке особое внимание уделялось такому показателю, как минимальное устойчивое количество операций ввода-вывода в секунду. Карты памяти класса A2 обладают гарантированной производительностью 4000 IOPS в операциях случайного чтения и 2000 IOPS — при записи файлов. Это означает, что даже в самых неблагоприятных условиях при максимальной нагрузке количество операций ввода-вывода в секунду не упадет ниже указанных значений. И именно такими показателями характеризуются SanDisk Extreme PRO.

Модельный ряд включает в себя 7 карт памяти на 32, 64, 128, 256, 400 и 512 ГБ, а также терабайтный флагман. Карточки серии отличаются рекордным быстродействием: вплоть до 170 МБ/с в операциях последовательного чтения и до 90 МБ/с при записи. Наряду с высокими показателями устойчивого IOPS, это существенно расширяет сферу их применения: SanDisk Extreme Pro могут с равным успехом использоваться в качестве системных накопителей в микрокомпьютерах, для расширения встроенной памяти мобильных девайсов, для профессиональной фотосъемки или записи видео в разрешении 4K UHD.

Что немаловажно, SanDisk Extreme Pro поддерживают работу с компактными карт-ридерами MobileMate с интерфейсом USB 3.0. Это позволяет не только без проблем переносить файлы между различными устройствами, но и подключать к одноплатному компьютеру дополнительные microSD-карты, используя свободные USB-порты.

Среди особенностей карт памяти WD Purple и SanDisk необходимо выделить устойчивость к воздействию негативных факторов внешней среды. Они способны исправно функционировать при экстремально низких (до -25 ºC) и экстремально высоких (до +85 ºC) температурах, выдерживают погружение в соленую или пресную воду на глубину до 1 метра и падение на бетонный пол с высоты до 5 метров, хорошо защищены от воздействия рентгеновского излучения и статических магнитных полей с силой индукции до 5000 Гс (в частности, это означает, что вы можете свободно проносить такие карточки через терминалы досмотра в аэропортах или через металлоискатели). Таким образом, вы можете быть на 100% уверены в сохранности данных даже в том случае, когда ваш проект предполагает наружный монтаж одноплатного компьютера (например, такая потребность может возникнуть при создании системы безопасности загородного дома).

Память микроконтроллеров

Можно выделить три основных вида памяти, используемой в микроконтрол­лерах:

● память программ, которая представляет собой постоянную память, пред­назначенную для хранения программного кода и констант. Эта память не из­меняет своего содержимого в процессе выполнения программы;

● память данных, предназначенная для хранения переменных (результатов) в ходе выполнения программы;

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

Память программ.

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

Все типы памяти программ относятся к энергонезависимой памяти, или постоянной памяти (ПЗУ), содержимое которой сохраняется после выключения питания микроконтроллера.

В процессе выполне­ния программа считывается из этой памяти, а блок управления (дешифратор команд) обеспечивает ее декодирование и выполнение необходимых операций. Содержимое памяти программ не может меняться (перепрограммироваться) во время выполнения программы. Поэтому функциональное назначение микроконт­роллера не может измениться, пока содержимое его памяти программ не будет стерто (если это возможно) и перепрограммировано (заполнено новыми коман­дами).

Следует обратить внимание, что разрядность микроконтроллера (8, 16 или 32 бит) указывается в соответствии с разрядностью его шины данных.

Когда го­ворится, что устройство является 8–разрядным, это означает разрядность дан­ных, которые способен обрабатывать микроконтроллер.

В Гарвардской архитектуре команды могут иметь большую разрядность, чем данные, чтобы дать возможность считывать за один такт целую команду. Напри­мер, микроконтроллеры PIC в зависимости от модели используют команды с раз­рядностью 12, 14 или 16 бит. В микроконтроллерах AVR команда всегда имеет разрядность 16 бит. Однако все эти микроконтроллеры имеют шину данных раз­рядностью 8 бит.

В устройствах с Принстонской архитектурой разрядность данных обычно оп­ределяет разрядность (число линий) используемой шины. В микроконтроллерах Motorola 68НС05 24–разрядная команда размешается в трех 8–разрядных ячейках памяти программ. Для полной выборки такой команды необходимо произвести три цикла считывания этой памяти.

Выделим и рассмотрим пять типов энергонезависимой резидентной памяти, или постоянных запоминающих устройств (ПЗУ), используемых для хранения про­грамм.

Масочная память.

Масочные ПЗУ (Mask–ROMили просто ROM) изготавли­ваются на этапе производства микроконтроллеров для полностью отлаженной программы. На стеклянном фотошаблоне при использовании программы созда­ется рисунок маски. Полученный фотошаблон с маской используется для форми­рования соединений между элементами, из которых состоит память программ.

Первые масочные ПЗУ появились в начале 1960–х годов и находят применение до настоящего времени благодаря таким достоинствам как низкая стоимость при массовом производстве изделий и высокая надежность хранения программ.

Недостатки масочных ПЗУ — любое изменение прикладной программы связано со значительными затратами средств и времени на создание нового комплекта фотошаблонов и их внедрение в производство.

Однократно программируемая память.

Эта память (One–Time Program­ mable ROM — OTPROM ) программируется пользователем и в исходном состоянии содержит ячейки с единичными битами. Программированию подлежат только те ячейки памяти, содержимое которых должно принять значение 0. Для этого на ячейку памяти подают последовательность импульсов повышенного напряжения.

Уровень напряжения, число импульсов и их временные параметры должны строго соответствовать техническим условиям. После записи нуля восстановить единич­ное значение невозможно. По этой причине память получила название однократ­но программируемых ПЗУ. Однако следует указать на возможность допрограммирования (не тронутых) ячеек с единичными битами.

Микроконтроллеры с одно­кратно программируемым ПЗУ используются в изделиях, выпускаемых небольши­ми партиями.

Репрограммируемая память с ультрафиолетовым стиранием.

Ячейка памяти с ультрафиолетовым стиранием (Erasable Programmable ROM — EPROM) представляет собой ЛИПЗМОП (лавинно–инжекционный с плавающим затвором) транзистор. В исходном состоянии (до записи) при обращении к ячей­ке считывается логическая единица. Программирование памяти сводится к запи­си в соответствующие ячейки логических нулей. Память ЕР ROM допускают много­кратное программирование, технология которого подобна технологии однократно программируемых ПЗУ.

Перед каждым сеансом программирования выполняется операция стирания для восстановления исходного состояния ячеек памяти. Для этого в корпусе мик­роконтроллера предусмотрено специальное окно, которое облучается ультрафио­летовыми лучами. Число сеансов стирания/программирования ПЗУ составляет 25–100 раз при соблюдении технологии программирования (заданные значения питающих напряжений, число и длительность импульсов) и технологии стирания (волновой диапазон источника ультрафиолетового излучения).

Микроконтролле­ры с памятью EPROM из–за высокой стоимости применяются в опытных образцах разрабатываемых приложений.

Для уменьшения цены микросхемы EPROM заклю­чают в корпус без окошка (версия EPROM с однократным программированием). Благодаря снижению стоимости версии EPROM часто используются вместо масочно–программируемых ROM.

Репрограммируемая память с электрическим стиранием.

В ка­честве элемента памяти с электрическим стиранием (Electrically Erasable Pro ­grammable ROM — EEPROM или E2 PROM) используется транзистор со структурой МНОП (Металл, Нитрид кремния, Окисел кремния, Полупроводник), благодаря чему ПЗУ имеет сравнительно низкую стоимость (по отношению к EPROM) и до­пускает максимальное число циклов стирания/программирования 10 4 –10 6 . Кроме того, технология программирования памяти EEPROM позволяет реализовать побайтное стирание и побайтное программирование, не снимая контроллер с платы, что позволяет периодически обновлять его программное обеспечение.

Несмотря на указанные достоинства, этот тип памяти не получил широкого распространения для хранения программ по двум причинам:

● ПЗУ типа EEPROM имеют ограниченную емкость;

● появились ПЗУ типа FLASH , которые имеют близкие пользовательские харак­теристики, но более низкую стоимость.

Память типа FLASH.

Электрически программируемая и электрически сти­раемая память типа FLASH (FLASH ROM) создавалась как альтернатива между де­шевыми однократно программируемыми ПЗУ большой емкости и дорогими EEPROM ПЗУ малой емкости. Память FLASH (как и EEPROM) сохранила возмож­ность многократного стирания и программирования.

Из схемы ПЗУ изъят тран­зистор адресации каждой ячейки, что, с одной стороны, лишило возможности программировать каждый бит памяти отдельно, с другой стороны, позволило уве­личить объем памяти. Поэтому память типа FLASH стирается и программируется страницами или блоками.

Таким образом, функционально FLASH –память мало отличается от EEPROM. Основное отличие состоит в способе стирания записанной информации: если в EEPROM–памяти стирание производится отдельно для каждой ячейки, то во FLASH –памяти — целыми блоками. В микроконтроллерах с памятью EEPROM при­ходится изменять отдельные участки программы без необходимости перепро­граммирования всего устройство.

В настоящее время МК с FLASH начинают вытеснять МК с однократно про­граммируемым (и даже масочным) ПЗУ.

Программирование ПЗУ.

Отметим, что Mask ROM –память программируется только в заводских условиях при изготовлении МК. Память типа OTPROM и EPROM предоставляет разработчику возможности программирования с исполь­зованием программатора и источника повышенного напряжения, которые под­ключаются к соответствующим выводам МК.

Память EEPROM и FLASH относится к многократно программируемой, или репрограммируемой, памяти. Необходимое для стирания/программирования по­вышенное напряжение питания создается в модулях EEPROM и FLASH –памяти со­временных контроллеров с помощью встроенных схем усиления напряжения, на­зываемых генераторами накачки. Благодаря реализации программного управления включением и отключением генератора накачки появилась принципиальная возможность осуществить программирование или стирание ячеек памяти FLASH и EEPROM в составе разрабатываемой системы. Такая технология программиро­вания получила название программирования в системе (In System Programming — ISP).

Она не требует специального оборудования (программаторов), благодаря чему сокращаются расходы на программирование. Микроконтроллеры с ISP–па­мятью могут быть запрограммированы после их установки на плату конечного из­делия.

Рассмотрим, как реализуется (и используется) возможность программирова­ния EEPROM–памяти под управлением прикладной программы. Если программу с алгоритмом программирования хранить в отдельном модуле памяти с номи­нальным питающим напряжением, а EEPROM–память снабдить генераторами накачки, то можно произвести ISP–программирование EEPROM –памяти. Данное обстоятельство делает EEPROM –память идеальным энергонезависимым запоми­нающим устройством для хранения изменяемых в процессе эксплуатации изде­лия настроек пользователя. В качестве примера можно привести современный телевизор, настройки каналов которого сохраняются при отключении питания.

Поэтому одной из тенденций совершенствования резидентной памяти 8–раз­рядных МК стала интеграция на кристалл МК двух модулей энергонезависимой памяти: FLASH (или OTP ) — для хранения программ и EEPROM — для хранения перепрограммируемых констант.

Рассмотрим технологию (ре)программирования FLASH –памяти с встроенным генератором накачки под управлением прикладной программы. Прежде всего, отметим два обстоятельства:

● если для хранения перепрограммируемых констант в МК встроена память EEPROM, то попрограммирование нескольких бит FLASH –памяти при эксплуа­тации готового изделия не имеет смысла. При необходимости лучше сразу использовать режим репрограммирования;

● не следует программу программирования FLASH –памяти хранить в самой FLASH –памяти, так как переход в режим программирования приведет к невоз­можности дальнейшего ее считывания. Программа программирования долж­на располагаться в другом модуле памяти.

Для реализации технологии программирования в системе выбирается один из оследовательных портов МК, обслуживание которого осуществляет специальная программа монитора связи, расположенная в резидентном масочном ПЗУ МК. Через последовательный порт персональный компьютер загружает в ОЗУ МК про­грамму программирования и прикладную программу, которая затем заносится в память FLASH. Так как резидентное ОЗУ МК имеет незначительный объем, то прикладная программа загружается отдельными блоками (порциями). Если в МК установлен модуль масочной памяти с программой программирования, в ОЗУ загружается только прикладная программа.

Микроконтроллеры, реализующие технологию программирования в системе, часто имеют в своем составе четыре типа памяти:

FLASH –память программ, Mask ROM –память монитора связи, EEPROM –память для хранения изменяемых кон­стант и ОЗУ промежуточных данных.

Технология программирования в системе в настоящее время все шире ис­пользуется для занесения прикладных программ в микроконтроллеры, располо­женные на плате конечного изделия. Ее достоинство — отсутствие программато­ра и высокая надежность программирования, обусловленная стабильностью за­данных внутренних режимов МК.

В качестве примера приведем показатели резидентной FLASH –памяти МК се­мейства НС08 фирмы Motorola:

● гарантированное число циклов стирания/программирования — 10 5 ;

● гарантированное время хранения записанной информации — 10 лет, что практически составляет жизненный цикл изделия; модули FLASH –памяти работают и программируются при напряжении питания МК от 1,8 до 2,7 В;

● эквивалентное время программирования 1 байта памяти — 60 мкс.

Память данных.

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

Уровень напряжения хранения имеет значение порядка одно­го вольта, что позволяет для сохранения данных при необходимости перевести МК на питание от автономного источника (батарейки или аккумулятора). Некото­рые МК (например, DS5000 фирмы Dallas Semiconductor) имеют в корпусе авто­номный источник питания, гарантирующий сохранение данных в ОЗУ на протяжении 10 лет.

Характерной особенностью микроконтроллеров является сравнительной не­большой объем (сотни байт) оперативной памяти (ОЗУ), используемой для хране­ния переменных. Это можно объяснить несколькими факторами:

● стремлением к упрощению аппаратных средств МК;

● использованием при написании программ некоторых правил, направленных на сокращение объема памяти ОЗУ (например, константы не хранятся как переменные);

● распределением ресурсов памяти таким образом, чтобы вместо размещения данных в ОЗУ максимально использовать аппаратные средства (таймеры, ин­дексные регистры и др.);

● ориентацией прикладных программы на работу без использования больших массивов данных.

Особенности стека.

В микроконтроллерах для организации вызова под­программ и обработки прерываний выделяется часть памяти ОЗУ, именуемая стеком. При этих операциях содержимое программного счетчика и основных ре­гистров (аккумулятора, регистра состояния, индексных и других регистров) со­храняется, а при возврате к основной программе восстанавливается. Напомним, что стек работает по принципу: последний пришел — первый ушел (Last In , First Out—LIFO).

В Принстонской архитектуре ОЗУ используется для реализации многих аппа­ратных функций, включая функции стека. В адресном пространстве памяти выде­лены отдельные области для команд, регистров общего назначения, регистров специальных функций и др. Это снижает производительность контроллера, так как обращения к различным областям памяти не могут выполняться одновремен­но.

Микропроцессоры с Гарвардской архитектурой могут параллельно (одновре­менно) адресовать память программ, память данных (включающую пространство ввода–вывода) и стек.

Например, при активизации команды вызова подпрограм­мы CALL выполняется несколько действий одновременно.

В Принстонской архитектуре при выполнении команды CALL следующая ко­манда выбирается только после того, как в стек будет помещено содержимое программного счетчика.

Из–за небольшой емкости ОЗУ в микроконтроллерах обеих архитектур могут возникнуть проблемы при выполнении программы:

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

● если микропроцессор использует общую область памяти для размещения данных и стека, то при переполнении стека произойдет затирание данных. Рассмотрим особенности сохранения в стеке содержимого регистров, обус­ловленные отсутствием команд загрузки в стек (PUSH) и извлечения из стека (POP). В таких микроконтроллерах вместо команды PUSH и POP используются две команды и индексный регистр, который явно указывает на область стека. После­довательность команд должна быть такой, чтобы прерывание между первой и второй командой не привело к потере данных. Ниже приведена имитация команд PUSH и POP с учетом указанного требования.

PUSH ; Загрузить данные в стек decrement index; Перейти к следующей ячейке стека move [ index], асе ; Сохранить содержимое аккумулятора в стеке POP ; Извлечь данные из стека move асе, [index]; Поместить значение стека в аккумулятор increment index ; Перейти к предыдущей ячейке стека

Если после первой команды программа будет прервана, то после выполнения обработки прерывания содержимое стека не будет потеряно.

Регистровая память.

Микроконтроллеры (как и компьютерные системы) име­ют множество регистров, которые используются для управления различными внутренними узлами и внешними устройствами. К ним относятся:

● регистры процессорного ядра (аккумулятор, регистры состояния, индексные регистры);

● регистры управления (регистры управления прерываниями, регистры управ­ления таймером);

● регистры ввода/вывода данных (регистры данных и регистры управления па­раллельным, последовательным или аналоговым вводом/выводом).

По способу размещения регистров в адресном пространстве можно выделить:

● микроконтроллеры, в которых все регистры и память данных располагаются в одном адресном пространстве, т. е. регистры совмещены с памятью дан­ных. В этом случае устройства ввода–вывода отображаются на память;

● микроконтроллеры, в которых устройства ввода/вывода отделены от общего адресного пространства памяти. Основное достоинство способа размещения регистров ввода–вывода в отдельном пространстве адресов — упрощается схема подключения памяти программ и данных к общей шине. Отдельное пространство ввода–вывода дает дополнительное преимущество процессо­рам с Гарвардской архитектурой, обеспечивая возможность считывать коман­ду во время обращения к регистру ввода–вывода.

Способы обращения к регистрам оказывают существенное влияние на их про­изводительность. В процессорах с RISC–архитектурой все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам, что обеспечивает более высокую гибкость при организации работы процессора.

О внешней памяти.

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

● подключение внешней памяти с использованием шинного интерфейса (как в микропроцессорных системах). Для такого подключения многие микроконт­роллеры имеют специальные аппаратные средства;

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

Читайте также: