Проектирование генератора, формирующего аналоговый сигнал

Формирование кодовой таблицы аналогового сигнала. Общая характеристика микроконтроллера P83C51RB+. Дискретизация заданного сигнала генератора. Организация памяти и программная модель, регистры SFR микроконтроллера. Параллельные порты ввода/вывода.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 07.08.2013
Размер файла 1005,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

1. АНАЛИЗ ЗАДАНИЯ

1.1 Формирование кодовой таблицы аналогового сигнала

По заданию необходимо спроектировать генератор, формирующий аналоговый сигнал, заданный на рисунке 1.

Для получения заданного аналогового сигнала на выходе генератора необходимо провести его преобразование. Обработка сигнала производится с учетом заданной частоты дискретизации Fs=45кГц, максимального напряжения Umax=4,02 В и количества отсчетов на период N=32.

Разобьем заданный сигнал на 32 временных интервала, величина которых ts определяется частотой дискретизации:

генератор сигнал микроконтроллер порт

ts=1/Fs,

ts=1/45 кГц=0,022 мс.

Таким образом, длительность одного периода сигнала составит:

T=N*ts,

T=32*0,022=0,704 мс.

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

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

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

По заданию максимальное выходное напряжение соответствует величине 4,02 В, следовательно опорное напряжение Uref можно принять равным 5,12 В.

Значение напряжения, формируемого на выходе n-разрядного ЦАП, определяется соотношением:

UвыхN=DN*Uref/2n,

где Dn - десятичный эквивалент числа на входе ЦАП, соответствующий отсчету N,

U ref - величина опорного напряжения,

2n - количество уровней квантования при n-разрядном преобразовании.

Минимальное приращение напряжения на выходе ЦАП определяется как:

?UвыхMIN=Uref/2n,

?UвыхMIN=5,12/256=0,02 В

Следовательно, десятичный эквивалент числа на входе ЦАП, соответствующий отсчету N, определяется соотношением:

DN=UвыхN/?UвыхMIN,

Где UвыхN - значение выходного напряжения, принятое для отсчета N.

Результаты обработки заданного сигнала приведены на рисунке 1.

Рисунок 1 - Дискретизация заданного сигнала генератора

Для каждого значения DN следует определить соответствующую шестнадцатиричную кодовую комбинацию HN, округляя значения до ближайшего целого.

Результаты дискретизации аналогового сигнала, формируемого на выходе генератора, приведены в таблице 1.

Таблица 1 - Кодовая таблица выходного сигнала генератора

№ Отсчета

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Uвых, В

0,98

1,94

2,88

3,49

3,8

3,92

4

4,02

3,98

3,88

3,72

3,5

3,44

2,74

1,15

Кодовые комбинации, HEX

30

61

90

AE

BC

C4

C7

C9

C7

C2

BA

AE

AC

88

39

№ Отсчета

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Uвых, В

1,82

2,02

2,18

2,28

2,36

2,42

2,44

2,44

2,44

2,40

2,32

2,22

2,08

1,92

1,7

Кодовые комбинации, HEX

5B

65

6D

72

76

78

7A

7A

7A

78

74

6F

68

60

55

1.2 Общая характеристика микроконтроллера P83C51RB+

Генератор разрабатывается на базе однокристальной микро-ЭВМ Philips P83C51RB+ с рабочей частотой 33 МГц. Основные характеристики микроконтроллера приведены в таблице 2.

Таблица 2 - Основные характеристики микроконтроллера P83C51RB+

Характеристика

Микроконтроллер P83C51RB+

1

2

Технология изготовления

КМОП

Типы корпуса

PLCC44 (L44), DIP40 (D40), QFP44 (Q44)

Диапазоны рабочих температур

Коммерческий 0…+70,

Расширенный -40…+85

Резидентная память программ

16 Кбайт ROM

Резидентная память данных

512 байт

Система прерываний

7 векторов прерываний,

4 уровня прерываний

Таймеры/счетчики

Три по шестнадцать бит

Параллельные порты

32 двунаправленных параллельных порта ввода и вывода

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

UART - универсальный асинхронный последовательный приемопередатчик

Дополнительные характеристики и особенности

dual DPTR - сдвоенный указатель данных,

Enhanced UART - улучшенный последовательный порт,

ONCE - тестовый режим эмуляции микроконтроллера,

QUICK-PULSE -алгоритм программирования «быстрыми пульсациями»,

low EMI - режим понижения электромагнитных помех,

CO - выход тактового сигнала,

POF - флаг выключения питания,

PCA - массив программируемых счетчиков.

L3 - три бита защиты,

WDT - сторожевой таймер.

1

2

Напряжение питания

5В±20%

Входное напряжение логического 0

UILmin =-0,5В, UILmax = 0,9В

Входное напряжение логической 1

UIHmin =1,9В, UIHmax = 5,5В

Выходное напряжение логического 0

UOLmax =0,4 В

Выходное напряжение логической 1

UOHmin =4,3 В

Входной ток логического 0

IIL =50мкА

Выходной ток логического 0

IOL=15мкА

Условное графическое обозначение микроконтроллера P83C51RB+ представлено на рисунке 2.

Рисунок 2 - УГО микроконтроллера P83C51RB+ в корпусе DIP40

