Программирование ARM BeagleBone Black: системное руководство Wed, December 11 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


BeagleBone Black: системное руководство Печать
Добавил(а) microsin   

В этой статье приведен перевод наиболее интересных с моей точки зрения моментов руководства [1], посвященного плате разработчика BeagleBone Black (BBB).

Базовая информация, необходимая для быстрого старта, приведена в руководстве Quick Start Guide, доступном на сайте beagleboard.org. BBB может быть сконфигурирована несколькими способами, однако для простоты будут рассмотрены только два базовых сценария использования.

1. BBB подключена к хосту PC кабелем USB.

   - BBB доступна как USB-флешка (MSD).
   - К BBB можно подключиться через виртуальный сетевой адаптер (USB ECM) RNDIS Ethernet.

2. BBB используется как самостоятельная рабочая станция.

   - Подключен монитор.
   - Подключены клавиатура и мышь.
   - Питание осуществляется от внешнего источника DC 5V.

В этой конфигурации BBB плата получает питание через кабель USB, которым осуществлено соединение с хостом PC, друге кабели не требуются. Плата видна на хосте PC как флешка (USB storage drive) или как веб-сервер, к которому можно подключиться через браузер (используйте Firefox или Chrome, бразуер IEx не будет работать должным образом). Для подключения и подачи питания предназначен разъем P4, расположенный на обратной стороне платы BBB.

SRM miniUSB connector fig03

Рис. 3. Коннектор miniUSB P4.

Примечание: питания, поступающего от кабеля USB, в таком сценарии иногда недостаточно, необходимо также подключать внешний источник питания DC 5V.

SRM Power LED fig04

Рис. 4. Светодиод Power LED, сигнализирующий о включении питания.

Когда плата начинает свой процесс загрузки (по умолчанию прошита OS Debian) после подачи питания, светодиоды (LED) USER0, USER1, USER2, USER3 начнут зажигаться, как показано на рис. 5 ниже. Через несколько секунд все светодиоды на некоторое зажгутся, после чего начнется процесс загрузки ядра Linux Debian, и светодиоды начнут перемигиваться в случайном порядке.

SRM LED boot status fig05

Рис. 5. Board Boot Status.

Примерно через 10 секунд на компьютере появится USB флешка BBB, на котором находится файл START.htm, доступный для просмотра в браузере (одна из версий документа Getting Started).

В этой конфигурации плата работает как обычный компьютер.

Примечание: в графическом режиме, как обычный десктоп, платку BBB использовать практически невозможно. Да, все как бы работает, но слишком медленно. Браузер Chromium загружает процессор на 100%, ролики на YouTube просмотреть невозможно, все программы запускаются очень долго.

SRM BBB as desktop fig06

Рис. 6. Десктоп на основе BBB.

Для работы в качестве самостоятельной рабочей станции могут понадобиться дополнительные подключения и комплектующие:

- Кабель Ethernet - необходим для подключения к локальной сети и Интернет.
- Стабилизированный блок питания 5VDC 1A (подойдет зарядное устройство от смартфона соответствующей мощности).
- HDMI монитор или DVI-D монитор (замечание: только HDMI предоставляет функции audio).
- Кабель Micro HDMI - HDMI для монитора HDMI или адаптер Micro HDMI - DVI-D для монитора DVI-D.
- Беспроводные клавиатура и мышь.
- Опционально может понадобиться хаб USB, если необходимо подключить клавиатуру USB и мышь (или дополнительно другое устройство USB), потому что у платы BBB в наличии есть только один порт хоста USB (см. рис. 10).

SRM USB Host TypeA female connector fig10

Рис. 10. Коннектор хоста USB.

Примечание: имейте в виду, что порт хоста USB платы BBB может выдавать ток не более 500 мА, поэтому лучше всего использовать хаб с внешним источником питания.

Для подключения монитора используется коннектор и кабель microHDMI.

SRM microHDMI monitor connect fig14

Рис. 14. Подключение монитора через разъем microHDMI.

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

Загрузка системы. В процессе загрузки светодиоды USERx будут мигать (см. рис. 5 выше). Хотя пользователь может запрограммировать мигание светодиодов USERx по своему усмотрению, по умолчанию они показывают следующие состояния ядра Linux:

USER0 - heartbeat индикатор Linux kernel.
USER1 - зажигается, когда осуществляется доступ к карте microSD.
USER2 - индикатор активности. Зажигается, когда kernel не находится в цикле ожидания (idle loop). Яркость этого светодиода пропорциональна загрузке процессора.
USER3 - зажигается, когда осуществляется доступ к eMMC (память FLASH NAND 4GB), находящейся на плате.

Когда начнет загружаться Linux, на экране монитора может появиться курсор мыши. Чтобы он появился, попробуйте перемещать свою мышь. Система может перейти в режим приостановки (suspend mode) с портом HDMI в режиме сна (sleep mode).

Через минуту-две появится экран запроса логина и пароля, но ничего с этим делать не нужно. Затем через некоторое время появится рабочий стол, примерно так, как это показано на рис. 16.

SRM BBB Debian Desktop fig16

Рис. 16. Рабочий экран Debian Linux.

Выключение питания. Чтобы выключить питание, коротко нажмите на кнопку S3 POWER. После этого система автоматически выключит питание. Когда светодиод D1 PWR (рис. 4) погаснет, отключите джек питания DC 5V из коннектора P1.

[Обзор BeagleBone Black]

Плата BeagleBone Black (BBB) разработана на основе процессора Sitara AM3358BZCZ100, 1GHZ. Разработка отвечает принципам открытого ПО и hardware (Open Source Community), и поэтому особенно интересна для создания проектов на недорогих процессорах ARM Cortex-A8.

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

Ко многим интерфейсам можно получить доступ путем подключения дополнительных плат (capes). Пользователь может также самостоятельно разработать cape-плату и добавить в её схему необходимые компоненты (см. далее врезку "Поддержка cape-плат расширения").

[Совместимость и возможности BBB]

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

• Процессор Sitara AM3358BZCZ100, 1GHZ. Переход на этот процессор был сделано с целью повышения производительности.
• 512MB DDR3L. Применение этого типа памяти позволило снизить стоимость, повысить быстродействие, увеличить объем памяти и при этом снизить энергопотребление.
• Отсутствует последовательный порт по умолчанию. Это снизило стоимость и упростило плату. Вы можете использовать для подключения к последовательному порту недорогие переходнички USB - TTL UART.
• Отсутствует эмулятор JTAG через USB. Это снизило цену платы. При необходимости коннектор JTAG может быть легко смонтирован.
• Размер EEPROM уменьшен с 32KB до 4KB по соображениям уменьшения стоимости.
• Onboard Managed NAND (eMMC) 4GB. Снизилась цена, улучшилась производительность (разрядность x8 против x4). Повысилась производительность благодаря детерминированным свойствам памяти по сравнению с картой памяти microSD.
• В некоторых случаях шина GPMC может быть недоступна на разъемах расширения. Это результат установки eMMC на основной плате. Сигналы все еще разведены на коннектор расширения. Если eMMC не задействована и удерживается в состоянии сброса, то эти сигналы могут использоваться через разъем расширения.
• Доступно на 10 ножек GPIO меньше, чем раньше, из-за применения памяти eMMC. Если она не используется, то эти ножки GPIO могут задействованы.
• Удален дополнительный разъем расширения питания для батареи и подсветки. Это сделано для снижения цены и экономии пространства на плате. Добавлено 4 вывода для доступа к функции заряда батареи.
• На плате разведен интерфейс HDMI, доступный для подключения через коннектор Micro HDMI P6. Это добавило стандартную возможность вывода звука и видео.
• Отсутствует трехфункциональный кабель USB.
• На выводе GPIO3_21 должны присутствовать такты 24.576 МГц. Это необходимо для микросхемы HDMI Framer U11 и вывода звука. Понадобилось вводить такты в процессор, чтобы генерировать корректную частоту. Этот вывод был разведен на разъем расширения. Для сохранения совместимости сигнал был оставлен разведенным на этом разъеме. Чтобы использовать эту ножку как GPIO, необходимо запретить такты на GPIO3_21. Имейте в виду, что это отключит звук HDMI.

Таблица 2. Функции и возможности BeagleBone Black.

Функция Описание
Процессор Sitara AM3358BZCZ100 1GHz, 2000 MIPS
Графика SGX530 3D, 20M полигонов/сек
SDRAM 512MB DDR3L 800MHZ
Flash 4GB, 8bit Embedded MMC
Управление питанием Регулятор/менеджер питания TPS65217C PMIC и один дополнительный LDO.
Поддержка отладки Посадочное место для 20-выводного коннектора CTI JTAG, а также коннектор для вывода отладочных сообщений и консоли управления.
Источник питания От разъема miniUSB или от джека 5VDC.
Размеры печатной платы 3.4” x 2.1” (86.4 x 53.3 мм).
Индикаторы 1 Power LED, 2 Ethernet LED, 4 LED управляемых программно.
HS USB 2.0 Client Port Подключен к USB0 процессора, режим клиента через разъем miniUSB.
HS USB 2.0 Host Port Подключен к USB1, Type A Socket, 500 mA, LS/FS/HS.
Serial Port Подключен к UART0 процессора, уровни 3.3V TTL.
Ethernet 10/100 мегабит, автосогласование, RJ45
Слот карт памяти microSD, 3.3V.
Ввод пользователя Кнопки сброса, управления загрузкой и включения/выключения питания.
Видео 16b HDMI, режимы 1280x1024 (MAX), 1024x768, 1280x720, 1440x900, 1920x1080@24Hz с поддержкой EDID.
Звук Стерео, через интерфейс HDMI
Коннекторы расширения Питание 5V, 3.3V, VDD_ADC (1.8V), уровни 3.3V I/O на всех сигналах, McASP0, SPI1, I2C, GPIO (69 max), LCD, GPMC, MMC1, MMC2, 7 AIN (1.8V MAX), 4 таймера, 4 последовательных порта, CAN0, EHRPWM(0,2), XDMA Interrupt, Power button, Expansion Board ID (можно подключать до 4 cape-плат расширения).
Вес 39.68 грамм.
Энергопотребление См. врезку "Подробное описание аппаратуры BBB", таблица 4.

[Размещение компонентов на плате BBB]

Коннекторы, LED, кнопки. На рис. 17 показаны места установки разъемов, светодиодов LED, кнопок.

SRM connectors LEDs buttons fig17

Рис. 17. Коннекторы, LED, кнопки.

• DC Power - разъем джека для подачи основного питания 5V постоянного тока.
• Power Button - кнопка указывает процессору инициировать последовательность выключения, она используется для выключения платы.
• 10/100 Ethernet - соединение с локальной сетью (LAN).
• Serial Debug - последовательный порт для подключения консоли отладки.
• USB Client - разъем miniUSB для подключения к хосту PC. Через этот разъем также может подаваться питание на плату.
• BOOT switch - кнопка может использоваться для принудительной загрузки с карты microSD, если снять питание с платы и при удержании этой кнопки снова подать питание.

Примечание: текущая версии загрузчика U-Boot проверяет версию операционной системы Debian на установленной карте microSD. Если она более новая, чем записана на eMMC, то произойдет загрузка с карты microSD, даже если не нажата кнопка BOOT.

• USERx - 4 голубых светодиода (LED), которыми пользователь может управлять в своих программах.
• Reset Button - позволяет сбросить процессор.
• microSD - в этот слот может быть установлена карта microSD.
• microHDMI - сюда можно подключить монитор (с интерфейсом HDMI).
• USB Host - сюда можно подключать подчиненные устройства USB, такие как адаптеры Wi-Fi, BlueTooth, клавиатура, мышь и т. д.

SRM main components fig18

Рис. 18. Основные микросхемы BBB.

• Процессор Sitara AM3358BZCZ100.
• Память SDRAM Micron 512MB DDR3L или Kingston 512MB DDR3 (Dual Data Rate RAM).
• TPS65217C PMIC (Power Management IC, микросхема управления питанием) предоставляет несколько напряжений различным компонентам платы.
• SMSC Ethernet PHY, физический интерфейс локальной сети (LAN).
• Micron eMMC память FLASH, чип MMC объемом 4GB. На нем записан образ операционной системы.
• HDMI Framer U11 управляет дисплеем HDMI или DVI-D (последний через соответствующий адаптер).

512MB DDR3L. В качестве памяти используется одна микросхема организацией 256Mbx16 DDR3L 4Gb (512MB). Может быть установлена микросхема MT41K256M16HA-125 от Micron или D2516EC4BXGGB от Kingston.

Память работает на тактовой частоте 400 МГц, что на шине DDR3L соответствует эффективной тактовой частоте 800 МГц с полосой пропускания 1.6GB/S.

4KB EEPROM. Микросхема 4KB EEPROM, подключенная через I2C0, хранит настройки и информацию о ней. Здесь записана имя платы, серийный номер, номер ревизии. Эта информация не та же самая, какая была в оригинальной плате BeagleBone. Размер микросхемы был уменьшен с 32KB до 4KB по соображениям снижения стоимости. Микросхема снабжена выводом, определяющим возможность запрограммировать микросхему EEPROM. Если он не заземлен, то включается защита от записи.

4GB Embedded MMC. На плате установлена одна микросхема 4GB embedded MMC (eMMC), подключенная к порту MMC1 процессора, с возможностью 8-битного доступа. Режим загрузки по умолчанию использует MMC1, с опцией поменять на MMC0, слот карты microSD. Чтобы загрузиться с microSD, нужно установить карту в слот P10 microSD Card и передернуть питание (простое нажатие на кнопку сброса режим загрузки не поменяет). MMC0 не может использоваться в режиме 8 бит, потому что ножки младших разрядов используются для порта Ethernet. Это не влияет на работу карты SD, но делает неподходящим использование MMC0 в качестве порта eMMC, если необходим режим 8 бит.

MicroSD. На плате установлен коннектор microSD, который работает как вторичный источник для загрузки платы (secondary boot source). Если это выбрано, слот может использоваться как первичный источник загрузки (primary boot source). Карта памяти microSD вместе с платой не поставляется, её нужно покупать отдельно. Загрузка с MMC0 используется для прошивки eMMC на заводе, или эта возможность может быть задействована пользователем, если ему нужно выполнить обновление программного обеспечения системы.

Управление питанием. Микросхема TPS65217C обслуживает функции питания, и она используется совместно с отдельным стабилизатором LDO для организация питания системы. TPS65217C предоставляет правильные напряжения питания, необходимые для DDR3L. Та же самая микросхема используется в оригинальной плате BeagleBone с тем лишь исключением, что установлены другие настройки питания во внутреннем EEPROM микросхемы TPS65217C, чтобы поддерживались новые напряжения.

Память DDR3L требует 1.5V вместо 1.8V памяти DDR2, которая использовалась в оригинальной BeagleBone. Таким образом, для DDR3L настройка регулятора 1.8V была изменена на 1.5V. Линия питания LDO3 3.3V была перенастроена на 1.8V, чтобы поддерживать соответствующее питание процессора. LDO4 осталась на 3.3V для линий питания 3.3V процессора. Внешняя микросхема стабилизатора LDOTLV70233 предоставляет питание 3.3V для остальной части платы.

Интерфейс PC USB. Плата оборудована коннектором miniUSB, который подключен к порту USB0 процессора. Такой же коннектор используется и на оригинальной плате BeagleBone.

