Практическое занятие №1, изучение структуры КМК МРС860, страница 4

23.  Передача данных по  I2С –каналу.

24.  Прием данных от РIР –порта.

25.  Передача данных через РIР –порт.

26.  Обработка запросов к таблице RISC – таймеров.

27.  Эмуляция IDMA – канала (если  IDMA – запрос  имеет самый  низкий приоритет). Настраивается  при программировании  регистра конфигурации RICS – контроллера.

Двухпортовая память состоит из двух основных частей:

-  памяти параметров каналов (PRAM);

-  памяти системных переменных (system RAM).

Двухпортовая память решает следующие задачи:

1.  Хранение параметров каналов передачи данных в разделе параметров ( parameter RAM).

2.  Хранение буферных дескрипторов (описаний), которые определяют, которые определяют, куда будут передаваться принимаемые данные и откуда будут считываться данные для передачи. Обычно дескрипторы хранятся в разделе памяти параметров, но для их хранения могут быть отведены незанятые области системного ОЗУ. В МК МРС860 ограничено максимальное число буферных дескрипторов.

3.  Хранение данных, полученных из последовательных каналов. Обычно эти данные по каналам SDMA пересылаются во внешнюю память.

4.  Хранение загружаемого  RAM –микрокода нового коммуникационного протокола. Микрокод обычно загружается в разделы системного ОЗУ.

5.  Системное ОЗУ, как правило хранит загружаемый микрокод новых протоколов и внутренние системные параметры, но может использоваться для хранения буферных дескрипторов  и данных пользователя.

6.  Временное хранение данных пользователя.

          Переменные в памяти параметров и в памяти микрокода имеют фиксированные адреса. Если используется загружаемый микрокод, то данные из этой области системного ОЗУ становятся недоступными пользователю.

          В МК МРС860 двухпортовая память занимает 8 Кбайт внутренней памяти, но реально заняты только 5 Кбайт, которые разбиты на две части:

-  4096 байт системного ОЗУ;

-  1024 байта памяти параметров.

Стартовый адрес (DPRAM_BASE) двухпортовой памяти во внутренней памяти контроллера рассчитывается как IMMR+0х2000, где содержимое регистра IMMR задает стартовый адрес внутренней памяти в 4 –Гбайтном адресном пространстве контроллера. Размер внутренней памяти 16 Кбайт.