Разработка микропроцессорного устройства цифрового фильтра

Реферат - Радиоэлектроника

Другие рефераты по предмету Радиоэлектроника

7hM1:CLRF INDFОбнуление текущей ячейки памяти10018hINCF FSR, 1Адрес + 110019hDECF COUNTСчетчик 11001AhBTFSS STATUS, ZУсловный переход по 1 значению флага нулевого результата1(2)001BhGOTO M12001ChM2:BSF STATUS,RP0 Выбор банка 11001DhCLRF ADCON1RA0-RA3 Входы АЦП1001EhMOVLW 0xC11001FhBCF STATUS,RP0Выбор банка 010020hMOVWF ADCON0АЦП включен, работает канал0 (RA0), частота 32Tosc.10021hBSF INTCON ADIEРазрешить прерывание АЦП10022hBSF INTCON GIEРазрешить глобальное прерывание10023hBSF ADCON0, GOЗапустить АЦП10024hBCF STATUS, CОчистка триггера переноса10025hRRF UM1, 0Циклический сдвиг вправо через триггер переноса10026hBCF STATUS, CОчистка триггера переноса10027hRRF W, 0Циклический сдвиг вправо через триггер переноса10028hMOVWF A11UM1W A11UM110029hBCF STATUS, CОчистка триггера переноса1002AhRRF YN1, 0Циклический сдвиг вправо через триггер переноса1002BhBCF STATUS, CОчистка триггера переноса1002ChRRF W, 0Циклический сдвиг вправо через триггер переноса1002DhBCF STATUS, CОчистка триггера переноса1002EhRRF W, 0Циклический сдвиг вправо через триггер переноса1Продолжение таблицы 5.2002FhBCF STATUS, C10030hRRF W, 0Циклический сдвиг вправо через триггер переноса10031hMOVWF B11YN1W B11YN110032hBCF STATUS, CОчистка триггера переноса10033hRRF YN1, 0Циклический сдвиг вправо через триггер переноса0034hADDWF W, 0W=W+W10035hADDWF W, 0W=W+W10036hADDWF B11YN1W=W+ B11YN110037hSUBWF A11UM1, 0W= A11UM1- W10038hMOVWF YNNW YNN10039hBCF STATUS, CОчистка триггера переноса1003AhRRF UM1, 0Циклический сдвиг вправо через триггер переноса1003BhMOVWF A21UM1W A21UM11003ChBCF STATUS, CОчистка триггера переноса1003DhRRF YK1, 0Циклический сдвиг вправо через триггер переноса1003EhBCF STATUS, CОчистка триггера переноса1003FhRRF W, 0Циклический сдвиг вправо через триггер переноса10040hBCF STATUS, CОчистка триггера переноса10041hRRF W, 0Циклический сдвиг вправо через триггер переноса10042hSUBWF A21UM1, 0W= A21UM1- W10043hMOVWF YKW YK10044hMOVF YN1, 0YN1W10045hADDWF YK1W=W+ YK110046hBCF STATUS, CОчистка триггера переноса10047hRRF W, 0Циклический сдвиг вправо через триггер переноса10048hBCF STATUS, CОчистка триггера переноса10049hRRF W, 0Циклический сдвиг вправо через триггер переноса1004AhBCF STATUS, CОчистка триггера переноса1004BhRRF W, 0Циклический сдвиг вправо через триггер переноса1004ChBCF STATUS, CОчистка триггера переноса1004DhRRF W, 0Циклический сдвиг вправо через триггер переноса1004EhMOVWF A31YN1YK1W A31YN1YK11004FhMOVF YN2, 0YN2W10050hADDWF YK2W=W+ YK210051hBCF STATUS, CОчистка триггера переноса10052hRRF W, 0Циклический сдвиг вправо через триггер переноса10053hBCF STATUS, CОчистка триггера переноса10054hRRF W, 0Циклический сдвиг вправо через триггер переноса10055hBCF STATUS, CОчистка триггера переноса10056hRRF W, 0Циклический сдвиг вправо через триггер переноса10057hMOVWF A32YN2YK2W A32YN2YK210058hBCF STATUS, CОчистка триггера переноса10059hRRF YL1, 0Циклический сдвиг вправо через триггер переноса1Продолжение таблицы 5.2005AhADDWF W, 0W=W+W1005BhADDWF W, 0W=W+W1005ChSUBWF A32YN2YK2, 0W= A32YN2YK2- W1005DhADDWF A31YN1YK1W=W+ A31YN1YK11005EhMOVWF YLLW YLL1005FhBCF STATUS, CОчистка триггера переноса10060hNOPНичего не выполнять10061hNOP10062hNOP10063hNOP10064hNOP10065hNOP10066hNOP10067hNOP10068hNOP10069hNOP1006AhNOP1006BhNOP1006ChNOP1006DhNOP1006EhNOP1006FhNOP10070hNOP10071hNOP10072hNOP10073hNOP10074hMOVF YK1, 0YK1W10075hMOVWF YK2W YK210076hMOVF YK, 0YK W10077hMOVWF YK1W YK110078hRRF UM, 0Циклический сдвиг вправо через триггер переноса10079hADDWF YNNW=W+ YNN1007AhMOVWF YNW YN1007BhADDWF YKW=W+ YK1007ChBCF STATUS, CОчистка триггера переноса1007DhRRF W, 0Циклический сдвиг вправо через триггер переноса1007EhADDWF W, 0W=W+W1007FhADDWF YLLW=W+ YLL10080hMOVWF YLW YL10081hMOVWF PORTBW PORTB10082hMOVF YN1, 0YN1W10083hMOVWF YN2W YN210084hMOVF YN, 0YN W10085hMOVWF YN1W YN110086hMOVF YL, 0YL W10087hMOVWF YL1W YL110088hMOVF UM, 0UM W10089hMOVWF UM1W UM11008AhGOTO M2Безусловный переход на метку1ENDВсего вместе с программой обработки прерывания283Время выполнения программы 56 мкс.

 