Назначение выводов микроконтроллера приведены в таблице 3.

Таблица 3 - Назначение выводов микроконтроллера P83C51RB+

Имя

Назначение

1

2

P1.0…P1.7

восьмиразрядный универсальный двунаправленный порт P1

RST

вход общего сброса

P3.0…P3.7

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

восьмиразрядный универсальный двунаправленный порт P3,

альтернативные функции:

RxD - вход последовательных данных приемника

TxD -выход последовательных данных передатчика

INT0^ - вход внешнего прерывания 0

INT1^ - вход внешнего прерывания 1

T0 - вход таймера/счетчика 0

T1 - вход таймера/счетчика 1

WR^ - выход управляющего сигнала записи во внешнюю память данных

RD^ - выход управляющего сигнала чтения из внешней память данных

XTAL1

вход усилителя резонатора и внутреннего генератора

XTAL2

Выход усилителя резонатора

P2.0…P2.7

восьмиразрядный универсальный двунаправленный порт P2

PSEN^

выход разрешения чтения внешней памяти программ

ALE

выход стробирования адреса внешней памяти

EA^

вход блокировки резидентной памяти программ

P0.0…P0.7

восьмиразрядный универсальный двунаправленный порт P0

Vcc

вход напряжения питания

Vss

общий вход, 0В

1.2.1 Организация памяти и программная модель P83C51RB+

Микроконтроллеры семейства MCS-51 относятся к классу устройств с гарвардской архитектурой, т.е имеют разделенные адресные пространства памяти программ и памяти данных. Функционально и логически они разделены за счет реализации различных алгоритмов адресации и формирования разных сигналов управления. К ним относятся: внешняя память программ (ВПП), резидентная память программ (РПП), внешняя память данных (ВПД), резидентная память данных (РПД).

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

Адресация ячеек памяти программ осуществляется с использованием программного счетчика PC или регистра-указателя данных DPTR.

Объем внешней памяти данных может достигать 64 Кбайт. Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 или с помощью 16-разрядного регистра-указателя DPTR. Обращение к внешней памяти данных сопровождается стробирующими сигналами чтения RD^ и записи WR^.

Структура памяти данных приведена на рисунке 3. Объем внешней памяти данных может достигать 64 кбайт.

Рисунок 3 - Структура памяти данных P83C51RB+

Резидентная память данных предназначена для хранения переменных в процессе выполнения управляющей программы. Обращение к резидентной памяти данных производится одним байтом в адресном пространстве от 00h до FFh (256 байт). К адресному пространству резидентной памяти данных примыкают адреса блока регистра специальных функций - SFR.

Рисунок 4 - Структура памяти программ P83C51RB+

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

Таблица 4 - Регистры SFR микроконтроллера P83C51RB+

Имя

Адрес

Назначение

Значение при сбросе, Bin

1

2

3

4

В*

F0h

Регистр В

00000000

АСС*

E0h

Аккумулятор

00000000

PSW*

D0h

Слово состояния программы

00000000

IP*

B8h

Регистр приоритетов прерываний

X0000000

РЗ*

B0h

Порт 3

11111111

IE*

A8h

Регистр разрешения прерываний

00000000

Р2*

A0h

Порт 2

11111111

SBUF

99h

Буфер последовательного порта

XXXXXXXX

SCON*

98h

Управление последовательным портом

00000000

Р1*

90h

Порт 1

111111111

ТН1

8Dh

Таймер/Счетчик 1. Старший байт

00000000

ТН0

8Ch

Таймер/Счетчик 0. Старший байт

00000000

TL1

8Bh

Таймер/Счетчик 1. Младший байт

00000000

TL0

8Ah

Таймер/Счетчик 0. Младший байт

00000000

TMOD

89h

Регистр режима таймера/счетчика

00000000

TCON*

88h

Регистр управления таймера/счетчика

00000000

PCON

87h

Регистр управления потреблением

00XX0000

DPH

83h

Старший байт указателя данных

00000000

DPL

82h

Младший байт указателя данных

00000000

SP

81h

Указатель стека

00000111

Р0*

80h

Порт 0

11111111

ТН2

CDh

Старший байт данных Т/С2

Старший байт данных Т/С2

TL2

CCh

Младший байт данных Т/С2

00000000

RCAP2H

CBh

Регистр хранения Т/С2, старший байт

00000000

RCAP2L

CAh

Регистр хранения Т/С2, младший байт

00000000

T2MOD

C9h

Регистр режима Т/С2

XXXXXX00

T2CON*

C8h

Регистр управления Т/С2

00000000

SADEN

B9h

Регистр маски адреса ведомого

00000000

IPH

B7h

2-й регистр приоритетов прерываний

X0000000

SADDR*

A9h

Регистр маски ведомого

00000000

AUXR

8Eh

Дополнительный регистр, запрет ALE

XXXXXXX0

ССАР4Н

FEh

Старший байт регистра сравнения/фиксации модуля 4 РСА

XXXXXXXX

ССАРЗН

FDh

Старший байт регистра сравнения/фиксации модуля 3 РСА

XXXXXXXX

ССАР2Н

FCh

Старший байт регистра сравнения/фиксации модуля 2 РСА

XXXXXXXX

ССАР1Н

FBh

