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

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

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

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

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

7.6. Доступ к ресурсам модуля со стороны процессора TMS320
7.6.1. Порты ввода-вывода

Процессор TMS320 имеет доступ к 8 регистрам ввода-вывода. Распределение портов ввода-вывода приведено ниже в табл. 7.8.
Таблица 7.8. Регистры TMS

Регистр ввода-вывода
Номер | Обозначение | Назначение
0 | WPC/RPC | Регистр данных ( 16 )
1 | FHOLD RSTAT | Запись - переход в HOLD-режим Чтение - регистр состояния ( 16 )
2 |  | Резерв
3 | WDIG1 RDIG1 | Запись - выходной регистр данных ( 8 ) Чтение - входной регистр данных ( 8 )
4 | WDAC2 SADC | Запись - данные для ЦАП2 ( 12 ) Чтение - запуск АЦП
5 | WDAC1 | Запись - данные для ЦАП1 ( 12 )
6 | WCTRL | Запись - регистр управления ( 16 )
7 | FINT * | Запись - сброс внешнего прерывания

* - данный регистр при отсутствии внешних прерываний может использоваться для перевода дискретного выхода в активное состояние. Запись любой информации в данный регистр переводит выходы выходного регистра дискретных данных в активное состояние.
Регистр данных. Регистр 0 пространства ввода-вывода TMS320 выполняет функцию регистра данных, рассматриваемого со стороны HOST-компьютера как регистр ввода-вывода 0. При передаче слова в HOST-компьютер сбрасывается флаг TMS "выходной буфер пуст", при приеме из HOST-компьютера - флаг TMS "входной буфер заполнен". При этом устанавливаются соответствующие флаги для HOST-компьютера.
Регистр самоблокировки. Запись любой информации в регистр 1 заставляет TMS320 перейти в состояние блокировки (HOLD-режим). Основное назначение этого действия - сигнализировать HOST-компьютеру о том, что TMS320 находится в точке останова (breakpoint) или завершена запрошенная задача. HOST-компьютер может контролировать это состояние TMS320 с помощью регистра состояния STAT(0).
Регистр состояния модуля. Чтение регистра 1 дает TMS320 информацию о текущем состоянии модуля. Назначение разрядов регистра состояния приведено ниже в табл. 7.9.
Таблица 7.9. Регистр состояния

Разряд | Обозначение | Назначение
0 | ENRQ | Разрешение REQ. Единичное состояние бита говорит о том, что HOST-компьютером разрешено формирование сигнала REQ процессором TMS320
1 | EINT * | ЗАПРОС НА ОБСЛУЖИВАНИЕ АНАЛОГОВОГО БЛОКА. Этот бит устанавливается в единицу, когда аналоговый блок требует обслуживания (триггер прерывания), или по сигналу HOST-компьютера WCON(3)
2 | HTBF | ФЛАГ "ВХОДНОЙ БУФЕР ЗАПОЛНЕН". Этот бит устанавливается в единицу, когда HOST-компьютер записывает в регистр данных. Единица в этом разряде означает, что TMS может читать данные из регистра 0. Этот бит сбрасывается в нуль, когда TMS320 читает регистр 0
3 | THBE | ФЛАГ "ВЫХОДНОЙ БУФЕР ПУСТ". Этот бит устанавливается в единицу, когда HOST-компьютер читает регистр данных. Единица в этом разряде означает, что TMS может записывать данные в регистр 0. Этот бит сбрасывается в нуль, когда TMS пишет в регистр 0
4-15 |  | Не используются

* - если триггер внешних прерываний используется для управления третьим состоянием дискретного выхода, данный бит индицирует это третье состояние.
Внешний регистр данных. Запись в регистр 3 вызывает выдачу восьми младших битов слова на внешний разъем J6 (дискретный выход). При чтении регистра 3 в восьми младших битах слова находится информация с внешнего разъема J6 (дискретный вход).
Регистр данных ЦАП2. Запись в регистр 4 вызывает передачу в ЦАП2 12 старших разрядов записываемого слова.
Регистр запуска АЦП. Чтение из регистра 4 запускает АЦП на ввод информации из текущего канала (считанная информация никакого значения не имеет). После завершения цикла преобразования данные передаются по последовательному интерфейсу TMS с одновременным считыванием номера следующего канала.
Регистр данных ЦАП1. Запись в регистр 5 вызывает передачу в ЦАП1 12 старших разрядов записываемого слова.
Регистр управления. Запись 1 в 1-й разряд регистра 6 устанавливает в единицу триггер запроса на обслуживание REQ при наличии разрешения от HOST-компьютера RCON(1). Этот запрос может быть прочитан HOST-компьютером через регистр STAT(1). Остальные биты регистра никакого значения не имеют.
Регистр сброса запроса на внешнее прерывание. Запись в регистр 7 сбрасывает в ноль триггер внешнего прерывания RCON(3), RSRAT(1).

7.6.2. Команды управления модулем

Общий формат команды для модуля, передаваемой через регистр данных, имеет следующий вид: DDDD DDDD SSSS CCCC [DDDD DDDD DDDD DDDD]
Большинство команд имеет формат в одно слово, некоторые команды во втором слове содержат данные. Назначение отдельных полей следующее:
C - четырехбитный код основной команды;
S - четырехбитное поле расширения команды, номера (адреса) или данных;
D - восьми- или шестнадцати- битное поле данных.
Модуль выполняет следующие основные команды (поле СССС):
0000 - ssss=0 - останов программы,
ssss<>0 - дополнительные команды (завершение выполняемой программы);
0001 - ввести данные из АЦП, поле S указывает номер канала:
n - указанного канала (n=0-7),
8+n - заданных в таблице n+1 каналов (n=0-7);
001х - вывести данные в ЦАП, х - номер ЦАП, поле D+S - данные;
010х - вывести дискретные 8-битные данные, х - номер выхода, поле D - данные;
011х - ввести дискретные 8-битные данные, х - номер входа, данные в младшем байте РД;
1000 - задать используемые каналы (сформировать таблицу каналов), установленный в 1 бит в старшем байте команды (поле D) указывает, что данный канал используется (бит 8 соответствует каналу 0, бит 15 - каналу 7);
1001 - запустить программу с заданного адреса, во втором слове данных – адрес;
101х - задать интервал дискретизации для ЦАП (х=0) или АЦП (х=1), во втором слове данных передается интервал (интервал задается в периодах таймера);
110х - задать коэффициент кратности для АЦП (х=0) или ЦАП (х=1), коэффициент кратности передается в поле D+S и показывает во сколько раз тактовая частота АЦП (ЦАП) меньше тактовой частоты ЦАП (АЦП);
1110 - записать данные в память TMS, в поле D+S число слов-1, во втором слове - адрес, в следующих словах - данные (заданное число);
1111 - прочитать данные из памяти TMS, в поле D+S число слов-1, во втором слове - адрес и после приема адреса TMS выдает данные (заданное число).
Ответные слова от модуля к компьютеру в поле С содержат:
0ххх - данные от канала ххх АЦП в поле D+S;
100х - запрос данных для ЦАП х.

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