8.2. Программирование звуковых плат.
Основным элементом программного обеспечения ЗП естественно считать ее драйвер, при установке которого определяется конкретный номер аппаратного прерывания и базовый адрес портов ввода / вывода, которые должны принадлежать интервалу 220 - 250h. Контроллер ЗП программируется через семь основных портов:
2x4h - порт индекса миксера ('х' - второй разряд базового адреса);
2x5h - порт данных чтения и записи данных;
2х6h - порт инициализации ЗП;
2хAh - порт чтения данных;
2хCh - порт записи команд и данных (7-й бит - состояние буфера записи);
2хEh - порт состояния буфера чтения (бит 7) и подтверждения прерывания восьми разрядных ЗП;
2хFh - порт подтверждения прерывания шестнадцати разрядных ЗП.
Работа с ЗП начинается с ее инициализации по следующему алгоритму:
записывается 1 в порт инициализации;
задержка 3 микросекунды;
записывается 0 в порт инициализации;
читается порт состояния буфера пока бит 7 равен 1;
опрашивается порт данных чтения до появления кода AAh.
Если в течение 100 мкс требуемый код не поступил, то либо ЗП отсутствует, либо неверен базовый адрес.
Запись в контроллер ЗП требует предварительной проверки состояния порта записи: бит 7 должен стать равным 1. При выполнении этого условия информация пересылается в порт записи.
Чтение информации из контроллера ЗП через порт чтения данных предваряется проверкой бита 7 порта состояния буфера чтения: он должен стать равным 0.
Воспроизведение и ввод звуковой информации может осуществляться одним из двух методов:
прямым программированием ЦАП или АЦП;
программированием КПДП для управления информационными потоками в ЦАП или из АЦП.
Команды прямого программирования контроллера ЗП: 10h - вывести байт данных на ЦАП без КПДП; D1h - включить воспроизведение звука; D3h - выключить воспроизведение звука; 20h - получить байт данных из АЦП. Скорость обмена данных в этом режиме определяется скоростью поступления команд и скоростью их обработки в аппаратуре ЗП.
Метод использования КПДП для управления ЦАП и АЦП позволяет оперировать с шестнадцатиразрядными данными и основан на использовании команд, приведенных в табл.8.1. Система команд позволяет использовать адаптивную импульсно-кодовую модуляцию (АИКМ), основанную на передаче разности смежных выборок. АИКМ позволяет уменьшить длину выборки и сжать информацию.
Табл.8.1.
Код команды | Содержание команды |
14h | Включение вывода байта на ЦАП. |
24h | Включение записи байта с АЦП. |
74h | Включение вывода на ЦАП 4-х бит АДКМ. |
75h | Включение вывода на ЦАП 4-х бит АДКМ с байтом ссылки. |
76h | Включение вывода на ЦАП 2.6 бит АДКМ. |
77h | Включение вывода на ЦАП 2.6 бит АДКМ с байтом ссылки. |
16h | Включение вывода на ЦАП 2-х бит АДКМ. |
17h | Включение вывода на ЦАП 2-х бит АДКМ с байтом ссылки. |
1Ch | Включение вывода байта на ЦАП с авто инициализацией и частотой выборки до 23 кГц. |
90h | Включение вывода байта на ЦАП с авто инициализацией и частотой выборки до 44 кГц. |
48h | Установка длины блока на пересылку командами 91h и 99h. |
91h | Включение вывода на ЦАП стерео. |
99h | Включение записи с АЦП стерео. |
D0h | Остановить 8-ми битный режим. |
D4h | Возобновить 8-ми битный режим. |
D5h | Остановить 16-ти битный режим. |
D6h | Возобновить 16-ти битный режим. |
D9h | Выход из авто инициализационного 8-ми битного режима после окончания текущего блока. |
DAh | Выход из автоинициализационного 16-ти битного режима после окончания текущего блока. |
E1h | Получить номер версии ЗП. |
40h | Установка частоты выборки. |
КПДП управляет пересылками данных без использования процессора. Длинна элемента данных определяется номером КПДП: КПДП-1 с данными размером 1 байт, КПДП-2 с данными размером 2 байта. Максимальный объем пересылаемой информации равен 64 Кбайтам.
- Введение.
- Общие принципы построения эвм и вычислительных систем.
- 2. Клавиатура и манипуляторы.
- 2.1. Взаимодействие клавиатуры с эвм.
- 2.2. Устройство и программирование манипулятора "мышь".
- 3. Видеосистемы.
- 3.1. Структура видеосистем.
- 3.2. Программирование видеосистем с помощью рограммных прерываний.
- 3.3. Прямое программирование видеосистем.
- 3.4. Мониторы.
- 4. Накопители информации на магнитных дисках
- 4.1. Структура накопителей информации на магнитных дисках
- 4.2. Физические принципы магнитной записи.
- Конструкция магнитных дисков.
- 4.4. Кодирование и сжатие записываемой информации
- 4.5. Программирование работы дисковых накопителей
- 5. Накопители цифровой информации типа cd-rom.
- 5.1. Общие сведения о накопителях цифровой информации типа cd-rom.
- 5.2. Структура каналов записи и чтения в системе cd.
- 5.3. Конструкция оптического блока.
- 5.4. Многофункциональные цифровые оптические
- 6. Модемы
- 6.2. Программирование модемов
- 7. Сетевые устройства.
- 7.1. Основные элементы сетей эвм
- Сетевые адаптеры
- Сетевое программное обеспечение.
- 8. Звуковые платы.
- 8.1. Структура зуковых плат
- 8.2. Программирование звуковых плат.
- 9. Устройства ввода изображений в эмв.
- Сканеры.
- 9.2. Программное обеспечение сканеров.
- 9.3. Фотокамеры и видеокамеры.
- 10. Принтеры.
- Устройство и принципы работы принтеров.
- Программирование принтеров.
- Многофункциональные измерительные платы.
- 11.1. Характеристики и структура измерительных плат.
- 11.2. Аналого-цифровые преобразователи.
- 11.3. Цифро-аналоговые преобразователи.
- 12. Цифровые системы связи и навигации.
- 12.1. Системы цифровой подвижной связи
- 12.2. Спутниковые системы связи
- 12.3. Спутниковые навигационные системы.
- Литература.