Курсовая работа на тему Система съема данных с оптопар

Содержание

Введение

1. Анализ поставленной задачи

2. Проектирование принципиальной схемы устройства

2.1 Схема включения микроконтроллера

2.2 Формирование тактовых импульсов

2.3 Организация сброса

2.4 Схемы входных и выходных устройств

2.5 Схема источника напряжения питания

3. Проектирование программного обеспечения микропроцессора

3.1 Проектирование модуля инициализации микроконтроллера.

3.2 Проектирование процедур обработки прерываний.

3.3 Проектирование процедур обработки информации.

3.4 Проектирование процедур вывода информации.

3.5 Проектирование процедуры Main().

4. Листинг программы

5. Рекомендации по разработке программных и аппаратных диагностических средств для проверки работоспособности устройства

Заключение


Введение

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

В ходе курсового проекта необходимо разработать КС которая будет считывать данные с десяти оптопар и выводить обработанную информацию по интерфейсу RS485.

По техническому заданию на курсовой проект КС должна быть посторена на микроконтроллере LPC2000.

Микропроцессоры LPC20 основаны на 16/32 битном ЦП ARM7TDMI-S, содержащем функцию эмуляции в реальном времени и поддержку отслеживания, а также 128 кБ высокоскоростную программную FLASH память. 128 битный интерфейс с памятью и уникальная архитектура акселератора позволяют выполнять 32 битный код на максимальной тактовой частоте. Для приложений, в которых размер кода является критическим параметром, существует 16- разрядный режим Thumb, который позволяет при небольших ухудшениях параметром снизить размер программы на 30 %.


1. Анализ поставленной задачи

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

Рассмотрим общую структурную схему, приведенную на рисунке 1.

Рисунок 1 Структурная схема устройства.

В качестве микроконтроллера выберем LPC2104.

Микропроцессор LPC2104 построен на 16/32 битном ЦП ARM7TDMI-S, содержит 128 кБ высокоскоростной программной FLASH памяти и 16 кБ статической оперативной памяти. Количество портов ввода вывода составляет 32. У предложенного микроконтроллера достаточное число контактов ввода/вывода и памяти программ и данных для реализации системы считывания оптопар.

На рисунке 2 приведен LPC2104.


Рисунок 2 LPC2104

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

- 16/32 битный ARM7TDMI-S микропроцессор.

- Встроенное 16 кБ статическое ОЗУ.

- Встроенная 128 кБ программная Flash память. 128 битный интерфейс/акселератор, способные работать в высокоскоростном режиме с тактовой частотой 60 МГц.

- Возможность программирования внутри системы (ISP) и внутри приложения (IAP) при помощи встроенной программы-загрузчика. Время программирования одной 512 байтной линии Flash памяти 1 мс. Стирание одного сектора или всей памяти за 400 мс.

- Векторный контроллер прерываний с перестраиваемыми приоритетами и адресами векторов прерывания.

- Интерфейс EmbeddedICE-RT активизации точек останова и точек просмотра. Подпрограмма обработки прерывания может продолжать выполняться, в то время как основной программный модуль отлаживается встроенной программой RealMonitor.

- Встроенный модуль Trace Macrocell позволяет отслеживать в реальном времени выполнение программы.

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

- два UART (16C550)

- высокоскоростной I2C (400 кбит/с)

- SPI.

- Два 32-разрядных таймера (7 каналов захвата/сравнения), модуль ШИМ (6 выходов), часы реального времени и сторожевой таймер.

- До тридцати двух линий портов ввода - вывода общего применения, совместимых с 5 В логикой, в миниатюрном 7х7 мм 48 контактном LQFP корпусе.

- Встроенная система ФАПЧ позволяет обеспечить максимальную частоту тактовых импульсов ЦП 60 МГц.

- Встроенный кварцевый генератор, имеющий рабочий частотный диапазон от 10 МГц до 25 МГц.

- Два режима пониженного потребления: холостой режим и дежурный режим.

- Возможность активизации микропроцессора сигналом внешнего прерывания.

- Индивидуальное включение/отключение периферийных модулей для оптимизации потребления.

- Работает от двух источников питания:

- Диапазон рабочего напряжения центрального процессора от 1.65 В до 1.95 В (1.8 В 8.3 %).

- Диапазон источника питания портов ввода - вывода от 3.0 В до 3.6 В (3.3 В 10 %) с возможностью работы с 5 В логикой.

