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

Автор работы: Пользователь скрыл имя, 26 Января 2013 в 01:30, курсовая работа

Описание работы

В результате выполнения курсовой работы, с применением компьютерных технологий, а именно, программы Keil μVision2, был разработан программируемый генератор на базе однокристальной микроконтроллера 87C52 с тактовой частотой 24 МГц. Спроектированы электрическая, структурная, принципиальная и функциональная схемы генератора сигнала в соответствии с техническим заданием. Получен шестнадцатеричный код для программирования микросхемы памяти.

Содержание работы

Анализ задания…………………………………………………………..…5
Формирование кодовой таблицы аналогового сигнала…………....…….5
Общая характеристика микроконтроллера………………………….…....8
Размещение кодовой таблицы в памяти……………………………..….22
Порт вывода аналогового сигнала..…………………………...…………23
Режим и порядок работы генератора сигнала……………………..…...23
Разработка структурной схемы генератора сигнала..…………….…….25
Разработка функциональной схемы генератора сигнала...……………..28
Разработка принципиальной схемы генератора………………………...30
Разработка алгоритма работы и управляющей программы микроконтроллера……..……………………………………………………..….31
Анализ результатов проектирования…………………….………………...…...33
Список литературы………………………………………………………………40

Файлы: 1 файл

Kursach (3).doc

— 5.79 Мб (Скачать файл)

РОСЖЕЛДОР

Федеральное государственное  бюджетное образовательное учреждение

высшего профессионального  образования

«Ростовский государственный  университет путей сообщения»

(ФГБОУ ВПО РГУПС)

 

Кафедра «Автоматика и  телемеханика на железнодорожном транспорте»

 

РАЗРАБОТКА  ПРОГРАММИРУЕМОГО ГЕНЕРАТОРА СИГНАЛА

Пояснительная записка к курсовой работе по дисциплине

«Основы микропроцессорной  техники»

ОМТ 12.  .ПЗ

Работа защищена  _______________ с оценкой  _______________

 

Руководитель работы

к.т.н., доцент                 _______________      В.В. Шаповалов

 

Студент группы ___________         ___________________          ________

 

 

 

Ростов-на-Дону

2012г.

 

СОДЕРЖАНИЕ

  1. Анализ задания…………………………………………………………..…5
    1. Формирование кодовой таблицы аналогового сигнала…………....…….5
    2. Общая характеристика микроконтроллера………………………….…....8
    3. Размещение кодовой таблицы в памяти……………………………..….22
    4. Порт вывода аналогового сигнала..…………………………...…………23
    5. Режим  и порядок работы генератора сигнала……………………..…...23
  2. Разработка структурной схемы генератора сигнала..…………….…….25
  3. Разработка функциональной схемы генератора сигнала...……………..28
  4. Разработка принципиальной схемы генератора………………………...30
  5. Разработка алгоритма работы и управляющей программы микроконтроллера……..……………………………………………………..….31

Анализ результатов проектирования…………………….………………...…...33

Список литературы………………………………………………………………40

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

 

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

 

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

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

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

ts=1/Fs,

ts=1/40 кГц=0,025 мс.

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

T=N*ts,

T=32*0,025=0,8 мс.

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

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

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

По заданию максимальное выходное напряжение соответствует величине 4,06 В, следовательно опорное напряжение 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

16

Uвых, В

1,7

2,22

2,68

3

3,3

3,5

3,7

3,8

3,98

4,06

1,9

1,3

0,9

0,6

0,4

0,2

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

52

6F

85

96

A3

AE

B7

BF

C6

CA

60

3E

2C

1F

15

C

Продолжение таблицы 1

№ Отсчета

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Uвых, В

0,1

0

0,98

1,76

2,12

2,38

2,62

2,8

2,96

2,96

1,8

1,3

0,9

0,68

0,44

0,22

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

4

0

31

57

69

77

82

8B

93

94

5A

3F

2E

21

16

A


 

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

 

Генератор разрабатывается  на базе однокристальной микро-ЭВМ Intel  87C52 с рабочей частотой 24 МГц. Микроконтроллер семейства 8051 имеет следующие аппаратные особенности:

- внутреннее  ОЗУ объемом 128 байт;

- четыре двунаправленных  побитно настраиваемых восьмиразрядных  порта ввода-вывода;

- два 16-разрядных  таймера-счетчика;

- встроенный  тактовый генератор;

- адресация  64 Кбайт памяти программ и 64 Кбайт памяти данных;

- две линии запросов на прерывание от внешних устройств;

- интрефейс  для последовательного обмена  информацией с другими микроконтроллерами  или персональными компьютерами.

Основные характеристики микроконтроллера приведены в таблице 2.

 

Таблица 2 –  Основные характеристики микроконтроллера 87C52

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

Микроконтроллер  87C52

1

2

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

КМОП

  1. Типы корпуса

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

Продолжение таблицы 2

1

2

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

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

военный -55…+125,

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

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

8 Кбайт ROM

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

256 байт

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реверсивный таймер-счетчик

Трехуровневая система  защиты памяти.

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

5В±20%

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

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

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

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

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

UOLmax =0,4 В

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

UOHmin =4,3 В

Продолжение таблицы 2

1

2

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

IIL =50мкА

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

IOL=15мА


 

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


Рисунок 2 –  УГО микроконтроллера 87C52 в корпусе DIP40

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

 

 

 

Таблица 3 –  назначение выводов микроконтроллера 87C52.

Имя

Назначение

P1.0…P1.7

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

RST

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

P3.0…P3.7

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

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

XTAL1

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

XTAL2

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

P2.0…P2.7

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

PSEN^

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

ALE

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

EA^

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

P0.0…P0.7

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

Vcc

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

Vss

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


 

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

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

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

При обращении  к внешней памяти программ все  микроконтроллеры семейства 8051 всегда используют 16-разрядный адрес, что обеспечивает им доступ к 64 Кбайт ПЗУ. Микроконтроллер обращается к программной памяти при чтении кода операции и операндов (используя счетчик команд PC), а также при выполнении команд переноса байта из памяти программ в аккумулятор. При выполнении команд переноса данных адресации ячейки памяти программ, из которой будут прочитаны данные, может осуществляться с использованием как счетчика PC, так и специального двухбайтового регистра-указателя данных DPTR.

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

 

Рисунок 2 - Структура памяти программ микроконтроллера 87C52

 

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

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

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

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

Рисунок 3 - Структура памяти данных микроконтроллера 87C52

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

 

 

 

Таблица 4 - Регистры sfr микроконтроллера 87C52

Имя

Адрес

Назначение

Значение при  сбросе, 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

8Вh

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

00000000

TL0

8Ah

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

00000000

TMOD

89h

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

00000000

TCON*

88h

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

00000000

PCON

87h

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

00XX0000

DPH

83h

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

00000000

DPL

82h

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

00000000

Продолжение таблицы 4

1

2

3

4

SP

81h

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

00000111

Р0*

80h

Порт 0

11111111

ТН2

CDh

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

00000000

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

Информация о работе Разработка программируемого генератора сигнала