Проектируемого устройства

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

проектируемого устройства - student2.ru

Начало

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru

Порт А –

вход

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru Порт В –

выход

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru Запуск

проектируемого устройства - student2.ru проектируемого устройства - student2.ru АЦП

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru Вычисление

разностного

уравнения

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru Выдача

Результата

проектируемого устройства - student2.ru На порт В

 
  проектируемого устройства - student2.ru

Рисунок 4.1 – блок-схема работы цифрового фильтра
Опираясь на данную блок схему, начнем более тщательное

проектируемого устройства - student2.ru рассмотрение вопроса. Конфигурация портов и АЦП задается исходя из документации предлагаемой производителем. Данная документация содержит примеры программ для настройки портов и АЦП. Оговорим некоторые аспекты этих программ применительно к нашему курсовому проекту. Контакты порта А зададим входами установкой битов в регистре TRISA. Данное условие необходимо для осуществления аналого-цифровой обработки сигнала. Контакты порта В зададим как выходные сбросом битов в регистре TRISB. Для АЦП выберем канал 0, то есть вывод микропроцессора RA0. В PIC16C711 на одно преобразование АЦП необходим минимальный интервал времени 10Тad, где Тad =1,6 мкс выбирается программно. Также одной из важных частей программы запуска АЦП является организация разрешения прерываний.

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

Просчитаем количество переменных, входящих в уравнения. Это количество будет определять необходимое число байт памяти. В нашем случае оно составляет 17. Нетрудно заметить, что коэффициенты разностных уравнений подобраны таким образом, что умножение переменной на них будет делением на 2,4,8…, а эта операция выполняется путем сдвига регистра вправо. Для хранения промежуточных данных сдвиговых операций и операций сложения нам понадобятся дополнительные ячейки памяти в количестве 17. При начальном запуске программы или при сбросе микропроцессорной системы все ячейки памяти необходимо сбросить в нуль.

На обработку данных АЦП требуется, как указывалось ранее, время. Чтобы повысить эффективность и качество системы, необходимо во время просчета АЦП, вместо простоя и ожидания системой результата просчета, произвести вычисления без участия текущего значения отсчета. Вычисления с участием текущего значения отсчета должны производиться через время, равное 10Tad.

Результат вычисления АЦП будет обрабатывать программа прерывания.

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

проектируемого устройства - student2.ru проектируемого устройства - student2.ru

Начало 1

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru

Установка

порта А на COUNT-1

ввод

проектируемого устройства - student2.ru проектируемого устройства - student2.ru

проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru

Установка да

проектируемого устройства - student2.ru проектируемого устройства - student2.ru порта В на Z=0

проектируемого устройства - student2.ru вывод

проектируемого устройства - student2.ru нет

проектируемого устройства - student2.ru 6

0x17®W Сброс ADCON1

проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru

W®COUNT 0xC1®W

W®ADCON0

0x0C®W

Разрешить

прерывание

W®FSR АЦП

Разрешить

глобальное

Сброс INDF прерывание

FSR + 1 Пуск АЦП

проектируемого устройства - student2.ru проектируемого устройства - student2.ru

проектируемого устройства - student2.ru

проектируемого устройства - student2.ru

1 2

проектируемого устройства - student2.ru проектируемого устройства - student2.ru 2 3

проектируемого устройства - student2.ru

Вычисление

А11UM1с сох- Вычисление

ранением зна- A32YN2YK2=

чения =A32(YN2+YK2)

с сохранением

проектируемого устройства - student2.ru значения

Вычисление

B11YN1 с сох-

ранением зна- Вычисление

чения B31YL1

проектируемого устройства - student2.ru

Вычисление

В12YN2

проектируемого устройства - student2.ru

ВычислениеYLL

= A31YN1YK1+

Вычисление + A32YN2YK2-

YNN=А11UM1- - B31YL1 с сох-

- B11YN1- ранением зна-

- В12YN2 с сох- чения

ранением зна-

проектируемого устройства - student2.ru чения

Вычисление YK1 ® W

A21UM1 с сох-

ранением зна-

проектируемого устройства - student2.ru чения

Вычисление W ® YK2

B21YK1

проектируемого устройства - student2.ru

Вычисление YK ® W

YK=А21UM1-

- B21YK1 с сох-

ранением зна-

чения

проектируемого устройства - student2.ru W ® YK1

Вычисление

A31YN1YK1 =

=A31(YN1+YK1) Вычисление

с сохранением A10UM

значения

       
  проектируемого устройства - student2.ru
    проектируемого устройства - student2.ru
 

проектируемого устройства - student2.ru проектируемого устройства - student2.ru

3 4
4 6 5

проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru проектируемого устройства - student2.ru

 
  проектируемого устройства - student2.ru
проектируемого устройства - student2.ru

Вычисление

YN =A10UM+ UM ® W

+YNN

проектируемого устройства - student2.ru с сохранением

значения

проектируемого устройства - student2.ru

W ® UM1

Вычисление

проектируемого устройства - student2.ru YL=A30(YN+

проектируемого устройства - student2.ru +YK)+YLL

с сохранением

значения

проектируемого устройства - student2.ru ОСТАНОВ

Передача знач-

чения YL на

порт B

проектируемого устройства - student2.ru

YN1 ® W

проектируемого устройства - student2.ru

W ® YN2

проектируемого устройства - student2.ru

YN ® W

проектируемого устройства - student2.ru

W ® YN1

проектируемого устройства - student2.ru

YL ® W

 
  проектируемого устройства - student2.ru

проектируемого устройства - student2.ru

Рисунок 4.2 - Алгоритм программы проектируемого устройства

Наши рекомендации