BeagleBone Black: системное руководство |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В этой статье приведен перевод наиболее интересных с моей точки зрения моментов руководства [1], посвященного плате разработчика BeagleBone Black (BBB). Базовая информация, необходимая для быстрого старта, приведена в руководстве Quick Start Guide, доступном на сайте beagleboard.org. BBB может быть сконфигурирована несколькими способами, однако для простоты будут рассмотрены только два базовых сценария использования. 1. BBB подключена к хосту PC кабелем USB. - BBB доступна как USB-флешка (MSD). 2. BBB используется как самостоятельная рабочая станция. - Подключен монитор. В этой конфигурации BBB плата получает питание через кабель USB, которым осуществлено соединение с хостом PC, друге кабели не требуются. Плата видна на хосте PC как флешка (USB storage drive) или как веб-сервер, к которому можно подключиться через браузер (используйте Firefox или Chrome, бразуер IEx не будет работать должным образом). Для подключения и подачи питания предназначен разъем P4, расположенный на обратной стороне платы BBB. Рис. 3. Коннектор miniUSB P4. Примечание: питания, поступающего от кабеля USB, в таком сценарии иногда недостаточно, необходимо также подключать внешний источник питания DC 5V. Рис. 4. Светодиод Power LED, сигнализирующий о включении питания. Когда плата начинает свой процесс загрузки (по умолчанию прошита OS Debian) после подачи питания, светодиоды (LED) USER0, USER1, USER2, USER3 начнут зажигаться, как показано на рис. 5 ниже. Через несколько секунд все светодиоды на некоторое зажгутся, после чего начнется процесс загрузки ядра Linux Debian, и светодиоды начнут перемигиваться в случайном порядке. Рис. 5. Board Boot Status. Примерно через 10 секунд на компьютере появится USB флешка BBB, на котором находится файл START.htm, доступный для просмотра в браузере (одна из версий документа Getting Started). В этой конфигурации плата работает как обычный компьютер. Примечание: в графическом режиме, как обычный десктоп, платку BBB использовать практически невозможно. Да, все как бы работает, но слишком медленно. Браузер Chromium загружает процессор на 100%, ролики на YouTube просмотреть невозможно, все программы запускаются очень долго.
Рис. 6. Десктоп на основе BBB. Для работы в качестве самостоятельной рабочей станции могут понадобиться дополнительные подключения и комплектующие: - Кабель Ethernet - необходим для подключения к локальной сети и Интернет. Рис. 10. Коннектор хоста USB. Примечание: имейте в виду, что порт хоста USB платы BBB может выдавать ток не более 500 мА, поэтому лучше всего использовать хаб с внешним источником питания. Для подключения монитора используется коннектор и кабель microHDMI. Рис. 14. Подключение монитора через разъем microHDMI. Коннектор microHDMI не выглядит очень надежным. Используйте его с осторожностью, не прилагая излишних механических нагрузок. Загрузка системы. В процессе загрузки светодиоды USERx будут мигать (см. рис. 5 выше). Хотя пользователь может запрограммировать мигание светодиодов USERx по своему усмотрению, по умолчанию они показывают следующие состояния ядра Linux: USER0 - heartbeat индикатор Linux kernel. Когда начнет загружаться Linux, на экране монитора может появиться курсор мыши. Чтобы он появился, попробуйте перемещать свою мышь. Система может перейти в режим приостановки (suspend mode) с портом HDMI в режиме сна (sleep mode). Через минуту-две появится экран запроса логина и пароля, но ничего с этим делать не нужно. Затем через некоторое время появится рабочий стол, примерно так, как это показано на рис. 16. Рис. 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. Переход на этот процессор был сделано с целью повышения производительности. Таблица 2. Функции и возможности BeagleBone Black.
[Размещение компонентов на плате BBB] Коннекторы, LED, кнопки. На рис. 17 показаны места установки разъемов, светодиодов LED, кнопок. Рис. 17. Коннекторы, LED, кнопки. • DC Power - разъем джека для подачи основного питания 5V постоянного тока. Примечание: текущая версии загрузчика U-Boot проверяет версию операционной системы Debian на установленной карте microSD. Если она более новая, чем записана на eMMC, то произойдет загрузка с карты microSD, даже если не нажата кнопка BOOT. • USERx - 4 голубых светодиода (LED), которыми пользователь может управлять в своих программах. Рис. 18. Основные микросхемы BBB. • Процессор Sitara AM3358BZCZ100. 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, сигналы рукопожатия не поддерживаются. 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). Примечание: фактически, если установлена карта microSD, на которую записан загрузочный образ, то загрузка произойдет с карты microSD, независимо от того, была нажата кнопка S2 Boot при подаче питания, или нет. Замечание: нажатие кнопки сброса S1 RESET не приведет смене режима загрузки. Чтобы поменять режим загрузки, нужно отключить питание и снова подключить его. Ножки режима загрузки процессора опрашиваются PMIC во время сброса по питанию (power on reset) процессора. Кнопка сброса платы S1 выполняет только "теплый" сброс (warm reset), и не меняет режим загрузки. На плату BBB можно подать питание 4 разными способами: • Порт USB хоста PC (коннектор P10 miniUSB). Как показывает мой опыт, часто такого источника питания недостаточно, плата не включается. Вместе с каждой платой поставляется кабель 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-платы снабжены кнопкой, было решено добавить эту функцию на плату, чтобы гарантировать, что в любом случае будут доступны новые функции по управлению питанием. Эти функции включают следующее: • Процессору посылается прерывание, чтобы упростить процесс правильного выключения системы с сохранением файлов и размонтированием приводов. Если удерживать кнопку питания нажатой дольше 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). HDMI. Интерфейс HDMI подсоединен к 16-битному интерфейсу LCD процессора. Использовался 16b интерфейс, чтобы сохранить как можно больше выводов для расширения, которые можно было бы использовать. Микросхема NXP TDA19988BHN используется для преобразования интерфейса LCD в HDMI, а также для передачи звука. Сигналы LCD все еще выводятся на выводы коннекторов расширения, чтобы можно было использовать платы расширения для LCD или воспользоваться другими функциями платы при необходимости. Устройство HDMI не поддерживает защиту от копирования контента (HDCP copy protection). Поддержка определения разрешающей способности предоставляется через EDID, чтобы ПО могло идентифицировать совместимые режимы экрана. В настоящий момент через ПО поддерживаются следующие разрешения экрана: 1280 x 1024 Платы расширения. К плате BeagleBone Black через коннекторы расширения P8 и P9 можно подсоединить до 4 плат дополнительных функций (они называются Cape Board). Эти платы устанавливаются друг на друга в виде бутерброда. Термин cape (переводится как "мыс") произошел от формы платы расширения, поскольку она огибает коннектор Ethernet основной платы. Это работает как ключ, предотвращающий неправильное подключение платы расширения. Большинство cape-плат, которые были разработаны для оригинальной платы BeagleBone, будут работать и на BeagleBone Black. Однако все же для BeagleBone Black есть некоторые исключения, касающиеся совместимости или её ограничений: • Шина GPMC может быть недоступна, потому что её сигналы используются для eMMC. Если eMMC используется для загрузки, и файловая система находится на карте microSD, то эти сигналы могут использоваться. Как вариант для загрузки может использоваться карта microSD или режимы serial boot, это позволит исключить использование памяти eMMC. Дополнительную информацию по поддержке cape-плат см. в секции 9.0 BeagleBone Black Mechanical [1]. На рис. 20 показана высокоуровневая диаграмма аппаратуры платы. Рис. 20. Блок-схема платы BeagleBone Black. [Система питания] Рис. 21. Высокоуровневая блок-схема питания. TPS65217C PMIC. Системой питания управляет специальная микросхема TPS65217C (Power Management IC, сокращенно PMIC). Она состоит из двойного линейного входа, трех понижающих импульсных преобразователей и четырех аналоговых стабилизатора с малым падением напряжения на регулирующем элементе (Low Drop Out, сокращенно LDO). Рис. 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) и датчик температуры для защиты питающей батареи. Рис. 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. Рис. 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.
В на плате BBB нет аппаратуры для контроля за напряжением батареи, для этого нужно использовать отдельную микросхему АЦП с последовательным интерфейсом (1Wire, SPI или I2C), установленную на плате расширения. Предупреждение: перед использованием коннектора батареи TP5-TP8 внимательно ознакомьтесь с документацией на микросхему TPS65217C. Потребление тока. Потребляемая системой мощность меняется, в зависимости от процесса загрузки и используемых сценариев питания. Измерения тока потребления, показанные в таблице 4, были сделаны в следующей конфигурации: • Питание подано через джек DC и через miniUSB. Таблица 4. Потребление тока платой BeagleBone Black от +5V (ток указан в миллиамперах).
Ток потребления может меняться в зависимости от активности, такой как зажигание светодиодов, загрузка ядра процессами, доступ к памяти 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. Рис. 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. Рис. 26. Порядок включения шин питания. На рис 27. показывает последовательность включения шин микросхемы TPS65217C, подробности см. в её даташите.
Рис. 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. Рис. 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. Рис. 29. Блок-схема процессора Sitara AM3358BZCZ. Таблица 5. Высокоуровневые функции процессора.
Кварцевые резонаторы. На рис. 30 показана схема подключения кварцевых резонаторов, предназначенных для генерации тактов процессора. Рис. 30. Кварцы процессора. Схема сброса. На рис. 31 показана схема сброса. Начальный сброс при включении питания (power on reset) генерируется микросхемой TPS65217C. Она также генерирует сброс для RTC. Сигналом сброса платы является SYS_RESETn. Он соединяется с выводом NRESET_INOUT процессора, который может работать как вход или выход. Когда нажата кнопка сброса, это действие посылает теплый сброс процессору и системе. На ревизии платы A5D было сделано изменение. При включении питания сигнал NRESET_INOUT может работать как выход. В этом случае может произойти преждевременное повышение уровня на сигнале SYS_RESETn. Чтобы это предотвратить, сигнал PORZn от TPS65217C подключен к сигналу SYS_RESETn через буфер с открытым стоком. Это гарантирует, что этот сигнал не перейдет моментально в лог. 1 при включении питания. Это изменение было введено во всех ревизиях после A5D. Рис. 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. Рис. 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 показывает конфигурацию этого сигнала и соединение с памятью и процессором. Рис. 33. Схема DDR3L VREF. [Память 4GB eMMC] Память eMMC служит как энергонезависимое (nonvolatile) хранилище данных, которое включает интерфейс Multi-MediaCard (MMC), носитель данных NAND Flash и контроллер шиной из 11 сигналов, что совместимо со спецификацией MMC. Память eMMC не потребляет энергию на поддержание хранения данных, достаточно быстро работает в широком диапазоне температур, устойчива к ударам и вибрации. Одна из проблем с картами SD от различных производителей - их производительность может сильно варьироваться. Карты используют различные контроллеры и различные микросхемы памяти, что может быть иногда не очень хорошо согласовано друг с другом. Но контроллеры могут быть оптимизированы для операции чтения, или для операции записи. Вы не знаете заранее, что в итоге получится. Все это приводит а разным показателям производительности. На eMMC известный контроллер, к когда он совмещен с 8-битным режимом, с 8 битами данных вместо 4, в результате получается удвоенное быстродействие, что уменьшает время загрузки системы. Могут использоваться одна из двух микросхем: • Micron MTFC4GLDEA 0M WT Обе микросхемы в корпусах 153 ball WFBGA. Рис. 34 показывает подключение eMMC. Микросхема eMMC подключена к порту MMC1 процессора. MMC0 все еще используется для слота карты microSD, как это было в оригинальной BeagleBone. Теперь размер памяти eMMC 4GB. Рис. 34. Схема подключения памяти eMMC. Микросхема работает с уровнями 3.3V как внутри, так и снаружи, на ножках I/O. VCCI это внутренняя шина питания микросхемы. Производитель рекомендует подключить к ней конденсатор 1 мкФ, но про запас был выбран конденсатор 2.2 мкФ. Верхние подтягивающие резисторы (pullup) используются для уменьшения времени перепадов уровня сигналов, чтобы компенсировать любые паразитные емкости печатной платы. Ножки, используемые eMMC1 в режиме загрузки, перечислены в таблице 6. Таблица 6. eMMC Boot Pins.
Для микросхем 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.
Рис. 35. Схема подключения EEPROM Rev A5. Процессор обращается к EEPROM через шину I2C0. Ножка WP по умолчанию разрешена, т. е. защита от записи активирована. Путем заземления этой точки защита от записи снимается. Первые 48 ячеек не должны записываться, если Вы выберете использование EEPROM для хранения каких-нибудь своих данных. Необходимо сохранить эти данные, чтобы обеспечить корректную загрузку системы, потому что ПО использует эту информацию для идентификации и настройки платы. [microSD] Слот microSD платы BeagleBone Black предназначен для установки карт, которые могут использоваться для загрузки или в качестве хранилища для файлов. Рис. 36. Схема подключения microSD. MMC0 .. MMC3 это сигналы данных. В спецификации microiSD нет отдельного вывода детектирования карты. Для этой функции используется MMCO_DAT3. Однако большинство слотов карт все еще предоставляют функцию CD (Card Detect). В дизайне BeagleBone Black этот сигнал подключен к выводу MMC0_SDCD процессора. Вы можете также поменять эту ножку на GPIO0_6, которая может вывести процессор из режима сна, когда карта microSD устанавливается в слот. Верхние подтягивающие резисторы (pullup) используются для уменьшения времени перепадов уровня сигналов, чтобы скомпенсировать любые паразитные емкости печатной платы. Питание карты предоставляется от шины VDD_3V3B, конденсатор 10 мкФ установлен для фильтрации и смягчения просадки напряжения при установке карты. [Светодиоды пользователя] На плате BeagleBone Black есть 4 голубых светодиода, которыми может управлять пользователь в своей программе (user LED). Они подключена к ножкам GPIO процессора. Рис. 37. Светодиоды пользователя. Номинал резисторов R71 .. R74 был изменен на 4.75K в ревизии A5B и более поздних ревизиях плат. Таблица 8 показывает сигналы, используемые для управления четырьмя светодиодами LED от процессора. Таблица 8. Сигналы/ножки для управления User LED.
Светодиоды зажигаются выводом лог. 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, что меняет порядок загрузки. Рис. 38. Processor Boot Configuration. Можно изменить эти настройки через разъемы расширения P8 и P9. Однако будьте внимательны, чтобы не создать чрезмерную нагрузку, которая может повлиять на работу интерфейса HDMI или панелей LCD. Если будет выбрано изменение этих настроек, настоятельно рекомендуется буферизировать эти сигналы вместе с сигналом SYS_RESETn. Это даст гарантию, что после выдачи сброса эти сигналы будут удалены с контактов расширения. Опции загрузки по умолчанию. На основе выбранной опции, показанной на рис. 39, показана каждая из последовательностей загрузки.
Рис. 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. Рис. 40. Интерфейс MII, через который чип Ethernet соединен с процессором. Рис. 41. Схема физического подключения к Ethernet. Рис. 42 показывает соединения питания, сброса и блокировки чипа LAN8710A PHY. Рис. 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. Рис. 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.
Примечание: в обновленный образ ПО, используемый в ревизии 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, составляющие видеоинтерфейс процессора. Рис. 44. Соединение U11 HDMI Framer с процессором. Для использования микросхемы TDA19988 процессору нужно её сконфигурировать. Это делается через интерфейс I2C между процессором и TDA19988. 2 ножки TDA19988 используются для установки адреса I2C, в дизайне BBB они подтянуты к лог. 0. Интерфейс I2C поддерживает оба режима скоростей 400kHz и 100KhZ. Таблица 10 показывает адрес I2C. Таблица 10. Адрес TDA19988 I2C.
HDMI_INT это сигнал прерывания, поступающий от TDA19988 в процессор, он может использоваться для предупреждения процессора об изменении состояния интерфейса HDMI. Интерфейс звука. Между процессором и TDA19988 используется аудио-интерфейс I2S. Стереозвук может передаваться в монитор через интерфейс HDMI. Для организации требуемых тактовых частот используется внешний генератор Y4 на 24.576 МГц. Из этой тактовой частоты процессор генерирует требуемые частоты для TDA19988. На рис. 45 показана схема генератора. Рис. 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. Для минимизации шума используется фильтр и блокирующие конденсаторы. Рис. 46. Соединения питания HDMI. Все сигналы между процессором и TDA19988 допускают уровни 3.3V (3.3V tolerant), что позволяет применять прямое соединение. Рис. 47 показывает интерфейс между TDA19988 и коннектором HDMI. Рис. 47. Схема внешнего интерфейса HDMI. В качестве коннектора HDMI используется разъем microHDMI. Следует отметить, что этот коннектор имеет другую цоколевку в сравнении со стандартными коннекторами HDMI или mini HDMI. Сборки диодов D6 и D7 служат защитой от статического электричества (ESD protection). [Хост USB] Плата BBB оборудована одним интерфейсом хоста USB с коннектором USB Type A "мама". Рис. 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. На каждое ядро PRU имеется 16 входов и 16 выходов (не все они доступны на плате BeagleBone Black). Рис. 49. Блок-схема PRU-ICSS. Выводы PRU0 и PRU1 присутствуют на коннекторах расширения. Некоторые выводы PRU не могут использоваться без предварительного запрета функций платы наподобие, к примеру, LCD. Ниже перечислены порты, к которым можно получить доступ на каждом PRU. • PRU0: 8 выходов или 9 входов. Таблица 11 показывает, к каким сигналам PRU-ICSS можно получить доступ на BeagleBone Black, и на каких коннекторах. Некоторые сигналы доступны на одних и тех же выводах. Таблица 11. Выводы PRU0 и PRU1. PIN - контакт разъема, Шарик - вывод корпуса процессора.
[Разъемы расширения] Интерфейс расширения платы представлен двумя коннекторами P8 и P9, каждый по 46 контактов. Все сигналы на этих разъемах имеют уровни 3.3V, если не указано нечто другое. Внимание: не подключайте 5V сигналы логики к этим выводам, иначе плата может выйти из строя. Не подавайте никакие напряжения на ножки I/O, когда на плату не подано питание. Это повредит процессор и лишит плату гарантии. Никакой сигнал не может быть использован, пока сигнал SYS_RESET не получит уровень лог. 1. Рис. 50. Коннекторы расширения P8 и P9, расположенные по краям платы. Такие же разъемы, с такими же интервалами, находятся и на оригинальной плате BeagleBone. P8. В таблице 12 показана цоколевка коннектора расширения P8. К этому коннектору могут быть подключены другие сигналы с помощью функции мультиплексирования процессора, однако к этой таблице показана установка по умолчанию при включении питания. ПО отвечает за установку функции по умолчанию для каждого вывода. Некоторые сигналы в таблице не перечислены. Обратитесь к документации на процессор за получение дополнительной информации по выводам и их функциями. В некоторых случаях может оказаться недостаточное количество сигналов, чтобы реализовать полный интерфейс. Примечание: в таблицах 12 и 13 столбец PROC показывает номер шарика корпуса процессора. Столбец PIN показывает номер контакта на разъеме расширения. Столбцы MODE показывают настройку для каждого вывода. ПО отвечает за установку функции по умолчанию для каждого вывода. Некоторые сигналы в таблицах не перечислены. Обратитесь к документации на процессор за получение дополнительной информации по выводам и их функциями. В некоторых случаях может оказаться недостаточное количество сигналов, чтобы реализовать полный интерфейс. Таблица 12. Разъем расширения P8. PIN - контакт разъема, Шарик - вывод корпуса процессора, MODEx - режим настройки вывода. Режимы MODE0 .. MODE3:
Режимы MODE4 .. MODE7:
P9. В таблице 13 показана цоколевка коннектора расширения P9. К этому коннектору могут быть подключены другие сигналы с помощью функции мультиплексирования процессора, однако к этой таблице показана установка по умолчанию при включении питания. Таблица 13. Разъем расширения P9. PIN - контакт разъема, Шарик - вывод корпуса процессора, MODEx - режим настройки вывода. Режимы MODE0 .. MODE3:
Режимы MODE4 .. MODE7:
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). Рис. 51. Джек питания 5V DC. Плате требуется стабилизированное напряжение 5VDC +/-.25V с током 1A. Если через разъемы расширения подключена дополнительная нагрузка, то может потребоваться адаптер с большим выходным током. Клиент USB. Коннектор клиента USB расположен на обратной стороне платы, под светодиодами пользователя, как показано на рис. 52. Он предназначен только для подключения к хосту PC. Используется кабель miniUSB с 5 контактами, как и на оригинальной плате BeagleBone. Этот кабель может также подавать питание на плату. Рис. 52. Разъем клиента USB. Хост USB. На плате BBB есть один коннектор хоста USB P3, показанный на рис. 53 ниже. Рис. 53. Разъем хоста USB. Этот порт совместим со спецификацией USB 2.0 HS и может выдать ток до 500 мА. Если нужно больше портов хоста, то используйте хаб. Если нужен ток для устройств больше 500 мА, то у хаба должен быть источник питания. Serial Debug. На каждой плате есть интерфейс вывода отладочных сообщений через TTL UART с уровнями логики 3.3V, см. рис. 54. Рис. 56. Разъем Serial Debug. На этом коннекторе задействовано только 3 контакта - GND (контакт 1), RX (контакт 4), TX (контакт 5). Другие контакты не используются. Чтобы использовать доступ к консоли Serial Debug, необходим переходничок USB - TTL UART на основе чипа FTDI или любой другой кабель на дешевом чипе, например CH340. Такие кабели в большом ассортименте продаются на AliExpress. HDMI. Коннектор microHDMI находится на обратной стороне платы, рядом со слотом карты microSD, Рис. 57. Коннектор microHDMI. microSD. Слот карты microSD также находится на обратной стороне платы. Рис. 59. Коннектор microSD. На устанавливаемой карте запись должна быть разрешена. Карта устанавливается и извлекается мягким нажатием на внешнюю кромку карты. Не пытайтесь извлечь её другим способом, это может повредить коннектор. Ethernet. На плате BBB есть интерфейс 10/100 Ethernet, см. рис. 60. Рис. 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, Шарик - обозначение вывода корпуса процессора.
Если нужно использовать эти выводы для других функций, то учитывайте следующее: • На микросхеме HDMI Framer U11 TDA19988 все эти сигналы являются входами, так что микросхема U11 не управляет ими. • Микросхема HDMI добавит некоторую нагрузку на эти выводы. • Эти выводы также работают для функции SYSBOOT. Не управляйте ими до того, как сигнал SYS_RESETN перейдет на уровень лог. 1. Иначе плата может не загрузиться, потому что поменяется порядок загрузки процессора. Чтобы использовать эти выводы, ПО должно переконфигурировать их в ту функцию, которая нужна. Чтобы сохранить низкое потребление, HDMI Framer U11 должен быть переведен в режим low power через интерфейс I2C0. [Выводы eMMC] BeagleBone Black использует для этой функции 10 ножек процессора, которые выведены на коннектор расширения P8. Эти сигналы перечислены в таблице 16. Соответствующий режим - MODE2. Таблица 16. Сигналы P8, конфликтующие с eMMC.
Если нужно использовать эти выводы для других функций, то учитывайте следующее: • На микросхеме eMMC эти сигналы работают как входы и выходы. После подачи питания eMMC не находится в состоянии reset. Если удерживать кнопку Boot, это принудительно запустит загрузку с карты microSD. Это неудобный способ загрузки, особенно когда к BBB подключена cape-плата. Есть 2 решения этой проблемы: 1. Сотрите данные eMMC, оставив её чистой. Это заставит Code ROM использовать по умолчанию загрузку c microSD. Если Вы захотите использовать eMMC позже, она может быть перепрограммирована. До того, как ПО переинициализирует выводы в другой режим, необходимо перевести 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. Рис. 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, и защита от записи активируется. Рис. 62. EEPROM платы расширения и управление функцией Write Protect. [Память для переменных и MAC] Таблица 17 показывает формат содержимого EEPROM платы расширения. Данные сохраняются в формате Big Endian, где самый значащий байт находится справа. Все адреса EEPROM считываются как один байт данных, но в адресации используется 2 байта. Значения ASCII предназначены для упрощения чтения пользователем, когда содержимое EEPROM представлено в виде дампа. Таблица 17. Expansion Board EEPROM.
Использование выводов. Таблица 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, если не используется. Выводы AIN0 .. AIN6 не имеют настроек мультиплексора, но необходимо их настроить, чтобы показать использование на cape-плате. Для сигналов AINx используется только бит 15. Таблица 18. Настройки использования выводов в памяти EEPROM.
[Использование выводов управления загрузкой] У процессора есть 16 ножек, которые управляют его режимом загрузки (boot mode), эти выводы представлены на коннекторах расширения. Рис. 63 показывает эти сигналы, где они находятся на BeagleBone Black: Рис. 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-плата, либо она должна находится на верхней части "бутерброда". Одиночная конфигурация. Это самый простой вариант коннектора для cape-платы, показанный на рис. 64. Такая плата не дает возможности нарастить "бутерброд" поверх себя, т. е. она должна быть единственной подключенной платой, либо должна быть последней в стеке. Оба коннектора расширения одинаковые, на них имеются только штырьки. Используются стандартные коннекторы "папа", представляющие два ряда штырьков по 23 контакта с шагом 2.54 мм. Рис. 64. Одиночный коннектор разъемов расширения. Этот коннектор монтируется с обратной стороны cape-платы, как показано на рис. 65. Это самые распространенные соединители, и их найти проще всего. Можно использовать как двухрядные коннекторы, так и два однорядных, смонтированных рядом. Рис. 65. Коннектор разъемов расширения, смонтированный на cape-плате. 92 штырька на обоих разъемах приводят к тому, что cap-платы довольно трудно устанавливать и извлекать. Поэтому разработчик может принять решение не устанавливать ненужные штырьки, чтобы снизить усилия, прикладываемые для соединения/разъединения разъемов. В таблице 19 перечислены возможные варианты выбора коннекторов, которые можно использовать при покупке. Имейте в виду, что у коннекторов может быть разная длина штырьков. Короткие штырьки облегчают извлечение плат, но повышают риск ненадежного соединения, а слишком длинные могут повредить контакты разъема "мама". Таблица 19. Информация для покупки коннекторов "папа". Размеры указаны в дюймах (в скобках в мм).
Буква G в обозначении part number показывают покрытие контактов золотом (Gold), могут использоваться и другие варианты покрытий контактов. Поддержка соединения в стек. Для этого варианта оба коннектора расширения используют одинаковые разъемы по краям, с удлиненными ножками, как показано на рис. 66.. Рис. 66. Коннектор, дающий возможность соединять платы в стек. Коннектор монтируется на верхней стороне платы, и его длинные ножки-штырьки выходят с нижней стороны. Получается сквозная комбинация контактов папа-мама, дающая возможность нарастить стек плат на BeagleBone Black. На рис. 67 схематично монтаж коннектора в этой конфигурации. Рис. 67. Коннектор разъемов расширения, смонтированный на cape-плате. Подобные коннекторы найти труднее. В таблице 20 перечислены возможные варианты выбора коннекторов, которые можно использовать при покупке. Таблица 20. Информация для покупки коннекторов с возможностью получения стека.
Стек с сокрытием некоторых сигналов. На рис. 68 показана конфигурация коннекторов, когда для установленных сверху cape-плат теряется доступ к определенным выводам. Эта конфигурация может быть полезной, если другие устанавливаемые платы потенциально могут помешать работе этой платы расширения. Здесь используется комбинация сквозных (папа-мама) и одиночных (только папа) соединителей. Рис. 68. Монтаж коннектора, где некоторые сигналы скрыты для верхних плат стека. [Система питания] В этом разделе описываются шины питания и их использование. Напряжения питания на основной плате. Таблица 21 показывает напряжения на основной плате, присутствие этих напряжений на контактах P9 и их нагрузочная способность по току. Напряжения питания имеются только на коннекторе P9. Таблица 21. Напряжения для питания плат расширения.
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. Не подавайте напряжения ни на какие контакты ввода/вывода, если на плату не подано питание. Несоблюдение этого условия может повредить процессор из-за чрезмерных токов, протекающих через внутренние защитные цепи чипа процессора. Подача уровней сигналов через ножки I/O процессора, когда на нем не присутствует основное питание, приводит к так называемому паразитному питанию, и это может необратимо повредить процессор. В этой секции даны указания по созданию плат с точки зрения механических размеров. В общем случае размеры привязаны к профилю основой платы BeagleBone Black. В общем случае плата расширения имеет такие же габаритные размеры, что и основная плата. Однако с выполнением определенных условий можно создавать платы расширения и других размеров, например если используется LCD большого размера, превышающего габариты платы BeagleBone Black. Стандартный размер cape-платы. Рис. 70 показывает габариты стандартной палаты расширения. Размеры указаны в дюймах, в скобках указаны соответствующие размеры в миллиметрах. Рис. 70. Размеры cape-платы. Высота коннектора Ethernet превышает высоту устанавливаемой cape-платы, поэтому в плате расширения должен быть соответствующий вырез. Этот вырез также играет роль ключа, предотвращающий неправильную установку платы. Также предусмотрено место для доступа к светодиодам пользователя кнопке сброса основной платы. Часто задают вопрос, почему различаются радиусы скругления углов BeagleBone Black. Это сделано для того, чтобы BeagleBone помещалась в жестяную коробочку от леденцов Altoids. Можно делать платы расширения с размерами больше стандартных. Хороший пример - панель LCD. Практических ограничений на размеры не существует. Ключ в виде выемки в плате расширения также необязателен, однако должны быть какие-то средства, предотвращающие неправильную установку платы. Как и для всех cape-плат, необходима идентификационная память EEPROM и соблюдение требований совместимости по питанию. [Ссылки] 1. BeagleBone Black System Reference Manual site:github.com. |