- •1. Введение.
- •2. Разработка аппаратного обеспечения.
- •2.3.2. Работа блока цап .
- •2.4. Согласование .
- •2.5.3. Расчет минимального напряжения на выходе модуля
- •2.5.4. Расчет надежности.
- •2.5.5. Расчет потребляемой мощности.
- •2.5.6. Тепловой расчет.
- •2.5.7. Расчет точности коэффициентов усиления.
- •3. Разработка программного обеспечения для pic-процессора.
- •3.1. Структура данных.
- •3.2. Принцип построения программы.
- •3.3 Структурная схема программы.
- •3.3.1 Тело основного цикла.
- •3.3.2. Работа модуля ацп.
- •3.3.3. Работа модуля цап.
- •3.3.4. Работа модуля ачх.
- •3.3.5. Работа модуля вах.
- •3.4. Интерфейсы:
- •3.4.1. Интерфейс общения с rs-232.
- •3.4.2. Интерфейс общения с цаПом max513.
- •3.5. Расчеты:
- •3.5.2.1. Расчет констант для задержки в модуле ацп.
- •3.5.2.2. Расчет констант для задержки в модуле цаПа.
- •4. Разработка программного обеспечения для пк.
- •4.1. Структура данных.
- •4.2. Принцип построения программы.
- •4.3. Структурная схема программы.
- •4.3.1. Модуль отображения.
- •4.3.2. Модуль преобразования Фурье.
- •4.3.3. Модуль ачх.
- •4.3.4. Модуль вах.
- •4.3.5. Интерфейс с асинхронным портом pic-процессора.
- •4.3.6. Модуль работы с файлами.
- •4.3.7. Модуль редактора.
- •4.3.8. Модуль генератора.
- •5. Инструкция по эксплуатации.
- •5.1. Порядок работы.
- •5.2. Управляющие клавиши .
- •5.3. Проверка связи с платой уэип.
- •5.4. Получение новой осциллограммы.
- •5.5. Получение нового ачх.
- •5.6. Получение нового вах.
- •5.7. Преобразование Фурье.
- •5.8. Работа с файлами.
- •5.9. Редактирование сигналов.
- •5.10. Генерация сигналов.
- •6. Заключение.
4. Разработка программного обеспечения для пк.
4.1. Структура данных.
Так как в процессор имеет только 180 РОН , то целесообразно выбрать в программе массивы длинной 181 байт для хранения принимаемых данных и осуществления операций с ними. Из них 180 для данных , а последний для хранения коэффициента деления ( умножения ) . Соответственно при выводе на экран , при разрешении 640х480 пикселов , будем отображать 1 байт 3 пикселами . Аналогично и все другие процедуры работают с массивом выбранной длинны .
4.2. Принцип построения программы.
При написании пользовательских программ и при их отладки удобно использовать многомодульную схему построения программы . Именно многомодульная схема была использована при написании данной программы . Построение программы по такой схеме позволяет отдельно отлаживать каждый модуль , каждую процедуру , а затем “ собрать программу из готовых кирпичиков “ , что значительно уменьшает время на разработку программы , повышает ее читабильность и облегчает процесс отладки.
Для упрощения процесса программирования , но в то же время для сохранения динамических характеристик и комфортного интерфейса был выбран язык программирования Borland С++.
4.3. Структурная схема программы.
Как и все пользовательские программы , данная программа может быть схематично представлена в виде структурной схемы, изображенной на рисунке 4.3.
После инициализации начальных значений , графики, массивов , поворот приоритета прирываний , запрещение прерываний, мы попадаем в цикл ожидания событии ( в нашем случае нажатия клавиши или приема данных от PIC-процессора ).При совершении того или иного события управление передается процедуре обработки данного события. После обработки данных и вывода результатов управление передается обратно на ожидание событии ( исключение составляет процедура выхода из программы. Эта процедура восстанавливает приоритет прерываний , разрешает запрещенные прерывания , закрывает графический режим и передает управление операционной системе).Так все повторяется пока не будет выполнена процедура выхода.
Инициализация
переменных
Ожидание
событии
Передача
управления
при
совершении события
Обработка
события
4.3.1. Модуль отображения.
Модуль отображения является основным в программе , и состоит из 5 процедур :
- процедура отображения сигнала ,
- процедура отображения параметров сигнала ,
- процедура заполнения оболочки ,
- процедура рисование окна ,
- процедура рисование клавиш .
Процедура заполнения оболочки используется для начального оформления экрана . Она формирует фон экрана , используя процедуры отображения окна и клавиш формирует экранный интерфейс . Весь экран разбит на 3 части : 2 части оформленные в виде отдельных окон , для отображения результатов измерения , считанных с hdd сигналов , построения преобразований Фурье , отображение редактируемых сигналов , а на 3 части расположены функциональные клавиши , при помощи которых и осуществлен интерфейс общения между пользователем и ЭВМ. Внешний вид экрана программы-интерфейса изображен на рисунке 4.3.1.
Рис. 4.3.1. Экран программы интерфейса.
В программе заведено 2 массива длиной 181 байт один соответствует одному окну отображения , другой другому . Верхнее окно предназначено для отображения принятых сигналов , справно от него отображается информация о принятом сигнале ( максимальное значение , минимальное , постоянная составляющая ) . В нижнем окне отображается :
- считанный с hdd сигнал ,
- преобразование Фурье ,
- сигнал для выдачу на генератор ,
- для редактирования сигналов .
Входными параметрами для процедуры отображения сигнала являются :
- имя отображаемого массива ,
- коэффициент умножения по амплитуде ,
- коэффициент умножения по длительности ,
- флаг окна , указывающий в каком окне отображать сигнал,
- флаг шкалы , указывающий отображать шкалу или нет .
После выполнения мы получим изображенный сигнал в выбранном окне с соответствующими коэффициентами .
Прорисовка каждого сигнала начинается расчетом характеристик сигнала ( максимальное значение , минимальное , постоянная составляющая ) , эту функцию осуществляет отдельная процедура , далее берем средний элемент массива ( 90 ) и относительно него рисуем сигнал вправо и влево , при этом постоянная составляющая сигнала находится по середине экрана . А если включен автоматический режим , то в окне будет отображен весь сигнал . Причем , в зависимости от установленной длительности, расстояние на экране между соседними байтами данных будет меняется от 1 до 50 пикселов .
После изображения сигнала первый раз необходимо вывести на экран и его параметры , что осуществляется с помощью процедуры отображения параметров сигнала . Под параметрами сигнала подразумевается максимальное и минимальное значение , постоянная составляющая . Параллельно с этим на экран выводится длительность ( время на деление ) и амплитуда ( вольт на деление ) .
При работе программы необходимо много раз рисовать окошки и различные клавиши , поэтому при написании программы было принято решение написать дополнительные процедуры : процедуру рисование окна и процедуру рисование клавиш .
Для процедуры рисование окна входными данными являются:
- координаты расположения верхнего левого угла ( x , y ),
- размер окна (x1 , y1 ) ,
- цвет рамки ( cр ),
- цвет фона окна ( cф) .
После выполнения мы получим :
x,y
ср
y1
cф
x1
Рис. 4.3.2.А Внешний вид изображаемых на экране окон.
Для процедуры рисование клавиш входными данными являются:
- координаты расположения верхнего левого угла ( x , y ),
- высота клавиши ( h1 ) ,
- текст отображаемый на клавише ,
- цвет клавиши ( cк ).
Длинна клавиши вычисляется автоматически , используя длину техта , который необходимо написать на ней .
Рис. 4.3.2.В Внешний вид изображаемых на экране клавиш.