Старший байт регистра сравнения/фиксации модуля 1 РСА

XXXXXXXX

ССАР0Н

FAh

Старший байт регистра сравнения/фиксации модуля 0 РСА

XXXXXXXX

СН

F9h

Старший байт таймера/счетчика РСА

00000000

CCAP4L

EEh

Младший байт регистра сравнения/фиксации модуля 4 РСА

XXXXXXXX

CCAP3L

EDh

Младший байт регистра сравнения/фиксации модуля 3 РСА

XXXXXXXX

CCAP2L

ECh

Младший байт регистра сравнения/фиксации модуля 2 РСА

XXXXXXXX

CCAP1L

EBh

Младший байт регистра сравнения/фиксации модуля 1 РСА

XXXXXXXX

CCAP0L

EAh

Младший байт регистра сравнения/фиксации модуля 0 РСА

XXXXXXXX

CL

E9h

Младший байт таймера/счётчика РСА

00000000

ССАРМ4

DEh

Регистр режима модуля 4 РСА

X0000000

ССАРМ1

DBh

Регистр режима модуля 1 РСА

X0000000

ССАРМ0

DAh

Регистр режима модуля 0 РСА

X0000000

CMOD

D9h

Регистр режима РСА

00XXX000

CCON

D8h

Регистр управления РСА

00X00000

AUXR1

A2h

Старший байт указателя данных DPTR1

00000000

DPH1

85h

Старший байт указателя данных DPTR1

00000000

DPL1

84h

Младший байт указателя данных DPTR1

00000000

WDTRST

A6h

Регистр охранного таймера WDT

00000000

* - возможность побитной адресации.

1.2.2 Параллельные порты ввода/вывода

В микроконтроллере имеется 4 многофункциональных 8-битовых порта ввода/вывода Р0, Р1, Р2 и Р3, предназначенные для обмена информацией с различными внешними устройствами, такими, как внешняя память программ и данных. Каждый порт является фиксатором-защелкой и может адресоваться как побайтно, так и побитно.

Порт P0 - двунаправленный порт ввода/вывода, выходные каскады с открытым стоком. Через порт Р0 выводится младший байт адреса, а также выдается и принимается в микроконтроллер байт данных при работе с внешней памятью программ/данных. Также задаются данные при программировании внутренней памяти программ и читается ее содержимое.

Порт Р1 является двунаправленным портом ввода/вывода, выходные каскады которого «подтянуты» к единице внутренними нагрузочными резисторами. Линии P1.0 и P1.1 используются для обслуживания третьего счётчика/таймера (T/C2).

Через порт Р2 выводится старший байт адреса (разряды А8-А15) внешней памяти программ и данных.

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

Альтернативные функции порта 3 представлены в таблице 5

Таблица 5 - Альтернативные функции Р3

Бит

Мнемоника

Назначение

P3.0

RD

Вход данных последовательного порта

P3.1

TD

Выход передатчика последовательного порта

P3.2

INT0

Внешнее прерывание 0

P3.3

INT1

Внешнее прерывание 1

P3.4

T0

Внешний вход Т/С0

P3.5

T1

Внешний вход Т/С1

P3.6

WR

Строб записи во ВПД

P3.7

RD

Строб чтения из ВПД

В схеме генератора сигнала порты Р0 и Р2 используются при обращении к внешней памяти. Порт Р1 используется для организации управления работой генератора и индикации.

1.2.3 Таймеры/счетчики

В составе микроконтроллера имеются независимые программно-управляемые таймеры/счётчики событий Т/С0, Т/С1 и Т/С2. Они функционируют на основе регистровых пар TH0, TL0, TH1, TL1 и TH2, TL2.

При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, через каждые 12 периодов резонатора.

При работе в качестве счётчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (T0, T1) вход микроконтроллера. Опрос сигналов выполняется в каждом машинном цикле. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчёта входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считываемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.

Для управления режимами работы и для организации взаимодействия таймеров T/C0 и T/C1 с системой прерываний используются регистры специальных функций TMOD и TCON.

Таблица 6 - Формат регистра TMOD

7

6

5

4

3

2

1

0

GATE

C\T

M1

M0

GATE

C\T

M1

M0

T\C1

T\C0

Назначение битов M1, M0, если M1, M0 равны 0 то режим 0, если M1=0, M0=1 то режим 1, если M1=1, M0=0 то режим 2, если M1, M0 равны 1 то режим 3.

Бит C\T, если C\T=1 то счётчик, если C\T=0 то таймер.

Бит GATE- управление режимом блокировки.

GATE=1 таймер/счётчик разрешён, если вход INT0=1(аппаратное разрешение).

GATE=0 таймер/счётчик разрешён, если бит разрешения TR0 в регистре TCON=1(программное разрешение).

Таблица 7 - Формат регистра TCON

7

6

5

4

3

2

1

0

TF1

TR2

TF0

TR0

IE1

IT1

IE0

IT0

К таймерам

К прерыванию

Бит IT, управление типом внешнего прерывания, 1-прерывание по срезу, 0- прерывание по уровню

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

Бит TR управление работой таймера/счетчика TR0=0-остановка, TR0=1-работа.

Бит TF флаг переполнения таймера, 1- переполнение таймера, 0 нет переполнения, формируется запрос на прерывание при переполнении таймера.

