Программируемые логические контроллеры Atmel

Автор работы: Пользователь скрыл имя, 22 Мая 2012 в 21:20, курсовая работа

Краткое описание

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

Содержание

Введение ……………………………………………………………….………….…3
Задание на курсовой проект…………………………………………………….…4
Программируемый логический контроллер (ПЛК)………………………..……5
Архитектура микроконтроллера Atmel AT90S2333……………………….……9
Интерфейс UART…………………….………………………………………..9
Интерфейс SPI….…………….………………………………..……...............11
Внешние функциональные узлы ПЛК.……………..……………………..…….14
Графический дисплей WG12864A…………………………………..............14
Внешний интерфейс RS-485…………………………..…………………..….19
Расширитель портов MAX7301……………………………….……..………21
Входы/выходы устройства…………………………………………..……….23
Аналоговый вход……………………………….………………..……...23
Дискретный вход………………………….…………………….………23
Силовой дискретный выход…………………………………………...24
Аналоговый выход…………………………………………….……….24
Тактовый генератор……....…………………………..………………...……..26
Источник питания…………………………….……………………….……...26
Заключение…………………………………………………………………..........27
Литература……………………………………………………………………..…..28

Прикрепленные файлы: 1 файл

ПЗ.docx

— 476.17 Кб (Скачать документ)

     - Режим мультипроцессорного обмена.

3.2 Интерфейс SPI

       Интерфейс SPI позволяет производить высокоскоростной синхронный обмен данными между AT90S2333 и периферийными устройствами или несколькими процессорами. SPI-интерфейс предлагает следующие возможности:

       1. Полностью дуплексная 3-проводная синхронная передача данных;

       2. Работа в режиме ведущего или ведомого;

       3. Передача начиная со старшего или младшего бита;

       4. Четыре программируемые скорости передачи;

       5. Флаг прерывания по окончанию передачи;

       6. Флаг защиты от коллизий при записи

       7. Выход из режима Idle.

Взаимодействие между двумя устройствами SPI всегда осуществляется между устройством в режиме Master («ведущий») и устройством в режиме Slave («ведомый»). Режим работы интерфейса SPI микроконтроллера AVR определяется битом master (MSTR) регистра управления интерфейсом SPI (SPCR).

       Вывод PB5(SCK) является выходом тактовых импульсов для ведущего контроллера и входом для ведомого. Запись в регистр данных SPI ведущего контроллера запускает тактовый генератор. Записанные данные сдвигаются через вывод PB3(MOSI) на вывод PB3(MOSI) ведомого контроллера. После того как байт будет выведен тактовый генератор останавливается и выставляет флаг окончания передачи (SPIF). Если разрешены прерывания (установлен бит SPIE в регистре SPCR), вызывается соответствующее прерывание. Два сдвиговых регистра в ведущем и ведомом контроллерах можно рассматривать как один распределенный 16-разрядный регистр сдвига. Когда данные сдвигаются из ведущего контроллера в ведомый, то же самое происходит в обратном направлении. За один цикл сдвига ведущий и ведомый контроллеры обмениваются байтами данных.

       Система имеет одиночный буфер в направлении передачи и двойной в направлении приема. Передаваемый символ не записывается в регистр данных SPI до тех пор, пока передача не завершится. При приеме до завершения операции сдвига данные должны быть прочитаны из регистра данных. Иначе предыдущий символ теряется. При разрешении SPI выводы MOSI, MISO, SCK и SS устанавливаются на ввод/вывод в соответствии с таблицей.

       Таблица 3.1 – Установка выводов SPI

Вывод Направление в  режиме ведущего Направление в  режиме ведомого
MOSI Определяется  пользователем Вход
MISO Вход Определяется  пользователем
SCK Определяется  пользователем Вход
SS Определяется  пользователем Вход

 

      Взаимодействие между ведущим и ведомым контроллером AVR показано на рисунке 3.3, на котором изображено два идентичных устройства. Левое устройство сконфигурировано как ведущее (Master), правое как ведомое (Slave). Линии MISO, MOSI и SCK одного устройства соединены с соответствующими линиями другого устройства. Направление этих линий определяется режимом, в котором работает устройство. Так как смещение бита от ведущего к ведомому и от ведомого к ведущему устройству происходит одновременно с тактовым импульсом, 8-ми битные сдвигающие регистры каждого устройства могут быть рассмотрены как один 16-ти битный регистр с циклическим сдвигом. Это означает, что обмен между ведущим и ведомым устройствами осуществляется в течение 8-ми тактовых импульсов (каждое устройство одновременно производит запись и чтение бита). 

       Рисунок 3.3 - Интерфейсы в режиме ведущего и ведомого

