ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Теория › Тема 7. Модуль аналого-цифрового ввода–вывода и обработки информации на базе ЦПОС

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

7.5. Доступ к ресурсам модуля со стороны HOST-компьютера
7.5.1. Задание конфигурации модуля

Модуль аналого-цифрового ввода/вывода и обработки информации конфигурируется с помощью наборов переключателей и перемычек, установленных на плате. С их помощью задаются:

- Базовый адрес регистров ввода-вывода - SW1;
- Базовый адрес окна в пространстве памяти HOST-компьютера - J1;
- Вход запроса прерывания HOST-компьютера - J2.

Базовый адрес регистров ввода-вывода задается с помощью набора переключателей SW1. Установка переключателя в положение ON задает единичное значение соответствующего разряда базового адреса (табл. 7.1).
Таблица 7.1. Базовый адрес ввода-вывода

Базовый адрес регистров ввода-вывода
Набор переключателей SW1
Переключатель | Разряд адреса
1 | SA9
2 | SA8
3 | SA7
4 | SA6
5 | SA5
6 | SA4
7 | SA3
8 | не используется

Например, если на переключателях модуля установлен базовый адрес 4Сh (переключатели 1, 4, 5 в положении ON), то базовый адрес регистров ввода-вывода (адрес регистра 0) будет равен (4Ch x8) = 260h.
Базовый адрес окна в пространстве памяти HOST-компьютера задается с помощью набора перемычек J1. Установка перемычки задает единичное значение соответствующего разряда базового адреса (табл. 7.2).
Таблица 7.2. Базовый адрес памяти

Базовый адрес окна
Набор перемычек J1
Перемычка | Разряд адреса
1-2 | SA19
3-4 | SA18
5-6 | SA17
7-8 | SA16

Комбинация соответствующих перемычек задает окно в первом мегабайте адресного пространства HOST-компьютера, при этом обмен информацией между компьютером и модулем производится байтами. Например, если на модуле установлены перемычки 1-2, 3-4, 5-6, то базовый адрес окна будет равен 0E0000h, а все окно занимает адреса 0E0000h¸0EFFFFh.
Модуль может быть сконфигурирован так, чтобы прерывать HOST-компьютер (при записи информации в регистр данных) по одной из его линий запроса прерывания IRQ10-IRQ12, IRQ5. Выбор линии запроса прерывания осуществляется с помощью набора перемычек J2 (табл. 7.3).
Таблица 7.3. Выбор запроса на прерывание

Линии запроса прерывания
Набор перемычек J2
Линия | 1-2 | 3-4 | 5-6 | 7-8
IRQ5 | * |  |  |
IRQ10 |  | * |  |
IRQ11 |  |  | * |
IRQ12 |  |  |  | *

где * - обозначает установленную перемычку.

7.5.2. Доступ к ресурсам модуля со стороны HOST-компьютера

С точки зрения программиста HOST-компьютера модуль представляет собой один 16-разрядный и два 8-разрядных (в которых используются не все разряды) последовательно расположенных в пространстве ввода-вывода компьютера регистра, через которые осуществляется межпроцессорная передача данных, а также передача управляющей информации и информации о состоянии модуля. Кроме того, модуль занимает 64 Кбайт в пространстве памяти HOST-компьютера, образуя окно, через которое HOST-компьютер может обращаться к ресурсам модуля (внешняя память данных и внешняя память программ/данных). Доступ через окно выполняется напрямую процессором HOST-компьютера с использованием обычных команд работы с памятью. При этом регистры ввода-вывода всегда доступны, в то время как доступ через окно может быть включен или выключен по необходимости и возможен только при нахождении процессора модуля в HOLD-режиме.
Адреса регистров ввода-вывода. Три регистра ввода-вывода модуля доступны по адресам, определяемым комбинацией базового адреса и номера требуемого регистра ввода-вывода. Базовый адрес устанавливается с помощью набора переключателей на плате модуля.
Распределение разрядов адреса регистров ввода-вывода приведено ниже на рис. 4.1.
Например, если в модуле с помощью перемычек установлен базовый адрес регистров 260h (адрес регистра 0), то регистр ввода-вывода 1 доступен по адресу 260h + 1´2 = 262h, а регистр ввода-вывода 2 доступен по адресу 260h + 2´2 = 264h.

Адрес регистра ввода-вывода
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
x | x | x | x | x | x | b | b | b | b | b | b | b | r | r | 0

x - не используются,
b - базовый адрес (устанавливается с помощью переключателей),
r - выбирают регистр ввода-вывода 0-3 на модуле.
Рис. 4.1. Формат адреса регистра ввода-вывода
Регистры ввода-вывода. Номера регистров ввода-вывода, их назначение и разрядность приведены ниже в табл. 7.4.
Таблица 7.4. Регистры ввода-вывода

Регистр ввода-вывода
Номер | Обозначение | Назначение
0 | WDB/RDB | Регистр данных ( 16 )
1 | WMAP STAT | Запись - регистр управления ( 8 ) Чтение - регистр состояния ( 8 )
2 | WCON/RCON | Регистр конфигурации ( 8 )
3 |  | Не используется