Для таймер/счетчиков режимы работы 0, 1 и 2 одинаковы, режимы 3 различны.

Режим 0. Соответствует тринадцатиразрядному таймеру-счетчику, который состоит из регистра THx и пяти младших битов регистра TLx, выполняющего функцию предделителя частоты на 32.

Режим 1. В этом режиме TL0 и TH0 образуют единый 16 разрядный регистр При переходе из состояния «все единицы» в состояние «все нули», устанавливается флаг переполнения в регистре TCON и таймер продолжает счёт с нуля.

Режим 2. При переходе из состояния «все единицы» в состояние «все нули» 8-битного счётчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое TH1 неизменным.

Режим 3. Используется редко. T1 останавливается, T0 работает как два незавимимых 8 битных таймера/счётчика.

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

Определим количество машинных циклов, соответствующих временному интервалу ts при заданной рабочей частоте микроконтроллера. Длительность одного машинного цикла при тактовой частоте 33 МГц составит:

,

.

Определим количество машинных циклов М, необходимых для формирования временного интервала 22 мкс:

,

.

Наиболее удобным режимом работы таймера T0 является Режим 2, обеспечивающий автоматическую перезагрузку регистра TL0 при переполнении. Перед включением таймера в регистр TH0 необходимо записать число Х, с которого начинает счет регистр TL0 (начальную уставку таймера). Так как счет производится по возрастанию, значение числа Х, соответствующее отсчету 60 машинных циклов до переполнения таймера (значение FFh+1), определяется выражением:

,

.

Таким образом, перед первым включением таймера T0 необходимо определить его режим работы, установив значения соответствующих битов в регистре TMOD, и запись в регистры TL0 и TH0 начальную установку С4h.

1.2.4 Система прерываний P83C51RB+

Микроконтроллер P83C51RB+ имеет четырехуровневую систему прерываний, поддерживает семь векторов прерывания.

Внешние прерывания INT0^ и INT1^ могут быть вызваны уровнем, либо переходом сигнала из 1 в 0 на входах P83C51RB+ в зависимости от значений управляющих бит IT0 и IТ1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре ТСОN, которые инициируют вызов соответствующей программы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по переходу (срезу) сигнала. Если же прерывание вызвано уровнем входного сигнала, то для сброса флага IE соответствующая подпрограмма обслуживания прерывания должна воздействовать на источник прерывания, чтобы он снял свой запрос.

Таблица 8 - Структура системы прерываний.

Источник

Приоритет опроса

Флаг запроса

Назначение

Векторный адрес

1

2

3

4

5

Х0

1

IE0

Внешнее событие на выводе INT0

03Н

Т0

2

TF0

Переполнение T/C0

0ВН

Х1

3

IE1

Внешнее событие на выводе INT1

13Н

Т1

4

TF1

Переполнение T/C1

1ВН

6

RI, TI

Последовательный порт: приём или передача

23Н

Т2

5

TF2, EXF2

Прерывание от T/C2

2ВН

РСА

7

CF, CCFn, n=0…4

Прерывание от PCA

33Н

Таблица 9 - Приоритеты прерываний

Биты приоритета

Уровень приоритета прерываний

IPH.x

IP.x

0

0

Уровень 0 (низкий)

0

1

Уровень 1

1

2

3

1

0

Уровень 2

1

1

Уровень 3 (высокий)

Каждое из прерываний может быть индивидуально разрешено или запрещено установкой или сбросом соответствующих битов в регистре IE. В этом регистре также присутствует бит глобального (одновременного) запрещения всех прерывании вне зависимости от состояния соответствующего бита индивидуального разрешения/запрещения.

Таблица 10 - Регистр IE

БИТ

СИМВОЛ

ФУНКЦИЯ

IE.7

EA

Бит глобального разрешения/запрещения прерывания. Если ЕА=0, все прерывания запрещены. Если ЕА=1, каждое из прерываний может быть индивидуально разрешено или запрещено установкой или сбросом его индивидуального бита разрешения прерывания.

IE.6

ЕС

Не используется

IE.5

ЕТ2

Бит индивидуального разрешения прерывания от таймера/счетчика 2

IE.4

ЕS

Бит индивидуального разрешения прерывания от последовательного приемопередатчика

IE.3

ЕТ1

Бит индивидуального разрешения прерывания от таймера/счетчика 1

IE.2

ЕХ1

Бит индивидуального разрешения прерывания от внешнего сигнала 1

IE.1

ЕТ0

Бит индивидуального разрешения прерывания от таймера/счетчика 0

IE.0

ЕХ0

Бит индивидуального разрешения прерывания от внешнего сигнала 0

Каждому из источников прерываний путем установки или сброса соответствующего бита в регистр IP может быть программно присвоен высокий или низкий уровень приоритета, приоритетом может в свою очередь быть прервана подпрограмма обслуживания прерывания с высоким приоритетом.

Для организации обслуживания прерывания необходимо в ячейку памяти программ с адресом 0Вh (вектор прерывания таймера Т0) записать код команды безусловного перехода к подпрограмме обработки прерывания таймера Т0.

1.3 Размещение кодовой таблицы сигналов в памяти

