Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разработка алгоритма программы проектируемого устройства




 

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

Начало

 
 


Порт А –

вход

 
 


Порт В –

выход

 
 

 


Запуск

АЦП

 
 

 

 


Вычисление

разностного

уравнения

 
 


Выдача

Результата

На порт В

 
 

 


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

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

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

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

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

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

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

Начало 1

 

 
 


 

Установка

порта А на COUNT-1

ввод

 

Установка да

порта В на Z=0

вывод

нет

6

 

 

0x17®W Сброс ADCON1

 

 

 

W®COUNT 0xC1®W

 

W®ADCON0

0x0C®W

 

Разрешить

прерывание

W®FSR АЦП

 

Разрешить

глобальное

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

 

 

FSR + 1 Пуск АЦП

 

 

 

1 2

 

2 3

 

 

Вычисление

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

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

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

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

значения

Вычисление

B11YN1 с сох-

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

чения B31YL1

 

Вычисление

В12YN2

 

ВычислениеYLL

= A31YN1YK1+

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

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

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

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

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

чения

 

 

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

A21UM1 с сох-

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

чения

 

 

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

B21YK1

 

 

 

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

YK=А21UM1-

- B21YK1 с сох-

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

чения

W ® YK1

 

 

Вычисление

A31YN1YK1 =

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

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

значения

       
 
   
 


 


3 4
4 6 5

 
 

 


Вычисление

YN =A10UM+ UM ® W

+YNN

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

значения

 

W ® UM1

Вычисление

YL=A30(YN+

+YK)+YLL

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

значения

ОСТАНОВ

 

 

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

чения YL на

порт B

 

YN1 ® W

 

 

W ® YN2

 

 

YN ® W

 

W ® YN1

 

 

YL ® W

 

 
 


 

 

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




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 293; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.