Операции NOP предназначены для синхронизации работы АЦП с программой. Также для этой цели было добавлено 4 команды перед операциями над текущим значением отсчета. В составленном алгоритме данные коррекции небыли предусмотрены. Время выполнения программы, реализующей цифровой фильтр, равно 49 мкс. Интервал дискретизации сигнала равен 24,6 мкс, соответственно частота дискретизации равна 41000Гц. В программе используются два перехода: один для обнуления ОЗУ, другой для возврата программы на место запуска АЦП. При использовании более современных PIC процессоров возможно исключение операций NOP.

 

6 РАЗРАБОТКА И ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ

 

Для технической реализации ЦФ необходимы следующие элементы:

  1. процессор;
  2. ЦАП;
  3. Блок питания от сети 220 В, 50 Гц.

 

Описание процессора:

Основным блоком ЦФ является процессор PIC16C711 (рис.6.1). Приведём краткую характеристику интересующих для данной задачи выводов процессора.

RA4/RTCC - Вход через триггер Шмита. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика RTCC. RA0/AIN0 - Двунаправленная линия ввода/вывода. Аналоговый вход канала 0. Как цифровой вход имеет уровни ТТЛ.

RA1/AIN1 - Двунаправленная линия ввода/вывода. Аналоговый вход канала 1. Как цифровой вход имеет уровни ТТЛ.

RA2/AIN2 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 2. Как цифровой вход имеет уровни ТТЛ.

RA3/AIN3/Vref - Двунаправленная линия ввода/вывода. Аналоговый вход канала 3. Как цифровой вход имеет уровни ТТЛ.

RB0/INT - Двунаправленная линия порта вывода или внешний вход прерывания. Уровни ТТЛ.

RB1 - RB5 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ.

RB6 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ.

RB7 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ.

/MCLR/Vpp - Низкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий. Вход через триггер Шмитта.

OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.

OSC2 /CLKOUT - Генератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подключения кварца.

Vdd - Напряжение питания.

Vss Общий (земля).

 

 

RA2/AIN2 1 18 RA1/AIN1

RA3/AIN3/Vref RA0/AIN0

RA4/RTCC OSC1/CLKIN