На рисунке 3 приведена внутренняя структура LPC2104

Рисунок 3 Внутренняя структура LPC2104

В качестве часов реального времени применим встроенные RTC.


2. Проектирование принципиальной схемы устройства

2.1 Схема включения микропроцессора

Микроконтроллер LPC2104 содержит 1 тридцати двух разрядный регистр портов вода вывода регистр.

На рисунке 4 приведена структурная схема включения микроконтроллера.

Рисунок 4 Структурная схема включения микроконтроллера

2.2 Формирование тактовых импульсов

Источником тактовых импульсов в микроконтроллере LPC2104 может быть:

внешний резистор

высокочастотный кварцевый резонатор

внешний источник тактовых импульсов

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

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

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

2.3 Схема сброса

На рисунке 6 приведена аппаратная схема сброса по включению питания. Данная схема необходима для первичной инициализации аппаратуры микроконтроллера.


Рисунок 6 Аппаратная схема сброса по включению питания

2.4 Схемы входных и выходных устройств

Данное устройство считывает данные с 10-ти оптопар. Применим оптрон АОД130А. Оптопара диодная, состоящая из излучателя и кремниевого фотоприёмника, изготовленных по эпитаксиальной технологии, в пластмассовом корпусе, предназначены для использования в качестве элементов гальванической развязки в высоковольтной электротехнической и радиоэлектронной аппаратуре.

Характеристик датчика:

- Входное напряжение (Iвх = 10 мА) 1,5В

- Время нарастания выходного сигнала 100 нс

- Время спада выходного сигнала 100 нс

- Сопротивление изоляции 1011 Ом

Схема включения оптрона приведена на рисунке 7.


Рисунок 7 Схема включения оптрона

Обмен данными осуществляется по RS 485 интерфейсу. Для данной КС применим микросхему MAX3362. ИС MAX3362 представляют собой высокоскоростные трансиверы для коммуникационных приложений RS-485, содержащие по одному драйверу и одному приемнику. Данные ИС имеют отказоустойчивую архитектуру, гарантирующую высокое логическое состояние на выходе приемника при разомкнутых, или замкнутых на корпус, входах приемника. Это означает, что выход приемника имеет высокое логическое состояние при отключении всех передатчиков (высокоимпедансное состояние) на согласованной шине. С низким напряжением питания. На рисунке 8 приведен MAX3362.


Рисунок 9 MAX3362

2.5 Схема стабилизатора напряжения

Источник питания микроконтроллера построен на литиевой 3V батарее. Для формирования напряжения питания ядра процессора (1.8V) применим параметрический стабилизатор на стабилитроне. На рисунке 9 приведена схема питания.

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


3. Проектирование программного обеспечения микропроцессора

3.1 Проектирование модуля инициализации микроконтроллера

Для инициализации данного устройства необходимо выделить память для глобальных переменных, и провести инициализацию портов, таймеров и USART, RTC.

3.2 Проектирование процедур обработки прерываний

Данное устройство не требует написания программы с обработкой прерываний. Это связанно с линейностью выполнения алгоритма опроса датчиков и обмена данными по RS485.

3.3 Проектирование процедур обработки информации

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

3.4 Проектирование процедур вывода информации

C помощью встроенных RTC формируем временны метки к измеренным данным.

Вывод информации осуществляется с помощью дифференциального интерфейса обмена данными RS 485. Протокол RS232. Встроенный аппаратный модуль LPC2000.


3.5 Проектирование процедуры Main()

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

Рисунок 10 Общий алгоритм работы устройства


4 Листинг программы

include

include LPC210x.h

include global.h

include uart.h

//! enable and initialize the uart

void uart0Init(uint16_t baud, uint8_t mode, uint8_t fifomode)

{

// set port pins for UART0

PINSEL0 = (PINSEL0 & ~U0_PINMASK) | U0_PINSEL;

U0IER = 0x00; // disable all interrupts

U0IIR; // clear interrupt ID

U0RBR; // clear receive register

U0LSR; // clear line status register

// set the baudrate

U0LCR = ULCR_DLAB_ENABLE; // select divisor latches

U0DLL = (uint8_t)baud; // set for baud low byte

U0DLM = (uint8_t)(baud >> 8); // set for baud high byte

// set the number of characters and other

// user specified operating parameters

U0LCR = (mode & ~ULCR_DLAB_ENABLE);

U0FCR = fifomode;

}