Serial Debug Port. Функция последовательной отладки (точнее, вывод отладочных сообщений и текстовая консоль управления) предоставляется через UART0 процессора, для этого используется коннектор 1x6 J1. Чтобы использовать этот интерфейс, необходим адаптер USB TTL. Коннектор по цоколевке совместим с адаптером, предоставляемым компанией FTDI, и такой адаптер можно купить во многих местах. Используются только сигналы TX и RX, сигналы рукопожатия не поддерживаются.

SRM serialport pins

USB Host Port. На плате установлен один коннектор USB Type A "мама" с полной поддержкой режимов LS/FS/HS хоста, подключенный к порту USB1 процессора. Порт может предоставить управление включением/выключением питания, и может выдавать ток до 500 мА с напряжением 5V. При питании от USB плата не сможет выдать полные 500 мА, однако для многих целей, когда подключены маломощные потребители USB, могут быть выданы токи от 50 до 100 мА.

С портом хоста при наличии специального адаптера можно использовать беспроводные клавиатуру и/или мышь, либо можно подключить хаб USB и через него подключить обычные клавиатуру и мышь.

Существует 4 режима загрузки (boot modes):

eMMC Boot. Это режим загрузки по умолчанию, установленный на заводе, и реализующий самую быструю загрузку операционной системы Debian.

SD Boot. В этом режиме загрузка происходит с карты microSD, установленной в соответствующий слот P10 microSD. Этот режим может использоваться для отмены загрузки из памяти eMMC, и может использоваться для программирования eMMC на заводе или для обновления ПО у конечного пользователя.

Serial Boot. Этот режим использует последовательный порт для прямой загрузки программного обеспечения. Для этого нужен отдельный кабель USB - TTL UART 3.3V, подключенный к коннектору J1.

USB Boot. Этот режим поддерживает загрузку через порт USB.

Разработчики beagleboard.org не предоставляют ПО для поддержки загрузки в режимах USB Boot и Serial Boot. Ищите соответствующее ПО и руководство на сайте Texas Instruments.

Кнопка S2 Boot позволяет переключаться между режимами загрузки:

• Удержание кнопки S2 Boot в момент подачи питания, если не установлена карта microSD, принудительно включает режим загрузки через USB (USB Boot), и если клиентский порт USB не детектирован, то для загрузки выбирается последовательный порт (Serial Boot).
• Без удержания кнопки S2 Boot плата попытается загрузиться из eMMC. Если там ничего нет, то будет произведена попытка загрузки из слота microSD, потом через последовательный порт, и затем через порт USB.
• Если удерживать кнопку S2 Boot при передергивании питания, и при этом установлена карта microSD, на которую записан загрузочный образ, то загрузка произойдет с карты microSD.

Примечание: фактически, если установлена карта microSD, на которую записан загрузочный образ, то загрузка произойдет с карты microSD, независимо от того, была нажата кнопка S2 Boot при подаче питания, или нет.

Замечание: нажатие кнопки сброса S1 RESET не приведет смене режима загрузки. Чтобы поменять режим загрузки, нужно отключить питание и снова подключить его. Ножки режима загрузки процессора опрашиваются PMIC во время сброса по питанию (power on reset) процессора. Кнопка сброса платы S1 выполняет только "теплый" сброс (warm reset), и не меняет режим загрузки.

На плату BBB можно подать питание 4 разными способами:

• Порт USB хоста PC (коннектор P10 miniUSB). Как показывает мой опыт, часто такого источника питания недостаточно, плата не включается.
• Внешний блок питания 5VDC 1A, подключенный к коннектору джека P1.
• Подача питания через коннектор miniUSB.
• Разъемы расширения (expansion connectors).

Вместе с каждой платой поставляется кабель miniUSB. Ток потребления от порта miniUSB ограничен на 500 мА микросхемой PMIC TPS65217C. Можно увеличить эту настройку TPS65217C с целью увеличения предела тока, но только после начальной загрузки (initial boot). Также для увеличения тока использовать двойной кабель USB, чтобы получить суммарный ток 1A.

В комплект поставки платы блок питания DC 5V не входит, но его легко можно докупить отдельно. Достаточен блок питания на 1A, но если используются дополнительные платы (cape boards), подключенные с коннекторам расширения, или если используется хаб USB с большим количеством потребляющих устройств, то может понадобиться блок питания на повышенный ток.

Питание, поступающие на плату через разъем расширения, должно быть получено от источника питания, подключенного к cape-плате. Этот источник питания DC должен быть хорошо стабилизирован и выдавать напряжение 5V +/-0.25V.

Кнопка сброса. Если коротко нажать на кнопку S1 RESET, то произойдет сброс платы. Кнопка сброса используется на BeagleBone Black немного чаще, чем на оригинальной плате BeagleBone. Также эта кнопка перенесена ближе к краю платы, чтобы она была доступнее.

Кнопка питания. Эта кнопка установлена недалеко от кнопки сброса, рядом с коннектором Ethernet. Кнопка питания использует вход PMIC для функции выключения питания. В то время как некоторые cape-платы снабжены кнопкой, было решено добавить эту функцию на плату, чтобы гарантировать, что в любом случае будут доступны новые функции по управлению питанием. Эти функции включают следующее:

• Процессору посылается прерывание, чтобы упростить процесс правильного выключения системы с сохранением файлов и размонтированием приводов.
• Предоставляется возможность для процессора перевода платы в режим сна (sleep mode) с целью экономии потребляемой энергии.
• Можно предупредить процессор о пробуждении из режима сна (wake up) и восстановлении состояния, в котором система находилась перед входом в режим сна.

Если удерживать кнопку питания нажатой дольше 8 секунд, плата выключится, если Вы отпустите эту кнопку после погасания светодиода power LED (D1 PWR). Если же продолжать удерживать кнопку, то плата снова включится. Это работает наподобие кнопки Power системного блока обычного компьютера PC или ноутбука.

Рекомендуется использовать кнопку питания для выключения платы, что поможет предотвратить появление шибок на карте SD или в памяти eMMC.

Если джек питания не отключен, то повторное нажатие на кнопку питания снова включит плату.

Индикация. На плате BBB установлено 5 индикационных голубых светодиодов (LED).

• Один светодиод power LED (D1 PWR) показывает, что микросхема управления питанием (PMIC) включена. Если этот LED мигает при подаче питания, то это значит, что обнаружен чрезмерный ток, и PMIC выключается. Также этот LED при подаче питания может загореться на короткое время и погаснуть, если адаптер DC 5V или шнур miniUSB дает недостаточный ток (подобный опыт был у меня, когда попытался подать питание на плату через порт USB хоста PC, без дополнительного питания через разъем джека P1).

• Четыре голубых светодиода показывают состояние системы, и они могут управляться из ПО пользователя путем программирования выводов GPIO.

Дополнительно два светодиода, желтый и зеленый, находящиеся на коннекторе Ethernet RJ45, показывают статус соединения. Желтый светодиод показывает, что имеется 100M линк, и зеленый миганием показывает активный трафик.

CTI JTAG. На обратной стороне имеется посадочное место для установки 20-выводного коннектора CTI JTAG P2 с шагом выводов 1.27 мм. P2 предназначен для разработки и отладки ПО с помощью различных эмуляторов JTAG. Если Вам нужна отладка через JTAG, то необходимо приобрести этот разъем и запаять его самостоятельно, другие компоненты не требуются. Это коннектор Samtec part-номер FTR-110-03-G-D-06, его можно купить на www.digikey.com или на mouser.com (Mouser part-номер 200-FTR11003GD06TR).

FTR-110-03-G-D-06

HDMI. Интерфейс HDMI подсоединен к 16-битному интерфейсу LCD процессора. Использовался 16b интерфейс, чтобы сохранить как можно больше выводов для расширения, которые можно было бы использовать. Микросхема NXP TDA19988BHN используется для преобразования интерфейса LCD в HDMI, а также для передачи звука. Сигналы LCD все еще выводятся на выводы коннекторов расширения, чтобы можно было использовать платы расширения для LCD или воспользоваться другими функциями платы при необходимости.

Устройство HDMI не поддерживает защиту от копирования контента (HDCP copy protection). Поддержка определения разрешающей способности предоставляется через EDID, чтобы ПО могло идентифицировать совместимые режимы экрана. В настоящий момент через ПО поддерживаются следующие разрешения экрана:

1280 x 1024
1440 x 900
1024 x 768
1280 x 720

Платы расширения. К плате BeagleBone Black через коннекторы расширения P8 и P9 можно подсоединить до 4 плат дополнительных функций (они называются Cape Board). Эти платы устанавливаются друг на друга в виде бутерброда. Термин cape (переводится как "мыс") произошел от формы платы расширения, поскольку она огибает коннектор Ethernet основной платы. Это работает как ключ, предотвращающий неправильное подключение платы расширения.

Большинство cape-плат, которые были разработаны для оригинальной платы BeagleBone, будут работать и на BeagleBone Black. Однако все же для BeagleBone Black есть некоторые исключения, касающиеся совместимости или её ограничений:

• Шина GPMC может быть недоступна, потому что её сигналы используются для eMMC. Если eMMC используется для загрузки, и файловая система находится на карте microSD, то эти сигналы могут использоваться. Как вариант для загрузки может использоваться карта microSD или режимы serial boot, это позволит исключить использование памяти eMMC.
• На BeagleBone Black отсутствует разъем расширения питания (power expansion header).

Дополнительную информацию по поддержке cape-плат см. в секции 9.0 BeagleBone Black Mechanical [1].

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

SRM block diagram fig20

Рис. 20. Блок-схема платы BeagleBone Black.

[Система питания]

SRM High Level Power Block Diagram fig21

Рис. 21. Высокоуровневая блок-схема питания.

TPS65217C PMIC. Системой питания управляет специальная микросхема TPS65217C (Power Management IC, сокращенно PMIC). Она состоит из двойного линейного входа, трех понижающих импульсных преобразователей и четырех аналоговых стабилизатора с малым падением напряжения на регулирующем элементе (Low Drop Out, сокращенно LDO).

SRM TPS65217C block diagram fig22

Рис. 22. Блок-схема TPS65217C.

Система питается либо от джека DC с помощью внешнего адаптера 5V, либо через коннектор расширения P9, либо (при подаче достаточной мощности) от коннектора minuUSB P4. Три экономичных понижающих импульсных преобразователя (работающих на частоте 2.25 МГц) предоставляют питание ядру процессора, MPU и микросхемам памяти.

Понижающие преобразователи входят в режим пониженного потребления мощности (low power mode), когда нагрузка на выходе небольшая, и могут работать в широком диапазоне токов потребления. Приложения, где необходим низкий уровень шума, могут принудительно перевести преобразователи PMIC в режим фиксированной частоты PWM, путем программирования PMIC через интерфейс I2C. Высокая частота преобразователей позволяет использовать маленькие индуктивности и емкости, чем достигается небольшой общий размер печатной платы.

Регуляторы LDO1 и LDO2 предназначены для поддержки режима приостановки системы (standby mode). В нормальном режиме они могут выдавать по 100 мА каждый. Регуляторы LDO3 и LDO4 могут выдавать ток до 285 мА каждый.

По умолчанию LDO1 всегда в состоянии ON, однако любая выходная шина питания может быть сконфигурирована для удержания состояния SLEEP. В частности преобразователи DCDC могут оставаться в режиме low-power PFM, чтобы поддерживать режим приостановки процессора (processor suspend mode). TPS65217C предоставляет гибкие последовательности включения питания и несколько дополнительных обслуживающих функций, таких как выходы сигнализации о качестве питания (power-good output), мониторинг кнопки включения/выключения (pushbutton monitor), аппаратный сброс (hardware reset) и датчик температуры для защиты питающей батареи.

SRM TPS65217C DC connection fig23

Рис. 23. Подключение DC-входов подачи питания к TPS65217C.

Для питания платы может использоваться источник стабилизированного постоянного тока 5VDC, для чего предоставляется коннектор джека P1. Ток потребления зависит от того, сколько дополнительных плат подключено. Для обычного использования достаточно тока 1A, так что можно использовать обычный источник зарядного тока от современных смартфонов. Если ожидается повышенная нагрузка через разъемы расширения или через порт хоста USB (P3 USB Host), то необходим более мощный источник питания.

Коннектор питания P1 принимает стандартный джек с внутренним диаметром 2.1 мм (плюсом в центре) и внешним диаметром 5.5 мм. Также шина 5VDC соединена с разъемом расширения P9, поэтому можно подавать питания и через подключенные платы расширения. И наоборот, шину 5VDC также можно использовать для питания плат расширения, если достаточна подаваемая через 5VDC разъем P1 мощность питания.

Питание от USB. Заявлено, что может предоставляться питание и через порт USB внешнего хоста PC. Однако обычный порт USB ограничивает выходной ток на уровне 500 мА. При питании от порта USB шина VDD_5V (напряжение +5V, поступающее от USB) не соединена с разъемами расширения, так что те cape-платки, которые требуют питания 5V, должны получать это питание либо отдельно, либо (если достаточен небольшой ток) через TPS65217C. Напряжение питания +5V DC, поступающее от порта USB, появляется на SYS_5V, это один из выходов TPS65217C, который выведен на разъем расширения P9. На рис. 24 показано подключение входа питания USB к PMIC TPS65217C.

SRM USB Power Connections fig24

Рис. 24. Питание от USB.

Микросхема TPS65217C автоматически выбирает источник питания 5VDC - либо от джека P1, либо от miniUSB P4, либо от обоих, в зависимости от того, что подключено. ПО может изменять конфигурацию питания через интерфейс I2C процессора. Дополнительно ПО может прочитать информацию TPS65217C и определить, откуда поступает питание - от входа 5VDC P1 или от входа miniUSB P4. Эта возможность может быть полезной, чтобы знать возможности питания и соответствующим образом управлять частотой тактов и платами расширения.

Можно подать питание через вход USB, и затем подключить питание через джек, плата автоматически переключится на питание от коннектора P1 5VDC.

Power Button. Кнопка питания подключена к микросхеме PMIC TPS65217C. Это простая кнопка на замыкание при нажатии, точно такие кнопки используются для управления выбором загрузки (кнопка S2 Boot) и для сброса (кнопка S1 RESET).

Если нажать кнопку питания, то TPS65217C отправит прерывание процессору. Процессор в свою очередь отвечает за то, чтобы подать лог. 0 на сигнал PMIC_POWER_EN, чтобы корректно выключить питание платы. В этот момент PMIC остается активной, если питание со входов не отключено. Повторное нажатие кнопки после выключения (если процессор перевел плату в состояние "выключено", power off mode) снова включит плату BBB.

В режиме power off шина питания часов реального времени (RTC) остается активной, что поддерживает RTC под питанием и в работе, если на входе присутствует питание на основных входах. Если же Вы отключите питание, то питание RTC также пропадет. Можно подавать питание от батареи через (не установленный) коннектор TP5-TP8, что будет обсуждаться далее.

Если нажать и удерживать кнопку питания нажатой дольше 8 секунд, PMIC выключится. Но Вы должны отпустить кнопку, когда погаснет power LED (D1 PWR). Если удерживать кнопку дальше, то питание снова включится.

Контакты батареи. На плате есть 4 контакта, чтобы можно было подключиться к выводам батареи TPS65217C. На эти контакты может быть запаян коннектор 2x2, или можно припаять батарею непосредственно к этим контактам. При необходимости к этим коннекторам могут подключаться cape-платы расширения.

Таблица 3. Контакты BeagleBone Black Battery TP5-TP8.

PIN RefDes Описание
BAT TP5 Контакт для подключения батареи.
SENSE TP6 Вход для измерения напряжения батареи, его надо подключить непосредственно к контакту батареи.
TS TP7 Вход датчика температуры, подключается непосредственно к контакту батареи.
GND TP8 Земля системы.

