Государственный Университет Аэрокосмического Приборостроения диплом

Вид материалаДиплом

Содержание


5.3 Описание программных модулей для основного модуля ультразвуковой системы измерения дальности
5.4 Макетное испытание измерителя дальности
Подобный материал:
1   ...   8   9   10   11   12   13   14   15   16

5.3 Описание программных модулей для основного модуля ультразвуковой системы измерения дальности



Ниже приводится детализированное описание разработанных программных модулей.


Модуль начальной инициализации. Этот модуль выполняется однократно при включении питания системы. Текст подпрограммы приведён в приложении А.


Действия, выполняемые модулем:
    • отключение встроенного АЦП микроконтроллера, который по умолчанию включен и входы которого при этом работают вместо портов ввода вывода общего назначения.
    • настройка линий портов ввода-вывода общего назначения в соответствие с выполняемыми ими функциями.
    • установка приоритетов прерываний для встроенных аппаратных средств микроконтроллера.
    • настройка SPI-интерфейса контроллера, а затем – микросхемы интерфейса MCP2510.
    • разрешение аппаратных прерываний.


Модуль таймера циклических измерений. Обработчик таймера циклических измерений: выполняется по переполнению таймера 1. Текст подпрограммы приведён в приложении Б. Программный модуль запускается при условии появления флага прерывания PIR1bits.TMR1IF и выполняет следующие операции:

  • делает выбор рабочего канала измерения, подавая на адресные линии А0 и А1 сигналы в соответствии с номером канала.
  • формирует короткий импульс Start, запускающий в ПЛИС цикл измерения.
  • сбрасывает флаг прерывания от таймера, подготавливая таким образом выполнение следующего цикла измерений.


Действия, связанные непосредственно с формированием сигналов для ПЛИС вынесены в отдельную процедуру MeasureCycle. Так как в данном случае требуется обеспечить измерения только по одному каналу, то номер канала будет всегда равен 0.

Модуль обработки сигнала. Обработчик сигнала готовности данных: считывает 16-битные данные из выходного регистра счётчика временного интервала, находящегося в ПЛИС, в буферные ячейки памяти микроконтроллера. Текст подпрограммы также приведён в приложении Б. Для считывания всех двух байт данных через 8-разрядный порт ввода-вывода микроконтроллера производится переключение мультиплексора данных ПЛИС. Выполняемые последовательно действия:

  • выбор старшего байта данных установкой сигнала L/H высокоговуровня.
  • считывание байта данных через порт RD.
  • выбор младшего байта данных установкой сигнала L/H низкого уровня.
  • считывание байта данных через порт RD в другую ячейку памяти.


Подпрограмма выполняется при установленном флаге внешнего прерывания INTCONbits.INT1IF, который устанавливает сигнал DRDY. Для обеспечения оперативного считывания значения измеренного временного интервала данное прерывание также имеет высокий приоритет.

Следует отметить, что запуск очередного цикла измерений должен осуществляться только после считывания предыдущего значения измеренного временного интервала, в противном случае считанные данные будут искажены. Для исключения возможности возникновения подобной ситуации обработчик данного прерывания и обработчик таймера расположены один за другим по ходу выполнения программы. При возникновении одного из высокоприоритетных прерываний вначале производится проверка активности флага INT1IF. Если он установлен, производится считывание, и только после этого, если необходимо, запуск нового цикла измерений.


Модуль CAN-интерфейса. Настройка CAN-интерфейса вынесена в отдельную процедуру CANconfig. Этот модуль обеспечивает инициализацию контроллера шины и конкретизирует сетевые настройки.

Обработчик прерывания CAN: когда из внешней системы по интерфейсу CAN приходит запрос данных, микросхема контроллера интерфейса MCP2510 формирует сигнал аппаратного прерывания INT0. Обработчик данного события передаёт считанные значения времени по интерфейсу CAN во внешнюю систему. Текст подпрограммы приведён в приложении В. Обработчик выполняет следующие операции:

  • Производит проверку, что в приёмном буфере контроллера интерфейса CAN находится команда запроса данных.
  • Считывает команду из приёмного буфера CAN.
  • Производит запись в передающий буфер контроллера CAN считанное ранее значение временного интервала и инициализирует передачу.


Последняя операция вынесена в отдельную процедуру NextReadOp. Так как процесс обмена данными протекает сравнительно медленно, а событие запроса данных может носить нерегулярный характер, и не завязано с циклами самого процесса измерения, то данное прерывание настраивается на низкий приоритет и, соответственно, обрабатывается после высокоприоритетных.

5.4 Макетное испытание измерителя дальности

Производилось определение расстояния до различных объектов и наблюдение результата на индикаторе приёмного узла. (Рисунок 34) В качестве препятствия использовались объекты с различными коэффициентами отражения ультразвука, как, например, стекло, картон, ткань.





Результаты проверки подтвердили работоспособность устройства в целом. При этом были получены оценки технических характеристик устройства для разных отражающих поверхностей, приведённые в таблице 10.


Таблица 10 - Экспериментальные технические характеристики ультразвукового измерителя дальности

параметр

стекло

картон

шерстяная ткань

минимальное измеряемое расстояние

10 см

10 см

10 см

максимальное устойчиво измеряемое расстояние

1,5 м

1 м

25 см

разрешающая способность

не хуже

2 мм

2 мм

2 мм


Полученные результаты соответствуют требованиям, изложенным ранее, и согласуются с теоретическими для случая хорошо отражающей поверхности. Вместе с тем, из полученных данных следует максимальное расстояние обнаружения препятствия сильно зависит от коэффициента отражения, т.е. от материала из которого состоит препятствие.

Из этих результатов следует ряд выводов, важных для проектирования систем, включающих в себя ультразвуковые измерители расстояний:

  • использование ультразвуковых измерителей расстояния без использования дополнительной поддержки оправдано только в случае, если условия работы системы чётко оговорены (отражающая способность объектов, пределы измерения расстояния до них);
  • использование измерителей в динамически изменяющихся условиях работы без дополнительной поддержки не гарантирует получение заявленных результатов. Подобная ситуация имеет место, в частности, при использовании робототехнических комплексов и систем в полевых условиях. Однако, зависимость параметров от условий работы в равной степени свойственна другим типам измерителей расстояния (видео, лазерные). Отсюда следует, что использование ультразвуковых датчиков в данном применении целесообразно использовать совместно с другими типами измерителей расстояния. Это позволяет скомпенсировать расхождения в возможностях датчиков и обеспечить запас по надёжности системы в целом;
  • исходя из вышесказанного, представляет интерес определение оптимальных комбинаций типов датчиков для использования в мобильных системах, а также оптимальных способов их комбинирования.



Вместе с тем, полученные результаты подтвердили работоспособность предлагаемых схемотехнических и программных решений, что позволило перейти к натурным испытаниям разработанного модуля.