5. Цифроаналоговый преобразователь (ЦАП) К1108ПА1 осуществляет преобразование цифрового 8-разрядного параллельный кода в аналоговый сигнал. Управление работой микросхемы в системе определяет таймер и КПДП. Таймер формирует необходимый сигнал, который подается на вход запроса на ПДП (DREQ0), затем КПДП выдает сигнал с выхода DACK1 на вход разрешение записи интерфейса ЦАП. Таким образом, на ЦАП поступают данные, которые необходимо преобразовать. Интерфейсом для ЦАП служит регистр 1533ИР33 необходимый для защёлкивания данных.
Программирование микросхем
1. Программирование таймера. Таймер необходимо запрограммировать так, чтобы он работал во втором режиме – режиме импульсного генератора частоты.
При этом один из каналов таймера работает как делитель входной частоты на N. Режим два является режимом с автозагрузкой, то есть после окончания цикла счета счетчик таймера СЕ автоматически перезагружается и счет повторяется.
Перед началом работы таймера в него нужно загрузить управляющее слово и константу пересчета. Управляющее слово задает режим работы, тип счета порядок загрузки и размерность константы.
Проектируемым устройством используется нулевой канал таймера.
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
||||||
Канал 0 |
Чтение/запись младшего, затем старшего байта |
Не используется |
Режим 2 |
Двоичный счет |
|||||||||
Примем частоту сигнала, который нужно получить на выходе, равной 50 Гц. Тогда константа пересчета для таймера будет равна .
2. Программирование КПДП.
Для реализации прямого доступа к памяти используется четыре независимых канала. Каждый канал имеет 6-разрядный регистр режима MR определяющий режим его работы. В регистр режима необходимо загрузить управляющее слово, которое задаст режим работы, тип передачи и адрес канала. В работе данной системы будет использован нулевой канал, который будет служить для передачи данных из ПЗУ на ЦАП.
Формат команды установки режима
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Передача по требованию |
Инкременти-рование |
Режим автоинициализации |
Цикл чтения памяти |
Канал 0 |
При записи команды установки режима на разряды шины адреса А3 – А0 должны выставлены следующие значения:
А3 |
А2 |
А1 |
А0 |
1 |
0 |
1 |
1 |
Регистр команд CR определяет основные параметры работы канала, в него также записывается управляющее слово.
Формат команды управления
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
DACK Высокий уровень |
DREQ Низкий уровень |
нормальный цикл записи |
Фиксиро-ванный приоритет |
Нормаль-ная работа |
Разреше-ние ПДП |
Нет захвата канала |
Нормаль-ная работа |
При записи команды режима на разряды шины адреса А3 – А0 должны выставлены следующие значения:
А3 |
А2 |
А1 |
А0 |
1 |
0 |
0 |
0 |
Регистр циклов CWR хранит число слов предназначенных для передачи, загружаемая в этот регистр константа должна быть на единицу больше числа слов. Один период синусоиды содержит 800 отсчетов, тогда в регистр циклов помещается число 801 (321h).
При загрузке младшего/ старшего байта в регистр циклов канала 0 на разряды шины адреса А3 – А0 должны выставлены следующие значения:
А3 |
А2 |
А1 |
А0 |
0 |
0 |
0 |
1 |
В регистр базового адреса BAR помещается начальный адрес памяти, отсчеты хранятся в ПЗУ в диапазоне 00h – 31Fh, с адреса 320h записана программа работы устройства.
При загрузке младшего/старшего байта в регистр BAR канала 0 на разряды шины адреса А3 – А0 должны выставлены следующие значения:
А3 |
А2 |
А1 |
А0 |
0 |
0 |
0 |
0 |
Программа
Адрес |
Команда |
Комментарий |
320h: MOV AX, 0000h
MOV DX, AX ; инициализация сегментных регистров
MOV AL, 34h
MOV DX, 43h
OUT DX, AL ; загрузка управляющего слова в нулевой канал
таймера
MOV AL, 64h
OUT DX, 40h
OUT DX,AL ;загрузка младшего байта константы пересчета
таймера
MOV AL, 00h
OUT DX, AL ; загрузка старшего байта константы пересчета
таймера
MOV AL, 18h
MOV DX, 01bh
OUT DX, AL ;загрузка управляющего слова в регистр режима
КПДП
MOV AL, C0h
MOV DX, 18h
OUT DX, AL ; загрузка команды управления в регистр команд
КПДП
MOV AL, 21h
MOV DX, 0011h
OUT DX,AL ;загрузка младшего байта в режим циклов
MOV AL, 03h
OUT DX,AL ;загрузка старшего байта в режим циклов
MOV AL, 00h
MOV DX, 0000h
OUT DX,AL ;загрузка младшего байта адреса ПЗУ
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.