4 Внешние функциональные узлы ПЛК

4.1 Графический дисплей WG12864A

       Наряду  с символьными ЖК, современные производители выпускают разнообразные графические индикаторы. Если у символьных, как правило, использован одинаковый интерфейс управления и система команд, то в графических индикаторах существует широкий ряд управляющих контроллеров со своими командами. Также следует обратить внимание на встроенный генератор отрицательного напряжения - при его отсутствии нужно будет использовать дополнительный источник питания. В данной работе используется ЖК дисплей WG12864A с управляющим контроллером фирмы Samsung ks0108. Непосредственно ЖК дисплеем управляет два контроллера ks0108 - каждый своей половиной дисплея 64*64 точек, выбор соответствующего чипа осуществляется выводами CS1 и CS2. При высоких уровнях на обоих выводах запись осуществляется в оба чипа.

       Назначение  выводов индикатора:

        1.       Vss - общий 0В.

        2.       Vdd - +5В питание логики.

        3.       Vo - контрастность.

        4.       D/I - выбор данные/инструкции 1-данные 0-инструкции.

        5.       R/W - чтение/запись 1- чтение, 0-запись.

        6.       E - стробирующий сигнал при записи/чтении.

        7-14.  DB0-DB7 - шина данных/инструкций.

        15.     CS1 - выбор кристалла.

        16.     CS2 - выбор кристалла.

        17.     RST - сброс.

        18.     Vee - выход отрицательного напряжения.

        19.     A - анод подсветки

        20.     K - катод подсветки.

         Управление контрастностью осуществляется  отрицательным напряжением с  вывода Vee.

        Система команд дисплея изображены на рисунке 4.1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

       Рисунок 4.1 – Система команд дисплея

     Управление  дисплеем параллельное. Есть шина данных и линии задания направления  и вида данных. Это, кстати, один из минусов  — требует очень много проводов управления. Занимает почти 16 линий, но зато прост в работе.

      Протокол обмена прост. Выставляем на линиях RW, DI то,что мы хотим сделать. Линиями CS1 и CS2 определяем контроллер, к кому обращаемся. На шину данных выдаем нужное число и поднимаем-опускаем линию строба. Для чтения данных строб нужно дернуть дважды, т.к. предварительно данные должны попасть в регистр-защелку. На рисунках 4.2 -4.3 приведены временные диаграммы в разных режимах работы.

       Рисунок 4.2 – Временные диаграммы чтения байта состояния/чтения данных с текущего адреса

     

       Рисунок 4.3 – Временные диаграммы записи команд/записи данных

      Для подключения дисплея Winstar WG12864A напрямую к микроконтроллеру ATMEL AT90S2333 не хватает выходов микроконтроллера, поэтому было принято решения для соединения дисплея и микроконтроллера использовать сдвиговые регистры 74HC595. Использование сдвиговых регистров в данной ситуации является оправданным, так как частота работы регистра равна 100 МГц, что значительно превышает частоту работы дисплея 64 Гц. На рисунке 4.4 изображены обозначения выходов данной микросхемы.

     Начения выводов микросхемы 74HC595:

  • Q0…Q7 – выходы которыми будем управлять. Могут находится в трёх состояниях: логическая единица, логический ноль и высокоомное Hi-Z состояние
  • GND – земля
  • Q7′ – выход предназначенный для последовательного соединения регистров.
  • MR – сброс регистра.
  • SH_CP – вход для тактовых импульсов
  • ST_CP – вход «защёлкивающий» данные
  • OE – вход переводящий выходы из HI-Z в рабочее состояние
  • DS – вход данных
  • VCC – питание 5 вольт

       Рисунок 4.4 – Обозначения выводов микросхемы 74HC595

     Когда на тактовом входе SH_CP появляется логическая единица, бит находящийся на входе  данных DS считывается и записывается в сдвиговый регистр. Этот бит  записывается в самый младший  разряд. При поступлении на тактовый вход следующего импульса высокого уровня, в сдвиговый регистр записывается следующий бит с входа данных. А тот бит, который был записан  ранее, сдвигается на один разряд влево, а его место занимает вновь  пришедший бит. Следующий тактовый импульс запишет третий бит, а  два предыдущих сдвинутся дальше. Когда все восемь бит заполнились и приходит девятый тактовый импульс то регистр снова начинает заполняться с младшего разряда и всё повторятся вновь. Что бы данные появились на выходах Q0…Q7 нужно их «защёлкнуть». Для этого необходимо подать логическую единицу на вход ST_CP.

       Рисунок 4.5 – Пример работы микросхемы 74HC595

