Отчет по нир «Подключение модуля enc 28 j 60 Ethernet lan network, и подобных, к микроконтроллерам фирмы atmel»



Скачать 123.89 Kb.
Дата11.02.2017
Размер123.89 Kb.
Просмотров409
Скачиваний0
ТипОтчет

КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им.Х.М.БЕРБЕКОВА

ИНИСТИТУТ ИНФОРМАТИКИ И УПРАВЛЕНИЯ

КАФЕДРА СИСТЕМНОГО АНАЛИЗА И КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ УПРАВЛЕНИЯ

ОТЧЕТ ПО НИР

«Подключение модуля ENC28J60 Ethernet LAN Network, и подобных, к микроконтроллерам фирмы ATMEL»

Выполнила - Тугай М.А. магистр 1 года обучения

Направление: 09.04.01 «Информатика и вычислительная техника»

Магистерская программа «Сети ЭВМ и телекоммуникации»

Научный руководитель - Кулиев Р.С.

Нальчик – 2016

Содержание




Введение 2

ВЫВОД 15


ENC28J60 упрощает схему подключения микроконтроллера с компьютерной сети до простейшей. Работа с традиционно сложным интерфейсом Ethernet упрощается до минимума. Это открывает целый мир совершенно новых прикладных задач, а также значительно расширяет область применения устройств автоматизации на микроконтроллерах. Расстояние больше не является ограничивающим фактором. 15

Литература 15
















Введение


С тенденциями современного развития, сферы производства всё больше нуждаются в информационном обслуживании, переработке огромного количества информации. Современное производство компьютеров позволило внедрить их во все сферы человеческой жизни. Компьютеры открыли новые возможности. Их быстродействие позволяет выполнять миллионы операций в секунду. Кроме того, выполнение операций характеризуется высокой точностью. Компьютер, по сути, является универсальной аппаратной платформой. Этой аппаратной платформой управляет программное обеспечение. Программное обеспечение во многом определяет функциональные возможности компьютера.

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

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

Автоматизация процессов, в том числе и по контролю работы оборудования, связана с отопительным процессом, направленным на поддержание внутренней температуры помещения в определенном интервале. АСОИУ «Тепло-Уют», разработанная в рамках ВКР, предназначена для автоматизации отопительного процесса, в промышленном масштабе и обеспечивает следующие функциональные задачи:



  • Автоматизированный сбор и учёт температурных значений параметров теплоносителя и обработка информации с определённым интервалом;

  • Автоматизированный сбор и учёт значения давления теплоносителя и обработка информации с определённым интервалом;

  • Автоматизированный сбор и учёт значений параметров по наличию циркуляции в системе отопления и обработка информации с определённым интервалом;

  • Функция учёта и обработки информации по результатным параметрам работы теплоносителя и подготовка выходной информации для принятия решений;

  • Функция обработки отчётной документации по работе системы отопления за определённый период времени;

Целью исследования является

  • Подключение АСОИУ «Тепло-Уют» к сети Ethernet;

Задачи исследования. Для достижения сформулированных целей предполагается решение следующих задач:

  1. Выбор и изучение Ethernet модуля.

  2. Изучение интерфейса обмена данными с Ethernet модулем.


§1. Выбор и изучение Ethernet модуля.


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

ENC28J60 это небольшой чип всего с 28 контактами, он имеет интерфейс SPI, который легко использовать с любого микроконтроллера.

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


Чип ENC28J60 от компании Microchip это «сказочный» чип. Он включает протокол приема/передачи данных, MAC адрес, и протокол физического уровня в одном чипе. К нему подключаются несколько внешних элементов, в основном это кварцевый резонатор и Ethernet трансформатор, так же известный как магнит. Внешне он представляет из себя 28 – выводный чип в DIP корпусе, легко паяется и идеально подходит для применения в хобби.
e:\documents and settings\администратор\мои документы\downloads\1.gif


Рис. 1: Структурная схема подключения ENC28J60

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

Чип ENC28J60 поддерживает стандарт IEEE 802.3i . В этом стандарте физический уровень — это 10BASE-T, 10 мбит/с по витой паре (Twisted pair).

e:\documents and settings\администратор\мои документы\downloads\307d3f.png


Рис.2.Структурная схема модуля с ENC28J60.
ENC28J60 содержит в себе физический уровень (PHY) и канальный уровень (MAC) Ethernet. Микроконтроллеру остаётся только подгружать пакеты для отправки и забирать принятые через SPI протокол.
В прошивке микроконтроллера реализован простенький IP-стек, позволяющий прикладной задаче общаться с задачами на других системах с помощью стандартных протоколов.

Модель OSI


Модель OSI — полезная вещь для понимания того, как работает сеть.