Кодовые комбинации, соответствующие отсчетам аналогового сигнала, хранятся во внешней памяти программ по адресу 540h. Обращение к ВПП при чтении кодовой таблицы производится по управляющему сигналу PSEN^. Для обеспечения энергонезависимости и надежности хранения информации, не обновляемой в процессе работы генератора, в качестве внешней памяти программ удобно использовать постоянную память - ПЗУ.

Минимальный объем внешней памяти программ, необходимый для хранения кодовой таблицы сигнала, соответствует количеству отсчетов. Следовательно, кодовая таблица располагается в 32 ячейках памяти, начиная с адреса 540h по 55Fh.

Таким образом, с учетом размера и начального адреса кодовой таблицы, для внешней памяти программ можно использовать ПЗУ объемом не менее 2Кбайт (с адресным пространством от 000h до 7FFh). При этом PSEN^ должен подаваться непосредственно на микросхему ПЗУ.

1.4 Порт вывода дискретных сигналов

Порт вывода предназначен для формирования и выдачи аналогового сигнала. Обращение к порту вывода производится в адресном пространстве внешней памяти данных. Поэтому кодовые комбинации, поступающие на входы порта, сопровождаются сигналом WR^ микроконтроллера. Это предполагает наличие в схеме генератора устройства дешифрации адреса порта вывода аналогового сигнала.

Особенностью порта вывода является то, что его работу активизирует обращение по любому адресу от 4C00h-4FFFh.

Следовательно, любой из 1024 адресов, соответствующих маске 0100 11XX XXXX XXXXb принадлежит порту вывода и десять младших битов его адреса не имеют определяющего значения.

Таким образом, для устройства дешифрации адреса можно использовать принцип частичной дешифрации по шести старшим разрядам.

Передача сигнала WR^ в порт вывода аналогового сигнала осуществляется через дешифратор адреса порта вывода, и производится только при обращении по адресу из указанного диапазона.

1.5 Режимы работы генератора сигналов

По заданию предусмотрено два режима работы программируемого генератора сигналов «Ожидание» и «Пуск». Индикация режимов производится светодиодами.

При включении питания или получении внешнего управляющего сигнала «RESET» микроконтроллер устанавливается в начальное состояние и начинает выполнение управляющей программы.

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

Для формирования сигнала «RESET» в произвольный момент времени рекомендуется использовать кнопку, подключенную к входу RST микроконтроллера.

После установки в исходное состояние генератор автоматически переводится в режим «Ожидание». Индикация режима производится двумя желтыми светодиодами, подключенными к линиям P1.2, P1.3 микроконтроллера.

Формирование аналогового сигнала начинается по сигналу «START» с логическим уровнем 1, подаваемым на линию Р1.5 микроконтроллера. Индикация режима «Пуск» производится синим светодиодом, подключённым к линии P1.0 микроконтроллера.

В процессе выполнения управляющей программы микроконтроллер производит чтение кодовой таблицы из внешней памяти программ и запись кодовых комбинаций в порт вывода аналогового сигнала. В одном периоде работы генератора выводится 32 кодовые комбинации в течение 0,704 мс.

Формирование выходного сигнала производится циклически до тех пор пока на линию Р1.5 не будет подан уровень логического 0. В этом случае генератор снова переводится в режим «Ожидание». Формирование сигнала прекращается и может быть повторно возобновлено с момента остановки при подаче сигнала «START».

2. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ ГЕНЕРАТОРА

Структурная схема программируемого генератора сигнала приведена на рисунке 5.

МК - микроконтроллер P83C51RB+

РА - регистр адреса внешней памяти

ВПП - внешняя память программ

ПВ - порт вывода аналогового сигнала

ДА - дешифратор адреса порта вывода аналогового сигнала

УИ - устройство индикации режимов работы генератора

Рисунок 5 - Структурная схема программируемого генератора сигналов

Устройство разрабатывается на основе микроконтроллера P83C51RB+. При включении питания или получении внешнего управляющего сигнала “RESET” микроконтроллер устанавливается в начальное состояние. Начинается выполнение управляющей программы и генератор переходит в режим «ОЖИДАНИЕ».

По внешнему сигналу «START» с логическим уровнем 2 генератор переходит в режим «Пуск», на выходах порта вывода аналогового сигнала начинается формирование сигнала Uвых.

Отображение режимов работы генератора производится устройством индикации, получающим от микроконтроллера управляющие сигналы “WAIT” и “WORK”.

Резидентная память программ предназначена для хранения управляющей программы генератора. Во внешней памяти программ размещается по адресу 540h кодовая таблица сигналов формируемых генератором.

В процессе работы микроконтроллер формирует следующие управляющие сигналы (символ ^ используется для указания инверсии):

ALE (Address Latch Enable) - сигнал стробирования адреса внешней памяти,

WR^ (Write) -разрешение записи во внешнюю память данных,

PSEN^ (Program Store Enable) - разрешение чтения внешней памяти программ,

Шина адреса А(0-15) используется для адресации внешней памяти и порта вывода дискретных сигналов.

Шина адреса/данных A/D(0-7) - используется при чтении внешней памяти и записи кодовых комбинаций в порт вывода дискретных сигналов.

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

