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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)

 

Внешняя память. Внешняя память SDK-1.1 разбита на следующие области: AduC812 Flash/EE, SRAM, MAX. Распределение адресов внешней памяти представлено в таблице 3.

 

Таблица 3. Распределение адресов внешней памяти

Flash/EE

SRAM

 

Page 1

Pages 2..7

Page 8

Диапазон адресов

0x0000

0x02000

0x10000

0x80000

0x2000

0x0FFF

0x7FFFF

0x8FFFF


 

 

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

Если пользовательская программа обратится к адресу 0, то стенд пройдёт процедуру реинициализации, что равносильно нажатию кнопки «сброс». Запись в эту область памяти возможна только в режиме программирования Flash-памяти, в простом режиме доступ к ним закрыт. Это необходимо учесть при разработке программы - код должен располагаться по адресам не ниже 0x2000. Это область, в которой располагается таблица векторов прерываний  и резидентный загрузчик файлов в формате HEX в память SRAM.

Память SRAM (Внешнее ОЗУ). Статическая память имеет страничную организацию и представляет собой восемь страниц размером 64Кб каждая. Условно всю память SRAM разделяют на три участка: первая страница, страницы со второй по седьмую и восьмая страница.

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

В младших адресах  восьмой страницы адресного пространства (080000h-080007h) располагается 8 ячеек регистров ПЛИС МАХ8064 (МАХ8128). Эта область предназначена для взаимодействия с периферийными  устройствами стенда.

      Таблица 4. Модели и селекторы памяти

Селек-тор 

Область памяти

data

128 байт во встроенной RAM – непосредственная адресация

bdata

16 байт во встроенном RAM - непосредственная  битовая/байтовая адресация 

idata

256 байт во встроенном RAM - косвенная  адресация 

pdata

256 байт в страничной внешней  RAM

xdata

64 Kбайт расширенной RAM

code

64 Kбайт памяти программ

far

16 Мбайт памяти data/const, размер объекта  64 Kбайт 

near

64 Kбайт непосредственно адресуемой  памяти для 251

huge

16 Мбайт косвенно адресуемой  памяти, объект произвольного размера 

edata

96 байт расширенной побитно адресуемой памяти для 251


 

Рассчитаем объем памяти буферного ОЗУ, которое необходимо для хранения данных, которые будут  получены за 1 секунду работы АЦП.

Согласно техническим  параметрам стенда SDK1.1, быстродействие встроенного АЦП, т.е время, которое требуется АЦП на преобразование одной выборки равно 20 тактам (периодам) частоты АЦП. Диапазон частот АЦП 400КГц – 3 МГц. Частота тактового генератора стенда FBQ=11,059. Тактовая частота АЦП выбирается программистом с помощью регистра ADCCon1. Программный делитель частоты, задаются битами 4 и 5 этого регистра след значение -1,2,4,8

Fтактовое АЦП=

где k – принимает значение 1,2,4,8

Fтакт ацп= = 1,382375 МГц

Tпреобр АЦП =20*Такт=20

По теореме Котельникова следует, что частота дискретизации должна быть минимум вдвое выше верхней частоты спектра (по заданию 20КГц), следовательно, частота дискретизации будет равна 40КГц.

Период дискретизации =

Это означает, что временной  интервал между выборками составляет 25 микросекунд. Мы получаем 40 тысяч выборок за одну секунду. Размер каждой выборки равен двум байтам, соответственно, нам необходим объем памяти равный 80 тысячам байт или 80 килобайтам для одного канала и 640 килобайтам для восьми каналов, соответственно. Следовательно, мы получим слишком большой объем данных. Так как 8кб внутренней памяти программ нам недоступно, а 640 Байт внутренней памяти данных нам явно недостаточно, мы вынуждены будем использовать для хранения данных внешнее ОЗУ, а точнее его 456 килобайт (первые 64 Кб из 512Кб используются для хранения программ). Подробнее структурная организация внешнего ОЗУ описана выше. Распределение адресов внешней памяти приведено в таблице 3.

Нам необходимо решить ситуацию с размещением данных в памяти без их потери. Решений проблемы несколько – понижение частоты ГТИ или уменьшение частоты дискретизации. Можно также использовать стенд в режиме прямого доступа к памяти для приложений, в которых ЦП не может поддерживать высокую скорость оцифровки.

Так как в данном стенде используется микроконтроллер ADuC812, мы не можем изменить частоту тактового генератора (она жестко фиксирована), а лишь с использованием делителя частоты (к=8). Есть еще вариант выключать АЦП и производить обработку данных и запись их в память, затем включать АЦП и получать следующую порцию данных. Понижение верхней частоты спектра с 20КГц до 10КГц мы добьемся уменьшения частоты дискретизации также в два раза. (Уменьшив частоту дискретизации вдвое, уменьшится количество выборок, время преобразования АЦП увеличится). Но и эти действия не позволят целиком решить проблему,

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

Следующей задачей является запись данных из внешнего ОЗУ стенда на ЖМД компьютера через интерфейс RS-232. Проблема заключается в согласовании обмена данными между стендом и ПК. Появляется необходимость написания управляющей программы, которая бы принимала данные от стенда через СОМ порт и записывала их на ЖМД в нужном нам формате.

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

Для программирования стенда может использоваться любой транслятор ассемблера или C для ядра 8051, например, пакет µVision (Keil   Software). До

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

Основные этапы программирования стенда:

– подготовка программы в текстовом редакторе или среде программирования;

– транслирование исходного текста и получение загрузочного HEX-модуля программы;

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

– прием и обработка HEX-модуля резидентным загрузчиком HEX202,передача управления загруженной программе.

На рисунке 2 показаны этапы программирования стенда SDK-1.1.

Рисунок 2. Этапы программирования на стенде SDK-1.1

Напишем алгоритм приблизительной  работы нашей будущей программы:

  1. Запустить АЦП (предварительно подключив ЗГ к стенду)
  2. Сохранить оцифрованные АЦП данные во внешнем ОЗУ
  3. Выгрузить данные из внешнего ОЗУ и передать их через СОМ порт в компьютер.
  4. На компьютере получив данные – мы должны их преобразовать в определенный формат и сохранить на ЖМД
  5. Проверить полученные данные, например, путем их направления на осциллограф.

При написании программ для стенда будем пользоваться средой программирования Keil Vision. Для приема данных от стенда и последующей их записи была выбрана программа Terminal v1.9b. Для написания программы работы с уже полученными данными выбрана среда программирования Borland Delphi 7.

 

3 Разработка структурной схемы системы и ее описание.

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

Учебный лабораторный комплекс SDK–1.1 разработан на базе микроконтроллера ADuC812 с ядром MCS–51.

В состав учебного стенда SDK-1.1 входят:

  • Микроконтроллер ADuC812BS;
  • Внешняя E2PROM объемом 256 байт;
  • Клавиатура AK1604A-WWB фирмы ACCORD;
  • Жидкокристаллический индикатор (ЖКИ) WH1602B-YGK-CP фирмы Winstar Display;
  • Часы реального времени PCF8583;
  • 128K внешней SRAM с возможностью расширения до 512K;
  • Набор сигнальных светодиодов (8 шт.).

Технические и эксплуатационные характеристики

  • Центральный процессор–ADuC812 (Analog Devices), 8 Кб FLASH, 256 байт ОЗУ, 640 байт EEPROM
  • Расширитель портов ввода–вывода – ПЛИС MAX3064 (Altera)
  • Внешнее ОЗУ 128 КБ, внешняя EEPROM–память 256 байт
  • Часы реального времени–PCF8583 (Philips), подключение по интерфейсу I2C
  • Дискретные и аналоговые порты ввода–вывода
  • 4–разрядный порт ввода–вывода, поддерживающий функции запроса прерывания (2 канала), счетных входов (2 канала), входа синхронизации АЦП, интерфейса microLAN (Dallas)
  • 16–разрядный параллельный порт ввода–вывода (шина расширения)
  • 2 канала 12–разрядного ЦАП, 8 каналов 12–разрядного АЦП
  • Консоль оператора
  • Символьный ЖКИ, 16 * 2
  • Матричная клавиатура, 4 * 4
  • Звуковой излучатель – 1 шт.
  • Управляемые светодиоды – 8 шт.
  • Ручные переключатели тестовых сигналов для аналоговых и дискретных портов ввода: коммутатор аналоговых каналов и стимулятор дискретных портов.
  • Интерфейсы
  • Оптически развязанный приемопередатчик инструментального канала RS–232C.
  • Интерфейс JTAG (IEEE 1149.1) для контроля периферийной шины и портов, реализованных в ПЛИС MAX3064.
  • Габаритные размеры: 128 x 125 x 33 мм
  • Напряжение питания: 12 ± 20% В DC
  • Потребляемый ток: 150 мА
  • Модуль расширения: SDX–09.

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

Технические и эксплуатационные характеристики

  • Дискретные порты ввода–вывода (с гальванической изоляцией до 3 кВ)
  • 8 дискретный выходов – 350 В DC, 120 мА
  • 8 дискретных входов – 24 В AC/DC
  • 4 релейных выхода – 220 В AC/DC, 2 А
  • Аналоговые порты ввода–вывода (без гальванической изоляции)
  • 2 аналоговых выхода – ±10 В, 0..20 мА
  • 4 аналоговых входа – ±10 В, 0..20 мА
  • Габаритные размеры: 140 * 125 * 33 мм
  • Напряжение питания: 12 ± 20% В DC
  • Потребляемый ток: 300 мА

Рисунок 4. Структурная схема стенда-расширителя SDX-09

 

4 Разработка функциональной  схемы системы и ее описание

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

4.1 Микроконтроллер ADuC812

Микропроцессорный стенд SDK-1.1 построен на базе однокристальной микро-ЭВМ фирмы Analog Device типа ADuC812 (вычислительное ядро MCS-51). ADuC812 - интегральная 12-разрядная система сбора информации, включающая в себя прецизионный многоканальный АЦП с самокалибровкой, два 12-разрядных ЦАП и программируемое 8-битное микропроцессорное ядро (совместимое с 8051, MCU). MCU поддерживается внутренними 8К FLASH ЭРПЗУ программ, 640 байт ЭРПЗУ памяти данных и 256 байт статической памяти данных с произвольной выборкой (RAM). MCU поддерживает следующие функции: сторожевой таймер, монитор питания и канал прямого доступа к памяти для АЦП. Для мультипроцессорного обмена и расширения ввода/вывода имеются 32 программируемые линии, I2C, SPI и UART интерфейсы. Для гибкого управления в приложениях с низким потреблением в MCU и аналоговой части предусмотрены 3 режима работы: нормальный, холостой и дежурный. Продукт специфицирован для +3/+5В работы в индустриальном диапазоне температур и поставляется 52-выводном пластмассовом корпусе (PQFP).

Микроконтроллер имеет  стандартный набор из 4-х 8-разрядных  портов ввода/вывода дискретных сигналов P0, P1, P2 и P3. Они характеризуются многофункциональностью.

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