Данная модель разбивает коммуникационную систему на простые части, называемые уровнями. Каждый уровень обслуживает следующий (верхний) и обслуживается предыдущим (нижним) — вертикальные связи. Особенности функционирования каждого уровня скрыты от других уровней.
Взаимодействует две системы, соответственно есть и по два экземпляра каждого уровня. На каждом уровне используются свои протоколы (горизонтальные связи). Всего есть 7 уровней модели OSI. В ENC28J60 используются 5 уровней:

Физический уровень


У нас это 10BASE-T. Физический уровень реализован в ENC28J60. Сюда входит витая пара и всё, что нужно для передачи данных по ней (драйверы, трансформаторы).

Канальный уровень

Канальный уровень Ethenet (MAC) тоже реализован в ENC28J60. Канальный уровень отвечает за передачу Ethernet-фреймов между узлами локальной сети (адресацию, проверку контрольной суммы, разрешение коллизий, etc.).


Проще говоря, канальный уровень — это то, что позволяет посылать фреймы другим узлам локальной сети и принимать фреймы от них.
Также к канальному уровню относится протокол ARP, который служит для преобразовния IP-адресов в MAC-адреса.
Сетевой уровень

Сетевой уровень отвечает за передачу пакетов. У нас это IP. IP-пакет спокойно может пройти через несколько разных сетей с различными технологиями физического и канального уровня.


Проще говоря, сетевой уровень — это то, что позволяет отправлять пакеты любым узлам и принимать пакеты от любых узлов.
В нашем маленьком IP-стеке сетевой уровень будет очень простой. Скажем, отправка пакета будет сводиться к добавлению к блоку данных IP-заголовка и отрпавке в виде фрейма канального уровня на определённый MAC-адрес.
Транспортный уровень

Транспортный уровень отвечает за связь узлов. Скажем, приложение хочет отправит данные другому узлу. Транспортный уровень представляет эти данные в виде пакета сетевого уровня (или пакетов) и отправляет. Если используется протокол с установкой соединения, транспортный уровень занимается также установкой и контролем соединения. UDP и TCP — протоколы транспортного уровня.


Прикладной уровень

 Та самая задача, обменивающаяся с внешним миром данными по какому-то своему или стандартному протоколу.



e:\documents and settings\администратор\мои документы\downloads\8d6498.png



Рис.3.Принципиальная схема включения ENC28J60.

Питание — 3.3 В. Но входы микросхемы совместимы с 5-вольтовыми TTL уровнями.
Потребляет микросхемка прилично — 250 мА. Нужно столько для питания драйверов передатчика. Есть режим «пониженного энергопотребления», когда вся «силовая» часть отключается.
VCAP — выход встроенного преобразователя на 2,5 В (именно такое напряжение используется при передачи данных по сетевому кабелю). К этому выводу нужно подключить конденсатор на 10 мкф. Даташит не рекомендует питать от этого вывода что-то ещё.

R7 (RBIAS) — резистор для балансировки. В даташите указан номинал 2 кОм с допуском 1%.
TR1 и TR2 — не абы какие трансформаторы, а специальные Ethernet-фильтры (Ethernet magnetics). Представляют собой систему из нескольких катушек на ферритовых колечках. Обычно выпускаются в виде готовых сборок (оба фильтра в одном корпусе, совместимом с DIP-16). Нужны они, судя по всему, для развязки, защиты от статики, etc. (сетевой кабель может иметь длину до 100, а то и 300 м —статический потенциал может быть огромным между девайсами на таком расстоянии).

e:\documents and settings\администратор\мои документы\downloads\66d0e7.png

Рис.4.Архитектура ENC28J60.


  • PHY — физический уровень. Приёмник, передатчик, драйверы, etc. В общем, всё, что необходимо для работы с определённой средой передачи данных (medium). В данном случае — с витой парой, по стандарту 10BASE-T. Доступ к PHY происходит исключительно через MII — Medium Independent Interface. MII задуман так, чтобы следующий (канальный) уровень мог абстрагироваться от типа среды передачи данных. PHY имеет свой набор 16-битных регистров (специфичных для среды передачи данных), доступ к которым осуществляется через MII. Не нужно пугаться аббревиатуры MII — это всего лишь набор регистров, через которые управляется PHY.

  • MAC (Medium Access Controller) — канальный уровень. В него входит вся логика, необходимая для отправки и приёма пакетов в сети Ethernet. MAC занимается адресацией, рассчётом контрольной суммы, фильтрацией принимаемых пакетов, разрешением коллизий (в полудуплескном режиме), etc. Обменивается со следующим, сетевым уровнем готовыми пакетами, а с физическим — отправляемыми и принимаемыми «сырыми» байтами.

  • Управляющая логика занимается всем остальным. В том числе, обслуживает буфер, из которого MAC берёт отправляемые данные и складывает принятые. Управляет режимами энергопотребления, etc.

Вся память в ENC28J60 делится на буфер для данных, управляющие регистры и регистры PHY.



Буфер для данных

