Система накопления данных

Автор работы: Пользователь скрыл имя, 28 Января 2014 в 22:02, курсовая работа

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

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

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

Введение 6
1 Обзор литературы. 7
2 Анализ технического задания. 12
3 Разработка структурной схемы системы и ее описание. 21
4 Разработка функциональной схемы системы и ее описание 24
4.1 Микроконтроллер ADuC812 24
4.2 Внешняя память E2PROM 25
4.3 Матричная клавиатура AK1604A-WWB 26
4.4 Жидкокристаллический индикатор WH1602B-NGK-CP 28
4.5 Часы реального времени PCF8583P 29
4.6 ПЛИС PM3064ATC100 30
4.7 Интерфейс RS232 (COM порт) 32
4.8 Интерфейс процессора с памятью 33
5 Разработка схемы электрической принципиальной системы и ее описание 36
6 Разработка программного обеспечения. 37
6.1 Разработка программы для микроконтроллера 37
6.1.1 Создание нового проекта 38
6.1.2 Резидентный загрузчик НЕХ202 38
6.1.3 Загрузка программ в лабораторный стенд SDK-1.1 39
6.1.4 Описание основной части кода программы для микроконтроллера 40
6.2 Разработка программы для ПК 42
Заключение. 44
Список использованных источников. 45

Файлы: 1 файл

ПЗ22 12new.doc

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

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

Рисунок 6. Условно-графическое  изображение ADuC812

4.2 Внешняя память E2PROM

E2PROM – перепрограммируемое электрически стираемое постоянное запоминающее устройство. Объем памяти E2PROM, установленной в стенде SDK-1.1, составляет 128 байт (возможна установка E2PROM большего объема, до 32 Кб). Микросхема E2PROM взаимодействует с процессором посредством интерфейса I2C.

Основные характеристики:

• Возможность перезаписи до 1 млн. раз.

• Возможность побайтной и постраничной записи (в текущей конфигурации размер страницы составляет 8 байт).

Диапазон рабочих температур -55°C - +125°C

Условия хранения -65°C - +150°C

Напряжение на ножках с учетом заземления -0.1V - +7.0V

Максимальное рабочее напряжение 6.25V

Постоянный ток выхода 5.0 mA

 

Рисунок 7. Микросхема AT24C01A (объемом 128 кб)

4.3 Матричная клавиатура AK1604A-WWB

Клавиатура организована в виде матрицы 4x4. Доступ к колонкам и рядам  организован как чтение/запись определенного  байта внешней памяти (4 бита соответствуют 4 колонкам, другие 4 бита - рядам).

Рисунок 8. Схема электрическая  принципиальная матричной клавиатуры AK1604A-WWB.

При нажатии на кнопку напряжение не сразу устанавливается  на уровне 0 В, а "скачет" в течение некоторого времени (1-10 мс), пока цепь надежно не замкнется. После того, как клавиша будет отпущена, напряжение также "скачет", пока не установится на уровне логической "1".

 

Рисунок 9. Дребезг

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

4.4 Жидкокристаллический индикатор WH1602B-NGK-CP

ЖКИ в контроллере SDK-1.1 подключен  не напрямую к микроконтроллеру ADuC812, а через расширитель портов ввода-вывода, выполненный на базе ПЛИС. В ЖКИ есть специальный контроллер, формирующий необходимые напряжения на входах матрицы и осуществляющий динамическую индикацию. Для работы с этим контроллером реализован простейший интерфейс, описанный на рисунке 10.

Рисунок 10. Схема электрическая принципиальная ЖКИ

ЖКИ работает в текстовом режиме (2 строки по 16 символов), имеет подсветку (цвет желто-зеленый). Основные характеристики:

• Габариты: 80x36x13.2 мм.

• Активная область 56.21x11.5 мм.

• Размеры точки 0.56x0.66 мм; размеры  символа 2.96x5.56 мм.

• Встроенный набор 256 символов (ASCII + кириллица).

• Генератор символов с энергозависимой  памятью на 8 пользовательских символов.

Рисунок 11 - Схема подключения контроллера ЖКИ к МК ADuC812

 