В на плате BBB нет аппаратуры для контроля за напряжением батареи, для этого нужно использовать отдельную микросхему АЦП с последовательным интерфейсом (1Wire, SPI или I2C), установленную на плате расширения.

Предупреждение: перед использованием коннектора батареи TP5-TP8 внимательно ознакомьтесь с документацией на микросхему TPS65217C.

Потребление тока. Потребляемая системой мощность меняется, в зависимости от процесса загрузки и используемых сценариев питания. Измерения тока потребления, показанные в таблице 4, были сделаны в следующей конфигурации:

• Питание подано через джек DC и через miniUSB.
• Подключен HDMI-монитор.
• Подключен USB HUB.
• Подключена флешка 4GB.
• Подключен кабель Ethernet 100 мегабит.
• Подключен кабель Serial Debug к коннектору J1.

Таблица 4. Потребление тока платой BeagleBone Black от +5V (ток указан в миллиамперах).

Режим USB DC DC+USB
Reset Будет определено
Idling @ UBoot 210 210 210
Загрузка ядра (пик) 460 460 460
Ядро в ожидании 350 350 350
Ядро в ожидании, дисплей погашен 280 280 280
Загрузка веб-страницы 430 430 430

Ток потребления может меняться в зависимости от активности, такой как зажигание светодиодов, загрузка ядра процессами, доступ к памяти microSD/eMMC и т. п.

[Интерфейсы и сигналы процессора, относящиеся к питанию]

I2C0. Через I2C0 происходит управление микросхемой PMIC TPS65217C. Это дает возможность программно управлять её регистрами (коэффициенты установки напряжения, переключение входных шин питания).

PMIC_POWR_EN. При подаче питания сначала активируется шина VDD_RTC. После того, как схема RTC процессора активирована, TPS65217C инициирует процесс полного включения подачей лог. 1 на сигнал PMIC_POWR_EN. Когда происходит выключение питания, процессор может перевести этот сигнал в лог. 0, чтобы начать процесс выключения.

LDO_GOOD. Этот сигнал подключен к сигналу RTC_PORZn (RTC power on reset). В этой аббревиатуре маленькая "n" показывает, что сигнал активен при лог. 0. Поскольку схема RTC получает питание первой, этот сигнал показывает, что LDO-регуляторы дающие 1.8V VRTC, запустились и их напряжение стабильно. Этот факт запустит процесс включения.

PMIC_PGOOD. Как только на всех шинах питания появилось стабильное напряжение, этот сигнал переходит в лог. 1. Это освободит сигнал PORZn на процессоре, который удерживал сброс.

WAKEUP. Это сигнал пробуждения, который TPS65217C подает на вход EXT_WAKEUP процессора. Сигнал пробуждает процессор, когда он находится в sleep mode. Когда событие нажатия кнопки детектировано микросхемой TPS65217C, она генерирует сигнал WAKEUP.

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

[Шины питания]

На рис. 25 показаны соединения каждой шины питания, выходящей из TPS65217C.

SRM Power Rails fig25

Рис. 25. Power Rails.

VRTC. Шина питания VRTC выдает напряжение 1.8V, оно появляется первым в процессе включения системы. VRTC предоставляет питание домену RTC процессора и сигналам ввода/вывода TPS65217C. VRTC может предоставить максимальный ток до 250 мА.

VDD_3V3A. Шина питания VDD_3V3A предоставляется TPS65217C, и на ней присутствует напряжение 3.3V для процессора. VDD_3V3A может предоставить ток до 400 мА.

VDD_3V3B. Ток, который может выдать шина VDD_3V3A, недостаточен для питания всех потребителей 3.3V платы. Поэтому используется дополнительная микросхема LDO U4 (TL5209A), которая стабилизирует напряжение на шине VDD_3V3B. Питание на этой шине появляется сразу после напряжения на шине VDD_3V3A.

VDD_1V8. Шина VDD_1V8 может выдать ток до 400 мА. Она предоставляет питание 1.8V для процессора и микросхемы HDMI Framer U11. Ни для каких других функций эта шина не используется.

VDD_CORE. Шина VDD_CORE может выдать ток до 1.2A при напряжении 1.1V. Она доступна исключительно только для питания ядра процессора. Напряжение на VDD_CORE зафиксировано на уровне 1.1V, и оно не должно подстраиваться программно путем программирования микросхемы PMIC. Если все-таки попытаться это сделать, то процессор может перестать работать.

VDD_MPU. Шина VDD_MPU может выдать ток до 1.2A. Она доступна исключительно только для питания процессора. По умолчанию напряжение VDD_MPU установлено на 1.1V, но его можно увеличить для работы на повышенных частотах. Изменение напряжения осуществляется программно через интерфейс I2C0 процессора.

VDDS_DDR. Шина VDDS_DDR по умолчанию выдает напряжение 1.5V для питания памяти DDR3L, и может выдавать ток до 1.2A. Можно подстроить это напряжение, снижая его до 1.35V, в целях уменьшения потребления мощности микросхемой памяти DDR3L. Только микросхемы DDR3L поддерживают установку напряжения 1.35V.

Последовательность появления напряжений. Процесс включения платы состоит из нескольких стадий и событий. Рис. 26 описывает процесс подачи питания, осуществляемый микросхемой PMIC. Подробные данные по интервалам времени см. в даташите Texas Instruments.

SRM Power Rail Up Sequencing fig26

Рис. 26. Порядок включения шин питания.

На рис 27. показывает последовательность включения шин микросхемы TPS65217C, подробности см. в её даташите.

Напряжение
(V)
Последовательность
(STROBE)
1.5 1
1.1 5
1.1 5
1.8 15
3.3 3
1.8 (LDO, 400 мА) 2
3.3 (LDO, 400 мА) 4

Рис. 27. Тайминги последовательности включения TPS65217C.

Power LED. Это синий светодиод, который зажигается, когда TPS65217C завершит процедуру включения. Если Вы увидели, что светодиод Power LED вспыхнул один раз и погас, то это означает, что TPS65217C столкнулась с проблемой (например, недостаточен ток от порта miniUSB, ЧТО привело к просадке напряжения 5V) и выключилась. Подключение Power LED показано на рис. 25 выше.

Когда напряжение подано от джека DC или от miniUSB, микросхема TPS65217C выводит питание на выход SYS_5V, что включает LDO-регуляторы TPS65217C.

В момент включения питания все импульсные преобразователи и LDO выключены, кроме VRTC LDO (1.8V), который подает питание на шину VRTC и управляет входом сброса RTC_PORZn процессора, запускающим его включение. Как только появилось питание на шине RTC, освободится сигнал RTC_PORZn, который подается от LDO_PGOOD микросхемы TPS65217C.

Как только сброс RTC_PORZn снят, процессор начинает процесс инициализации. После стабилизации RTC процессор запускает процесс включения активацией сигнала PMIC_POWER_EN, подключенного ко входу TPS65217C, чем запускается процедура полного включения TPS65217C (power up process).

Сигнал LDO_PGOOD предоставляется микросхемой TPS65217C для процессора. Поскольку этот сигнал на TPS65217C имеет уровень TTL, для преобразования его в уровни 3.3V процессора используется специальная микросхема преобразователя уровней U4. Как только регуляторы LDO и ключевые стабилизаторы TPS65217C перейдут в рабочее состояние, этот сигнал становится активным и запускает работу процессора. LDO микросхемы TPS65217C также используется для шины питания VRTC процессора.

Взаимодействие TPS65217C с процессором. На рис. 28 показан интерфейс между TPS65217C и процессором, это кусок от общей схемы BBB.

SRM Power Processor Interfaces fig28

Рис. 28. Интерфейс управления питанием процессора.

Через этот интерфейс осуществляется управление микросхемой TPS65217C и чтение текущего состояния питания - после того, как завершена последовательность включения питания.

Интерфейс состоит из двух составляющих, первая это шина I2C0. Она позволяет процессору включать и выключать отдельные шины питания и устанавливать напряжения каждого регулятора. Вторая составляющая - сигнал прерывания. Это позволяет микросхеме TPS65217C предупредить процессор, когда происходит событие, такое как нажатие кнопки питания. Сигнал прерывания посылается через выход с открытым стоком, поэтому его легко состыковать с уровнями 3.3V процессора.

[Поддержка Low Power Mode]

Имеется 3 режима пониженного энергопотребления. Они описаны только в контексте аппаратуры, что относится к разработке схемы устройства.

RTC Only. Этом режиме все шины питания выключены, кроме шины VDD_RTC. Для входа в этот режим процессору нужно выключить все свои шины питания. VDD_RTC остается включенной, что сохраняет работу часов реального времени и предоставляет интерфейс пробуждения в ответ на соответствующее событие (wake up event).

RTC Plus DDR. В этом режиме все шины питания выключены, кроме VDD_RTC и VDDS_DDR, поступает питание для памяти DDR3L. Для входа в этот режим процессору нужно выключить все свои шины питания. VDD_RTC остается включенной, что сохраняет работу часов реального времени и предоставляет интерфейс пробуждения в ответ на соответствующее событие (wake up event).

Шина VDDS_DDR для DDR3L предоставляет напряжение 1.5V от микросхемы TPS65217C, и когда шина VDDS_DDR активна DDR3L может быть переведена процессором в режим самообновления (self refresh) перед выключением, что позволит сохранить данные в оперативной памяти, когда система находится в режиме сна.

В настоящее время эта функция не поддерживается в стандартном релизе ПО. Есть планы на будущее для использования этой функции.

Управление напряжением. Для ситуаций, когда можно снизить напряжение питания без перехода в режим сна, этот режим позволит процессору ARM уменьшить потребление энергии путем снижения тактовой частоты. Для управления напряжением используется шина I2C0, через которую программируется TPS65217C.

[Процессор Sitara AM3358BZCZ100]

Плата BBB работает на основе процессора Sitara AM3358BZCZ100 в корпусе 15 x 15 мм. Ранние ревизии используют процессор XM3359AZCZ100.

SRM Sitara AM3358BZCZ Block Diagram fig29

Рис. 29. Блок-схема процессора Sitara AM3358BZCZ.

Таблица 5. Высокоуровневые функции процессора.

Функции, интерфейсы Описание
Операционная система Linux, Android, Windows Embedded CE,QNX, ThreadX
Потребление энергии Standby 7 мВт
ARM CPU 1 ядро Cortex-A8
Макс. тактовая частота 275, 500, 600, 800, 1000
Макс. производительность, MIPS 1000, 1200, 2000
Ускоритель графики 3D
Другие ускорители Два блока PRU-ICSS, один ускоритель криптографии
Встроенный кэш L1 64 килобайта (ARM Cortex-A8)
Встроенный кэш L2 256 килобайт (ARM Cortex-A8)
Другая встроенная память 128 килобайт
Опции дисплея LCD
Поддержка памяти общего назначения 16-битный интерфейс (GPMC, NAND Flash, NOR Flash, SRAM)
DRAM 16 битный интерфейс (LPDDR-400, DDR2-532, DDR3-400)
Порты USB 2 шт.
Порты MMC/SD 2 шт.
CAN 2 шт.
UART (SCI) 6 шт.
ADC (АЦП) 12 бит, 8 каналов
PWM (ШИМ) 3 шт.
eCAP 3 шт.
eQEP 3 шт.
RTC 1 шт.
I2C 3 шт.
McASP 2 шт.
SPI 2 шт.
DMA 64 канала EDMA
Питание ввода/вывода 1.8V (ADC), 3.3V
Диапазон рабочих температур -40 ... +90 °C

Кварцевые резонаторы. На рис. 30 показана схема подключения кварцевых резонаторов, предназначенных для генерации тактов процессора.

SRM Processor Crystals fig30

Рис. 30. Кварцы процессора.

Схема сброса. На рис. 31 показана схема сброса. Начальный сброс при включении питания (power on reset) генерируется микросхемой TPS65217C. Она также генерирует сброс для RTC.

Сигналом сброса платы является SYS_RESETn. Он соединяется с выводом NRESET_INOUT процессора, который может работать как вход или выход. Когда нажата кнопка сброса, это действие посылает теплый сброс процессору и системе.

На ревизии платы A5D было сделано изменение. При включении питания сигнал NRESET_INOUT может работать как выход. В этом случае может произойти преждевременное повышение уровня на сигнале SYS_RESETn. Чтобы это предотвратить, сигнал PORZn от TPS65217C подключен к сигналу SYS_RESETn через буфер с открытым стоком. Это гарантирует, что этот сигнал не перейдет моментально в лог. 1 при включении питания. Это изменение было введено во всех ревизиях после A5D.

SRM Board Reset Circuitry fig31

Рис. 31. Схема сброса платы BBB.

[Память DDR3L]

BeagleBone Black использует одну микросхему MT41K256M16HA-125 512MB DDR3L от Micron, которая подключается к процессору через 16 сигналов данных, 16 сигналов адреса и 14 сигналов управления. На ревизии C была добавлена возможность использования микросхемы памяти Kingston KE4CN2H5A-A58.

Дизайн платы поддерживает стандарты памяти DDR3 и DDR3L x16, и строится на основе DDR3L. На плате установлена одна микросхема с шиной данных x16, и две микросхемы с шиной x8 не поддерживаются. Микросхемы DDR3 работают от напряжения 1.5V, и микросхемы DDR3L могут работать при пониженном напряжении до 1.35V с целью снижения потребления энергии. Микросхема DDR3L имеет корпус 96-BALL FBGA с шагом выводов 0.8 мм. Могут также поддерживаться другие стандартные микросхемы DDR3, но DDR3L меньше потребляет энергии и была выбрана из-за возможности работы при напряжениях питания 1.5V или 1.35V. Стандартная рабочая частота DDR3L, с которой она работает на плате, составляет 400 МГц.

На рис. 32 показана схема подключения микросхемы памяти DDR3L.

SRM DDR3L Memory fig32

Рис. 32. Память DDR3L.

A[15:0] сигналы адреса (входы): путем предоставления адреса строки (row address) командой ACTIVATE и адреса столбца (column address), а также бита auto pre-charge bit (A10) командами READ/WRITE, выбирается одна ячейка в массиве памяти соответствующего банка. Сигнал A10, который считывается во время команды PRECHARGE, определяет, применяется ли PRECHARGE к одному банку (A10 LOW, банк выбран сигналами BA[2:0]), или ко всем банкам (A10 HIGH). Входы адреса также предоставляют код операции во время команды LOAD MODE. Адресные входы работают с уровнями VREFCA. A12/BC#: когда это разрешено в регистре режима (mode register, MR), A12 считывается во время команд READ и WRITE, чтобы определить, будет ли выполняться burst chop (on-the-fly); HIGH = BL8 означает no burst chop, LOW = BC4 burst chop.

BA[2:0] адрес банка. Эти входы определяют банк, к которому применяется команда ACTIVATE, READ, WRITE или PRECHARGE. BA[2:0] определяют, какой регистр режима (MR0, MR1, MR2 или MR3) загружается во время команды LOAD MODE. BA[2:0] работают с уровнями VREFCA.

CK и CK#: дифференциальные входы тактов. Все сигналы адреса и управления считываются на положительном перепаде CK и отрицательном перепаде CK#. Сигналы строба выхода (DQS, DQS#) анализируются относительно перепадов CK и CK#.