В ENC28J60 есть буфер размером 8 КБ. Часть этого буфера обычно выделяется для приёма пакетов, остальное можно использовать как угодно. Например, для отправляемых данных.e:\documents and settings\администратор\мои документы\downloads\874be0.png



Рис.5. Функциональные группы регистры.

Типичная последовательность инициализации ENC28J60 выглядит примерно так:




  • Настраиваем размер FIFO для приёма данных (ERXST, ERXND), инициализируем указатель для чтения данных из FIFO (ERXRDPT).

  • Настраиваем фильтрацию входящих пакетов. По умолчанию, ENC28J60 пропускает пакеты, приходящие на наш MAC-адрес и широковещательные пакеты. В принципе, можно так и оставить.

  • Настраиваем MAC:

    • Очищаем MACON2.MARST чтобы снять сброс MAC.

    • Устанавливаем MACON1.MARXEN чтобы разрешить приём данных MAC.

    • Устанавливаем MACON1.RXPAUS и MACON1.TXPAUS для включения аппаратного упралвения потоком.

    • Настраиваем биты PADCFG, TXCRCEN в MACON3. Для большинства приложений подойдёт выравнивание пакета до 60 байт и автоматическое добавление контрольной суммы.

    • Устанавливаем максимальный размер фрейма в регистрах MAMXF.

    • Устанавливаем размер промежутка между фреймами в регистрах MABBIPG, MAIPGL и MAIPGH.

    • Устанавливаем MAC-адрес в регистрах MAADR.

  • Настраиваем PHY:

    • Включаем бит PHCON2.HDLDIS, если не хотим получать свои пакеты обратно в полудуплексном режиме.

    • Выбираем как на различные события будут реагировать светодиоды LEDA и LEDB в регистре PHLCON.

  • Настраиваем дуплексный режим, если хотим переопределить значение, определяемое полярностью светодиода LEDB. Для включения полного дуплекса устанавливаем биты PHCON1.PDPXMD и MACON3.FULDPX.

  • Разрешаем приём пакетов

§2. Изучение интерфейса обмена данными с Ethernet модулем.

Обмен микроконтроллера с модулем осуществляется по SPI протоколу, и ведётся в режиме 0 (CPOL=0, CPHA=0). ENC28J60 поддерживает скорость

передачи данных по SPI до 10 мбит/с.

Пример программного кода, реализующего передачу информации по протоколу SPI:

// Указываем как у нас подключено
#define ENC28J60_SPI_DDR    DDRB
#define ENC28J60_SPI_PORT    PORTB
#define ENC28J60_SPI_CS        (1<
#define ENC28J60_SPI_MOSI    (1<
#define ENC28J60_SPI_MISO    (1<
#define ENC28J60_SPI_SCK    (1<

#define enc28j60_select() ENC28J60_SPI_PORT &= ~ENC28J60_SPI_CS


#define enc28j60_release() ENC28J60_SPI_PORT |= ENC28J60_SPI_CS

// Инициализация ENC28J60


void enc28j60_init()
{
    // Настроим выводы
    ENC28J60_SPI_DDR |= ENC28J60_SPI_CS|ENC28J60_SPI_MOSI|ENC28J60_SPI_SCK;
    ENC28J60_SPI_DDR &= ~ENC28J60_SPI_MISO;
    enc28j60_release();
   
    // Максимальная скорость SPI (CLK/2)
    SPCR = (1<    SPSR |= (1<    // Остальная инициализация


    // ...
}

// Передача данных через SPI


uint8_t enc28j60_rxtx(uint8_t data)
{
    SPDR = data;
    while(!(SPSR & (1<        ;
    return SPDR;
}

Обмен данными с ENC28J60 выполняется транзакциями. Транзакция начинается с отправки микроконтроллером команды. Затем идут опциональные данные (приём или передача). Завершается транзакция «поднятием» ножки CS. 

Чтение:

e:\documents and settings\администратор\мои документы\downloads\8ac839.png

Рис.6. Диаграмма сигналов чтения шине SPI
.

При чтении данных уровень на линии MOSI не имеет значения.

Запись:

e:\documents and settings\администратор\мои документы\downloads\535339.png

Рис.7. Диаграмма сигналов записи шине SPI.


ВЫВОД


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

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






Литература




  1. Курс лекций по дисциплине «Микропроцессорные устройства и системы», Сыцевич Н.Ф. 2013г.;

  2. Микроконтроллеры. Архитектура, программирование, интерфейс . Бродин В. Б., Шагурин И. И. 1999;

  3. Аппаратные интерфейсы ПК. Энциклопедия. Михаил Гук. 2002;

  4. Сопряжение компьютеров с внешними устройствами. Уроки реализации. Дж. Смит. 2000;

  5. Сопряжение ПК с внешними устройствами. Пей Ан.2003;

  6. Микроконтроллеры семейства AVR фирмы Atmel. В. В. Гребнев.2002;





Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал