Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом последняя версия.doc
Скачиваний:
11
Добавлен:
23.09.2019
Размер:
1.49 Mб
Скачать

2.1 Описание структурной схемы устройства

Данное устройство, структурная схема которого представлена на рисунке 2.1, представляет собой генератор сигналов на базе цифро-аналогового преобразователя..

Основные компоненты устройства:

- МК – микроконтроллер,

- ЦАП- цифро-аналоговый преобразователь,

- Б – буферная схема интерфейса SPI,

- И - семисегментный индикатор.

Частота сигнала и его фаза задаются программным способом через ICSP интерфейс. На микроконтроллер (МК) возлагается функция загрузки регистров генератора.

Вначале микроконтроллер (МК) опрашивает клавиатуру, предназначенную для управления, после синхронизируется с индикатором (И) и преобразовывает информацию на вывод в индикатор (И). Далее вычисляет значение кода частоты и отправляет его через буферную схему (Б) интерфейса SPI в цифро-аналоговый преобразователь (ЦАП).

На схеме буфер (Б) предназначен для буферизации шины данных и управления.

Для определения яркости свечения индикатора (И) на сегментики подключены резисторы , также для управления индикатором (И) используются транзисторы.

Для развязки по цепям питания используются керамические конденсаторы емкостью 0,1 мкФ, соединенные параллельно с танталовыми конденсаторами емкостью порядка 10 мкФ.

Рисунок 2.1– Структурная схема генератора сигналов на базе цифро-аналогового преобразователя.

3. Описание элементной базы

      1. Описание микроконтроллера PIC16f877

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

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

Производством микроконтроллеров занимаются более 35 компаний, самыми распространенными из которых являются Microchip и Atmel. В ассортименте имеются микроконтроллеры от простейших до супер сложных.

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

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

В дипломном проекте используется микроконтроллер PIC16F877.

Таблица 3.1 Характеристики микроконтроллера PIC16F877

ОЗУ данных

192

Сброс (задержка сброса)

POR, BOR (PWRT, OST)

Flash-память программ

4K

АЦП

8 каналов

EEPROM

128

Порты ввода/ вывода

Порты A, B, C, D, E

Прерываний

14

Таймер

3

Модуль захват/сравнение/ШИМ

2

Последовательный интерфейс

MSSP, USART

Инструкций

35

Частота

20МГц

Паралл. интерфейс

PSP

Цоколевка:

Рисунок 3.1 – Обозначение выводов PIC16f877

Особенности ядра микроконтроллера:

  • Высокопроизводительный RISC-процессор;

  • Всего 35 простых инструкций для изучения;

  • Все инструкции исполняются за один такт, кроме инструкций перехода, выполняемых за два такта;

  • Скорость работы: тактовая частота до 20 МГц;  минимальная длительность такта 200 нс

  • Flash-память программ до 4к x 14 слов

  • Память данных (ОЗУ) до 192 x 8 байт

  • ЭСППЗУ память данных до 128 x 8 байт

  • Совместимость цоколевки с PIC16C73/74/76/77

  • Механизм прерываний (до 14 внутренних/внешних источников)

  • Восьмиуровневый аппаратный стек

  • Прямой, косвенный и относительный режимы адресации

  • Сброс при включении питания (POR)

  • Таймер сброса (PWRT) и таймер ожидания запуска генератора (OST) после включения питания)

  • Сторожевой таймер (WDT) с собственным встроенным RC-генератором для повышения надежности работы

  • Программируемая защита кода

  • Режим экономии энергии (SLEEP)

  • Выбираемые режимы тактового генератора

  • Экономичная, высокоскоростная технология КМОП FLASH/ЭСППЗУ

  • Полностью статическая архитектура

  • Программирование на плате через последовательный порт с использованием двух выводов

  • Для программирования требуется только источник питания 5В

  • Отладка на плате с использованием двух выводов

  • Доступ процессора на чтение/запись памяти программ

  • Широкий диапазон рабочих напряжений питания: от 2,0В до 5,5В

  • Сильноточные линии ввода/вывода: 25 мА

  • Коммерческий и промышленный температурные диапазоны

  • Низкое потребление энергии:

  1. < 2мА при 5В, 4МГц;

  2. 20мкА (типичное значение) при 3В, 32 кГц;

  3. < 1мкА (типичное значение) в режиме STANDBY.

