Автор работы: Пользователь скрыл имя, 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
Рисунок 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
Максимальное рабочее
Постоянный ток выхода 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-переключателям.
Когда эти переключатели
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).
6.1 Разработка программы для микроконтроллера
Основные этапы разработки ПО и его загрузки в стенд SDK-1.1, исключая разработку алгоритмов решения задачи, таковы (см. Рисунок 2)
Написание программы для стенда производилось в среде Keil Visio. В основе данной среды лежит язык C 51.
В состав инструментальных средств для процессоров с ядром АРМ7 входит:
1. Интегрированная среда разработки uVision;
2. Компилятор языка C;
3. Ассемблер;
4. Симулятор – отладчик;
5. Линкер;
6. Библиотекарь;
7. Комплект компиляторов с лицензией GNU.
Рассмотрим подробнее процесс работы в среде uVision;
Рисунок 18. Схема средств разработки, входящих в состав пакета Keil Software
6.1.1 Создание нового проекта
После создания программного
проекта в интегрированной
При написании программ для лабораторного стенда SDK-11 нужно учитывать такую особенность разработки программы, что программа должна находиться во внешней памяти программ. Поэтому начальный адрес памяти программ необходимо установить за пределами внутренней памяти программ, т.е. 0x2000. Начальный адрес внешней памяти данных можно установить, начиная с половины страницы, т.е. с адреса 0x8000.
6.1.2 Резидентный загрузчик НЕХ202
Резидентный загрузчик НЕХ202 располагается во Flash-памяти ADuC812. Он обеспечивает начальную инициализацию системы, загрузку программ в hex-формате в память SDK-l.l и передачу им управления.