· микроконтроллер;
· цифро-аналоговый преобразователь, поскольку выходной сигнал должен выдаваться в аналоговой форме;
· биполяризатор, поскольку значение выходного сигнала может быть как положительным, так и отрицательным.
Структурная схема генератора, показывающая взаимодействие между его блоками, изображена на рисунке 2.
Рисунок 2 – структурная схема генератора.
3. Разработка принципиальной схемы
Для разработки принципиальной схемы в первую очередь необходимо определиться с микроконтроллером. Поскольку микроконтроллеры семейств PIC10 и PIC12 не удовлетворяют минимальным системным требованиям, то было решено использовать наиболее распространенный контроллер семейства PIC16 – PIC16F84A.
Рисунок 3 – УГО микроконтроллера PIC16F84A.
Порт RA использовать нецелесообразно, поскольку линия RA4 является выходом с открытым коллектором, и для ее задействования необходим дополнительный подтягивающий резистор. Порт RB старшими пятью линиями подключается к ЦАП и конфигурируется на выход. Схемы сброса и подключения кварцевого резонатора частотой 28 кГц – стандартные для данного микроконтроллера.
В качестве цифро-аналогового преобразователя был выбран распространенный и дешевый 8-разрядный ЦАП DAC8032. Он имеет дифференциальный токовый выход, к которому легко подключается стандартный биполяризатор на двух операционных усилителях (в одном корпусе, OP285GP).
Рисунок 4 – Схема подключения биполяризатора к ЦАП.
В схеме на рисунке 4 сопротивления резисторов соотносятся как R3=R4=2R2, типовые значения R2=10 кОм, R3=R4=20 кОм. Допуски этих резисторов не должны превышать ±0,1%. Конденсатор С4 емкостью 100 пФ фильтрует высокочастотные помехи, возникающие при переключении разрядов ЦАП.
4. Разработка программного обеспечения
Поскольку микроконтроллер используется лишь для переключения состояния порта B в значения, которые являются заранее рассчитанными константами, и формирования задержек, то алгоритм работы программы будет простым.
Рисунок 5 – Алгоритм работы программы.
При расчете количества инструкций задержки NOP необходимо учесть, что два машинных цикла занимает выдача константы в порт и еще два цикла – безусловный переход на начала цикла алгоритма. Для уменьшения размера программы было решено ввести подпрограмму DELAY, состоящую из единственной инструкции RETURN, обращение к которой заменяет 4 инструкции NOP (две – на вход в подпрограмму и две – на выход из подпрограммы).
Листинг программы для микроконтроллера представлен в Приложении А к пояснительной записке.
5. Моделирование работы устройства
Для разработки и тестирования генератора была использована САПР Proteus 7.8, обладающая широкими возможностями отладки устройств на микроконтроллерах. Proteus имеет встроенный ассемблер MPASM, поэтому программы на ассемблере можно писать в обычном «блокноте», и они будут автоматически ассемблированы и запущены на симуляцию.
Для моделирования была собрана принципиальная схема генератора и установлена тактовая частота микроконтроллера 28 кГц.
Рисунок 6 – Схема генератора в Proteus.
К выходу генератора подключен осциллограф, и после запуска моделирования была получена осциллограмма, изображенная на рисунке 7.
Рисунок 7 – Осциллограмма сигнала на выходе генератора.
Как видно из осциллограммы, выходной сигнал полностью соответствует заявленному в техническом задании, следовательно, задание на курсовой проект полностью выполнено.
Заключение
В ходе выполнения курсового проекта был разработан функциональный генератор на микроконтроллере PIC16F84A, выдающий ступенчатую функцию амплитудой 3 В и периодом 10 мс. Разработанное программно-схемотехническое решение, по-видимому является оптимальным, поскольку не удалось найти более дешевых микроконтроллеров, имеющих необходимое количество выводов. Использование микроконтроллеров со встроенным ЦАП является нецелесообразным, поскольку они являются униполярными.
Приложение А – Листинг программы микроконтроллера
list p=16f84
#include p16f84.inc
CLRF PORTB ; Инициализация PORTB
BSF STATUS, RP0
CLRF TRISB
BCF STATUS, RP0
LOOP ; Основной бесконечный цикл
MOVLW 0x88 ; Установка +Е/4
MOVWF PORTB
NOP
NOP
NOP
MOVLW 0x90 ; Установка +Е/2
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW 0xA0 ; Установка +Е
MOVWF PORTB
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
NOP
NOP
MOVLW 0x78 ; Установка -Е/4
MOVWF PORTB
NOP
NOP
NOP
MOVLW 0x70 ; Установка -Е/4
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW 0x60 ; Установка -Е
MOVWF PORTB
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
GOTO LOOP
DELAY ; Подпрограмма задержки
RETURN
END
Приложение Б – Библиография
1. Мячин Ю.А. 180 аналоговых микросхем: Справочник. - М: Патриот, 1993. - 152 с.: ил.
2. Справочник по микропроцессорным устройствам/ Молчанов А.А., Корнейчук В.И., Тарасенко В.П., Россошинский Д.А. - К.: Технiка, 1987. – 288 с.: ил.
3. Федорков Б.Г. Микросхемы ЦАП и АЦП: функционирование, параметры, применение. - М.: Энергоатомиздат, 1990. - 320 с.: ил.
4. Цифровые и аналоговые интегральные микросхемы: Справочник/ Под ред. Якубовского С.В. - М.: Радио и связь, 1990. - 496 с.: ил.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.