Периферия:

  • Timer0: 8-разрядный таймер/счетчик с 8-разрядным предварительным делителем

  • Timer1: 16-разрядный таймер/счетчик с предварительным делителем, может вести счет во время спящего режима от внешнего генератора

  • Timer2: 8-разрядный таймер/счетчик с 8-разрядным регистром периода, предварительным и выходным делителем

  • 2 модуля захват/сравнение/ШИМ:

  1. Захват 16-ти разрядов, максимальное разрешение 12,5нс;

  2. Сравнение 16-ти разрядов, максимальное разрешение 200нс;

  3. ШИМ с максимальным разрешением 10 разрядов

  • 10-битный многоканальный аналого-цифровой преобразователь

  • Синхронный последовательный порт (SSP) с интерфейсами SPI (с Master-режимом) и I2C (с режимами Master/Slave)

  • Универсальный синхронно-асинхронный приемопередатчик (USART/SCI) с обнаружением 9-разрядного адреса

  • Встроенный генератор опорного напряжения

  • Параллельный 8-битный Slave-порт (PSP) со внешними сигналами управления RD, WR и CS (только в 40/44-выводных корпусах)

Программируемая схема сброса при падении напряжения питания (BOR).

Рис. 3.2. – Структурная схема микроконтроллера pic16f877

Таблица 3.2 Назначение выводов микроконтроллера PIC16F877

Обозначение

вывода

№ выв.

DIP

№ выв.

PLCC

№ выв.

QFP

Тип I/O/P

Тип

буфера

Описание

OSC1/CLKIN

13

14

30

I

ST/CMOS

Вход генератора / вход внешнего тактового сигнала

OSC2/CLKOUT

14

15

31

O

Выход генератора. Подключается кварцевый или керамический резонатор. В RC режиме тактового генератора на выходе OSC2 присутствует тактовый сигнал CLKOUT, равный FOSC/4.

MCLR/VPP

1

2

18

I/P

ST

Вход сброса микроконтроллера или вход напряжения программирования. Сброс микроконтроллера происходит при низком логическом уровне сигнала на входе.

RA0/AN0

2

3

19

I/O

TTL

Двунаправленный порт ввода/вывода PORTA.

RA0 может быть настроен как аналоговый канал 0

RA1/AN1

3

4

20

I/O

TTL

RA1 может быть настроен как аналоговый канал 1

RA2/AN2/VREF-

4

5

21

I/O

TTL

RA2 может быть настроен как аналоговый канал 2 или вход отрицательного опорного напряжения

RA3/AN3/VREF+

5

6

22

I/O

TTL

RA3 может быть настроен как аналоговый канал 3 или вход положительного опорного напряжения

RA4/T0CK

6

7

23

I/O

ST

RA4 может использоваться в качестве входа внешнего тактового сигнала для TMR0. Выход с открытым стоком.

RA5/SS/AN4

7

8

24

I/O

TTL

RA1 может быть настроен как аналоговый канал 1 или вход выбора микросхемы в режиме ведомого SPI

RB0/INT

33

36

8

I/O

TTL/ST

Двунаправленный порт ввода/вывода PORTB. PORTB имеет программно подключаемые подтягивающие резисторы на входах.

RB1

34

37

9

I/O

TTL

RB0 может использоваться в качестве входа внешних прерываний.

RB2

35

38

10

I/O

TTL

RB3/PGM

36

39

11

I/O

TTL

RB3 может использоваться в качестве входа для режима низковольтного программирования.

RB4

37

41

14

I/O

TTL

Прерывания по изменению уровня входного сигнала.

RB5

38

42

15

I/O

TTL

Прерывания по изменению уровня входного сигнала.

RB6/PGC

39

43

16

I/O

TTL/ST

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

RB7/PGD

40

44

17

I/O

TTL/ST

Прерывания по изменению уровня входного сигнала или вывод для режима внутрисхемной отладки ICD. Вывод данных в режиме программирования.

RC0/T1OSO/T1CKI

15

16

32

I/O

ST

Двунаправленный порт ввода/вывода PORTC.

RC0 может использоваться в качестве выхода

генератора TMR1 или входа внешнего тактового сигнала для TMR1.

RC1/T1OSI/CCP2

16

18

35

I/O

ST

RC1 может использоваться в качестве входа генератора для TMR1 или вывода модуля CCP2.

RC2/CCP1

17

19

36

I/O

ST

RC2 может использоваться в качестве вывода модуля CCP1.

RC3/SCK/SCL

18

20

37

I/O

ST

RC3 может использоваться в качестве входа/выхода тактового сигнала в режиме SPI и I2C.

RC4/SDI/SDA

23

25

42

I/O

ST

