Это как? Такое мне выдал переводчик с польского
объект: rób Спецификация: łódź Артикул: rób крапинки, сугробы и оксиды!
объект: rób Спецификация: łódź Артикул: rób крапинки, сугробы и оксиды!
Содержание:
Часть 2.1.2: Доступ к атомарному регистру
Часть 2.1.5: Список регистровКарта адресов для устройства разбита на разделы, как показано в Таблице 15. Подробности показаны в следующих разделах. При обращении к несопоставленным диапазонам адресов возникает ошибка шины.
2.2.1 Сводка
2.2.2 Подробности
ПЗУ:
Память с функцией "выполнения на месте":
Объединённые модули статической памяти с произвольным доступом 0-3 (SRAM0-3):
Всегда раздельные модули статической памяти с произвольным доступом 4-5 (SRAM 4-5):
Раздельные псевдонимы модулей статической памяти с произвольным доступом 0-3 (SRAM0-3):
Периферия APB:
Периферия AHB-Lite:
Универсальная последовательная шина имеет в своей основе двухпортовую память с параллельным интерфейсом доступа и следующими регистрами:
Остальные периферийные устройства AHB-Lite:
Периферия IOPORT:
Внутренняя периферия Cortex-M0+:
Содержание:
Часть 2.1.2: Доступ к атомарному регистру
Регистры шины начинаются с базового адреса 0x40030000 (определенного как BUSCTRL_BASE в SDK).
BUSCTRL: Регистр BUS_PRIORITY
Смещение: 0x00
Описание:
Устанавливает приоритет каждого мастера для арбитража шины.
BUSCTRL: Регистр BUS_PRIORITY_ACK
Смещение: 0x04
Описание:
Подтверждение приоритета шины.
BUSCTRL: Регистр PERFCTR0
Смещение: 0x08
Описание:
Счетчик производительности шины 0.
BUSCTRL: Регистр PERFSEL0
Смещение: 0x0c
Описание:
Выбор события производительности шины для PERFCTR0.
BUSCTRL: Регистр PERFCTR1
Смещение: 0x10
Описание:
Счетчик производительности шины 1.
BUSCTRL: Регистр PERFSEL1
Смещение: 0x14
Описание:
Выбор события производительности шины для PERFCTR1.
BUSCTRL: Регистр PERFCTR2
Смещение: 0x18
Описание:
Счетчик производительности шины 2.
BUSCTRL: Регистр PERFSEL2
Смещение: 0x1c
Описание:
Выбор события производительности шины для PERFCTR2.
BUSCTRL: Регистр PERFCTR3
Смещение: 0x20
Описание:
Счетчик производительности шины 3.
BUSCTRL: Регистр PERFSEL3
Смещение: 0x24
Описание:
Выбор события производительности шины для PERFCTR3.
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Содержание:
Часть 2.1.1: Матрица AHB-LiteКаждому блоку периферийных регистров выделяется 4 КБ адресного пространства, доступ к регистрам осуществляется одним из 4 методов, выбранных посредством декодирования адреса.
Addr + 0x0000: нормальный доступ для чтения и записи
Addr + 0x1000: атомарное исключающее "или" при записи
Addr + 0x2000: установка атомарной битовой маски при записи
Addr + 0x3000: очистка атомарной битовой маски при записи
Это позволяет изменять отдельные поля регистра управления без выполнения последовательности чтения-изменения-записи в программном обеспечении: вместо этого изменения отправляются на периферийное устройство и выполняются на месте. Без этой возможности трудно безопасно получить доступ к регистрам ввода-вывода, когда подпрограмма обслуживания прерывания выполняется одновременно с кодом, выполняемым на переднем плане, или когда два процессора выполняют код параллельно.
Четыре псевдонима атомарного доступа занимают в общей сложности 16 КБ. Большинство периферийных устройств на RP2040 обеспечивают эту функциональность изначально, а атомарная запись имеет те же временные характеристики, что и обычный доступ для чтения/записи. Некоторые периферийные устройства (I2C, UART, SPI и SSI) вместо этого имеют эту функциональность, добавленную с помощью промежуточного устройства шины, которое переводит восходящие атомарные записи в нисходящие последовательности чтения-изменения-записи на уровне периферийного устройства. Это увеличивает время доступа на два системных тактовых цикла.
SIO (Часть 2.3.1), одноцикловый блок ввода-вывода, подключенный непосредственно к портам ввода/вывода ядер, не поддерживает атомарный доступ на уровне шины, хотя некоторые отдельные регистры (например, интерфейс ввода/вывода общего назначения) имеют псевдонимы set / clear / xor.
2.1.3. Мост APB
Мост APB связывает высокоскоростное основное соединение AHB-Lite с периферийными устройствами с более низкой пропускной способностью. В то время как матрица AHB-Lite предлагает доступ с нулевым временем ожидания повсюду, доступ к APB имеет штраф за цикл:
- Доступ к шине APB занимает минимум два цикла (фаза настройки и фаза доступа)
- Мост добавляет дополнительный цикл для доступа на чтение, так как запрос и ответ шины регистрируются.
- Мост добавляет два дополнительных цикла для доступа к записи, так как этап настройки APB не может начаться, пока данные записи AHB-Lite не станут действительными.
В результате пропускная способность части APB структуры шины несколько ниже, чем у части AHB-Lite. Однако пропускной способности более чем достаточно для насыщения последовательной периферии APB.
2.1.4. "Узкая" запись в регистр ввода/вывода
Отображенные в память регистры ввода/вывода на RP2040 игнорируют ширину доступа для чтения/записи по шине. Они обрабатывают все записи, как если бы они были размером 32 бита. Это означает, что программное обеспечение не может использовать запись байтов или полуслов для изменения части регистра ввода-вывода: любая запись по адресу, где 30 старших битов адресов совпадают с адресом регистра, повлияет на содержимое всего регистра.
Для обновления части регистра ввода-вывода без последовательности чтения-изменения-записи лучшим решением на RP2040 является атомарные set/clear/XOR (см. Раздел 2.1.2). Обратите внимание, что это более гибко, чем запись байтов или полуслов, так как любая комбинация полей может быть обновлена за одну операцию.
После 8-битной или 16-битной записи (такой как инструкция strb на Cortex-M0+) регистр ввода-вывода будет производить выборку всей 32-битной шины данных записи. Cortex-M0+ и контроллер прямого доступа к памяти на RP2040 всегда будут реплицировать "узкие" данные по шине:
https://ideone.com/Qk6Vxz (код с комментариями и выводом на русском)
https://github.com/raspberrypi/pico-examples/blob/2fb08a028f... (оригинальный код)
Содержание:
В центре шины RP2040 находится полносвязная матрица 4:10. Её 4 восходящих порта подключены к 4 мастерам системной шины, а 10 нисходящих портов подключаются к ведомым устройствам AHB-Lite с самой высокой пропускной способностью (а именно, интерфейсам памяти) и к нижним уровням структуры. На рисунке 5 показана структура матрицы AHB-Lite 2:3, устроенная аналогично матрице 4:10 на RP2040, но ее легче показать на схеме.
Матрица состоит из двух компонентов:
Разветвители:
- Выполняют декодирование адреса
- Маршрутизируют запросы (адреса, запись данных) в нисходящий порт, указанный при декодировании начального адреса
- Маршрутизируют ответы (чтение данных, ошибки шины) от правильного арбитра обратно на восходящий порт
Арбитры:
- Управляют одновременными запросами к нисходящему порту
- Маршрутизируют ответы (чтение данных, ошибки шины) на правильный разветвитель
- Реализуют правила приоритета шины
Основная матрица на RP2040 состоит из 4 разветвителей 1:10 и 10 арбитров 4: 1 с сеткой из 40 каналов шины AHB-Lite между ними. Обратите внимание, что, поскольку AHB-Lite является конвейерной шиной, разветвитель может направлять обратно ответ на предыдущий запрос от нисходящего порта A, в то время как новый запрос к нисходящему порту B уже выполняется. Это не влечет за собой никаких штрафов за цикл.
2.1.1.1. Приоритет шины
Арбитры в главной матрице AHB-Lite реализуют двухуровневую схему приоритета шины. Уровни приоритета настраиваются предварительно, при помощи регистра BUS_PRIORITY в блоке регистров BUSCTRL.
Когда имеется несколько одновременных обращений к одному и тому же арбитру, любые запросы от высокоприоритетных мастеров (уровень приоритета 1) будут рассматриваться перед любыми запросами от низкоприоритетных мастеров (приоритет 0). Если несколько мастеров с одним и тем же уровнем приоритета пытаются одновременно получить доступ к одному и тому же ведомому устройству, применяется циклический разделительный интервал, то есть арбитр предоставляет доступ каждому мастеру по очереди.
ПРИМЕЧАНИЕ
Приоритетный арбитраж применяется только к нескольким мастерам, пытающимся получить доступ к одному и тому же ведомому устройству в одном и том же цикле. Доступ к различным ведомым устройствам, например разные банки SRAM, может быть предоставлен одновременно.
При доступе к ведомому устройству с нулевыми состояниями ожидания, таким как SRAM (т.е. к нему можно получить доступ один раз за цикл системной тактовой частоты), ведущие устройства с высоким приоритетом никогда не будут наблюдать никакого замедления или других эффектов синхронизации, вызванных доступом от низкоприоритетных мастеров. Это обеспечивает гарантированную задержку и пропускную способность для случаев использования с гарантированной работой в режиме реального времени; однако это означает, что мастер с низким приоритетом может остановиться до тех пор, пока не будет свободного цикла.
2.1.1.2. Счетчики производительности шины
Счетчики производительности автоматически подсчитывают количество обращений к основным арбитрам AHB-Lite. Это может помочь в диагностике проблем с производительностью в случаях использования в проектах с высоким трафиком.
Есть четыре счетчика производительности. Каждый из них представляет собой 24-битный счетчик насыщения. Значения счетчика можно прочитать из BUSCTRL_PERFCTRx и очистить, записав любое значение в BUSCTRL_PERFCTRx. Каждый счетчик может одновременно подсчитывать одно из 20 доступных событий, выбранных в BUSCTRL_PERFSELx. Доступны следующие события шины:
Содержание:
Часть 1.4: РаспиновкаВ этой главе описаны ключевые особенности системы RP2040, включая процессор, память, способ подключения блоков, тактовую частоту, сброс, питание и ввод-вывод. См. обзорную диаграмму на Рисунке 2.
2.1 Шина данных
Шина RP2040 маршрутизирует адреса и данные через микросхему.
На рисунке 4 показана высокоуровневая структура коммутационной сети шины. Основная матрица AHB-Lite направляет адреса и данные между своими 4 восходящими портами и 10 нисходящими портами: в каждом цикле может происходить до четырех передач по шине. Все тракты данных имеют ширину 32 бита. Устройства памяти имеют выделенные порты на главной панели, чтобы удовлетворить их требования к высокой пропускной способности. Периферийные устройства AHB-Lite с высокой пропускной способностью имеют общий порт на кросс-панели, а мост APB обеспечивает доступ по шине к регистрам управления системой и периферийным устройствам с низкой пропускной способностью.
Структура шины соединяет 4 мастера AHB-Lite, то есть устройства, которые генерируют адреса:
- Ядро процессора 0
- Ядро процессора 1
- Порт чтения на контроллере прямого доступа к памяти
- Порт записи на контроллере прямого доступа к памяти
Они соединены с 10 нисходящими портами на главной шине:
- Постоянное запоминающее устройство (ПЗУ)
- Память с поддержкой функции исполнения на месте (Flash XIP)
- Статическая память с произвольным доступом (SRAM) по одному модулю на порт (0-5)
- Периферийные устройства Fast AHB-Lite: контроллеры программируемого ввода/вывода (PIO0, PIO1), универсальная последовательная шина (USB), регистры управления прямым доступом к памяти и исполнению на месте (один общий порт)
- Мост ко всем периферийным устройствам APB и регистрам управления системой
Четыре мастера шины могут получить доступ к любым четырем различным портам матрицы одновременно, структура шины не добавляет состояния ожидания при любом принудительном доступе через AHB-Lite. Таким образом, при системной частоте 125 МГц, максимальная устойчивая пропускная способность шины составляет 2,0 ГБ/с. Карта адресов системы организована таким образом, чтобы сделать эту параллельную полосу пропускания доступной как можно большему количеству программных вариантов использования - например, чередующийся псевдоним SRAM (раздел 2.6.2) распределяет доступ к основной памяти по четырем портам матрицы (SRAM0… 3), поэтому большее количество обращений к памяти может происходить параллельно.
Содержание:
В этом разделе содержится краткий справочник по распиновке и функциям контактов. Полную информацию, включая электрические характеристики и чертежи корпуса можно найти в части 5.
1.4.1. Расположение контактов
1.4.2. Описание контактов
1.4.3. Функции контактов интерфейса ввода/вывода общего назначения
Каждый отдельный вывод интерфейса ввода/вывода общего назначения может быть подключен к внутреннему периферийному устройству с помощью функций интерфейса ввода/вывода общего назначения, определенных ниже. Некоторые внутренние периферийные соединения присутствуют в нескольких местах, чтобы обеспечить некоторую гибкость на системном уровне. SIO, PIO0 и PIO1 могут подключаться к любому контакту GPIO и управляются программным обеспечением (или конечными автоматами с программным управлением), поэтому могут использоваться для реализации многих функций.
Содержание:
RP2040 имеет два процессорных ядра M0 +, прямой доступ к памяти, внутреннюю память и периферийные блоки, подключенные через шину данных AHB / APB.
Код может выполняться непосредственно из внешней памяти через специальный интерфейс SPI, DSPI или QSPI. Небольшой кэш улучшает производительность для типичных приложений.
Отладка доступна через последовательный порт отладки (SWD).
Внутренняя статическая память с произвольным доступом (SRAM) может содержать код или данные. Она адресована как единая область размером 264 КБ, но физически разделена на 6 банков, чтобы обеспечить одновременный параллельный доступ для различных управляющих устройств.
Управляющие устройства шины прямого доступа к памяти (DMA) позволяют снизить нагрузку на процессоры в условиях выполнения задач, требующих частого обмена данными с памятью.
Выводы интерфейса ввода/вывода общего назначения (GPIO) могут управляться напрямую или при помощи множества специальных логических функций.
Специальное оборудование для фиксированных функций, таких как последовательный периферийный интерфейс (SPI), I2C, универсальный асинхронный приёмопередатчик (UART).
Гибко настраиваемые контроллеры программируемого ввода/вывода могут использоваться для обеспечения широкого спектра функций ввода/вывода.
Контроллер универсальной последовательной шины (USB) со встроенным PHY может использоваться для обеспечения работы в качестве высокоскоростоного / низкоскоростного хоста (Full-speed / Low-speed USB) или для подключения в качестве устройства. Режим работы определяется с помощью управляющего программного обеспечения, исполняемого в данный момент.
Четыре входа АЦП, которые используются совместно с выводами GPIO.
Две системы фазовой автоподстройки частоты для обеспечения фиксированной частоты 48 МГц для универсальной последовательной шины или аналогово-цифрового преобразователя и изменяемой системной частоты, которая может достигать 133 МГц.
Внутренний регулятор напряжения для подачи напряжения ядра, поэтому конечному продукту требуется только напряжение ввода-вывода.