В первой части машинного цикла на линии A/D(0-7) порта Р0 микроконтролер выставляет младший байт адреса внешней памяти. Старший байт адреса внешней памяти выдается на линии А(8-15) порта Р2. По сигналу ALE младший байт адреса внешней памяти записывается в регистр, и хранится в течение всего машинного цикла. Сигналы A(0-7) с выхода регистра адреса и сигналы А(8-15) образуют общую шину адреса генератора А(0-15).

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

Дешифратор адреса порта вывода дискретных сигналов (ДА) осуществляет считывание адресного пространства генератора и выделение адреса порта вывода, соответствующего диапазону 4C00h-4FFFh.

Кроме того, ДА производит передачу управляющего сигнала WR^ от микроконтроллера в порт. Запись кодовых комбинаций, соответствующих отсчетам выходного сигнала, производится по сигналу WR^, при наличии любого адреса из указанного.

3. РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ ГЕНЕРАТОРА

Схема электрическая функциональная программируемого генератора сигнала приведена на чертеже ОМТ 12.XX.01 Э2.

Программируемый генератор сигнала разрабатывается на основе микроконтроллера Philips P83C51RB+ (элемент DD1 функциональной схемы). Для индикации и управления режимами работы устройства используются внешние управляющие сигналы.

Перевод генератора в исходное состояние производится сигналом «RESET», поступающим на вход RST микроконтроллера.

Для индикации режима «Ожидание» микроконтроллер формирует на линиях P1.2, P1.3 сигнал «WAIT».

По сигналу «START» с логическим уровнем 1, подаваемому на линию P1.5 микроконтроллера, начинается выдача аналогового сигнала Uвых. Для индикации режима «Пуск» микроконтроллер формирует на линии P1.0 сигнал «WORK».

Восьмиразрядный параллельный регистр (элемент DD2) используется для демультиплексирования шины адреса/данных. Входы D0-D7 регистра подключены к выводам параллельного порта Р0. Запись в регистр младшего байта адреса внешней памяти AD0-ad7 производится по срезу сигнала ALE. Выходные линии А0-А7 регистра совместно с линиями А8-А15 параллельного порта Р2 образуют общую шестнадцатиразрядную шину адреса А0-А15.

В качестве внешней памяти используется параллельное ПЗУ объемом 16 Кбайт (элемент DD3). Для разрешения обращения к внешней памяти программ на вывод EA^ микроконтроллера подается напряжение логического нуля.

Адреса с 540h по 55Fh используются как внешняя память программ и предназначены для хранения кодовой таблицы сигнала. Чтение таблицы сопровождается сигналом PSEN^, который поступает на стробирующий вход OE^ элемента DD3.

Дешифрация адреса порта вывода аналогового сигнала производится при помощи устройства сравнения (элемент DD4). Поскольку любой адрес от 4C00h до 4FFFh является истинным, используется принцип частичной дешифрации по шести старшим разрядам.

Дешифратор производит сравнение сигналов на входах А и В по условию равенства. Шесть старших разрядов А10-А15 шины адреса подаются на входы А0-А5. На входах В0-В5 фиксируется число 010011b. При совпадении сигналов на входах А и В и наличии на входе дешифратора сигнала WR^, схема сравнения формирует сигнал, разрешающий запись в порт вывода аналогового сигнала.

Порт вывода аналогового сигнала реализован на основе восьмиразрядного параллельного цифро-аналогового преобразователя (элемент DA1). Запись кодовых комбинаций, соответствующих отсчетам выходного сигнала, производится по сигналу WR^.

Выходное напряжение Uвых формируется в зависимости от значения сигналов D0-D7 на входах цифро-аналогового преобразователя и величины опорного напряжения Uref.

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

Схема электрическая принципиальная генератора сигналов изображена на чертеже ОМТ 12. .02 Э3.

Элемент DD1 на принципиальной схеме - микроконтроллер P83C51RB+. Тактовая частота обеспечивается кварцевым резонатором ZQ1 с частотой 33МГц, подключённым к выводам XTAL1, XTAL2. В соответствии с типовой схемой включения в цепь резонатора подключается два конденсатора С2 и С3. Типовая схема начального пуска реализована на конденсаторе С1 и кнопке без фиксации SB1. При включении напряжения питания на входе RST микроконтроллера формируется уровень логической единицы, в течение времени достаточного для сброса микроконтроллера.

Для формирования сигнала START используется резистор R1 и кнопка с фиксацией SВ2. При нажатии кнопки SВ2 на входе порта P1.5 микроконтроллера устанавливается уровень логической единицы.

Индикация режима «ОЖИДАНИЕ» обеспечивается двумя светодиодами GNL-3014UYC желтого цвета (элемент VD1, VD2). Индикация режима «Пуск» производится светодиодом GNL-3014BC синего цвета (элемент VD3). Для согласования электрических параметров по току используется микросхема КР1533ЛП16 (элемент DD5). Для обеспечения рабочего режима светодиодов необходимо использовать резисторы (R2-R4). Рассчитаем сопротивление резисторов:

,

где - напряжение питания

=0,4В-максимальное напряжение логического нуля на выходе микросхемы DD5

-рабочее напряжение диода: желтого цвета =2,0 В,

синего цвета =3,5 В,

-рабочий ток диодов: ID=30мА

,

Ом.

Выберем из ряда Е24 сопротивление: R2= 91 Ом.

