Программно-аппаратный комплекс для многофункционального метеорологического радиолокатора на базе ADSP-2185

Автор работы: Пользователь скрыл имя, 28 Октября 2010 в 22:07, Не определен

Описание работы

Контрольная работа

Файлы: 1 файл

Отчет по практике.doc

— 791.00 Кб (Скачать файл)
 

   

   Рис.4 Внешний разъем DRB-37M

   Внутренний  разъѐм для подключения цифровых сигналов

   На  внутренний разъѐм PLD-40 платы L-7xx выведены линии для работы с цифровыми сигналами ввода/вывода. Расположение контактов разъѐма и краткое описание их значений приведены ниже в таблице 9 и на рисунке:

   Таблица 9. Внутренний цифровой разъѐм PLD-40

 
   Сигнал 
 
 
   
 
   Общая точка 
 
 
   
 
   Направление
 
 
   
 
   Назначение 
 
 
   
 
   IN<1...16>
 
 
   
 
   Digital GND
 
 
   
 
   Вход 
 
 
   
 
   16ти  битный цифровой вход: IN1 – младший бит (0ой бит), IN16 – старший бит (15ый бит).
 
 
   
 
   OUT<1...16>
 
 
   
 
   Digital GND
 
 
   
 
   Выход
 
 
   
 
   16ти  битный цифровой выход: OUT1 – младший бит (0ой бит), OUT16 – старший бит (15ый бит).
 
 
   
 
   Digital GND
 
 
   
 
   ---
 
 
   
 
   ---
 
 
   
 
   Цифровая  земля.
 
 
   
 
   +5 B
 
 
   
 
   Digital GND
 
 
   
 
   Выход
 
 
   
 
   Выход нестабилизированного напряжения +5 В  для питания внешних цепей (берѐтся прямо с PCI шины). Рекомендованная величина максимального тока не более 200 мА.
 
 
   
 
   INT
 
 
   
 
   Digital GND
 
 
   
 
   Вход 
 
 
   
 
   – Вход внешней цифровой синхронизации  сигнала;

   – Совместим с выходным логическим уровнем TTL/СMOS элементов с напряжением  питания +5 В.

 
 
   
 
 

   

   Рис. 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-21хх поддерживаются  полным набором программных средств  отладки. Этот пакет включает  в себя несколько программ: построитель системы (bld21.exe), ассемблер (asm21.exe), линкер или редактор связей (ld21.exe) и т.д. Все эти программы очень подробно описываются в оригинальной книге “ADSP-2100 Family Assembler Tools & Simulator Manual”, Analog Devices, Inc., Second Edition, November 1994, которую можно найти у официальных российских дистрибьюторов компании. 

   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 платы нет. Причем определить, что за плата  соответствует конкретному слоту, можно, только открыв его и прочитав информацию GetSlotParam и ReadPlataDescr (+ для L1450, E440, E2010 предварительно надо загрузить плату). GetSlotParam даст информацию о типе платы и назначенных ей ресурсах. Далее для PCI плат более подробную информацию даст ReadPlataDescr. Для L-1450, E440, E2010 также можно вызвать ReadPlataDescr, но предварительно в нее надо загрузить БИОС. Вызов ReadPlataDescr обязателен перед началом конфигурирования сбора данных, поскольку там содержится информация о частоте кварца необходимая при расчетах временных параметров сбора данных. Также там хранятся калибровочные коэффициенты.

Информация о работе Программно-аппаратный комплекс для многофункционального метеорологического радиолокатора на базе ADSP-2185