Таблица 5.

Обозначение

Описание

RS

Переключение между  регистрами команд и данных: 1 – данные, 0 – команды 

R/W

1– чтение (из контроллера  ЖКИ), 0 – запись (в контроллер  ЖКИ) 

E

Разрешающий сигнал (1 –  активный уровень). Если сигнал E = 0, то контроллер ЖКИ игнорирует все остальные сигналы

DB0

Бит данных 0

DB1

Бит данных 1

DB2

Бит данных 2

DB3

Бит данных 3

DB4

Бит данных 4

DB5

Бит данных 5

DB6

Бит данных 6

DB7

Бит данных 7


 

4.5 Часы реального времени PCF8583P

PCF8583 – часы/календарь с памятью объемом 256 байт, работающие от кварцевого резонатора с частотой 32.768 кГц. Питание осуществляется ионистором (0.1 ф). Из 256 байт памяти собственно часами используются только первые 16 (8 постоянно обновляемых регистров-защелок на установку/чтение даты/времени и 8 на будильник), остальные 240 байт доступны для хранения данных пользователя. Точность измерения времени – до сотых долей секунды. Взаимодействие с процессором осуществляется через интерфейс I2C.

Рисунок 12. Схема электрическая принципиальная PCF8583P

4.6 ПЛИС PM3064ATC100

ПЛИС - программируемая логическая интегральная схема. Некоторые устройства стенда подключены к микроконтроллеру через периферийный расширитель портов ввода-вывода, реализованный на базе ПЛИС небольшой емкости, перепрограммируемой через имеемый в SDK-1.1 JTAG-порт, что дает возможность изменять механизмы работы с этими устройствами.

К ПЛИС подключены: клавиатура, ЖКИ, линейка светодиодов, звуковой излучатель, 16 дискретных портов ввода-вывода.

 

Рисунок 13. ПЛИС PM3064ATC100

ПЛИС имеет в своем составе 8 регистров.

Таблица 6. Перечень регистров ПЛИС

Адрес

Регистр

Доступ

Назначение

080000H

KB

R/W

Регистр клавиатуры.

080001H

DATA_IND

R/W

Регистр шины данных ЖКИ.

080002H

EXT_LO

R/W

Регистр данных параллельного порта (разряды 0..7).

080003H

EXT_HI

R/W

Регистр данных параллельного  порта (разряды 8..15).

080004H

ENA

W

Регистр управления портами  ввода-вывода, звуком, сигналом INT0 и  прерыванием от клавиатуры.

080006H

C_IND

W

Регистр управления ЖКИ.

080007H

SV

W

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


ПЛИС выбирается при выставлении  сигнала #CS RAM/EPM (на второй защелке в  схеме интерфейса памяти) - то есть при  выборе восьмой страницы памяти. Регистры ПЛИС можно читать или писать через  подсоединенную шину адреса/данных - видна на левой средней половине микросхемы на рисунке. Через эту же шину выставляется адрес используемого регистра ПЛИС. Выводы ПЛИС в принципе соответствуют регистрам, которые расположены в ней - то что мы подаем на соответствующие вывода ПЛИС, отображается в соответствующих регистрах и наоборот.

Определенные выводы микросхемы подключены к внешнему разъему и к DIP-переключателям. Когда эти переключатели отключены, высокий уровень напряжения с +5V поступает на соответствующие выводы ПЛИС и в регистрах устанавливаются соответствующие значения. Когда же переключатели включены, высокий уровень напряжения с +5V идет на землю, и на выводах ПЛИС мы получаем низкий уровень напряжения  - логический ноль.

4.7 Интерфейс RS232 (COM порт)

Эта схема, в принципе, типична - присутствует оптическая развязка (KPC357), DC/DC-преобразователь (VA-0505S1) и основной элемент - драйвер RS-232 (ST202CD). Эта микросхема обеспечивает обмен последовательными

данными с другим устройством через  протокол RS-232 (в случае ПК используется COM порт). Данные преобразуются из параллельной формы в последовательную при помощи встроенного в ADuC812 UART-контроллера, драйвер же лишь преобразует сигнал, выдаваемый UART так, чтобы он соответствовал требования стандарта.