RC4 может использоваться в качестве входа данных в режиме SPI или вход/выход данных в режиме I2C.

RC5/SDO

24

26

43

I/O

ST

RC5 может использоваться в качестве выхода данных в режиме SPI.

RC6/TX/CK

25

27

44

I/O

ST

RC6 может использоваться в качестве вывода

передатчика USART в асинхронном режиме или вывода синхронизации USART в синхронном режиме.

RC7/RX/DT

26

29

1

I/O

ST

RC6 может использоваться в качестве вывода

приемника USART в асинхронном режиме или вывода данных USART в синхронном режиме.

RD0/PSP0

19

21

38

I/O

ST/TTL

Двунаправленный порт ввода/вывода PORTD или

ведомый параллельный порт для подключения к шине микропроцессора

RD1/PSP1

20

22

39

I/O

ST/TTL

RD2/PSP2

21

23

39

I/O

ST/TTL

RD3/PSP3

22

24

41

I/O

ST/TTL

RD4/PSP4

27

30

2

I/O

ST/TTL

RD5/PSP5

28

31

3

I/O

ST/TTL

RD6/PSP6

29

32

4

I/O

ST/TTL

RD7/PSP7

30

33

5

I/O

ST/TTL

RE0/RD/AN5

8

9

25

I/O

ST/TTL

Двунаправленный порт ввода/вывода PORTE.

RE0 может использоваться в качестве управляющего входа чтения PSP или аналогового канала 5

RE1/WR/AN6

9

10

26

I/O

ST/TTL

RE1 может использоваться в качестве управляющего входа записи PSP или аналогового канала 6

RE2/CS/AN7

10

11

27

I/O

ST/TTL

RE2 может использоваться в качестве управляющего входа выбора PSP или аналогового канала 7

VSS

12,31

13,34

6,29

P

Общий вывод для внутренней логики и портов

ввода/вывода

VDD

11,32

12,35

7,28

P

Положительное напряжение питания для внутренней логики и портов ввода/вывода

NC

1,17,28,

40

12,13,

33,34

Эти выводы внутри микросхемы не подключены.

Обозначения: I = вход, O = выход, I/O = вход/выход, P = питание, - = не используется, TTL = входной буфер ТТЛ, ST = вход с триггером Шмидта.

Примечания:

1. Входной буфер с триггером Шмидта при использовании внешних прерываний.

2. Входной буфер с триггером Шмидта при работе в режиме последовательного программирования.

3. Входной буфер с триггером Шмидта при работе в режиме цифровых портов ввода/вывода. В режиме ведомого параллельного порта подключены входные буферы ТТЛ (для совместимости с шиной микропроцессора).

4. Входной буфер с триггером Шмидта в режиме RC генератора и

CMOS буфер в других режимах.

3.2 Описание цифро-аналогового преобразователя MCP4921

MCP4921 устройство представляет собой одноканальный 12-битный ЦАП, который использует внешний источник опорного напряжения. Это устройство обеспечивает высокую точность и низкое энергопотребление и доступны в различных пакетах. Связь с устройством осуществляется с помощью простого последовательного интерфейса SPI. MCP4921 устройство является частью семейства, которые используют внешний источник опорного напряжения (VREF). Эти устройства обеспечивают очень высокую точность и низкий уровень шумов, и пригодны для потребительских и промышленных приложений. Низкое энергопотребление и малые варианты пакета хорошо подходят для многих портативных и маломощных приложений. Благодаря своим компактным размерам и малой мощности потребления, эти новые ЦАП обеспечивает значительные преимущества в пространстве ограниченных случаях, когда минимальная мощность потребление имеет решающее значение. Режимы программного обеспечения или аппаратного выключения предоставят дополнительную экономию электроэнергии, уменьшение тока в режиме ожидания до 0,5 мкА (тип.) при любом выборе. Связь с MCP4921 осуществляется через 3-проводной SPI протокол.

Отличительные особенности:

  • разрешение: 12 разрядов;

  • дифференциальная нелинейность: ±0,2 младшего разряда (тип);

  • интегральная нелинейность: ±2 младших разряда (тип);

  • выходы Rail-to-Rail;

  • SPI-интерфейс с частотой до 20МГц;

  • синхронные защелки данных на обоих ЦАП;

  • малое время установления: 4,5мкс;

  • выбор выходного коэффициента усиления 1х или 2х;

  • вход для внешнего источника опорного напряжения VREF;

  • диапазон напряжения питания: 2,7В...5,5В;

  • количество выводов: 8

  • тип входа: последовательный

  • температурный диапазон: -40°C...+125°C;

  • корпуса: MSOP-8 (MS) и DIP-8 (P).