Регистр данных. Функцию регистра данных выполняет регистр ввода-вывода 0. Используется для передачи 16-разрядного слова между HOST-компьютером и модулем в обоих направлениях. Рассматривается как два 16-разрядных буферных регистра: входной - для приема из HOST-компьютера в модуль, выходной - для передачи из модуля в HOST-компьютер. При каждой передаче или приеме слова HOST-компьютером сбрасывается соответствующий флаг буферного регистра, при этом одновременно устанавливается соответствующий флаг TMS. При передаче слова в модуль сбрасывается флаг "входной буфер пуст", при приеме из модуля - флаг "выходной буфер заполнен". Эти флаги используются для сигнализации (через прерывание или опрос) HOST-компьютеру о состоянии соответствующего буферного регистра.
Регистр управления. Запись в регистр ввода-вывода 1 управляет доступом к ресурсам модуля. Данный регистр является 8-разрядным. Формат регистра управления приведен ниже в табл. 7.5.
Таблица 7.5. Регистр управления

Разряд | Обозначение | Назначение
0 | HOLD | БЛОКИРОВКА. Установка в единицу этого бита переводит TMS320 в состояние блокировки (HOLD-режим), при котором HOST-компьютер может получить доступ к пространству памяти программ и данных модуля. Для того чтобы получить доступ к пространству программ или данных модуля, должен быть установлен в единицу бит ENPC. Бит HOLD может быть установлен в единицу также самим TMS320 с помощью команды вывода в первый порт.
1 | ENPC | РАЗРЕШЕНИЕ ДОСТУПА ОТ РС. Этот разряд управляет доступом к пространствам памяти модуля. Когда этот бит установлен в единицу, HOST-компьютер может читать или записывать данные в память модуля через окно. При этом пространство, видимое HOST-компьютером через окно, выбирается разрядом ADR16.
2 | ADR16 | СТАРШАЯ ПОЛОВИНА ПАМЯТИ. Этот разряд используется для выбора банка памяти модуля, когда установлены в единицу (активны) биты HOLD и ENPC. Нулевое значение бита разрешает доступ к младшим адресам памяти данных, а единичное - к старшим адресам совмещенной памяти данных и программ. Доступ к внутренней памяти TMS320 и к ПЗУ может быть реализован только программным образом.
3-7 |  | Не используются

Регистр состояния. Чтение регистра ввода-вывода 1 обеспечивает получение информации о состоянии модуля. Данный регистр является 8-разрядным. Назначение разрядов регистра состояния приведено ниже в табл. 7.6.
Таблица 7.6. Регистр состояния

Разряд | Обозначение | Назначение
0 | HOLDA | ПОДТВЕРЖДЕНИЕ БЛОКИРОВКИ. Этот разряд используется в качестве индикатора состояния блокировки TMS320. Значение бита в этом разряде равно единице, если процессор находится в состоянии блокировки (HOLD-режиме)
1 | REQ | ЗАПРОС НА ОБСЛУЖИВАНИЕ. Этот бит устанавливается в единицу, когда модуль требует обслуживания со стороны HOST- компьютера самим TMS32020 с помощью команды вывода при наличии ENRQ
2 | THBF | ФЛАГ "ВЫХОДНОЙ БУФЕР ЗАПОЛНЕН". Этот бит устанавливается в единицу, когда TMS320 записывает в регистр данных. Единица в этом разряде означает, что HOST-компьютер может читать данные из регистра 0. Этот бит сбрасывается в нуль, когда HOST-компьютер читает регистр 0
3 | HTBE | ФЛАГ "ВХОДНОЙ БУФЕР ПУСТ". Этот бит устанавливается в единицу, когда TMS320 читает регистр данных. Единица в этом разряде означает, что HOST-компьютер может записывать новые данные в регистр 0. Этот бит сбрасывается в нуль, когда HOST-компьютер записывает в регистр 0
4-7 |  | Не используются

Регистр управления конфигурацией. Используется для управления конфигурацией внешнего окружения модуля. Этот регистр с номером 2 является 8-разрядным и допускает как запись, так и чтение. Доступен только HOST-компьютеру. Формат регистра управления конфигурацией приведен ниже в табл. 7.7.
Таблица 7.7. Регистр управления конфигурацией

Разряд | Обозначение | Назначение
0 | RS | СБРОС. Нуль в этом разряде сбрасывает (устанавливает в исходное состояние) TMS320. Для запуска TMS320 этот бит должен быть установлен в единицу
1 | ENRQ | РАЗРЕШЕНИЕ ЗАПРОСА НА ОБСЛУЖИВАНИЕ. Установка в единицу этого разряда разрешает TMS320 формирование запроса на обслуживание REQ
2 | EPCI | РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ HOST-КОМПЬЮТЕРА. Этот разряд разрешает TMS320 прерывать HOST-компьютер всякий раз, когда он записывает в регистр данных (устанавливает бит THBF). Замечание: номер используемого прерывания задается перемычками на плате модуля
3 | EINT * | ЗАПРОС НА ОБСЛУЖИВАНИЕ АНАЛОГОВОГО БЛОКА. Этот бит устанавливается в единицу, когда аналоговый блок требует обслуживания (установлен триггер внешнего прерывания). При записи единицы в этот бит HOST-компьютер моделирует внешнее прерывание
4-7 |  | Не используются

* - данный разряд регистра управления при отсутствии внешних прерываний может использоваться для перевода дискретного выхода в третье состояние. Запись 1, а затем 0 в данный бит переводит выходы регистра дискретного выхода в третье состояние.

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012