Отладочная плата RLN Electro Ethernet

Вступление: Разрабатывая тот или иной контроллер автоматики, мне постоянно требуются два инструмента для работы — меня любимая МенюОС, с помощью которой я создаю нужный мне пользовательский интерфейс настройки, и, собственно. контроллер с кнопками и дисплеем, на котором все это дело приходится отлаживать. Добавляем сюда пару интерфейсов вроде RS-232 и RS-485, подключаем датчик тока (позиционный электропривод — наше все) и прикручиваем Ethernet — толку от SCADA-систем без Ethernet мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату.
По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика
Отладочная плата RLN Electro предназначена для отладки и прототипирования управляющих прошивок на базе микроконтроллеров AVR.
При ее создании, я руководствовался следующими критериями:
- Никаких лишних соединений и проводов. Все выводы жестко завязаны на свои функции, причем ноги распределены таким образом, чтобы минимизировать потери полезных функций и увеличить выгоду от сочетания «процессор — дочернее устройство». Именно поэтому, к примеру, Энкодер оказался подключен к входам PCINT. Недостаток такого подхода — отсутствие гибкости — компенсируется надежностью и компактностью решения.
- Удобство компоновки органов управления — необходимо все распределить так, чтобы после подключения проводов к разъемам шлейфы не перекрывали их.
- Максимальное число интерфейсов. В первом приближении работа не завершена, однако наличие на данной плате Ethernet и USB на порядок увеличивает число возможных применений данной платы.
- Функциональный метод сборки, который позволяет устанавливать текущий функционал платы простой распайкой только необходимых компонентов на плате — в виду компактности последней становится возможным устанавливать ее в конечную систему управления — это снимает требование разработки специальной платы и повышает скорость разработки.
Полная принципиальная схема бета-версии отладочной платы доступна по ссылке:
RLN_Electro_Ethernet_2012SE_b.pdf
Рассмотрим все возможности данной платы:
Процессор:
В качестве процессора был выбран самый мощный контроллер серии 8-bit AVR – микроконтроллер Atmega640/1280/2560 в корпусе TQFP-100.
Полную информацию по процессору можно узнать из датащита: ATmega1280.pdf, однако приведем самые основные его характеристики:
- 64/128/256 Кбайт Flash для хранения прошивки;
- 8Кбайт ОЗУ;
- 4Кбайт EEPROM для хранения данных;
- до 20МГц тактовой частоты процессора (сменный кварцевый резонатор);
- 2 8-разрядных таймера/счетчика и 4 8-разрядных канала ШИМ;
- 4 16-разрядных таймера/счетчика и 12 16-разрядных канала ШИМ;
- 16 каналов 10-разрядного АЦП, из них 8 каналов полностью доступны пользователю, а к 4 каналам подключены потенциометры. Оставшиеся 4 канала выведены на разъем JTAG с неотключаемыми (в рабочей версии платы) резисторами подтяжки;
- 86 линий ввода/вывода, из которых пользователю непосредственно доступно 49 выводов;
Органы управления и контроля:
Плата снабжена 4-разрядным 7-сегментным светодиодным индикатором с параллельным интерфейсом и разъемом для подключения символьного ЖКИ по 4-разрядному интерфейсу.

Помимо этого, присутствуют 5 кнопок, подключенных к выводам PG0-PG4. Данные кнопки хорошо подходят для навигации по меню системы МенюОС.
Для прокручивания длинных списков, установки различных числовых значений и просто для регулирования параметров в рабочем режиме имеется Энкодер. Он подключен к выводам PJ5 И PJ6, с функцией вызова прерывания PCINT1_vect. Это дает возможность вести подсчет импульсов в фоновом режиме, с помощью обработчика прерывания.
4 Потенциометра позволяются задавать то или иное значение на одном из 4 входов АЦП(ADC0 -ADC4). В бета-версии подключение потенциометров инвертированное — минимальное значение на входе АЦП возвращается при повороте ручки потенциометра вправо до упора.
Выводы вход/выход:
Практически все свободные выводы микроконтроллера подключены к штырьковым разъемам IDC-10. При этом, три порта микроконтроллера — PORTD, PORTL и PORTK — выведены полностью и продублированы винтовыми зажимами для удобства подключения.

Для максимального удобства все разъемы подписаны и для каждого на плате располагается таблица выводов. В финальной версии для разъемов PORTGB и PORTE — будет введена аналогичная разъемам PORTD, PORTK, PORTL схема подключения — выводам PIN0-PIN7 соответствуют выводы 1-8 разъема, 9 вывод — +5В питания, 10 вывод — общий провод.
Точек подключения питания 5В и Общего провода только винтовых — по 6 точек. По три точки каждого уровня слева и справа на плате.
Интерфейсы:
На плате присутствуют следующие интерфейсы:
- RS-232 на базе микросхемы преобразователя MAX232. Данный преобразователь при помощи джамперов подключается к порту UART2 контроллера.
- RS-485 на базе микросхемы ADM3485. Данный преобразователь жестко подключен к синхронному порту UART1.
- USB с разъемом формата B для подключения платы в качестве дочернего устройства. Преобразователь собран на базе микросхемы FT232RL. Особенностью этой микросхемы и разводки является то, что она может выступать программатором. Для этого на плате предусмотрен 4-контактный разъем для подключения к контроллеру и программирования в т. н. Режим bit-bang.
- Аналоговый датчик тока на базе эффекта Холла с гальванической развязкой. Подключается к входу ADC8 АЦП контроллера. В данный момент устанавливается датчик на номинальный ток 5А постоянного и переменного тока.