CKE (Clock Enable Line): разрешает (HIGH) и запрещает (LOW) внутренние схемы и такты DRAM. В зависимости от конфигурации DDR3 SDRAM и режима работы разрешаются или запрещаются определенные схемы памяти. CKE = LOW предоставляют операции PRECHARGE power-down и SELF REFRESH (все банки в состоянии ожидания, idle) или active power-down (row активен в любом банке). CKE синхронизирован со входом и выходом при отключении питания и для самообновления (SELF REFRESH). CKE асинхронен для выхода из самообновления. Входные буферы (включая CK, CK#, CKE, RESET# и ODT) во время powerdown запрещены. Входные буферы (кроме CKE и RESET#) запрещены во время SELF REFRESH. CKE работает с уровнями VREFCA.

CS# (Chip Select) разрешает (LOW) и запрещает (HIGH) декодер команд. Все команды маскируются (не проходят), когда CS# = лог. 1. CS# предоставляет возможность выбора микросхемы, когда их несколько штук подключено параллельно. CS# рассматривается как часть кода команды. CS# работает с уровнями VREFCA.

DM (Data Mask) вход сигнала маски для записи данных. Входные данные маскируются, когда DM = HIGH вместе с входными данными во время доступа на запись. Хотя шарик DM работает только как вход, нагрузка DM разработана для согласования с нагрузкой шариков DQ и DQS. DM работает с уровнями VREFDQ.

ODT (On-die Termination) разрешает (HIGH) и запрещает (LOW) внутренние терминаторы DDR3L SDRAM. Когда это разрешено в нормальном режиме работы, ODT применяется только к следующим шарикам: DQ[7:0], DQS, DQS# и DM для x8; DQ[3:0], DQS, DQS# и DM для x4. Вход ODT игнорируется, если запрещен командой LOAD MODE. ODT работает с уровнями VREFCA.

VREF. Сигнал VREF генерируется делителем напряжения от уровня шины питания VDDS_DDR, которая предоставляет питание самой микросхеме памяти DDR3L и шину DDR процессора. Рис. 33 показывает конфигурацию этого сигнала и соединение с памятью и процессором.

SRM DDR3L VREF fig33

Рис. 33. Схема DDR3L VREF.

[Память 4GB eMMC]

Память eMMC служит как энергонезависимое (nonvolatile) хранилище данных, которое включает интерфейс Multi-MediaCard (MMC), носитель данных NAND Flash и контроллер шиной из 11 сигналов, что совместимо со спецификацией MMC. Память eMMC не потребляет энергию на поддержание хранения данных, достаточно быстро работает в широком диапазоне температур, устойчива к ударам и вибрации.

Одна из проблем с картами SD от различных производителей - их производительность может сильно варьироваться. Карты используют различные контроллеры и различные микросхемы памяти, что может быть иногда не очень хорошо согласовано друг с другом. Но контроллеры могут быть оптимизированы для операции чтения, или для операции записи. Вы не знаете заранее, что в итоге получится. Все это приводит а разным показателям производительности. На eMMC известный контроллер, к когда он совмещен с 8-битным режимом, с 8 битами данных вместо 4, в результате получается удвоенное быстродействие, что уменьшает время загрузки системы.

Могут использоваться одна из двух микросхем:

• Micron MTFC4GLDEA 0M WT
• Kingston KE4CN2H5A-A58

Обе микросхемы в корпусах 153 ball WFBGA.

Рис. 34 показывает подключение eMMC. Микросхема eMMC подключена к порту MMC1 процессора. MMC0 все еще используется для слота карты microSD, как это было в оригинальной BeagleBone. Теперь размер памяти eMMC 4GB.

SRM eMMC memory fig34

Рис. 34. Схема подключения памяти eMMC.

Микросхема работает с уровнями 3.3V как внутри, так и снаружи, на ножках I/O. VCCI это внутренняя шина питания микросхемы. Производитель рекомендует подключить к ней конденсатор 1 мкФ, но про запас был выбран конденсатор 2.2 мкФ.

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

Ножки, используемые eMMC1 в режиме загрузки, перечислены в таблице 6.

Таблица 6. eMMC Boot Pins.

Имя сигнала Ножка процессора
clk gpmc_csn1
cmd gpmc_csn2
dat0 gpmc_ad0
dat1 gpmc_ad1
dat2 gpmc_ad2
dat3 gpmc_ad3

Для микросхем eMMC код ROM будет поддерживать только "сырой" режим. Код ROM читает сырые секторы образа или загружает файл из файловой системы, и затем загружается из него. Raw-режим загрузки образа может использовать одной из четырех непрерывных областей основной памяти: смещение 0x0 / 0x20000 (128 KB) / 0x40000 (256 KB) / 0x60000 (384 KB). По этой причине образ загрузки не должен превышать по размеру 128KB. Однако можно запрограммировать микросхему образом размером больше 128KB, который начинается с одного из вышеперечисленных смещений. Таким образом, ROM Code не проверяет размер образа. Единственный недостаток превышения 128 KB в том, что образ пересечет следующее смещение для образа. Raw-режим детектируется чтением секторов #0, #256, #512, #768. Затем содержимое этих секторов проверяется на наличие структуры TOC (Table Of Content?). В случае устройства GP Device, заголовок конфигурации (Configuration Header, CH) должен находиться в первом секторе, который идет за заголовком GP. CH может быть пустым (содержать только элемент CHSETTINGS, для которого допустимо нулевое значение поля).

ROM поддерживает только 4-битный режим. После начальной загрузки может быть произведено переключение в 8-битный режим для увеличения общей производительности интерфейса eMMC.

[ID EEPROM]

BeagleBone оборудована микросхемой памяти 32Kbit (4KB) 24LC32AT-I/OT EEPROM, чтобы ПО могло идентифицировать плату. В таблице 7 показано содержимое этого EEPROM.

Таблица 7. Содержимое EEPROM.

Имя параметра Размер (байт) Содержимое
Header 4 0xAA, 0x55, 0x33, 0xEE
Board Name 8 Название платы в кодировке ASCII: A335BNLT
Version 4 Код версии аппаратуры в кодировке ASCII: 00A3 для Rev A3, 00A4 для Rev A4, 00A5 для Rev A5, 00A6 для Rev A6, 00B0 для Rev B и 00C0 для Rev C.
Serial Number 12 Серийный номер платы. Это 12-символьная строка, обозначающая дату производства, модель платы и уникальный номер в формате:
WWYY4P16nnnn

Здесь WW = 2 цифры недели, YY = 2 цифры года, BBBK = BeagleBone Black, nnnn = инкрементируемый номер платы.
Configuration Option 32 Коды, показывающие настройку конфигурации этой платы. Здесь все байты равны 0xFF.
RSVD 6 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
RSVD 6 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
RSVD 6 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
Available 4018 Свободное доступное место для любых энергонезависимых данных.

SRM EEPROM Design Rev A5 fig35

Рис. 35. Схема подключения EEPROM Rev A5.

Процессор обращается к EEPROM через шину I2C0. Ножка WP по умолчанию разрешена, т. е. защита от записи активирована. Путем заземления этой точки защита от записи снимается.

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

[microSD]

Слот microSD платы BeagleBone Black предназначен для установки карт, которые могут использоваться для загрузки или в качестве хранилища для файлов.

SRM microSD Design fig36

Рис. 36. Схема подключения microSD.

MMC0 .. MMC3 это сигналы данных.
MMC0_CLK тактовый сигнал, по которому данные вводятся в карту и выводятся из неё.
MMCO_CMD показывает, что передается - команда или данные.

В спецификации microiSD нет отдельного вывода детектирования карты. Для этой функции используется MMCO_DAT3. Однако большинство слотов карт все еще предоставляют функцию CD (Card Detect). В дизайне BeagleBone Black этот сигнал подключен к выводу MMC0_SDCD процессора. Вы можете также поменять эту ножку на GPIO0_6, которая может вывести процессор из режима сна, когда карта microSD устанавливается в слот.

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

Питание карты предоставляется от шины VDD_3V3B, конденсатор 10 мкФ установлен для фильтрации и смягчения просадки напряжения при установке карты.

[Светодиоды пользователя]

На плате BeagleBone Black есть 4 голубых светодиода, которыми может управлять пользователь в своей программе (user LED). Они подключена к ножкам GPIO процессора.

SRM User LEDs fig37

Рис. 37. Светодиоды пользователя.

Номинал резисторов R71 .. R74 был изменен на 4.75K в ревизии A5B и более поздних ревизиях плат.

Таблица 8 показывает сигналы, используемые для управления четырьмя светодиодами LED от процессора.

Таблица 8. Сигналы/ножки для управления User LED.

LED Порт GPIO Шарик корпуса процессора
USR0 GPIO1_21 V15
USR1 GPIO1_22 U15
USR2 GPIO1_23 T15
USR3 GPIO1_24 V16

Светодиоды зажигаются выводом лог. 1 в ножку порта.

[Конфигурация загрузки]

Дизайн платы BBB поддерживает 2 группы опций загрузки. Пользователь может переключаться между этими режимами с помощью кнопки Boot. Первичный источник загрузки - установленная на плате микросхема eMMC. Удерживая кнопку S2 Boot, пользователь может заставить карту загрузиться из слота microSD. Это дает возможность перезаписать содержимое eMMC, когда это необходимо, или когда просто надо загрузить другой образ.

Примечание: мой опыт показал, что совсем необязательно удерживать кнопку Boot при подключении питания, чтобы загрузиться с карты microSD. Например, на моей платке в eMMC записан более старый образ Debian, и если в слот microSD установить карту с более свежей версией Debian, то при подаче питания загрузка произойдет именно с карты microSD, кнопку Boot удерживать необязательно.

В большинстве приложений, включая те, которые используют демо-дистрибутивы, доступные на beagleboard.org, внешний код загрузки процессора работает в 2 стадии. После первичного кода загрузки, который находится в ПЗУ процессора (ROM Code), управление передается на вторую стадию (secondary program loader - "SPL" или "MLO"). Стадия SPL инициализирует только те устройства, которые необходимы для продолжения загрузки, после чего управление передается на третью стадию, в загрузчик "U-boot". Базируясь на логических уровнях ножек управления загрузкой процессора (boot pins), ROM знает, откуда можно получить код SPL и код UBoot. В случае платы BeagleBone Black, это может быть либо eMMC, либо microSD, выбор делается на основе переключателя загрузки (boot switch).

На рис. 38 показана схема, которая участвует в выборе конфигурации загрузки. При включении питания boot pins считываются процессором, и их уровни определяют порядок загрузки. Кнопка S2 используется для изменения уровня одного бита boot pins от лог. 1 на лог. 0, что меняет порядок загрузки.

SRM Processor Boot Configuration fig38

Рис. 38. Processor Boot Configuration.

Можно изменить эти настройки через разъемы расширения P8 и P9. Однако будьте внимательны, чтобы не создать чрезмерную нагрузку, которая может повлиять на работу интерфейса HDMI или панелей LCD. Если будет выбрано изменение этих настроек, настоятельно рекомендуется буферизировать эти сигналы вместе с сигналом SYS_RESETn. Это даст гарантию, что после выдачи сброса эти сигналы будут удалены с контактов расширения.

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

Ножки управления загрузкой Кнопка S2 Boot
не нажата нажата
SYSBOOT[15:14] 00: 19.2 МГц
01: 24 МГц
10: 25 МГц
11: 26 МГц
SYSBOOT[13:12] 00 (все другие значения зарезервированы)
SYSBOOT[11:10] На эти биты ROM Code не обращает внимания
SYSBOOT[9]
SYSBOOT[8]
SYSBOOT[7:6]
SYSBOOT[5]
SYSBOOT[4:0] 11100 11000
Последовательность загрузки MMC1, MMMC0, UART0, USB0(1) SPI0, MMC0, USB0(1), UART0

Рис. 39. Варианты загрузки процессора.

Примечание (1): подробности см. в даташите [4].

Столбец "не нажата" показывает конфигурацию загрузки по умолчанию. При загрузке процессор опрашивает сначала eMMC на порту MMC1, затем слот microSD на порту MMC0, затем USB0 и UART0. Если карта microSD и память eMMC пустые, то в качестве источника загрузки платы должны использоваться UART0 или USB0.

Если у Вас есть карта microSD, с которой нужно загрузиться, удерживайте кнопку S2 Boot и подайте питание. При загрузке процессор сначала будет опрашивать порт SPIO0, затем microSD на порту MMC0, затем USB0 и UART0. В случае, когда ни на карте microSD, ни в памяти eMMC нет загрузочного кода, будут использоваться в качестве источника загрузки USB0 или UART0.

[10/100 Ethernet]

BeagleBone Black оборудован 10/100 Ethernet, используется та же самая микросхема PHY LAN8710A (U14), что и на оригинальной плате BeagleBone. На рис. 40 показаны соединения между процессором и PHY. Интерфейс работает в режиме MII. На рис. 41 показана схема коннектора Ethernet, точно такая же схема использовалась на оригинальной плате BeagleBone.

SRM Ethernet PHY LAN8710A processor interface fig40

Рис. 40. Интерфейс MII, через который чип Ethernet соединен с процессором.

SRM Ethernet PHY LAN8710A RJ45 connector fig41

Рис. 41. Схема физического подключения к Ethernet.

Рис. 42 показывает соединения питания, сброса и блокировки чипа LAN8710A PHY.

SRM Ethernet PHY LAN8710A Power Reset Clocks fig42

Рис. 42. Ethernet PHY: питание, сброс, такты.

VDD_3V3B. Шина VDD_3V3B служит основным источником питания для LAN8710A. Напряжение поступает от регулятора VD_3V3B, и оно служит источником питания всех периферийных устройств на плате. Также эта шина предоставляет питание для шин VDDIO, устанавливая уровни напряжения для всех сигналов ввода/вывода между процессором и LAN8710A.

VDD_PHYA. Это фильтрованная версия VDD_3V3B, подключенная к шинам VDD чипа LAN8710 и резисторам терминирования сигналов Ethernet. Фильтрующая индуктивность помогает блокировать импульсные помехи, которые могут присутствовать на шине VDD_3V3B.

PHY_VDDCR. Напряжение PHY_VDDCR выходит из LAN8710A, и используется только внутри LAN8710A. Для сглаживания пульсаций для PHY_VDDCR напряжения используются блокировочные конденсаторы.

SYS_RESET. Сброс для LAN8710A управляется основным сигналом сброса платы SYS_RESETn.

Тактирование. Для генератора тактов LAN8710A используется кварцевый резонатор Y3 на 25 МГц. Процессор использует такты RMII_RXCLK для обмена данными между процессором и LAN8710A.

Выводы режима LAN8710A. У чипа LAN8710A рабочий режим, который активируется после сброса, устанавливается уровнями на специальных выводах. Те же выводы используются для обмена между процессором и LAN8710A. Как результат, эти выводы могут управляться выходами процессора, что может привести к неправильной инициализации PHY. Чтобы этого не произошло, подключены 3 верхних подтягивающих резистора, что показано на схеме рис. 43.

SRM Ethernet PHY Mode Pins fig43

Рис. 43. Выводы установки режима LAN8710A (Ethernet PHY Mode Pins).

Резисторы устанавливают уровни 111, что разрешает все режимы и автоматическое согласование (auto-negotiation) параметров физического канала Ethernet.

[HDMI]

BeagleBone Black имеет на борту видеочип U11 HDMI Framer, преобразующий сигналы LCD и звука в сигналы интерфейса HDMI для вывода их на монитор. В качестве видеочипа используется микросхема NXP TDA19988 HDMI Framer.

Поддерживается максимальное разрешение 1280x1024 @ 60Hz, в таблице 9 показаны поддерживаемые разрешения. Не все разрешения экрана могут работать на всех мониторах, однако они были успешно протестированы на как минимум одном мониторе. На BeagleBone Black поддерживается EDID, на основе чтения EDID из подключенного монитора выбирается самое высокое поддерживаемое разрешение экрана.

Таблица 9. Поддерживаемые разрешения монитора HDMI.

Режим Поддержка звука
800 x 600 @60Hz  
800 x 600 @56Hz  
640 x 480 @75Hz  
640 x 480 @60Hz Да
720 x 400 @70Hz  
1280 x 1024 @75Hz  
1024 x 768 @75Hz  
1024 x 768 @70Hz  
1024 x 768 @60Hz  
800 x 600 @75Hz  
800 x 600 @72Hz  
720 x 480 @60Hz Да
1280 x 720 @60Hz Да
1920x1080@24Hz Да

Примечание: в обновленный образ ПО, используемый в ревизии A5B и более поздних ревизий плат, добавлена поддержка режима 1920x1080 @ 24HZ.

Вывод звука работает только в тех режимах, которые поддерживает CEA. Панели LCD активируются только в CEA-режимах звука. Эта функция заложена в спецификацию, и она не всегда может быть исправлена изменениями в аппаратуре или ПО.

Микросхема TDA19988 это приемопередатчик High-Definition Multimedia Interface (HDMI) 1.4a. Он обратно совместим с DVI 1.0, и может быть подключен к любому приемнику DVI 1.0 или HDMI. Режим HDCP не используется, потому что в дизайне BeagleBone Black используется не-HDCP версия микросхемы.

TDA19988 предоставляет дополнительные встроенные функции наподобие CEC (Consumer Electronic Control). CEC это двунаправленная шина, которая передает CEC в пределах домашней сети (home appliance network), организованной через эту шину. Наличие поддержки CEC устраняет необходимости применения дополнительной микросхемы. Хотя функция CEC поддерживается аппаратно, в настоящий момент в ПО она не реализована, и считается, что CEC не та функция, поддержка которой считается критически важной. CEC может переключить систему в режимы очень малого энергопотребления (very low power Standby или Sleep), чтобы экономить питание, когда HDMI не используется. В микросхему TDA19988 встроен интерфейс мастера шины I2C для коммуникаций по шине DDC и чтения EDID. Эта микросхема может управляться или конфигурироваться через интерфейс шины I2C.

Рис. 44 показывает соединения между процессором и интерфейсом U11 HDMI Framer. Данные экрана передаются через 16-битную шину 5-6-5. Причина, по которой была выбрана шина из 16 бит - совместимость экрана с cape-платами LCD оригинальной BeagleBone. Не используемые биты TDA19988 соединены на землю. Помимо сигналов данных присутствуют также сигналы VSYNC, HSYNC, DE и PCLK, составляющие видеоинтерфейс процессора.

SRM HDMI Framer Processor Interface fig44

Рис. 44. Соединение U11 HDMI Framer с процессором.

Для использования микросхемы TDA19988 процессору нужно её сконфигурировать. Это делается через интерфейс I2C между процессором и TDA19988. 2 ножки TDA19988 используются для установки адреса I2C, в дизайне BBB они подтянуты к лог. 0. Интерфейс I2C поддерживает оба режима скоростей 400kHz и 100KhZ. Таблица 10 показывает адрес I2C.

Таблица 10. Адрес TDA19988 I2C.

HDMI core address
A6 A5 A4 A3 A2 A1 A0 R/W
1 1 1 0 0 x x 0/1

HDMI_INT это сигнал прерывания, поступающий от TDA19988 в процессор, он может использоваться для предупреждения процессора об изменении состояния интерфейса HDMI.

Интерфейс звука. Между процессором и TDA19988 используется аудио-интерфейс I2S. Стереозвук может передаваться в монитор через интерфейс HDMI. Для организации требуемых тактовых частот используется внешний генератор Y4 на 24.576 МГц. Из этой тактовой частоты процессор генерирует требуемые частоты для TDA19988. На рис. 45 показана схема генератора.

SRM 24.576MHZ Oscillator fig45

Рис. 45. Генератор 24.576 МГц.

Примечание: к сожалению, для тактов 24.576 МГц понадобилось использовать ножку процессора, которая раньше работала как GPIO3_21. Чтобы сохранить совместимость с функционалом GPIO3_21, разработчики реализовали способ запретить генератор, если GPIO3_21 нужно использовать на коннекторе расширения P9.

3 сигнала SPI1 используются для передачи данных от процессора в TDA19988. SCLK это такты последовательных бит, SPI1_CS0 данные TDA199888, SPI1_D0 сигнал синхронизации слова. Эти сигналы сконфигурированы как интерфейс I2S.

Качество звука ограничено поддерживаемыми форматами CEA. Панели LCD активируют только режимы звука CEA. Это заложено в спецификации, и не всегда может быть исправлено изменениями в аппаратуре и ПО.

Рис. 46 показывает организацию питания TDA19988. Все напряжения питания 1.8V. Для минимизации шума используется фильтр и блокирующие конденсаторы.

SRM HDMI Power Connections fig46

Рис. 46. Соединения питания HDMI.

Все сигналы между процессором и TDA19988 допускают уровни 3.3V (3.3V tolerant), что позволяет применять прямое соединение.

Рис. 47 показывает интерфейс между TDA19988 и коннектором HDMI.

SRM HDMI Connector Interface Circuitry fig47

Рис. 47. Схема внешнего интерфейса HDMI.

В качестве коннектора HDMI используется разъем microHDMI. Следует отметить, что этот коннектор имеет другую цоколевку в сравнении со стандартными коннекторами HDMI или mini HDMI. Сборки диодов D6 и D7 служат защитой от статического электричества (ESD protection).

[Хост USB]

Плата BBB оборудована одним интерфейсом хоста USB с коннектором USB Type A "мама".

SRM USB Host circuit fig48

Рис. 48. Схема USB Host.

Микросхема U8 это электронный ключ, который позволяет подать питание на коннектор или отключить его, что управляется процессором по сигналу USB1_DRVBUS. Здесь также есть детектирование перегрузки по току, которое может предупредить процессор сигналом USB1_OC, если потребляемый ток превышает допустимый.

U9 защищает сигналы USB от статического электричества (ESD).

Фильтры FB7 и FB8 добавлены для уменьшения излучаемых помех. Сигнал USB1_VBUS используется процессором для детектирования, присутствует ли 5V на коннекторе. FB7 установлен, и FB8 заменяется резистором 0.1 Ом.

[PRU-ICSS]

PRU-ICSS это аппаратный модуль, находящийся внутри процессора AM3358. Доступ к этим выводам осуществляется через коннекторы расширения, и сигналы PRU мультиплицируются с другими функциями платы. Не для всех доступных выводов предоставлен такой доступ.

PRU-ICSS включает 2 независимых программируемые блока/ядра реального времени (Programmable Real-time Unit, сокращенно PRU):

• 32-битная архитектура Load/Store RISC.
• 8K байт instruction RAM (2K инструкций) на ядро.
• 8K байт data RAM на ядро.
• 12K байт общей RAM.
• Рабочая частота 200 МГц.
• PRU работает с данными little endian, как и процессор ARM.
• Все области памяти PRU-ICSS поддерживают четность.
• Имеется контроллер прерывания для обработки системных событий.
• Быстрый интерфейс I/O.

На каждое ядро PRU имеется 16 входов и 16 выходов (не все они доступны на плате BeagleBone Black).

SRM PRU ICSS Block Diagram fig49

Рис. 49. Блок-схема PRU-ICSS.

Выводы PRU0 и PRU1 присутствуют на коннекторах расширения. Некоторые выводы PRU не могут использоваться без предварительного запрета функций платы наподобие, к примеру, LCD. Ниже перечислены порты, к которым можно получить доступ на каждом PRU.

• PRU0: 8 выходов или 9 входов.
• PRU1: 13 выходов или 14 входов.
• UART0_TXD, UART0_RXD, UART0_CTS, UART0_RTS.

Таблица 11 показывает, к каким сигналам PRU-ICSS можно получить доступ на BeagleBone Black, и на каких коннекторах. Некоторые сигналы доступны на одних и тех же выводах.

Таблица 11. Выводы PRU0 и PRU1. PIN - контакт разъема, Шарик - вывод корпуса процессора.

  PIN Шарик Имя      
P8 11 R12 GPIO1_13   pr1_pru0_pru_r30_15 (Output)  
12 T12 GPIO1_12   pr1_pru0_pru_r30_14 (Output)  
15 U13 GPIO1_15   pr1_pru0_pru_r31_15 (Input)  
16 V13 GPIO1_14   pr1_pru0_pru_r31_14 (Input)  
20 V9 GPIO1_31 pr1_pru1_pru_r30_13 (Output) pr1_pru1_pru_r31_13 (Input)  
21 U9 GPIO1_30 pr1_pru1_pru_r30_12 (Output) pr1_pru1_pru_r31_12 (Input)  
27 U5 GPIO2_22 pr1_pru1_pru_r30_8 (Output) pr1_pru1_pru_r31_8 (Input)  
28 V5 GPIO2_24 pr1_pru1_pru_r30_10 (Output) pr1_pru1_pru_r31_10 (Input)  
29 R5 GPIO2_23 pr1_pru1_pru_r30_9 (Output) pr1_pru1_pru_r31_9 (Input)  
39 T3 GPIO2_12 pr1_pru1_pru_r30_6 (Output) pr1_pru1_pru_r31_6 (Input)  
40 T4 GPIO2_13 pr1_pru1_pru_r30_7 (Output) pr1_pru1_pru_r31_7 (Input)  
41 T1 GPIO2_10 pr1_pru1_pru_r30_4 (Output) pr1_pru1_pru_r31_4 (Input)  
42 T2 GPIO2_11 pr1_pru1_pru_r30_5 (Output) pr1_pru1_pru_r31_5 (Input)  
43 R3 GPIO2_8 pr1_pru1_pru_r30_2 (Output) pr1_pru1_pru_r31_2 (Input)  
44 R4 GPIO2_9 pr1_pru1_pru_r30_3 (Output) pr1_pru1_pru_r31_3 (Input)  
45 R1 GPIO2_6 pr1_pru1_pru_r30_0 (Output) pr1_pru1_pru_r31_0 (Input)  
46 R2 GPIO2_7 pr1_pru1_pru_r30_1 (Output) pr1_pru1_pru_r31_1 (Input)  
P9 17 A16 I2C1_SCL pr1_uart0_txd    
18 B16 I2C1_SDA pr1_uart0_rxd    
19 D17 I2C2_SCL pr1_uart0_rts_n    
20 D18 I2C2_SDA pr1_uart0_cts_n    
21 B17 UART2_TXD pr1_uart0_rts_n    
22 A17 UART2_RXD pr1_uart0_cts_n    
24 D15 UART1_TXD pr1_uart0_txd pr1_pru0_pru_r31_16 (Input)  
25 A14 GPIO3_21 pr1_pru0_pru_r30_5 (Output) pr1_pru0_pru_r31_5 (Input)  
26 D16 UART1_RXD pr1_uart0_rxd pr1_pru1_pru_r31_16  
27 C13 GPIO3_19 pr1_pru0_pru_r30_7 (Output) pr1_pru0_pru_r31_7 (Input)  
28 C12 SPI1_CS0 eCAP2_in_PWM2_out pr1_pru0_pru_r30_3 (Output) pr1_pru0_pru_r31_3 (Input)
29 B13 SPI1_D0 pr1_pru0_pru_r30_1 (Output) pr1_pru0_pru_r31_1 (Input)  
30 D12 SPI1_D1 pr1_pru0_pru_r30_2 (Output) pr1_pru0_pru_r31_2 (Input)  
31 A13 SPI1_SCLK pr1_pru0_pru_r30_0 (Output) pr1_pru0_pru_r31_0 (Input)  

[Разъемы расширения]

Интерфейс расширения платы представлен двумя коннекторами P8 и P9, каждый по 46 контактов. Все сигналы на этих разъемах имеют уровни 3.3V, если не указано нечто другое.

Внимание: не подключайте 5V сигналы логики к этим выводам, иначе плата может выйти из строя. Не подавайте никакие напряжения на ножки I/O, когда на плату не подано питание. Это повредит процессор и лишит плату гарантии. Никакой сигнал не может быть использован, пока сигнал SYS_RESET не получит уровень лог. 1.

SRM Expansion Connector Location fig50

Рис. 50. Коннекторы расширения P8 и P9, расположенные по краям платы.

Такие же разъемы, с такими же интервалами, находятся и на оригинальной плате BeagleBone.

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

Примечание: в таблицах 12 и 13 столбец PROC показывает номер шарика корпуса процессора. Столбец PIN показывает номер контакта на разъеме расширения. Столбцы MODE показывают настройку для каждого вывода. ПО отвечает за установку функции по умолчанию для каждого вывода. Некоторые сигналы в таблицах не перечислены. Обратитесь к документации на процессор за получение дополнительной информации по выводам и их функциями. В некоторых случаях может оказаться недостаточное количество сигналов, чтобы реализовать полный интерфейс.

Таблица 12. Разъем расширения P8. PIN - контакт разъема, Шарик - вывод корпуса процессора, MODEx - режим настройки вывода.

Режимы MODE0 .. MODE3:

PIN Шарик Имя MODE0 MODE1 MODE2 MODE3
1, 2   GND
3 R9 GPIO1_6 gpmc_ad6 mmc1_dat6    
4 T9 GPIO1_7 gpmc_ad7 mmc1_dat7    
5 R8 GPIO1_2 gpmc_ad2 mmc1_dat2    
6 T8 GPIO1_3 gpmc_ad3 mmc1_dat3    
7 R7 TIMER4 gpmc_advn_ale   timer4  
8 T7 TIMER7 gpmc_oen_ren   timer7  
9 T6 TIMER5 gpmc_be0n_cle   timer5  
10 U6 TIMER6 gpmc_wen   timer6  
11 R12 GPIO1_13 gpmc_ad13 lcd_data18 mmc1_dat5 mmc2_dat1
12 T12 GPIO1_12 gpmc_ad12 lcd_data19 mmc1_dat4 mmc2_dat0
13 T10 EHRPWM2B gpmc_ad9 lcd_data22 mmc1_dat1 mmc2_dat5
14 T11 GPIO0_26 gpmc_ad10 lcd_data21 mmc1_dat2 mmc2_dat6
15 U13 GPIO1_15 gpmc_ad15 lcd_data16 mmc1_dat7 mmc2_dat3
16 V13 GPIO1_14 gpmc_ad14 lcd_data17 mmc1_dat6 mmc2_dat2
17 U12 GPIO0_27 gpmc_ad11 lcd_data20 mmc1_dat3 mmc2_dat7
18 V12 GPIO2_1 gpmc_clk_mux0 lcd_memory_clk gpmc_wait1 mmc2_clk
19 U10 EHRPWM2A gpmc_ad8 lcd_data23 mmc1_dat0 mmc2_dat4
20 V9 GPIO1_31 gpmc_csn2 gpmc_be1n mmc1_cmd  
21 U9 GPIO1_30 gpmc_csn1 gpmc_clk mmc1_clk  
22 V8 GPIO1_5 gpmc_ad5 mmc1_dat5    
23 U8 GPIO1_4 gpmc_ad4 mmc1_dat4    
24 V7 GPIO1_1 gpmc_ad1 mmc1_dat1    
25 U7 GPIO1_0 gpmc_ad0 mmc1_dat0    
26 V6 GPIO1_29 gpmc_csn0      
27 U5 GPIO2_22 lcd_vsync gpmc_a8    
28 V5 GPIO2_24 lcd_pclk gpmc_a10    
29 R5 GPIO2_23 lcd_hsync gpmc_a9    
30 R6 GPIO2_25 lcd_ac_bias_en gpmc_a11    
31 V4 UART5_CTSN lcd_data14 gpmc_a18 eQEP1_index mcasp0_axr1
32 T5 UART5_RTSN lcd_data15 gpmc_a19 eQEP1_strobe mcasp0_ahclkx
33 V3 UART4_RTSN lcd_data13 gpmc_a17 eQEP1B_in mcasp0_fsr
34 U4 UART3_RTSN lcd_data11 gpmc_a15 ehrpwm1B mcasp0_ahclkr
35 V2 UART4_CTSN lcd_data12 gpmc_a16 eQEP1A_in mcasp0_aclkr
36 U3 UART3_CTSN lcd_data10 gpmc_a14 ehrpwm1A mcasp0_axr0
37 U1 UART5_TXD lcd_data8 gpmc_a12 ehrpwm1_tripzone_in mcasp0_aclkx
38 U2 UART5_RXD lcd_data9 gpmc_a13 ehrpwm0_synco mcasp0_fsx
39 T3 GPIO2_12 lcd_data6 gpmc_a6   eQEP2_index
40 T4 GPIO2_13 lcd_data7 gpmc_a7   eQEP2_strobe
41 T1 GPIO2_10 lcd_data4 gpmc_a4   eQEP2A_in
42 T2 GPIO2_11 lcd_data5 gpmc_a5   eQEP2B_in
43 R3 GPIO2_8 lcd_data2 gpmc_a2   ehrpwm2_tripzone_in
44 R4 GPIO2_9 lcd_data3 gpmc_a3   ehrpwm0_synco
45 R1 GPIO2_6 lcd_data0 gpmc_a0   ehrpwm2A
46 R2 GPIO2_7 lcd_data1 gpmc_a1   ehrpwm2B

Режимы MODE4 .. MODE7:

PIN Шарик Имя MODE4 MODE5 MODE6 MODE7
1, 2   GND
3 R9 GPIO1_6       gpio1[6]
4 T9 GPIO1_7       gpio1[7]
5 R8 GPIO1_2       gpio1[2]
6 T8 GPIO1_3       gpio1[3]
7 R7 TIMER4       gpio2[2]
8 T7 TIMER7       gpio2[3]
9 T6 TIMER5       gpio2[5]
10 U6 TIMER6       gpio2[4]
11 R12 GPIO1_13 eQEP2B_in   pr1_pru0_pru_r30_15 gpio1[13]
12 T12 GPIO1_12 eQEP2a_in   pr1_pru0_pru_r30_14 gpio1[12]
13 T10 EHRPWM2B ehrpwm2B     gpio0[23]
14 T11 GPIO0_26 ehrpwm2_tripzone_in     gpio0[26]
15 U13 GPIO1_15 eQEP2_strobe   pr1_pru0_pru_r31_15 gpio1[15]
16 V13 GPIO1_14 eQEP2_index   pr1_pru0_pru_r31_14 gpio1[14]
17 U12 GPIO0_27 ehrpwm0_synco     gpio0[27]
18 V12 GPIO2_1     mcasp0_fsr gpio2[1]
19 U10 EHRPWM2A ehrpwm2A     gpio0[22]
20 V9 GPIO1_31   pr1_pru1_pru_r30_13 pr1_pru1_pru_r31_13 gpio1[31]
21 U9 GPIO1_30   pr1_pru1_pru_r30_12 pr1_pru1_pru_r31_12 gpio1[30]
22 V8 GPIO1_5       gpio1[5]
23 U8 GPIO1_4       gpio1[4]
24 V7 GPIO1_1       gpio1[1]
25 U7 GPIO1_0       gpio1[0]
26 V6 GPIO1_29       gpio1[29]
27 U5 GPIO2_22   pr1_pru1_pru_r30_8 pr1_pru1_pru_r31_8 gpio2[22]
28 V5 GPIO2_24   pr1_pru1_pru_r30_10 pr1_pru1_pru_r31_10 gpio2[24]
29 R5 GPIO2_23   pr1_pru1_pru_r30_9 pr1_pru1_pru_r31_9 gpio2[23]
30 R6 GPIO2_25       gpio2[25]
31 V4 UART5_CTSN uart5_rxd   uart5_ctsn gpio0[10]
32 T5 UART5_RTSN mcasp0_axr3   uart5_rtsn gpio0[11]
33 V3 UART4_RTSN mcasp0_axr3   uart4_rtsn gpio0[9]
34 U4 UART3_RTSN mcasp0_axr2   uart3_rtsn gpio2[17]
35 V2 UART4_CTSN mcasp0_axr2   uart4_ctsn gpio0[8]
36 U3 UART3_CTSN     uart3_ctsn gpio2[16]
37 U1 UART5_TXD uart5_txd   uart2_ctsn gpio2[14]
38 U2 UART5_RXD uart5_rxd   uart2_rtsn gpio2[15]
39 T3 GPIO2_12   pr1_pru1_pru_r30_6 pr1_pru1_pru_r31_6 gpio2[12]
40 T4 GPIO2_13 pr1_edio_data_out7 pr1_pru1_pru_r30_7 pr1_pru1_pru_r31_7 gpio2[13]
41 T1 GPIO2_10   pr1_pru1_pru_r30_4 pr1_pru1_pru_r31_4 gpio2[10]
42 T2 GPIO2_11   pr1_pru1_pru_r30_5 pr1_pru1_pru_r31_5 gpio2[11]
43 R3 GPIO2_8   pr1_pru1_pru_r30_2 pr1_pru1_pru_r31_2 gpio2[8]
44 R4 GPIO2_9   pr1_pru1_pru_r30_3 pr1_pru1_pru_r31_3 gpio2[9]
45 R1 GPIO2_6   pr1_pru1_pru_r30_0 pr1_pru1_pru_r31_0 gpio2[6]
46 R2 GPIO2_7   pr1_pru1_pru_r30_1 pr1_pru1_pru_r31_1 gpio2[7]

P9. В таблице 13 показана цоколевка коннектора расширения P9. К этому коннектору могут быть подключены другие сигналы с помощью функции мультиплексирования процессора, однако к этой таблице показана установка по умолчанию при включении питания.

Таблица 13. Разъем расширения P9. PIN - контакт разъема, Шарик - вывод корпуса процессора, MODEx - режим настройки вывода.

Режимы MODE0 .. MODE3:

PIN Шарик Имя MODE0 MODE1 MODE2 MODE3
1, 2   GND
3, 4   DC_3.3V
5, 6   VDD_5V
7, 8   SYS_5V
9   PWR_BUT
10 A10 SYS_RESETn
11 T17 UART4_RXD gpmc_wait0 mii2_crs gpmc_csn4 rmii2_crs_dv
12 U18 GPIO1_28 gpmc_be1n mii2_col gpmc_csn6 mmc2_dat3
13 U17 UART4_TXD gpmc_wpn mii2_rxerr gpmc_csn5 rmii2_rxerr
14 U14 EHRPWM1A gpmc_a2 mii2_txd3 rgmii2_td3 mmc2_dat1
15 R13 GPIO1_16 gpmc_a0 gmii2_txen rmii2_tctl mii2_txen
16 T14 EHRPWM1B gpmc_a3 mii2_txd2 rgmii2_td2 mmc2_dat2
17 A16 I2C1_SCL spi0_cs0 mmc2_sdwp I2C1_SCL ehrpwm0_synci
18 B16 I2C1_SDA spi0_d1 mmc1_sdwp I2C1_SDA ehrpwm0_tripzone
19 D17 I2C2_SCL uart1_rtsn timer5 dcan0_rx I2C2_SCL
20 D18 I2C2_SDA uart1_ctsn timer6 dcan0_tx I2C2_SDA
21 B17 UART2_TXD spi0_d0 uart2_txd I2C2_SCL ehrpwm0B
22 A17 UART2_RXD spi0_sclk uart2_rxd I2C2_SDA ehrpwm0A
23 V14 GPIO1_17 gpmc_a1 gmii2_rxdv rgmii2_rxdv mmc2_dat0
24 D15 UART1_TXD uart1_txd mmc2_sdwp dcan1_rx I2C1_SCL
25 A14 GPIO3_21 mcasp0_ahclkx eQEP0_strobe mcasp0_axr3 mcasp1_axr1
26 D16 UART1_RXD uart1_rxd mmc1_sdwp dcan1_tx I2C1_SDA
27 C13 GPIO3_19 mcasp0_fsr eQEP0B_in mcasp0_axr3 mcasp1_fsx
28 C12 SPI1_CS0 mcasp0_ahclkr ehrpwm0_synci mcasp0_axr2 spi1_cs0
29 B13 SPI1_D0 mcasp0_fsx ehrpwm0B   spi1_d0
30 D12 SPI1_D1 mcasp0_axr0 ehrpwm0_tripzone   spi1_d1
31 A13 SPI1_SCLK mcasp0_aclkx ehrpwm0A   spi1_sclk
32   VADC
33 C8 AIN4
34   AGND
35 A8 AIN6
36 B8 AIN5
37 B7 AIN2
38 A7 AIN3
39 B6 AIN0
40 C7 AIN1
41# D14 CLKOUT2 xdma_event_intr1   tclkin clkout2
D13 GPIO3_20 mcasp0_axr1 eQEP0_index   mcasp1_axr0
42@ C18 GPIO0_7 eCAP0_in_PWM0_out uart3_txd spi1_cs1 pr1_ecap0_ecap_capin_apwm_o
B12 GPIO3_18 mcasp0_aclkr eQEP0A_in mcasp0_axr2 mcasp1_aclkx
43..46   GND

Режимы MODE4 .. MODE7:

PIN Шарик Имя MODE4 MODE5 MODE6 MODE7
1, 2   GND
3, 4   DC_3.3V
5, 6   VDD_5V
7, 8   SYS_5V
9   PWR_BUT
10 A10 SYS_RESETn
11 T17 UART4_RXD mmc1_sdcd   uart4_rxd_mux2 gpio0[30]
12 U18 GPIO1_28 gpmc_dir   mcasp0_aclkr_mux3 gpio1[28]
13 U17 UART4_TXD mmc2_sdcd   uart4_txd_mux2 gpio0[31]
14 U14 EHRPWM1A gpmc_a18   ehrpwm1A_mux1 gpio1[18]
15 R13 GPIO1_16 gpmc_a16   ehrpwm1_tripzone_input gpio1[16]
16 T14 EHRPWM1B gpmc_a19   ehrpwm1B_mux1 gpio1[19]
17 A16 I2C1_SCL pr1_uart0_txd     gpio0[5]
18 B16 I2C1_SDA pr1_uart0_rxd     gpio0[4]
19 D17 I2C2_SCL spi1_cs1 pr1_uart0_rts_n   gpio0[13]
20 D18 I2C2_SDA spi1_cs0 pr1_uart0_cts_n   gpio0[12]
21 B17 UART2_TXD pr1_uart0_rts_n   EMU3_mux1 gpio0[3]
22 A17 UART2_RXD pr1_uart0_cts_n   EMU2_mux1 gpio0[2]
23 V14 GPIO1_17 gpmc_a17   ehrpwm0_synco gpio1[17]
24 D15 UART1_TXD   pr1_uart0_txd pr1_pru0_pru_r31_16 gpio0[15]
25 A14 GPIO3_21 EMU4_mux2 pr1_pru0_pru_r30_7 pr1_pru0_pru_r31_7 gpio3[21]
26 D16 UART1_RXD   pr1_uart0_rxd pr1_pru1_pru_r31_16 gpio0[14]
27 C13 GPIO3_19 EMU2_mux2 pr1_pru0_pru_r30_5 pr1_pru0_pru_r31_5 gpio3[19]
28 C12 SPI1_CS0 eCAP2_in_PWM2_out pr1_pru0_pru_r30_3 pr1_pru0_pru_r31_3 gpio3[17]
29 B13 SPI1_D0 mmc1_sdcd_mux1 pr1_pru0_pru_r30_1 pr1_pru0_pru_r31_1 gpio3[15]
30 D12 SPI1_D1 mmc2_sdcd_mux1 pr1_pru0_pru_r30_2 pr1_pru0_pru_r31_2 gpio3[16]
31 A13 SPI1_SCLK mmc0_sdcd_mux1 pr1_pru0_pru_r30_0 pr1_pru0_pru_r31_0 gpio3[14]
32   VADC
33 C8 AIN4
34   AGND
35 A8 AIN6
36 B8 AIN5
37 B7 AIN2
38 A7 AIN3
39 B6 AIN0
40 C7 AIN1
41# D14 CLKOUT2 timer7_mux1 pr1_pru0_pru_r31_16 EMU3_mux0 gpio0[20]
D13 GPIO3_20 emu3 pr1_pru0_pru_r30_6 pr1_pru0_pru_r31_6 gpio3[20]
42@ C18 GPIO0_7 spi1_sclk mmc0_sdwp xdma_event_intr2 gpio0[7]
B12 GPIO3_18   pr1_pru0_pru_r30_4 pr1_pru0_pru_r31_4 gpio3[18]
43..46   GND

PWR_BUT работает с уровнем 5V, который подтянут к лог. 1 внутри микросхемы TPS65217C. Сброс активируется подтягиванием уровня PWR_BUT к земле GND.

# Оба эти сигналы подключены к контакту 41 коннектора P9. Установлены резисторы, которые позволяют удалять соединение для GPIO3_20 с помощью удаления резистора R221.

@ Оба эти сигналы подключены к контакту 42 коннектора P9. Установлены резисторы, которые позволяют удалять соединение для GPIO3_18 помощью удаления резистора R202.

Цель трюков # и @ - позволить для ПО использовать любой из этих сигналов, один или другой, на контакте 41 (или 42). Программа должна установить не используемый вывод в режим входа, когда используется другой вывод. Такой трюк позволяет получить дополнительный сигнал на коннекторе расширения.

Джек питания. Разъем джека DC P1 находится рядом с коннектором RJ45 Ethernet, как показано на рис. 51. Используется такой же коннектор, который использовался на оригинальной BeagleBone. Коннектор рассчитан на джек внутреннего диаметра 2.1 мм (в центре + стабилизированного напряжения 5V DC) и диаметром 5.5 снаружи (GND).

SRM 5VDC Power Jack fig51

Рис. 51. Джек питания 5V DC.

Плате требуется стабилизированное напряжение 5VDC +/-.25V с током 1A. Если через разъемы расширения подключена дополнительная нагрузка, то может потребоваться адаптер с большим выходным током.

Клиент USB. Коннектор клиента USB расположен на обратной стороне платы, под светодиодами пользователя, как показано на рис. 52. Он предназначен только для подключения к хосту PC. Используется кабель miniUSB с 5 контактами, как и на оригинальной плате BeagleBone. Этот кабель может также подавать питание на плату.

SRM miniUSB Client fig52

Рис. 52. Разъем клиента USB.

Хост USB. На плате BBB есть один коннектор хоста USB P3, показанный на рис. 53 ниже.

SRM USB Host Connector fig53

Рис. 53. Разъем хоста USB.

Этот порт совместим со спецификацией USB 2.0 HS и может выдать ток до 500 мА. Если нужно больше портов хоста, то используйте хаб. Если нужен ток для устройств больше 500 мА, то у хаба должен быть источник питания.

Serial Debug. На каждой плате есть интерфейс вывода отладочных сообщений через TTL UART с уровнями логики 3.3V, см. рис. 54.

SRM serialport pins

Рис. 56. Разъем Serial Debug.

На этом коннекторе задействовано только 3 контакта - GND (контакт 1), RX (контакт 4), TX (контакт 5). Другие контакты не используются. Чтобы использовать доступ к консоли Serial Debug, необходим переходничок USB - TTL UART на основе чипа FTDI или любой другой кабель на дешевом чипе, например CH340. Такие кабели в большом ассортименте продаются на AliExpress.

HDMI. Коннектор microHDMI находится на обратной стороне платы, рядом со слотом карты microSD,

SRM microHDMI fig57

Рис. 57. Коннектор microHDMI.

microSD. Слот карты microSD также находится на обратной стороне платы.

SRM microSD fig59

Рис. 59. Коннектор microSD.

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

Ethernet. На плате BBB есть интерфейс 10/100 Ethernet, см. рис. 60.

SRM RJ45 Ethernet Connector fig60

Рис. 60. Коннектор RJ45 Ethernet.

Микросхема PHY U14 LAN8710A поддерживает AutoMDX, поэтому можно использовать как прямой, так и скрестный кабель Ethernet.

JTAG. На плате BBB предусмотрено место для установки опционального 20-выводного коннектора CTI JTAG. JTAG используется для отладки и разработки ПО с помощью различных эмуляторов. Коннектор JTAG имеет шаг выводов 1.27 мм, его необходимо припаять самостоятельно, другие компоненты не нужны (коннектор можно купить на DigiKey, part number FTR-110-03-G-D-06).

На плату BeagleBone Black можно установить бутербродом до 4 cape-плат расширения путем подключения к коннекторам расширения P8 и P9. Термин cape произошел из-за формы выреза в плате, который повторяет форму коннектора Ethernet основной платы. Этот вырез работает как ключ, благодаря чему плату расширения нельзя установить наоборот.

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

Благодаря этому руководству Вы можете сами разрабатывать cape-платы. Описанные здесь правила не накладывают ограничения на создание cape-плат и на то, что они должны делать, однако следует выполнять базовый набор правил, обеспечивающих для ПО возможность управлять платами и использовать их совместно. С течением времени возможно эта спецификация может поменяться или обновиться, поэтому пожалуйста используйте последнюю версию этого руководства [1].

Разъемы расширения BeagleBone Black имеют такую же цоколевку, что и у оригинальной BeagleBone. В то время как контакты те же самые, некоторые из них могут использоваться по-другому, с учетом возможностей BeagleBone Black.

Разъем Power Expansion на плате BeagleBone Black был удален.

[Выводы LCD]

Эти сигналы используются на BeagleBone Black для управления микросхемой HDMI Framer U11 TDA19988, они перечислены в таблице 15 ниже.

Таблица 15. Сигналы LCD P8, конфликтующие с HDMI Framer. PIN - номер контакта P8, Шарик - обозначение вывода корпуса процессора.

PIN Шарик Имя MODE0
27 U5 GPIO2_22 lcd_vsync
28 V5 GPIO2_24 lcd_pclk
29 R5 GPIO2_23 lcd_hsync
30 R6 GPIO2_25 lcd_ac_bias_en
31 V4 UART5_CTSN lcd_data14
32 T5 UART5_RTSN lcd_data15
33 V3 UART4_RTSN lcd_data13
34 U4 UART3_RTSN lcd_data11
35 V2 UART4_CTSN lcd_data12
36 U3 UART3_CTSN lcd_data10
37 U1 UART5_TXD lcd_data8
38 U2 UART5_RXD lcd_data9
39 T3 GPIO2_12 lcd_data6
40 T4 GPIO2_13 lcd_data7
41 T1 GPIO2_10 lcd_data4
42 T2 GPIO2_11 lcd_data5
43 R3 GPIO2_8 lcd_data2
44 R4 GPIO2_9 lcd_data3
45 R1 GPIO2_6 lcd_data0
46 R2 GPIO2_7 lcd_data1

Если нужно использовать эти выводы для других функций, то учитывайте следующее:

• На микросхеме HDMI Framer U11 TDA19988 все эти сигналы являются входами, так что микросхема U11 не управляет ими.

• Микросхема HDMI добавит некоторую нагрузку на эти выводы.
• На этих сигналах имеются конденсаторы небольшой емкости, которые могут повлиять на работу сигналов, если они используются для других функций.
• При использовании этих сигналов для других функций HDMI Framer использоваться не может.
• Нет способа снять питание с микросхемы HDMI Framer, потому что в таком случае через её входы будет подаваться паразитное питание. Единственный способ полностью устранить потребление тока HDMI Framer U11 TDA19988 это выпаять её, что возможно не самая лучшая идея.

• Эти выводы также работают для функции SYSBOOT. Не управляйте ими до того, как сигнал SYS_RESETN перейдет на уровень лог. 1. Иначе плата может не загрузиться, потому что поменяется порядок загрузки процессора.

Чтобы использовать эти выводы, ПО должно переконфигурировать их в ту функцию, которая нужна. Чтобы сохранить низкое потребление, HDMI Framer U11 должен быть переведен в режим low power через интерфейс I2C0.

[Выводы eMMC]

BeagleBone Black использует для этой функции 10 ножек процессора, которые выведены на коннектор расширения P8. Эти сигналы перечислены в таблице 16. Соответствующий режим - MODE2.

Таблица 16. Сигналы P8, конфликтующие с eMMC.

PIN Шарик Сигнал MODE
3 R9 MMC1_DAT6 1
4 T9 MMC1_DAT7 1
5 R8 MMC1_DAT2 1
6 T8 MMC1_DAT3 1
20 V9 MMC1_CMD 2
21 U9 MMC1_CLK 2
22 V8 MMC1_DAT5 1
23 U8 MMC1_DAT4 1
24 V7 MMC1_DAT1 1
25 U7 MMC1_DAT0 1

Если нужно использовать эти выводы для других функций, то учитывайте следующее:

• На микросхеме eMMC эти сигналы работают как входы и выходы.
• Микросхема eMMC добавляет на эти выводы некоторую нагрузку.
• Когда используются эти выводы для других функций, eMMC использовать нельзя. Это значит, что необходимо использовать для загрузки слот microSD.
• Когда используются эти выводы для других функций, eMMC необходимо перевести в состояние сброса. Для этого необходимо, чтобы eMMC была доступна для процессора, чтобы можно было настроить режим eMMC.
• Не следует управлять выводами eMMC, пока она не переведена в reset. Это значит, что если был сделан выбор использовать эти выводы, то на них нельзя выводить никакой сигнал, пока это не будет разрешено программно. Это требует применения управляемого буфера или какого-то другого способа разрешения доступа, реализованного с помощью сигнала управления ножкой GPIO на разъеме расширения.

После подачи питания eMMC не находится в состоянии reset. Если удерживать кнопку Boot, это принудительно запустит загрузку с карты microSD. Это неудобный способ загрузки, особенно когда к BBB подключена cape-плата. Есть 2 решения этой проблемы:

1. Сотрите данные eMMC, оставив её чистой. Это заставит Code ROM использовать по умолчанию загрузку c microSD. Если Вы захотите использовать eMMC позже, она может быть перепрограммирована.
2. Также можно во время загрузки удерживать сигнал LCD_DATA2 в лог. 0 через cape-плату. Это будет то же самое, что и удержание кнопки Boot. Однако, чтобы предотвратить непредвиденные проблемы, необходимо разрешать пропускать этот сигнал лог. 0 на LCD_DATA2 через управление от сигнала RESET, когда считываются выводы загрузки. После того, как сигнал RESET перейдет в лог. 1, лог. 0 на LCD_DATA2 должен быть снят.

До того, как ПО переинициализирует выводы в другой режим, необходимо перевести eMMC в состояние reset. Это делается удержанием сигнала eMMC_RSTn (GPIO1_20) в логю. 0 после перевода eMMC в режим разрешения линии сброса. Этот сигнал не выведен на разъем расширения, и доступен только на плате BBB.

Не допускайте автоматически управления любыми конфликтующими выводами, пока ПО не разрешит это. ПО должно сначала убедиться, что eMMC в состоянии reset перед использованием сигналов cape-платы. Для этого можно использовать разрешающий сигнал одной из ножек GPIO. Разработчики BBB не определили для этой цели какой-то специальный вывод, этот выбор должен сделать разработчик ПО и cape-платы.

[EEPROM]

На каждой cape-плате должна быть собственная микросхема EEPROM, где содержится информация, по которой ПО может идентифицировать плату и сконфигурировать соответствующим образом ножки коннекторов расширения. Исключение из этого правила - платка proto, предназначенная для макетирования, на ней не обязательно должна быть EEPROM. Микросхема EEPROM требуется для всех cape-плат, чтобы они корректно работали совместно при подключении к BeagleBone Black.

Адрес EEPROM устанавливается либо перемычками, либо DIP-переключателями платы расширения. На рис. 61 показана схема подключения EEPROM.

SRM Expansion Board EEPROM Without Write Protect fig61

Рис. 61. EEPROM платы расширения без защиты от записи.

EEPROM на BeagleBone Black используется такое же, как и на BeagleBone, это микросхема CAT24C256. CAT24C256 это 256 kb Serial CMOS EEPROM, организованный внутри как 32768 слов, каждое из 8 бит. В CAT24C256 реализован 64-байтный буфер страницы, и поддерживает режимы скорости Standard (100 кГц), Fast (400 кГц) и Fast-Plus (1 МГц) протокола I2C.

Адресация в микросхеме CAT24C256 требует 2 байт адреса, что не используется в микросхемах I2C EEPROM меньшего размера, которые требуют для адреса только 1 байт. Могут также использоваться и другие совместимые микросхемы памяти I2C. Убедитесь, что выбранная микросхема поддерживает 16-битную адресацию.

Адрес EEPROM. Чтобы каждая cape-плата расширения имела уникальный адрес, используется схема ID, основанная на перемычках (или DIP-переключателей) адреса I2C микросхем EEPROM, установленных на cape-платах расширения.

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

Адресная линия A2 всегда подтянута к лог. 1. Это устанавливает допустимый диапазон адресов для карт расширения от 0x54 до 0x57. Все другие I2C-адреса могут использоваться в разработке своих cape-плат. Однако эти адреса не должны использоваться для других целей, отличающихся от хранения информации плат в EEPROM. Этот принцип также позволяет подключать микросхемы EEPROM на cape-плате по мере необходимости без влияния на содержимое этой EEPROM. Это требует, чтобы A2 был заземлен на той микросхеме EEPROM, которая не используется для идентификации cape-платы.

Шина I2C. Микросхемы EEPROM на каждой плате расширения подключены к I2C2 через выводы 19 и 20 коннектора P9. По этой причине I2C2 всегда должен быть подключен, его установки мультиплексора не должно перенастраивать ПО с целью удаления I2C2 с коннектора расширения. Иначе система не сможет определить подключение cape-плат.

Сигналы I2C требуют верхних подтягивающих резисторов (pullup). На этих сигналах на каждой плате должны быть соответствующие резисторы 5.6K. Если установлены 4 cape-платы, то в результате получится нагрузочный резистор 1.4K. По мере добавления cape-плат сопротивление подтягивающих резисторов уменьшается, и емкость шины увеличивается. Если ни одна из cape-плат не установлена, на I2C2 должны быть активированы внутренние pullup- резисторы, чтобы исключить таймауты шины I2C.

Шина I2C2 может также быть использована для других функций, таких как расширение ввода/вывода, или для подключения других I2C-совместимых устройств, которые не конфликтуют по адресам с cape EEPROM.

EEPROM Write Protect. На схеме рис. 62 показана схема с возможностью деактивации защиты от записи (write protect). Если защита от записи не разрешена, то не исключена возможность повреждения содержимого EEPROM, если шина I2C2 используется неправильно и была произведена ошибочная запись. Рекомендуется реализовать функцию защиты от записи и добавить для этого контрольную точку (на схеме это TP2), которая при заземлении позволит выполнять запись в EEPROM. Чтобы разрешить операцию записи, вывод 7 микросхемы EEPROM должен быть подтянут к лог. 0 (GND). Когда нет подтяжки к земле, на выводе 7 получается лог. 1 через pullup-резистор R210, и защита от записи активируется.

SRM Expansion Board EEPROM Write Protect fig62

Рис. 62. EEPROM платы расширения и управление функцией Write Protect.

[Память для переменных и MAC]

Таблица 17 показывает формат содержимого EEPROM платы расширения. Данные сохраняются в формате Big Endian, где самый значащий байт находится справа. Все адреса EEPROM считываются как один байт данных, но в адресации используется 2 байта. Значения ASCII предназначены для упрощения чтения пользователем, когда содержимое EEPROM представлено в виде дампа.

Таблица 17. Expansion Board EEPROM.

Имя Смещение Размер (байт) Содержимое
Header 0 4 0xAA, 0x55, 0x33, 0xEE
EEPROM Revision 4 2 Номер ревизии общего формата этого EEPROM, представленный в виде двух символов ASCII: A1
Board Name 6 32 Имя платы в виде текста ASCII, которое пользователь может прочитать в дампе EEPROM. Разработчик может дать произвольное имя своей плате.
Version 38 4 Код версии аппаратуры в ASCII. Формат версии определяет разработчик, например 02.1, 00A1, 10A0.
Manufacturer 42 16 Имя производителя в ASCII.
Part Number 58 16 Обозначение номера (кода) изделия в ASCII. Формат определяет разработчик.
Number of Pins 74 2 Количество контактов, используемых дочерней платой, включая используемые контакты питания. Десятичное значение общего количества контактов на разъемах расширения 92. Значение хранится HEX-формате.
Serial Number 76 12 Серийный номер платы. Это строка из 12 символов в формате WWYY&&&&nnnn, где:

WW = 2 цифры недели производства
YY = 2 цифры года производства
&&&& = код сборки, позволяющий производителю документировать номер сборки своей продукции. Это дает быстрый способ прочитать серийный номер платы. Как этот код используется, определяет производитель.
nnnn = инкрементируемое число в пределах недели производства.
Pin Usage 88 148 Выделяется по 2 байта на каждый из 74 конфигурируемых вывода коннекторов расширения, порядок бит от MSB к LSB: 15, 14, .., 1, 0.

15: используется вывод или нет. 0 не используется cape-платой, 1 используется.
14-13: направление работы вывода. 10 вывод, 01 ввод, 11 двунаправленная работа.
12-7: зарезервировано, здесь должны быть нули.
6: скорость переключения (Slew Rate). 0 Fast, 1 Slow.
5: разрешение приема (Rx Enable). 0 запрещено, 1 разрешено.
4: выбор типа подтяжки вывода (Pull Up/Dn Select). 0 Pulldown, 1 PullUp.
3: разрешение подтяжки (Pull Up/DN). 0 разрешено, 1 запрещено.
2-0: выбор мультиплексирования режима работы вывода (Mux Mode Selection, Mode 0-7).
VDD_3V3B Current 236 2 Максимальный ток потребления в миллиамперах. Здесь указано HEX-значение тока в десятичном формате, например: 1500mA=0x05 0xDC, 325mA=0x01 0x45.
VDD_5V Current 238 2
SYS_5V Current 240 2
DC Supplied 242 2 Показывает, предоставляет ли плата расширения напряжение питания на шине VDD_5V. 000 не предоставляет, 1 .. 0xFFFF предоставляемый ток, сохраненный в HEX-формате десятичного значения тока в миллиамперах.
Available 244 32543 Доступное свободное пространство для любых энергонезависимых кодов/данных. Оно при необходимости может использоваться производителем или программным драйвером. Также здесь можно хранить настройки для программного обеспечения.

Использование выводов. Таблица 18 показывает ячейки EEPROM, настраивающие использование ножек I/O на cape-плате расширения. Таблица содержит значение для записи в регистры управления ножками процессора (Pad Control Registers). Подробную информацию можно найти в секции 9.2.2 руководства AM3358 Technical Reference Manual [4]. Таблица оставлена пустой для удобства, и может быть распечатана как шаблон для создания пользовательских настроек каждой cape-платы. 16-битные числа и все 16-битные поля сохраняются в формате Big Endian.

15 PIN USAGE этот бит показывает использование вывода. В нем должна быть лог. 1, если вывод используется, и лог. 0, если не используется.
14-7 RESERVED эти биты не используются, и в них должен быть лог. 0.
6 SLEW CONTROL определяет скорость переключения ножки порта: 0 быстрое переключение (Fast), 1 медленное переключение (Slow).
5 RX Enabled показывает разрешение приема: 0 запрещено, 1 разрешено.
4 PU/PD тип подтяжки: 0 Pulldown, 1 Pullup.
3 PULLUP/DN разрешение подтяжки: 0 подтяжка pullup/pulldown разрешена, 1 запрещена.
2-0 MUX MODE SELECT выбор режима 0-7 работы вывода с помощью мультиплексора (см. руководство TRM [4]).

Выводы AIN0 .. AIN6 не имеют настроек мультиплексора, но необходимо их настроить, чтобы показать использование на cape-плате. Для сигналов AINx используется только бит 15.

Таблица 18. Настройки использования выводов в памяти EEPROM.

+ + + 15 14 13 12 11 10 9 8 7 6 5
Offset Conn Name Pin Usage Type + Reserv. + + SLEW RX PU/PD PU/DEN Mux Mode
88 P9-22 UART2_RXD + + + + + + + + + + +
90 P9-21 UART2_TXD + + + + + + + + + + +
92 P9-18 I2C1_SDA + + + + + + + + + + +
94 P9-17 I2C1_SCL + + + + + + + + + + +
96 P9-42 GPIO0_7 + + + + + + + + + + +
98 P8-35 UART4_CTSN + + + + + + + + + + +
100 P8-33 UART4_RTSN + + + + + + + + + + +
102 P8-31 UART5_CTSN + + + + + + + + + + +
104 P8-32 UART5_RTSN + + + + + + + + + + +
106 P9-19 I2C2_SCL + + + + + + + + + + +
108 P9-20 I2C2_SDA + + + + + + + + + + +
110 P9-26 UART1_RXD + + + + + + + + + + +
112 P9-24 UART1_TXD + + + + + + + + + + +
114 P9-41 CLKOUT2 + + + + + + + + + + +
116 P8-19 EHRPWM2A + + + + + + + + + + +
118 P8-13 EHRPWM2B + + + + + + + + + + +
120 P8-14 GPIO0_26 + + + + + + + + + + +
122 P8-17 GPIO0_27 + + + + + + + + + + +
124 P9-11 UART4_RXD + + + + + + + + + + +
126 P9-13 UART4_TXD + + + + + + + + + + +
128 P8-25 GPIO1_0 + + + + + + + + + + +
130 P8-24 GPIO1_1 + + + + + + + + + + +
132 P8-5 GPIO1_2 + + + + + + + + + + +
134 P8-6 GPIO1_3 + + + + + + + + + + +
136 P8-23 GPIO1_4 + + + + + + + + + + +
138 P8-22 GPIO1_5 + + + + + + + + + + +
140 P8-3 GPIO1_6 + + + + + + + + + + +
142 P8-4 GPIO1_7 + + + + + + + + + + +
144 P8-12 GPIO1_12 + + + + + + + + + + +
146 P8-11 GPIO1_13 + + + + + + + + + + +
148 P8-16 GPIO1_14 + + + + + + + + + + +
150 P8-15 GPIO1_15 + + + + + + + + + + +
152 P9-15 GPIO1_16 + + + + + + + + + + +
+ + + 15 14 13 12 11 10 9 8 7 6 5
Offset Conn Name Pin Usage Type + Reserv. + + SLEW RX PU/PD PU/DEN Mux Mode
154 P9-23 GPIO1_17                      
156 P9-14 EHRPWM1A                      
158 P9-16 EHRPWM1B                      
160 P9-12 GPIO1_28                      
162 P8-26 GPIO1_29                      
164 P8-21 GPIO1_30                      
166 P8-20 GPIO1_31                      
168 P8-18 GPIO2_1                      
170 P8-7 TIMER4                      
172 P8-9 TIMER5 + + + + + + + + + + +
174 P8-10 TIMER6 + + + + + + + + + + +
176 P8-8 TIMER7 + + + + + + + + + + +
178 P8-45 GPIO2_6 + + + + + + + + + + +
180 P8-46 GPIO2_7 + + + + + + + + + + +
182 P8-43 GPIO2_8 + + + + + + + + + + +
184 P8-44 GPIO2_9 + + + + + + + + + + +
186 P8-41 GPIO2_10 + + + + + + + + + + +
188 P8-42 GPIO2_11 + + + + + + + + + + +
190 P8-39 GPIO2_12 + + + + + + + + + + +
192 P8-40 GPIO2_13 + + + + + + + + + + +
194 P8-37 UART5_TXD + + + + + + + + + + +
196 P8-38 UART5_RXD + + + + + + + + + + +
198 P8-36 UART3_CTSN + + + + + + + + + + +
200 P8-34 UART3_RTSN + + + + + + + + + + +
202 P8-27 GPIO2_22 + + + + + + + + + + +
204 P8-29 GPIO2_23 + + + + + + + + + + +
206 P8-28 GPIO2_24 + + + + + + + + + + +
208 P8-30 GPIO2_25 + + + + + + + + + + +
210 P9-29 SPI1_D0 + + + + + + + + + + +
212 P9-30 SPI1_D1 + + + + + + + + + + +
214 P9-28 SPI1_CS0 + + + + + + + + + + +
216 P9-27 GPIO3_19 + + + + + + + + + + +
218 P9-31 SPI1_SCLK + + + + + + + + + + +
220 P9-25 GPIO3_21 + + + + + + + + + + +
+ + + 15 14 13 12 11 10 9 8 7 6 5
Offset Conn Name Pin Usage Type + Reserv. + + SLEW RX PU/PD PU/DEN Mux Mode
222 P9-39 AIN0 + + + + + + + + + + +
224 P9-40 AIN1 + + + + + + + + + + +
226 P9-37 AIN2 + + + + + + + + + + +
228 P9-38 AIN3 + + + + + + + + + + +
230 P9-33 AIN4 + + + + + + + + + + +
232 P9-36 AIN5 + + + + + + + + + + +
234 P9-35 AIN6 + + + + + + + + + + +

[Использование выводов управления загрузкой]

У процессора есть 16 ножек, которые управляют его режимом загрузки (boot mode), эти выводы представлены на коннекторах расширения. Рис. 63 показывает эти сигналы, где они находятся на BeagleBone Black:

SRM Expansion Boot Pins fig63

Рис. 63. Выводы управления загрузкой, выведенные на разъем расширения P8.

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

Если Вы разрабатываете cape-плату, которая должна использоваться как источник загрузки, такую как плата NAND, то тогда необходимо управлять этими выводами, чтобы переконфигурировать boot mode, но только при сбросе. После фазы сброса эти сигналы не должны управляться, чтобы можно было использовать эти выводы для других функций. Понадобится изменить значения резисторов, чтобы поменять настройки. Требования к DC pull-up должны основываться на минимальном напряжении AM3358 Vih, равном 2V, и на максимальном токе утечки входа AM3358 приблизительно 18 мкА. Также надо учитывать другие пути токов утечки на этих сигналах, что зависит от дизайна определенной cape-платы.

Соответственно DC pull-down требования должны основываться на максимально допустимом напряжении AM3358 Vil, равном 0.8V, и на максимальном входном токе утечки AM3358 приблизительно 18 мкА, плюс должны быть учтены другие возможные направления утечки на этих сигналах.

[Коннекторы расширения]

Комбинация разъемов "мама" и "папа" используется для подключения cape-плат к разъемам расширения основной платы BBB. Для коннекторов расширения cape-платы возможны 3 конфигурации монтажа, определяющих возможности соединения плат в виде стека ("бутерброда"):

• Одиночная конфигурация - к BBB может подключаться только одна cape-плата, либо она должна находится на верхней части "бутерброда".
• Поддержка соединения в стек - имеются коннекторы "папа/мама", расположенные друг над другом, что дает возможность подключения cap-плат стек, одна над другой.
• Стек с сокрытием некоторых сигналов. Платы можно соединять в стек, но верхние платы теряют доступ к некоторым сигналам.

Одиночная конфигурация. Это самый простой вариант коннектора для cape-платы, показанный на рис. 64. Такая плата не дает возможности нарастить "бутерброд" поверх себя, т. е. она должна быть единственной подключенной платой, либо должна быть последней в стеке. Оба коннектора расширения одинаковые, на них имеются только штырьки. Используются стандартные коннекторы "папа", представляющие два ряда штырьков по 23 контакта с шагом 2.54 мм.

SRM Single Expansion Connector Male fig64

Рис. 64. Одиночный коннектор разъемов расширения.

Этот коннектор монтируется с обратной стороны cape-платы, как показано на рис. 65. Это самые распространенные соединители, и их найти проще всего. Можно использовать как двухрядные коннекторы, так и два однорядных, смонтированных рядом.

SRM Single Cape Expansion Connector fig65

Рис. 65. Коннектор разъемов расширения, смонтированный на cape-плате.

92 штырька на обоих разъемах приводят к тому, что cap-платы довольно трудно устанавливать и извлекать. Поэтому разработчик может принять решение не устанавливать ненужные штырьки, чтобы снизить усилия, прикладываемые для соединения/разъединения разъемов.

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

Таблица 19. Информация для покупки коннекторов "папа". Размеры указаны в дюймах (в скобках в мм).

Поставщик PARTNUMBER Длина хвостика для пайки, дюймы (мм) Выступ над платой в месте пайки, дюймы (мм)
Major League TSHC-123-D-03-145-G-LF 0.145 (3.68) 0.004 (0.1)
Major League TSHC-123-D-03-240-G-LF 0.240 (6.1) 0.099 (2.51)
Major League TSHC-123-D-03-255-G-LF 0.255 (6.48) 0.114 (2.89)

Буква G в обозначении part number показывают покрытие контактов золотом (Gold), могут использоваться и другие варианты покрытий контактов.

Поддержка соединения в стек. Для этого варианта оба коннектора расширения используют одинаковые разъемы по краям, с удлиненными ножками, как показано на рис. 66..

SRM Dual Stacked Expansion Connector fig66

Рис. 66. Коннектор, дающий возможность соединять платы в стек.

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

SRM Stacked Cape Expansion Connector fig67

Рис. 67. Коннектор разъемов расширения, смонтированный на cape-плате.

Подобные коннекторы найти труднее. В таблице 20 перечислены возможные варианты выбора коннекторов, которые можно использовать при покупке.

Таблица 20. Информация для покупки коннекторов с возможностью получения стека.

Поставщик PARTNUMBER Длина хвостика для пайки, дюймы (мм) Выступ над платой в месте пайки, дюймы (мм)
Major League SSHQ-123-D-06-G-LF 0.190 (4.83) 0.049 (1.24)
Major League SSHQ-123-D-08-G-LF 0.390 (9.9) 0.249 (6.32)
Major League SSHQ-123-D-10-G-LF 0.560 (14.2) 0.419 (10.64)

Стек с сокрытием некоторых сигналов. На рис. 68 показана конфигурация коннекторов, когда для установленных сверху cape-плат теряется доступ к определенным выводам. Эта конфигурация может быть полезной, если другие устанавливаемые платы потенциально могут помешать работе этой платы расширения. Здесь используется комбинация сквозных (папа-мама) и одиночных (только папа) соединителей.

SRM Stacked wSignal Stealing Expansion Connector fig68

Рис. 68. Монтаж коннектора, где некоторые сигналы скрыты для верхних плат стека.

[Система питания]

В этом разделе описываются шины питания и их использование.

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

Таблица 21. Напряжения для питания плат расширения.

Ток Имя P9 P9 Имя Ток
250 мА VDD_3V3B 3 4 VDD_3V3B 250 мА
1000 мА VDD_5V 5 6 VDD_5V 1000 мА
250 мА SYS_5V 7 8 SYS_5V 250 мА

VDD_3V3B эта шина получает напряжение от LDO-регулятора на плате BeagleBone Black, и это основной источник питания для плат расширения. Если тока от этого источника недостаточно, то необходима организация дополнительного внешнего питания. Рекомендуется использовать VDD_3V3B для питания любых буферов и преобразователей уровня.

VDD_5V это основной источник питания, напряжения для него поступает с джека 5VDC P1. Если плата питается от USB, то напряжение VDD_5V отсутствует. Величина тока, которую можно взять от этой шины, зависит от возможностей внешнего адаптера 5V, а также других дополнительных нагрузок. Дизайн основной платы рассчитан на ток не более 1A.

SYS_5V шина для регуляторов напряжения основной платы. При питании от джека DC или от USB на этой шине всегда присутствует +5V. Ток, который можно снять с этой шины, зависит от текущего доступного тока USB и нагрузочной способности внешнего DC-адаптера.

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

Можно предоставить питание +5V для основной платы, подаваемое от платы расширения, для этого напряжение +5V подается на шину VDD_5V. Имейте в виду, что подаваемое напряжение не должно превышать 5V. Нельзя подавать никакие другие напряжения питания на другие контакты коннекторов расширения. Дизайн платы BBB рассчитан на токи через контакты не более 1А.

Для предотвращения повреждения платы при работе с коннекторами расширения необходимо принять несколько мер предосторожности:

1. Не подавайте напряжения ни на какие контакты ввода/вывода, если на плату не подано питание. Несоблюдение этого условия может повредить процессор из-за чрезмерных токов, протекающих через внутренние защитные цепи чипа процессора.
2. Не подавайте никакие внешние сигналы на ножки ввода/вывода, пока не установится напряжение шины VDD_3V3B.
3. Не подавайте никакие напряжения, генерируемые от внешних источников.
4. Если напряжения питания генерируются от шины VDD_5V, они не должны активироваться, пока не установится напряжение на шине VDD_3V3B.
5. Если Вы подаете сигналы на BBB от другой платы, то убедитесь, что это делается после включения питания на BBB, и соединение сигналами устанавливается после подачи питания на обе платы.

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

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

Стандартный размер cape-платы. Рис. 70 показывает габариты стандартной палаты расширения. Размеры указаны в дюймах, в скобках указаны соответствующие размеры в миллиметрах.

SRM Cape Board Dimensions fig70

Рис. 70. Размеры cape-платы.

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

Часто задают вопрос, почему различаются радиусы скругления углов BeagleBone Black. Это сделано для того, чтобы BeagleBone помещалась в жестяную коробочку от леденцов Altoids.

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

Как и для всех cape-плат, необходима идентификационная память EEPROM и соблюдение требований совместимости по питанию.

[Ссылки]

1. BeagleBone Black System Reference Manual site:github.com.
2. BeagleBoard: доступ к командной строке терминала.
3. BeagleBone Cookbook site:beagleboard.org.
4. AM335x and AMIC110 Sitara™ Processors Technical Reference Manual site:ti.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page