Цоколевка:

Назначение выводов.

Таблица 3.3 Назначение выводов. MCP4921

VDD

Потребляемая мощность питания по отношению к AVSS может варьироваться от 2,7 до 5.5. Развязывающий конденсатор на VDD рекомендуется для достижения максимальной производительности.

CS

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

SCK

SPI совместимый последовательный ввод

SDI

SPI совместимый последовательный ввод данных

LDAC

Задвижка входа ЦАП. Передача ввода регистров задвижки ЦАП при низком логическом уровне

VOUTA

ЦАП усиливает сигнал на выводах в диапазоне AVSS- VDD

VREFA

Аналоговый сигнал на этих выводах используется для установки опорного напряжения на строку ЦАП. Входной сигнал может варьироваться в диапазоне от AVSS к VDD

AVSS

Аналоговое заземление

Рисунок 3.3. Структурная схема MCP4921

3.3 Описание цифрового индикатора

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

Типичная схема подключения светодиода к выводу МК показана на рис. 3.4. В этой схеме светодиоды будут светиться когда МК выдает сигнал «0» (низкое напряжение). Когда вывод работает в качестве входа данных или на него выводится «1», то светодиод будет выключен.

Резистор сопротивлением 220 Ом используется для ограничения тока, т.к. слишком большой ток может вывести из строя МК и светодиод. Некоторые МК содержат ограничители тока на выходных линиях, что устраняет потребность в ограничивающем резисторе. Но все же целесообразно, на всякий случай, включить этот резистор, чтобы гарантировать, что короткое замыкание на «землю» или напряжение питания Vcc, не выведет из строя МК.

Рис.3.4. – Подключение светодиода к микроконтроллеру

Семи сегментный индикатор.

Вероятно, самый простой вывод числовых десятичных и шестнадцатеричных данных – это использование семи сегментного индикатора (ССИ).

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

Каждый светодиод в индикаторе имеет свой буквенный идентификатор (A, B, C, D, E, F, G), и одна из ножек светодиода подключена к соответствующему внешнему выводу. Вторые ножки всех светодиодов соединены вместе и подключены к общему выводу. Этот общий вывод определяет тип индикатора: с общим катодом или с общим анодом.

Рис.3.5– Семи сегментный индикатор

Подключение индикатора к МК осуществляется весьма просто: обычно индикатор подключают как семь или восемь (если используется десятичная точка) независимых светодиодов. Наиболее важной частью работы при подключении к МК нескольких ССИ является назначения линий вводе вывода для каждого светодиода. Решение этой задачи в начале выполнения проекта упростит вам монтаж разводки и отладку устройств в дальнейшем. Типичный способ подключения нескольких индикаторов состоит в том, чтобы включить их параллельно и затем управлять протеканием тока через общие выводы отдельных индикаторов. Так как величина этого тока обычно превышает допустимое значение выходного тока МК, то для управления оком включается дополнительные транзисторы, которые выбирают, какой из индикаторов будет находиться в активном состоянии.

На рис. 3.6 показано подключение к МК четырех ССИ. В этой схеме МК выдает данные для индикации, последовательно переходя от одного индикатора к другому. Каждая цифра будет высвечиваться в течении очень короткого интервала времени. Это обычно выполняется с помощью подпрограммы обслуживания прерываний таймера. Чтобы избежать мерцания изображения, подпрограмма должна выполняться со скоростью, обеспечивающий включение индикатора, по крайней мере, 50 раз в секунду. Чем больше цифр, тем чаще должны следовать прерывания от таймера. Например, при использовании восьми ССИ цифры должны выводиться со скоростью 400 раз в секунду.

Рис.3.6 Подключение к МК четырех ССИ

В дипломном проекте используется 7-сегментный 4-разрядный цифровой индикатор CC56-12.

Таблица 1.4 Характеристики цифрового индикатора CC56-12

Материал

GaAlAs

Цвет свечения

красный

Длина волны,нм

640

Минимальная сила света Iv мин.,мКд

8

Максимальная сила света Iv макс.,мКд

24

При токе Iпр.,мА

10

Количество сегментов

7

Количество разрядов

4

Схема включения.

общ.катод

Высота знака,мм

14.2

Максимальное прямое напряжение,В

2.5

Максимальное обратное напряжение,В

5

Максимальный прямой ток ,мА

30

Максимальный импульсный прямой ток ,мА

155

Рабочая температура,С

40…85