4.2 Внешний интерфейс RS-485

       RS-485 — это номер стандарта, впервые  принятого Ассоциацией электронной  промышленности (EIA). Сейчас этот  стандарт называется TIA/EIA-485 Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems (Электрические характеристики передатчиков и приемников, используемых в балансных цифровых многоточечных системах).

       Интерфейс RS-485 обеспечивает обмен данными  между несколькими устройствами по одной двухпроводной линии  связи в полудуплексном режиме. Широко используется в промышленности при  создании АСУ ТП. RS-485 обеспечивает передачу данных со скоростью до 10 Мбит/с. Максимальная дальность зависит от скорости: при скорости 10 Мбит/с максимальная длина линии — 120 м, при скорости 100 кбит/с — 1200 м.

       Количество  устройств, подключаемых к одной  линии интерфейса, зависит от типа примененных в устройстве приемопередатчиков. Один передатчик рассчитан на управление 32 стандартными приемниками. Выпускаются  приемники со входным сопротивлением 1/2, 1/4, 1/8 от стандартного. При использовании таких приемников общее число устройств может быть увеличено соответственно: 64, 128 или 256.

       Стандарт  не нормирует формат информационных кадров и протокол обмена. Наиболее часто для передачи байтов данных используются те же фреймы, что и  в интерфейсе RS-232: стартовый бит, биты данных, бит паритета (если нужно), стоповый бит.

       Протоколы обмена в большинстве систем работают по принципу "ведущий» - «ведомый". Одно устройство на магистрали является ведущим (master) и инициирует обмен посылкой запросов подчиненным устройствам (slave), которые различаются логическими адресами. Одним из популярных протоколов является протокол Modbus RTU.

       Тип соединителей и распайка также не оговариваются стандартом. Встречаются  соединители DB9, клеммные соединители и т.д.

       Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные  при помощи витой пары - двух скрученных проводов. В основе интерфейса RS-485 лежит  принцип дифференциальной (балансной) передачи данных. Суть его заключается  в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами  витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.

       

       Рисунок 4.6 – Общая схема микросхемы интерфейса RS-485

Обозначения выходов микросхемы:

  • D (driver) - передатчик;
  • R (receiver) - приемник;
  • DI (driver input) - цифровой вход передатчика;
  • RO (receiver output) - цифровой выход приемника;
  • DE (driver enable) - разрешение работы передатчика;
  • RE (receiver enable) - разрешение работы приемника;
  • A - прямой дифференциальный вход/выход;
  • B - инверсный дифференциальный вход/выход;
  • Y - прямой дифференциальный выход (RS-422);

     В данной работе для организации интерфейса RS-485 была выбрана микросхема ADM3485E.

4.3 Расширитель портов MAX7301

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

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

  • Высокоскоростной 26 МГц SPI-/QSPI-™/MICROWIRE™
  • I2C - совместимый последовательный интерфейс
  • Напряжение питания от 2.5 В до 5.5 В
  • Диапазон температур от -40°С до +125°С
  • 28 портов, каждый из которых конфигурируется как двухтактный логический выход или как логический вход Шмидта со встроенным резистором подтяжки уровня
  • Потребление в режиме отключения 11 мкА (макс)
  • Детектирование смены логических уровней для семи портов I/O

Информация о работе Программируемые логические контроллеры Atmel