На схеме стенда можно заметить элементы (рядом с микроконтроллером) внешней EEPROM и часов реального времени - AT24C02A и PCF8583P соответственно. С микроконтроллером они общаются при помощи I2C

Рисунок 14. Схема электрическая принципиальная RS232

4.8 Интерфейс процессора с памятью

 

В силу того, что в SDK1.1 используется общая шина адреса-данных, мы вынуждены  использовать защелки для передаваемого  адреса ячейки - пара маленьких прямоугольных  элементов посередине схемы. Вначале, мы используем шину, как шину адреса - передаем по ней адрес ячейки. Этот адрес мы запоминаем в защелках - специальных запоминающих элементах, по сигналу ALE с микроконтроллера. На следующем такте работы микроконтроллера мы используем шину, уже как шину данных – посылаем, или передаем по ней информацию. При этом, адрес, выставленный на адресных входах микросхемы остается неизменным - ведь на этом такте мы считываем его с защелок, а не с шины адреса/данных.

Стоит заметить, что в силу использования  в стенде Гарвардской архитектуры, процессы чтения/записи из памяти команд и данных различаются. В случае чтения команд мы используем сигнал PSEN для сигнализации процесса начала чтения. Для адресации используется лишь два байта - мы используем просто 2 защелки.

Для сигнализации начала чтения данных используется сигнал RD. Для адресации используются уже три байта. Младший байт адреса передается через порт P0 - запоминается в верхней по схеме защелке. Старший байт запоминается в нижней по схеме защелке (через порт P2). Средний же байт передается через порт P2 уже после того, как два остальных байта "запомнились" в защелках.

Для записи информации в память данных используется сигнал WR; в память же команд писать нельзя.

Рисунок 15 - Микросхема памяти K6X4008C1F

Рисунок 16. Интерфейс процессора с памятью

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Разработка схемы электрической принципиальной системы и ее описание

 

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

Работа схемы электрической  принципиальной разрабатываемой системы  происходит по тем же принципам, что  и работа структурной схемы. Описание работы системы изложено в разделе «Разработка структурной схемы системы и ее описание» (раздел 3).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Разработка программного обеспечения.

6.1 Разработка программы для микроконтроллера

 

Основные этапы разработки ПО и его загрузки в стенд SDK-1.1, исключая разработку алгоритмов решения задачи, таковы (см. Рисунок 2)

  • создание файлов с исходным текстом программы на выбранном языке программирования;
  • трансляция исходного кода в объектный код, сборка в один объектный файл;
  • приведение исполняемого кода к виду, пригодному для передачи в стенд SDK-1.1;
  • загрузка его в память стенда по инструментальному каналу и передача управления на начало прикладной программы.

 

Написание программы  для стенда производилось в среде Keil Visio. В основе данной среды лежит язык C 51.

В состав инструментальных средств для процессоров с ядром АРМ7 входит:

 

1. Интегрированная среда  разработки uVision;

2. Компилятор языка  C;

3. Ассемблер;

4. Симулятор – отладчик;

5. Линкер;

6. Библиотекарь;

7. Комплект компиляторов  с лицензией GNU.

Рассмотрим подробнее процесс работы в среде uVision;

Рисунок 18. Схема средств  разработки, входящих в состав пакета Keil Software

6.1.1 Создание нового проекта

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

При написании программ для лабораторного стенда SDK-11 нужно учитывать такую особенность разработки программы, что программа должна находиться во внешней памяти программ. Поэтому начальный адрес памяти программ необходимо установить за пределами внутренней памяти программ, т.е. 0x2000. Начальный адрес внешней памяти данных можно установить, начиная с половины страницы, т.е. с адреса 0x8000.

6.1.2 Резидентный загрузчик НЕХ202

Резидентный загрузчик  НЕХ202 располагается во Flash-памяти ADuC812. Он обеспечивает начальную инициализацию  системы, загрузку программ в hex-формате в память SDK-l.l и передачу им управления.

Информация о работе Система накопления данных