Из разъемов программирования на плате имеются:
6-контактный и 10-контактный разъемы программирования ISP для подключения старых и новых версий программаторов.
10-контактный разъем программирования и отладки при помощи JTAG
Ethernet
Данная плата оборудована Ethernet контроллером W5100 для организации связи с сетью Интернет. Данная микросхема обладает аппаратным TCP-стеком что экономит вычислительные ресурсы контроллера. Схемотехника Ethernet-контроллера аналогична применяемой на Ethernet-shield для Arduino и практически совместима с ним. Отличие от стандартной библиотеки в номере ноги с функцией SS — в Arduino он подключен к ноге PB4, в данной плате к ноге PB0. Сделано это для высвобождения ноги с функцией ШИМ.
Гальваническая развязка:
В качестве выходов с гальванической развязкой используются 6 миниатюрных реле с 1 переключающейся группой контактов.
В качестве гальванически развязанных входов предполагалось использовать 4 входа на оптопарах, однако при разработке были применены микросхемы, отсутствующие в необходимом миниатюрном корпусе и в бета-версии не установлены. В промышленной версии данные входы будут присутствовать. Подключаются они ко входам PJ0-PJ3, с функцией PCINT.

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


12 комментариев
Кстати, а зачем два дисплея? и 16*2 и 7 — сегментник?
Видео похоже на чипо-диповское :) Поживее!
Из замечаний:
- 16*2 подключать 4х проводной шиной — плохая практика, особенно на большие расстояния. Любой сбой на шине и дисплей теряет синхронизацию, дальше он показывает чепуху.
- 5В линии ничем не защищены — опять-же, стоит их настроить на вход, поставить рядом с контактором и процессор сразу-же вылетит.
- Вот никогда не понимал, когда в описании отладки перечисляют возможности процессора. Нет бы просто дать ссылку на даташит.
Если хочешь писать(эм, не копипастить) про плату у нас, могу завести блог проекта.Семисегментник… Ну, во-первых никто не заставляет его устанавливать. Во-вторых, никто не запрещает НЕ устанавливать ЖК-шку. И в-третьих, в самом первом прототипе этой платы ЖК-шки не было… Впрочем как и многого другого :)
Видео — я старался :) Этот явно узнаваемый стиль). Буду «Быстрый старт с Atmel Studio» записывать, там и будет все веселье.
По замечаниям:
Индикатор по 4-х проводке. Особо не планировалось выносить куда-то именно этот ЖКшник — стоит себе на плате и ладно. Обдумываю как красиво сделать, чтобы был один 20-контактный разъем. Под графический и под символьный ЖК. Вот только размеры у них одинаковые, а 4 доп. линии над Ethernet висят. Над моей прелестью. Пока думаю.
По линиям. Думал, но учитывая что их там под 50 свободных ног, понадеялся на внутренние диодные вилки.
Аргумент один — процессор впаянный. Хотя по датащиту верное замечание. надо исправить.
Писать не только хочу, но и буду. По отдельному блогу не откажусь, тем более что не за горами анонс других, не менее интересных железок. Только вот про копипастить не понял — своя собственная статья со своего же сайта, слегка подредактированная тоже считается копипастой? :)
Протокол 4х проводной шины крайне дурной — невозможно определить какой части байта ждет сейчас дисплей. Таким образом, одна иголка на шине и все, индикация потеряна. Та-же иголка, к примеру, на ethernet вызовет просто несовпадение CRC и повторную передачу пакета.
Блог проекта создал, ждем развития :)
Насколько я понимаю (я не мега-SEO-спец), копипастой считается любой текст, который раньше был в интеренете. Проблема в том, что поисковики видят это и, понижают рейтинг сайта который копипастит (в данном случае, этого). Но, думаю, можно не заморачиваться. В конечном итоге, сайт не для поисковиков, а для людей :)
А если взять запоминающий осциллограф…
По блогу, спасибо, в работе материал по SDK под AVR Stduio — новая менюОС не захотела под ним сразу заводиться.
По SEO. Рейтинг занижается у плагиатчиков. И у сайтов, использующих перекрестные ссылки.
Для сайта, с копипастой статьи и указанием оригинала грозит лишь оказаться ниже исходного сайта.
И для серьезного «бана в гугле», сайт должен почти целиком из копипасты состоять
Я не ярый фанат AVR. Главное что в текущих приложениях мне его хватает. Плата проста для старта в первую очередь, во вторую — удобна для работы, когда все под рукой. Уверен, если на плате будет (а на ней будет) STM32, вы и сами заинтересуетесь платой.
Просто было интересно почему именно этот МК и ответ я получил.
Сам начинал с AVR и тоже считаю, что они очень хороши для старта, но тоже нужно понимать, что на серьезную работу с ethernet, например, рассчитывать нельзя, но конечно все зависит от поставленных задач.
Вот насколько быстро это вообе можно делать, а самое главное — как, об этом и будет моя предновогодняя статья)
Кстати почему именно этот МК, т.е. 1280-й. Он самый мощный в линейке Мег. и 2560-й, с чуть большей памятью.