Автор работы: Пользователь скрыл имя, 28 Октября 2010 в 22:07, Не определен
Контрольная работа
Рис.4 Внешний разъем DRB-37M
Внутренний разъѐм для подключения цифровых сигналов
На внутренний разъѐм PLD-40 платы L-7xx выведены линии для работы с цифровыми сигналами ввода/вывода. Расположение контактов разъѐма и краткое описание их значений приведены ниже в таблице 9 и на рисунке:
Таблица 9. Внутренний цифровой разъѐм PLD-40
|
|
|
| ||||
|
|
|
| ||||
|
|
|
| ||||
|
|
|
| ||||
|
|
|
| ||||
|
|
|
|
Рис.
5 Внутренний разъем PLD-40
Дополнительный кабель AC-7xx-f
Кабель AC-7xx-f можно использовать в качестве транслятора цифровых линий с внутреннего разъѐма PLD-40 на заднюю панель компьютера. Выходной разъем кабеля – розетка DB-37. Это означает, что невозможно перепутать этот разъѐм с внешним аналоговым разъѐмом платы. Краткое описание контактов разъѐма смотри в таблице 9. Расположение контактов разъѐма приведено на рисунке ниже:
Рис.6 Дополнительный кабель AC-7xx-f
3.1 Разработка управляющей программы
У
пользователя, как правило, не появляется
необходимость в написании своих собственных
управляющих программ для данной платы,
т.к. все наиболее часто требуемые алгоритмы
работы уже реализованы в фирменном драйвере,
находящимся в файле L783.bio. Однако если
же все-таки возникла необходимость в
создании собственной управляющей программы
(например, для формирования какого-либо
специализированного алгоритма действия
процессора), то для этого придется освоить
достаточно несложный язык ассемблера
для сигнального процессора. В качестве
законченного примера программирования
платы на таком языке можно использовать
исходные тексты фирменного драйвера,
хранящиеся в файлах DSP\L783\L783.DSP и DSP\L783\*.H.
Процесс формирования собственной управляющей программы:
1. изучить архитектуру процессора ADSP-218x, а также освоить язык его программирования (ассемблер для DSP). Всю подроб-ную информацию об этом можно найти в оригинальной книге “ADSP-2100 Family User’s Manual (Includes ADSP-2171, ADSP-2181)”, Analog Devices, Inc., Third Edition, September 1995 или в русском переводе “Руководство пользователя по сигнальным микропроцессорам семейства ADSP-2100”, под редакцией А.Д.Викторова, Санкт-Петербург, 1997. Оба эти издания можно приобрести в ЗАО «Л-Кард». Описание и примеры программ для DSP с исходными текстами приводятся в двухтомном справочнике “Digital Signal Processing Applications Using the ADSP-2100 Family”, Analog Devices, Inc., который можно найти у официальных российских дистрибьюторов компании Analog Devices, Inc. (например, фирмы Autex Ltd. или Argussoft Co.). Много полезного в дополнение к указанной документации можно обнаружить также на сайте www.analog.com.
2.
Процессоры семейства ADSP-
Analog Devices, Inc. (например, фирмы Autex Ltd. или Argussoft Co.). Сам пакет разработчика программ для сигнальных процессоров семейства ADSP-21xx, содержащий все вышеуказанные средства отладки (кроме bld21.exe), можно приобрести в ЗАО «Л-Кард». В качестве архитектурного файла нужно использовать L783.ACH.
3.
Надо создать соответствующие
файлы с исходным кодами Вашей
программы на языке ассемблер
DSP. Затем эти файлы необходимо оттранслировать
(asm21.exe) и скомпоновать с помощью редактора
связей (ld21.exe), формируя, таким образом,
выполняемую программу типа .EXE, так называемый
файл отображения в памяти (memory image file).
Формат сформированного файла отображения
в памяти очень подробно описан в “ADSP-2100
Family As-sembler Tools & Simulator Manual”, Appendix
B “File Format”,
B.2 “Memory Image File (.EXE)”, Analog Devices,
Inc., Second Edition, November 1994. Именно в этом файле
содержатся все коды инструкций Вашей
программы с соответствующими адресами
их расположения в памяти программ DSP,
а также инициализирующие значения Ваших
переменных и адреса их нахождения в памяти
данных. Зная всю эту информацию нужно
загрузить ее в память DSP по надлежащим
адресам. Для упрощения процедуры загрузки
полученный файл отображения в память
.EXE преобразуется с помощью утилиты DSP\L783\BIN3PCI.EXE
в файл .BIO
4. Реализация
Линия
TRIG на внешнем разъёме DRB-37M, которая
подключена к ножке прерывания IRQE
сигнального процессора (по фронту). Данное
прерывание IRQE генерируется при отрицательном
перепаде импульса (|_|) длительностью не
менее 50 нс. В фирменном драйвере эта линия
используется для цифровой синхронизации
ввода данных с АЦП. Эта линия нужна для
синхронизации приема данных с АЦП и бланком.
При наличии сигнала в OUT4, в это время данные
с АЦП не считываются. OUT1-OUT3 Это цифровые
выходы, управляющие антенным коммутатором.
OUT5 – Импульс испускаемый радиолокатором.
Рис. 10
Подключение
Поиск проводится путём передачи коротких электромагнитных импульсов длиной около 100мкс и приема отраженного сигнала. Принятие нужного происходит не сразу после испускания импульса, а через некоторое время, чтобы не регистрировать ненужные объекты(самолет, стая птиц и т.д.).Импульсы испускаются каждые 2500 мкс.(400Гц) После испускания каждого идет принятие и анализ полученного отражения.
Для реализации этого режима используются цифровые TTL выходы, АЦП и цифровой сигнальный процессор ADSP 2185, установленный на плате L-783. В данном режиме, задействованы 5 цифровых выходов, и вход АЦП.
С периодом равным T, вывод OUT4 генерирует бланк, длительностью t1, и вывод импульсa с OUT5 длительностью t2. Бланк необходим для «отбрасывания» не нужных, ранних отражений от близких объектов, чье расстояние над землей меньше, чем 80-100 км (Птицы, самолет, …). Импульс с out5, необходим, для испускания радаром электромагнитного импульса. Работой всей платы занимается Сигнальный процессор, который работает под уже поставляемый драйвер. Для наших целей необходимо модифицировать уже поставляемый драйвер.
Рис. 11 Вывод бланков по таймеру.
Для создания бланков с периодом T мы решили использовать таймер ADSP. Для этого мы должны настроить таймер на 2500 мкс, чтобы он через данное время генерировал прерывания, и написать обработчик прерывания от таймера.
Рис.
12 инициализация обработчика
Обработчик прерывания представляет собой подпрограмму, которая управляет состоянием TTL линии.
Рис.13 Описание обработчика прерываний по таймеру
Каждые 2500 мкс Генерируются бланки и импульсы с цифровых линий OUT4 и OUT5. Каждое прерывание линии OUT1,OUT2,OUT3 выводят определенный сигнал, (инкрементируется состояние TTL линий).
Рис. 14 Временная диаграмма ТТЛ линий
Как
только состояние OUT1,OUT2,OUT3 будет равным
«1»(иначе говоря, 8-е направление), то следующее
прерывание выставляет эти линии в «0»
и инкрементирование начинается заново.
3.2 Разработка приложения для Windows
Перед началом работы с платой необходимо ее “оживить”, т.е. загрузить в DSP либо фирменный драйвер, находящийся в файле L783.bio, либо Вашу собственную управляющую программу. Только после выполнения такой процедуры плата будет корректно работать с функциями штатной или Вашей (если создадите) библиотеки.
Коды
инструкций сигнального процессора
из этого файла необходимо расположить
по соответствующим адресам памяти
программ, также как данные, инициализирующие
переменные драйвера, в памяти данных
и запустить управляющую программу на
выполнение. Все это и называется загрузка
управляющей программы в DSP.
Для
создания программы, которая загружает
управляющую программу в DSP и управляет
платой L-CARD из среды WINDOWS, мы использовали
среду разработки MS VISUAL C++ 6.0
Для этого создаем новый проект:
File-new-project-WIN32 console application
Рис.7 Создание проекта
После того, как создали проект, необходимо прикрепить к нему необходимые библиотеки, с помощью которых мы сможем управлять платой L-783. Требуемые библиотеки имеют названия «lguids.cpp»,«create.cpp», «lguids.h» и «create.h» (первые две необходимо добавить в проект , project-add to project – files)
Рис. 8 подключение библиотек
Общий принцип работы с библиотекой:
• Загрузить библиотеку с помощью LoadLibrary.
• Создать объект, связанный с конкретным виртуальным слотом при помощи вызова CreateInstance.
• Получить указатель на интерфейс вызвав QueryInterface
• Далее вызывать функции этого интерфейса.
Виртуальные
слоты это собственно порядковые
числа в названиях линков драйверов.
Начинаются с 0 и так далее по порядку.
Разделения на ISA,PCI или USB платы нет.
Причем определить, что за плата
соответствует конкретному