int uart0SendByte(int data)

{

while(!(U0LSR & ULSR_THRE)) // wait for TX buffer to empty

continue; // also either WDOG() or swap()

U0THR = (uint8_t)data;

return (uint8_t)data;

}

int uart0GetByte(void)

{

if(U0LSR & ULSR_RDR) // check if character is available

return U0RBR; // return character

return -1;

}

void uart1Init(uint16_t baud, uint8_t mode, uint8_t fifomode)

{

// set port pins for UART1

PINSEL0 = (PINSEL0 & ~U1_PINMASK) | U1_PINSEL;

U1IER = 0x00; // disable all interrupts

U1IIR; // clear interrupt ID

U1RBR; // clear receive register

U1LSR; // clear line status register

// set the baudrate

U1LCR = ULCR_DLAB_ENABLE; // select divisor latches

U1DLL = (uint8_t)baud; // set for baud low byte

U1DLM = (uint8_t)(baud >> 8); // set for baud high byte

// set the number of characters and other

// user specified operating parameters

U1LCR = (mode & ~ULCR_DLAB_ENABLE);

U1FCR = fifomode;

}

int uart1SendByte(int data)

{

while(!(U1LSR & ULSR_THRE)) // wait for TX buffer to empty

continue; // also either WDOG() or swap()

U1THR = (uint8_t)data;

return (uint8_t)data;

}

int uart1GetByte(void)

{

if(U1LSR & ULSR_RDR) // check if character is available

return U1RBR; // return character

return -1;

}


5 Рекомендации по разработке программных и аппаратных диагностических средств для проверки работоспособности устройства

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

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


Заключение

В данном курсовом проекте было разработано устройство считывания данных с оптопар и передачи данных по RS485. Встроены часы реального времени позволяют ставить временные метки для измеренных данных.

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

В ходе проектирования устройства были рассмотрены основные принципы построения устройств на микроконтроллерах LPC2000 от Philips. А так же изучены аппаратные возможности данных микроконтроллеров.

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

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

Похожие рефераты:

Доклад: Сканеры и принтеры, сфера их применения Курсовая работа на тему Современные информационные системы управления государством Реферат на тему Современный уровень развития переносной флэш-памяти и USB-брелков Курсовая работа на тему Создание базы данных "Аттестация сотрудников" Контрольная работа на тему Создание презентации Курсовая работа на тему Спортивная программа и организация базы данных Курсовая работа на тему Суперэлементное моделирование пространственной системы "плита грунтовое основание" Курсовая работа на тему Сутність та принципи роботи ЕОМ Курсовая работа на тему Сучасне інтерактивне спілкування Реферат на тему Сучасний стан інформаційної безпеки. Проблеми захисту комп'ютерної інформації Реферат на тему Сучасні антивірусні програми та принцип їх роботи Реферат на тему Сучасні комп'ютерні технології Курсовая работа на тему Сучасні операційні системи, архітектура, відмінні характеристики, функціональність, виробництво і перспективи розвитку Реферат на тему Сучасні програмні продукти для управління маркетинговою діяльністю Контрольная работа на тему Сучасні системи автоматизованого проектування графічних проектів Реферат на тему Сущность алгоритмов Контрольная работа на тему Сущность защиты информации Реферат на тему Сущность искусственного интеллекта Курсовая работа на тему Схема електрична принципова модуля на базі 8-розрядного мікропроцесора Контрольная работа на тему Схема контроллера Реферат на тему Схема радиомодема Реферат на тему Схемы шифрования AES, RC4, RC5, RC6, Twofish, Mars Курсовая работа на тему Счетчик обратного отсчета Курсовая работа на тему Технологии компьютерных игр Реферат на тему Функции и возможности текстового редактора Дипломная работа на тему Функціонування системи інформаційного обслуговування користувачів бібліотек у сучасних умовах Реферат на тему Характеристика качества ПО "практичность" Курсовая работа на тему Цвет и графика на ЭВМ Реферат на тему Что такое компьютерная сеть. Виды сетей Контрольная работа на тему Экономические информационные системы Дипломная работа на тему Электронная почта Курсовая работа на тему Язык программирования высокого уровня С++ Курсовая работа на тему Языки программирования Контрольная работа на тему Установка и настройка программного обеспечения локальной сети Курсовая работа на тему Датчики скорости коррозии как элементы АСУ общей системы мониторинга Курсовая работа на тему Динамическое формирование и преобразование списков и структур Шпаргалка: Дискретная техника Реферат на тему Устройство персонального компьютера Курсовая работа на тему Устройство управления системой измерения веса Контрольная работа на тему Утилиты, буфер обмена, автоформат MS Excel Доклад: Файловая система для операционной системы Windows Лабораторная работа на тему Дослідження файлової структури Курсовая работа на тему Економічні задачі лінійного програмування і методи їх вирішення Курсовая работа на тему Емпіричне дослідження програмного забезпечення Курсовая работа на тему Автоматизация системы управления холодильной установкой Курсовая работа на тему Автоматизированная система управления климатом в тепличных хозяйствах Реферат на тему Автомобильная электроника Курсовая работа на тему Анализ доходов отдела фирмы, занимающейся розничной торговлей офисной мебелью Курсовая работа на тему База данных "Магазин по продаже дисков" Курсовая работа на тему Безпровідна мережа Wi-Fi, її будування Контрольная работа на тему Компьютерная графика Реферат на тему Компьютерная графика Контрольная работа на тему Компьютерная графика Реферат на тему Компьютерная графика и решаемые ею задачи Курсовая работа на тему Компьютерная лингвистика Дипломная работа на тему Компьютерная модель СГ в координатах d, q, 0 в режиме ХХ Курсовая работа на тему Назначение и возможности 3d's МАХ 9.0 Реферат на тему Назначение и основные функции электронных таблиц Лабораторная работа на тему Настройка ОС Windows Контрольная работа на тему Методы информационных технологий в делопроизводстве Учебное пособие: Методы исследования операций Курсовая работа на тему Применение пакетов прикладных программ в экономике Контрольная работа на тему Применение программы Ехсеl для определения заработка водителей такси Курсовая работа на тему Применение симплекс-метода Курсовая работа на тему Проблемы документационного обеспечения управления и использования электронной цифровой подписи Контрольная работа на тему Проблемы защиты информации Курсовая работа на тему Проблемы защиты информации в компьютерных сетях Дипломная работа на тему Проблемы и перспективы развития федеральной целевой программы "Электронная Россия" Контрольная работа на тему Проблемы искусственного интеллекта Реферат на тему Проблемы обеспечения безопасности информации в сети интернет Курсовая работа на тему Проблемы развития информационных технологий в республике Беларусь Реферат на тему Проблемы совершенствования качества выпускаемого программного обеспечения Реферат на тему Проблемы создания искусственного интеллекта Курсовая работа на тему Проблемы социальной информатики Курсовая работа на тему Прогнозирование количественными методами Курсовая работа на тему Програма "Screen Saver" (зберігач екрану) Курсовая работа на тему Програма візуальної демонстрації пошуку елементів у масиві Курсовая работа на тему Програма для анімації музичних творів Курсовая работа на тему Програма для перегляду великих текстових файлів, розмір яких більший за 64 кілобайти Дипломная работа на тему Програма для роботи з файловою системою Курсовая работа на тему Програма для сортування даних методом піраміди Курсовая работа на тему Програма для тестування знань з дисципліни "Програмування на мові С" Курсовая работа на тему Програма емуляції роботи командного процесора операційної системи Статья: Практичний розрахунок ефективності системи електронного документообігу Курсовая работа на тему Практичні аспекти створення програмного забезпечення Лабораторная работа на тему Программа "Учет выдачи и возврата книг" Реферат на тему Проектирование информационных систем Лабораторная работа на тему Символьные вычисления Контрольная работа на тему Система управления проектами Spider Учебное пособие: Системи автоматизованого проектування Учебное пособие: Системи автоматизованого проектування Реферат на тему Системи і методи виявлення вторгнень у компютерні системи Реферат на тему Системы телеобучения Реферат на тему Системы управления базами данных Курсовая работа на тему Системы управления обучения (LMS) Контрольная работа на тему Склад робіт з організації позамашинної інформаційної бази підприємства Реферат на тему Складання сценаріїв в операційній системі LINUX Курсовая работа на тему Скріпт мова управління віконним інтерфейсом на С++ Шпаргалка: Словарь терминов и сокращений Лабораторная работа на тему Сложение и вычитание целых неотрицательных чисел в двоичном коде