Схема сбора информации с логических входов

 

Техническое задание


Необходимо спроектировать схему на основе PIC-контроллера для сбора информации с 16 логических входов. Данные регистрируются при поступлении импульса синхронизации и накапливаются в ОЗУ устройства, подключённом к микроконтроллеру. Данные необходимо передавать на ЭВМ по интерфейсу RS232 со скоростью 9600 Бод при поступлении запроса от ЭВМ.

Необходимо написать программу для контроллера, которая будет обрабатывать поступающие данные, накапливать их в ОЗУ и передавать на ЭВМ.

Уровни входных сигналов, поступающих с внешних линий, соответствуют стандарту ТТЛ, максимальная частота опроса 60 кГц.

Объем ОЗУ 8 кБ.


1. Объект автоматизации


В качестве объекта автоматизации был выбран логический анализатор.


1.1Параметры устройства


Число каналов - 16;

Тип сигналов - ТТЛ уровни.

Максимальная частота приема данных - 60 кГц

Передача информации - интерфейс RS232;

Скорость передачи по последовательному порту - 9600 Бод;

Регистрация состояния - по переднему фронту.


1.2 Описание и анализ функций, выполняемых МПС устройства


Микропроцессорная система устройства позволяет регистрировать состояние логических уровней на 16 лог. входах и передавать информацию на ЭВМ при поступлении тактового импульса на тактовый вход.


1.3 Микропроцессорная система на основе ОМК PIC16F876


Основанием для выбора данного микроконтроллера послужили следующие причины:

-наличие достаточного количества портов ввода-вывода:

порт А - 6 бит,

порты В, С и D - 8 бит,

порт Е - 3 бита.

-простота реализации устройства на данном контроллере;

-широкое распространение и дешевизна микроконтроллеров данного типа.

2. Описание функционирования устройства


.1 Функциональная схема


Микроконтроллер снимает со входов информацию о состоянии логических уровней, данная съемка стробируется внешним тактовым импульсом поступающим на его вход С. При приходе от компьютера команды запроса контроллер передаёт накопленную в ОЗУ информацию в ЭВМ по интерфейсу RS232 со скоростью 9600 Бод.


2.2 Принципиальная схема


Логические входы подключены к регистрам-защёлкам DD1 и DD2, а вход синхронизации подключён к входам С регистров и линии RC0 микроконтроллера. При поступлении синхроимпульса, микроконтроллер считывает состояние регистров поочерёдно подавая импульсы на входы ОЕ и считывая данные через порт D и сохраняет данные в ОЗУ.

Запись и чтение данных производится аналогично микроконтроллерам семейства MCS 51, но PIC-контроллеры не имеют аппаратных средств для подключения ОЗУ, поэтому работа с ним производится программно. Микроконтроллер выдаёт младшую часть адреса на порт В, а старшую на порт А, затем подаёт импульс ALE (линия RE0), и старшая часть адреса защёлкивается в регистре DD5. Затем микроконтроллер активизирует одну из линий, WR (RE2) или RD(RE1), и производит обмен данными через порт В.

Микросхема DD3 преобразует логические уровни контроллера в логические уровни ЭВМ, конденсаторы, подключённые к микросхеме DD3, обеспечивают работу преобразователей уровня.

RC-цепочка R1C6 необходима для сброса микроконтроллера при включении питания. В начальный момент времени напряжение на конденсаторе равно нулю, и происходит сброс микроконтроллера. Далее конденсатор заряжается через резистор до уровня лог. 1, и контроллер начинает работу.

Кварцевый резонатор ZQ1 определяет тактовую частоту микроконтроллера DD4, мы выбрали резонатор на 10МГц. Конденсаторы С7 и С8 обеспечивают стабильность работы тактового генератора.


2.3 Описание элементов схемы


Микросхема DD3 - преобразователь уровня ТТЛ - СОМ-порт, необходима для согласования электрических уровней микроконтроллера и COM-порта компьютера. Уровень логического нуля и единицы у микроконтроллера равны 0 и +5В, а у COM-порта компьютера +12В и -12В соответственно. Микросхема питается напряжением +5В, а напряжения ±12В она генерирует с помощью встроенных преобразователей напряжения.

Микросхема DD4 - однокристальный микроконтроллер семейства PIC Micro. Имеет следующие особенности:

-5 канальный, 10 разрядный АЦП;

-3 порта ввода-вывода

-выполнен по высокоскоростной RISC-технологии;

Микросхемы DD1, DD2, DD5 - регистры-защёлки, 8 информационных входов, 8 выходов. Запись информации происходит при поступлении лог. 0 на вход С. Лог.1 на входе ОЕ переводит выходы регистра в третье (высокоимпедансное) состояние.


3. Описание программы


.1 Алгоритм работы программы


Общий алгоритм работы программы приведен на рис. 1.


Рисунок 1. Общий алгоритм работы программы


При включении контроллера происходит настройка портов ввода-вывода на вводи вывод, все линии портов А и Е контроллера настраиваются как входы, а линии портов В и С - как выходы. После этого контроллер начинает выполнять бесконечный цикл, в котором отслеживается состояние входа, подключённого к линии синхронизации. В случае поступления синхроимпульса производится запись информации в ОЗУ.

Запись в ОЗУ производится по алгоритму, представленному на рис. 2.


Рисунок 2. Алгоритм записи информации в ОЗУ

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

микроконтроллер микропроцессорный анализатор компилятор

// подключаем модуль с описанием регистров PIC

#include <pic.h>

#define uchar unsigned char

#define uint unsigned int

#define PORTBIT (adr, bit) ((unsigned) (&adr)*8+(bit))bit ALE @ PORTBIT (PORTE, 0);bit RD @ PORTBIT (PORTE, 1);bit WR @ PORTBIT (PORTE, 2);bit SYN @ PORTBIT (PORTC, 0);bit L @ PORTBIT (PORTC, 1);bit H @ PORTBIT (PORTC, 2);start, stop, adr;

// -Write (uint adress, uchar data)

{pause=10;=adress>>8; // старшая часть адр.

TRISB=0; // порт на выход=adress; // мл. часть адр.=0; // импульс для записи мл. адр. в рег-р(pause-); // пауза для записи в рег-р=1;=data; // выдали данные=0; // записали их в ОЗУ=10;(pause-); // пауза для записи в ОЗУ=1; // запись окончена=1;=0xFF;

}

// -Read (uint adress)

{data, pause=10;

PORTA=adress>>8; // старшая часть адр.=0; // порт на выход=adress; // мл. часть адр.=0; // импульс для записи мл. адр. в рег-р(pause-); // пауза для записи в рег-р=1;=0xFF; // порт на ввод=0; // читаем данные=PORTB; // принимаем их через порт=1; // чтение окончено=1;data; // возвращаем считанные данные

}

// -INTR() // обработка прерываний

{(RСIF) // прерывание от УАПП - приём

{(RCREG==0xAA) // если принято 0хАА - передача на ЭВМ

{=1; // разрешение прерывания от УАПП при передаче=adr;=adr-1;

// записью в TXREG инициировали передачу,

// при окончании передачи возникнет прерывание TXIF

TXREG=Read (start++);

}СIF=0;

}(TXIF)

{=Read (start++); // передаём очередной байт(start>8191) start=0; // передаём по кругу

// запрещение прерывания от УАПП при передаче

// когда передали всю память(start==stop) TXIE=0;=0;

}

}

// -main (void)

{

// настройка портов

TRISA=0;=0;=0xFF;=0xFF;

// настройка УАПП=0; // асинхронный режим=1; // высокая скорость передачи=0x81; // 9600 Бод при 20 МГц и BRGH=1=1; // работа УАПП разрешена=1; // передача разрешена=1; // приём разрешён=1; // разрешение прерывания от УАПП при приёме=1; // разрешение прерываний от периферии=1; // глобальное разрешение прерываний=0;

// бесконечный цикл(1)

{

// ждём начала синхроимпульса

while(SYN);=0;(adr, PORTD);=1;++;=0;(adr, PORTD);

H=1;++;

// ожидаем конца синхроимпульса, если он не закончился(! SYN);

}

}


Заключение


При выполнении данного курсового проекта была изучена архитектура микроконтроллера PIC16F876 фирмы Microchip и построена на его основе микропроцессорная система логического анализатора. Приобретены навыки программирования микропроцессорных систем и построения на их основе устройств сбора и обработки информации. Также был изучен кросс-компилятор HI-TECH С for Microchip PIC v7.85.



Техническое задание Необходимо спроектировать схему на основе PIC-контроллера для сбора информации с 16 логических входов. Данные регистрируются при пост

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