Произведем расчет мощности:

,

Вт

Выберем резисторы из справочника: R2: С1-4-91 Ом-0,125 Вт±5%

Произведем расчёт для синего светодиода:

,

Ом.

Выберем из ряда Е24 сопротивление: R3-4= 39 Ом.

Произведем расчет мощности:

,

Вт

Выберем резисторы из справочника: R3-4: С1-4-39 Ом-0,125 Вт±5%

В качестве регистра адреса внешней памяти используется восьмиразрядный параллельный регистр с трехстабильными выходами KP1533ИР22 (элемент DD3). По срезу сигнала ALE подаваемого на стробирующий вход регистра производится запись младшего байта адреса внешней памяти.

Внешняя память генератора реализована микросхемой ПЗУ EPROM (элемент DD4) объёмом 16 Кбайт. На вход подаётся сигнал.

Функции дешифратора адреса порта вывода дискретных сигналов, выполняет восьмиразрядный цифровой компаратор 74ACT520 (элемент DD2). Особенностью микросхемы является наличие встроенных подтягивающих резисторов, подключенных к входам B. При помощи разъема JP1 на входах B0-B5 фиксируется адрес порта вывода 0100 11b, а на входы А подаются сигналы А10-А15 из шины адреса. При наличии сигнала и совпадении сигналов на входах А и В на выходе дешифратора формируется сигнал разрешения записи в порт EWR.

Функция порта вывода аналогового сигнала реализована восьмиразрядным параллельным цифро-аналоговым преобразователем AD5330 (DA1). Информационные входы ЦАП подключены к шине адреса/данных. ЦАП имеет дополнительные управляющие входы. Сигналы, поступающие на входы порта DA0-DA7, записываются под контролем управляющих сигналов LDAC^, WR^. Внешний вывод GAIN служит для установки диапазона выходного сигнала от 0 до 2Vref. Вход данных ЦАП имеет двойную буферизацию BUF, что позволяет, используя вывод LDAC^, осуществлять одновременное изменение выходного сигнала в системах из нескольких ЦАП. Вход CS^ позволяет активировать устройство, а положительный фронт на входе WR^ загружает данные во входной регистр. Предусмотрен так же асинхронный вход CLR^, который служит для сброса содержимого входного регистра и регистра ЦАП. На выводы BUF, CLR, PD, Vdd подается напряжение +5В. На выводы NC, LDAC, CS, GND, GAIN подается сигнал низкого уровня.

Для защиты от низкочастотных помех применяется электролитический конденсатор С4. Для защиты от высокочастотных помех в цепи питания применяются высокочастотные керамические конденсаторы С5-С11. Разъём XR1 предназначен для подачи напряжения питания +5В.

5. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ И УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ГЕНЕРАТОРА

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

Рисунок 6 - Блок-схема алгоритма работы генератора сигнала

Микроконтроллер выполняет управляющую программу, размещенную во внешней памяти программ. Так как область младших адресов памяти программ отведена под обработку прерываний, основная программа размещается по адресу 40h.

Блок-схема алгоритма работы управляющей программы генератора приведена на рисунке 7.

Рисунок 7 - Блок-схема алгоритма работы управляющей программы генератора

При включении питания производится инициализация микроконтроллера: загрузка начальных значений регистров-указателей и счетчиков, настройка системы прерываний и таймеров. Генератор переводится в режим «Ожидание». Индикация режима производится двумя светодиодами, подключенными к линиям Р1.2, P1.3

В режиме «Ожидание» периодически производится опрос сигнала «Start», подаваемого на линию Р1.5 микроконтроллера. Если на линию Р1.5 подается уровень логической единицы, генератор переводится в режим «Пуск», включается таймер Т0 и начинается формирование аналогового сигнала Uвых. Индикация режима производится светодиодом, подключенным к линии Р1.0.

В каждом цикле выдачи аналогового сигнала в порт вывода последовательно записываются 32 кодовые комбинации. Кодовая таблица сигналов хранится во внешней памяти программ адресу 540h.

Кодовые комбинации на входах порта вывода обновляются каждые 22 мкс. Для обеспечения заданной длительности сигнала используется таймер/счетчик Т0, работающий в режиме восьмиразрядного таймера с автоперезагрузкой.

Перед первым пуском в регистры таймера записывается число C4h, которое автоматически перезагружается в регистр TL0 при переполнении таймера. Для выбора режима работы таймера в регистре TMOD устанавливаются соответствующие значения битов C/T, М0 и М1. Для включения таймера в регистре TCON устанавливается бит TR0.

Чтение кодовых комбинаций из памяти, их запись в порт вывода и организация нового цикла выдачи сигналов выполняются при обработке запроса прерывания от таймера Т0. Для разрешения прерывания от таймера Т0 необходимо в регистре IE установить бит ЕТ0 и снять блокировку всех прерываний, установив бит ЕА.

Для обслуживания прерывания таймера Т0 в ячейку памяти программ с адресом 0Вh записывается код команды перехода к подпрограмме обработки прерывания TIMER_HAND.

Чтение кодовой таблицы производится с использованием регистра-указателя данных DPTR. Регистр общего назначения R2 используется как счетчик, для контроля количества кодовых комбинаций, записанных в порт вывода. После выдачи последней кодовой комбинации регистр-указатель DPTR и регистр-счетчик R2 снова загружаются начальными значениями.

Адрес порта вывода аналогового сигнала 4C00h принадлежит внешней памяти данных. Запись текущей кодовой комбинации в порт вывода производится с использованием косвенной адресации. Порт Р2 используется для адресации старшего байта адреса, а регистр R0, как регистр-указатель младшего байта адреса.

Если на линию Р1.5, поступает сигнал «StOP», соответствующий уровню логического нуля, таймер выключается и генератор снова переводится в режим «Ожидание». Формирование сигнала может быть возобновлено с момента остановки при повторной подаче сигнала «Start».

Блок-схема алгоритма работы подпрограммы обработки прерывания таймера приведена на рисунке 8.

Рисунок 8 - Блок-схема алгоритма работы подпрограммы обработки прерывания таймера

В таблице 11 указаны имена переменных, их назначение, а так же специализация регистров общего назначения.

Таблица 11 - Назначение переменных, меток и регистров, используемых в программе

Имя

Значение

Назначение

ADDR_TAB

540h

начальный адрес кодовой таблицы сигналов

N_CODE

32d

количество кодовых комбинаций в таблице

PORT_L

00h

младший байт адреса порта вывода аналогового сигнала

PORT_H

4Ch

старший байт адреса порта вывода аналогового сигнала

X

C4H

уставка таймера, соответствует длительности 0,022 мс при 33 МГц

START/

STOP

P1.5

сигнал "START/STOP"

Метка

Назначение

BEGIN

инициализация микроконтроллера

wait

перевод генератора в режим «Ожидание»

OPROS

опрос кнопки «START», ожидание прерывания таймера Т0

WORK

перевод генератора в режим «Пуск»

TIMER

вход в подпрограмму обработки прерывания таймера Т0

Метка

Назначение

NEXT

выход из подпрограммы обработки прерывания таймера Т0

TABLE

таблица кодовых комбинаций

Регистр

Назначение

R0

указатель младшего байта адреса порта вывода

R3

счетчик количества кодовых комбинаций, выданных в порт вывода

Порт Р1

Назначение

Р1.5

место подключения кнопки «START/STOP»

P1.2, P1.3

место подключения VD1, VD2, индикация режима «Ожидание»

Р1.0

место подключения VD3, индикация режима «Пуск»

Размещено на Allbest.ru


Подобные документы

  • Разработка специализированного вычислителя для обработки аналогового сигнала для: реализации его ввода, отображения результата на индикаторе, накопления по каждому каналу с усреднением по времени на интервале, вывода результатов по стандартному протоколу.

    курсовая работа [518,8 K], добавлен 07.06.2011

  • Процесс преобразования аналогового сигнала в цифровой. Шаг дискретизации, его взаимосвязь с формой восстановленного сигнала. Сущность теоремы Котельникова. Процесс компандирования, его стандарты. Системы передачи информации с импульсно-кодовой модуляцией.

    презентация [190,4 K], добавлен 28.01.2015

  • Общая характеристика микроконтроллера PIC16F873A, его корпус, технические параметры, структурная схема и организация памяти. Подключение питания и тактирование, анализ принципиальной схемы. Разработка рабочей программы для заданного микроконтроллера.

    курсовая работа [667,0 K], добавлен 23.04.2015

  • Обзор цифровых синтезаторов сигнала: прямого аналогового и косвенного. Создание структурной схемы генератора. Регистр управления цифрового синтезатора частоты AD9833 и микроконтроллера AT90USB162. Аналоговая часть устройства и выбор его элементной базы.

    курсовая работа [1,2 M], добавлен 04.05.2015

  • Выбор частоты дискретизации широкополосного аналогового цифрового сигнала, расчёт период дискретизации. Определение зависимости защищенности сигнала от уровня гармоничного колебания амплитуды. Операции неравномерного квантования и кодирования сигнала.

    курсовая работа [2,0 M], добавлен 18.07.2014

  • Зависимость работы некоторых устройств микроконтроллера от состояния дополнительных однобитовых запоминающих элементов — установочных битов (Fuse Bits). Исходные значения установочных битов. Конструкция и особенности работы генератора тактового сигнала.

    реферат [381,3 K], добавлен 21.08.2010

  • Разложение непериодического сигнала на типовые составляющие. Расчет изображения аналогового непериодического сигнала по Лапласу. Нахождение спектральной плотности аналогового непериодического сигнала. Расчет ширины спектра периодического сигнала.

    курсовая работа [1,3 M], добавлен 13.01.2015

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

    курсовая работа [513,0 K], добавлен 18.06.2013

  • Описание структурной схемы и разработка проекта радиопередатчика ЧМ сигнала. Осуществление синтеза радиовещательного ЧМ сигнала с использованием квадратурного КМОП DDS модулятора AD7008. Величина КСВ и описание взаимодействия микроконтроллера и DDS.

    курсовая работа [705,5 K], добавлен 18.03.2011

  • Моделирование процесса дискретизации аналогового сигнала, а также модулированного по амплитуде, и восстановления аналогового сигнала из дискретного. Определение системной функции, комплексного коэффициента передачи, параметров цифрового фильтра.

    курсовая работа [1,5 M], добавлен 07.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.