Системный арбитр.

Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый из уровней системы и периферийных устройств имеет свои собственные регистры выбора приоритетов. Приоритет доступа к памяти разрешен с использованием номера, записанного в соответствующие регистры приоритета, 0 – наивысший приоритет, а 4 – самый низкий приоритет. Приоритеты по умолчанию перечислены в таблице 3-1.
Если пользователь хочет изменить приоритеты, убедитесь, что каждый регистр приоритета написан с уникальным значением от 0 до 4.

Приоритеты по умолчанию
Выбор Значение приоритета по умолчанию после сброса Регистр Примечание
Системный уровень ISR 0 SRPR Система прерываний
MAIN 1 MAINPR Процессор
Периферийные модули DMA1 2 DMA1PR Модуль DMA 1
DMA2 3 DMA2PR Модуль DMA 2
SCANNER 4 SCANPR Сканер памяти программы

 

PIC18(L)F24/25K42 SYSTEM ARBITER BLOCK DIAGRAM

Управления приоритетами.

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

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

Последовательность разблокировки имеет следующий вид:


Схема доступа к памяти

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

Примечание. Всегда требуется, чтобы приоритет ISR был выше, чем главный приоритет.

ISR PRIORITY > MAIN PRIORITY > PERIPHERAL PRIORITY

Вариант когда приоритет периферии (DMAx, Scanner) ниже чем ISR и MAIN Priority, а периферийное устройство требует:

  1. Доступ к программной флэш-памяти – периферийное устройство ожидает цикл инструкций, в котором процессор не нуждается в доступе к PFM (например, команда перехода) и использует этот цикл программы для выполнения собственного доступа к Flash Memory, если только не выполняется операция чтения/записи PFM.
  2. Доступ к SFR/GPR – периферийное устройство ожидает цикл команд, в котором процессор не нуждается в доступе к SFR/GPR (например, MOVLW, CALL, NOP) и использует этот цикл для выполнения собственного доступа к SFR/GPR.
  3. Доступ к EEPROM данных – периферийное устройство получает доступ к EEPROM данных, если не выполняется операция чтения/записи данных в EEPROM.

Это приводит к минимальной пропускной способности периферийного устройства для доступа к памяти и выполняется этот доступ без какого-либо влияния на время выполнения основной программы.

PERIPHERAL PRIORITY > ISR PRIORITY > MAIN PRIORITY

Когда приоритет периферии (DMAx, Scanner) выше, чем ISR и MAIN Priority, работа процессора останавливается, когда периферийное устройство запрашивает память.

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

Это приводит к наивысшей пропускной способности периферийного устройства для доступа к памяти, но требует остановки другого процесса, во время возникновения события запускающего работу периферийного устройства (DMAx, Scanner).

ISR PRIORITY > PERIPHERAL PRIORITY > MAIN PRIORITY

В этом случае процедуры прерывания работы периферийных устройств (DMAx, Scanner) остановят процессор. Прерывания прерывает работу периферийного устройства (DMAx, Scanner) .

Это приводит к наименьшей задержке прерывания и максимальной пропускной способности периферии для доступа к памяти.

PERIPHERAL 1 PRIORITY > ISR PRIORITY > MAIN PRIORITY > PERIPHERAL 2 PRIORITY

В этом случае Peripheral 1 остановит работу процессора. Однако Peripheral 2 может получить доступ к памяти в циклах, не используемых Peripheral 1.

 

Управление системным арбитром контролируется с помощью следующих регистров:
Имя Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Описание
ISRPR ISRPR2 ISRPR1 ISRPR0 Приоритет системы прерываний
MAINPR MAINPR2 MAINPR1 MAINPR0 Приоритет основной программы
DMA1PR DMA1PR2 DMA1PR1 DMA1PR0 Приоритет модуля DM1
DMA2PR DMA2PR2 DMA2PR1 DMA2PR0 Приоритет модуля DMA2
SCANPR SCANPR2 SCANPR1 SCANPR0 Приоритет для сканера
PRLOCK PRLOCKED Регистр блокировки настройки приоритетов

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

 


Это может быть интересно


  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость работы проекта, …
  • Стабилизатор тока для светодиодов SN3350Стабилизатор тока для светодиодов SN3350
    SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V  драйвер светодиодов с внутренним ключом  SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или группой параллельно-последовательно …
  • Оптосимистор и его применениеОптосимистор и его применение
    Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую гальваническую развязку (порядка …
  • CAN – Controller Area NetworkCAN – Controller Area Network
    Controller Area Network (CAN) первоначально был создан немецким поставщиком автомобильных систем Робертом Бош в середины 1980-х для автомобильной промышленности как метод для обеспечения возможности надежной последовательной связи. Целью было сделать автомобили более надежными, безопасными и …
  • DS18B20 – удаленный контроль температурыDS18B20 – удаленный контроль температуры
    Плата в корпусе Датчики температуры DS18B20 Схема подключения Вывод данных на ПК Установка дополнительных резисторов Назначение выводов This jQuery slider was created with the free EasyRotator for WordPress plugin from …
  • Дифференциальный терморегуляторДифференциальный терморегулятор
    Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. 1 – …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в первый раз …
  • MPLAB® Harmony – или как это просто! Часть 4.MPLAB® Harmony – или как это просто! Часть 4.
    Часть четвертая – это может показаться немного сложно. Структура проекта. Для облегчения конфигурирования проекты MPLAB Harmony обычно структурированы таким образом, чтобы изолировать код, необходимый для настройки «системы», от кода библиотеки …
  • LATINO – открытый проект ch-светомузыкиLATINO – открытый проект ch-светомузыки
      Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была применена светодиодная …
  • Индикатор температурыИндикатор температуры
    Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе температуре. Нужен был какой нибудь выводной …



 

Tagged with →  
Share →
Translate »

Copyright © Catcatcat electronics 2013-2019. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com