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

Блог проекта RLN Electro Ethernet
RLN Electro EthernetДисклеймлер: Не смотря на повсеместное использование контроллеров STM32, 8-разрядные контроллеры AVR все еще в строю и прочно держат свою нишу встраиваемых устройств малой и средней производительности.

Вступление: Разрабатывая тот или иной контроллер автоматики, мне постоянно требуются два инструмента для работы — меня любимая МенюОС, с помощью которой я создаю нужный мне пользовательский интерфейс настройки, и, собственно. контроллер с кнопками и дисплеем, на котором все это дело приходится отлаживать. Добавляем сюда пару интерфейсов вроде 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 комментариев

avatar
Ха, когда-то искали что-то подобное, в итоге нашли вот это.

Кстати, а зачем два дисплея? и 16*2 и 7 — сегментник?
Видео похоже на чипо-диповское :) Поживее!
Из замечаний:
  • 16*2 подключать 4х проводной шиной — плохая практика, особенно на большие расстояния. Любой сбой на шине и дисплей теряет синхронизацию, дальше он показывает чепуху.
  • 5В линии ничем не защищены — опять-же, стоит их настроить на вход, поставить рядом с контактором и процессор сразу-же вылетит.
  • Вот никогда не понимал, когда в описании отладки перечисляют возможности процессора. Нет бы просто дать ссылку на даташит.
Если хочешь писать(эм, не копипастить) про плату у нас, могу завести блог проекта.
Комментарий отредактирован 2012-12-12 10:13:40 пользователем bsvi
avatar
Сравнение конечно слегка некорректное. Собственно на рынке и присутствуют платы типа «дисплейная с кнопочками», «интернет-борда», «плк» а вот компактного единого решения ни в терре, ни в платановских каталогах как-то найти не удалось.
Семисегментник… Ну, во-первых никто не заставляет его устанавливать. Во-вторых, никто не запрещает НЕ устанавливать ЖК-шку. И в-третьих, в самом первом прототипе этой платы ЖК-шки не было… Впрочем как и многого другого :)
Видео — я старался :) Этот явно узнаваемый стиль). Буду «Быстрый старт с Atmel Studio» записывать, там и будет все веселье.
По замечаниям:
Индикатор по 4-х проводке. Особо не планировалось выносить куда-то именно этот ЖКшник — стоит себе на плате и ладно. Обдумываю как красиво сделать, чтобы был один 20-контактный разъем. Под графический и под символьный ЖК. Вот только размеры у них одинаковые, а 4 доп. линии над Ethernet висят. Над моей прелестью. Пока думаю.
По линиям. Думал, но учитывая что их там под 50 свободных ног, понадеялся на внутренние диодные вилки.
Аргумент один — процессор впаянный. Хотя по датащиту верное замечание. надо исправить.
Писать не только хочу, но и буду. По отдельному блогу не откажусь, тем более что не за горами анонс других, не менее интересных железок. Только вот про копипастить не понял — своя собственная статья со своего же сайта, слегка подредактированная тоже считается копипастой? :)
avatar
То что ЖКшник не планируется выносить, не значит, что до него не достанут помехи. Ты ведь делаешь платку для боевого применения в электро-делах (насколько я понял). А в поле разные контакторы, двигатели да частотники водятся. Помех столько, что хорошо, если дисплей выгорать не будет, не говоря уже о том, чтобы что-то дернуло ножку.

Протокол 4х проводной шины крайне дурной — невозможно определить какой части байта ждет сейчас дисплей. Таким образом, одна иголка на шине и все, индикация потеряна. Та-же иголка, к примеру, на ethernet вызовет просто несовпадение CRC и повторную передачу пакета.

Блог проекта создал, ждем развития :)

Насколько я понимаю (я не мега-SEO-спец), копипастой считается любой текст, который раньше был в интеренете. Проблема в том, что поисковики видят это и, понижают рейтинг сайта который копипастит (в данном случае, этого). Но, думаю, можно не заморачиваться. В конечном итоге, сайт не для поисковиков, а для людей :)
Комментарий отредактирован 2012-12-13 00:21:04 пользователем bsvi
avatar
Кстати отличная идея, надо создать установку для проведения испытаний на устойчивость к статическим разрядам.
А если взять запоминающий осциллограф…
По блогу, спасибо, в работе материал по SDK под AVR Stduio — новая менюОС не захотела под ним сразу заводиться.
По SEO. Рейтинг занижается у плагиатчиков. И у сайтов, использующих перекрестные ссылки.
Для сайта, с копипастой статьи и указанием оригинала грозит лишь оказаться ниже исходного сайта.
И для серьезного «бана в гугле», сайт должен почти целиком из копипасты состоять
avatar
Как давно автор использует мк AVR в своих разработках?
avatar
Порядка трех лет пишу всякие заказные гаджеты. А всего — лет пять примерно.
avatar
Видимо они вам прижились, но вы уверены что ваша привычка оправдана в данном случае? На плате видно ethernet, usb и съемный кварц, чтобы менять частоту. Ничего из перечисленного данный МК не умеет.
avatar
Очень не понял фразу «данный МК не умеет». Что он не умеет? По UART работать? по SPI с Ethernet дружить? На другой частоте до 20МГц завестись?

Я не ярый фанат AVR. Главное что в текущих приложениях мне его хватает. Плата проста для старта в первую очередь, во вторую — удобна для работы, когда все под рукой. Уверен, если на плате будет (а на ней будет) STM32, вы и сами заинтересуетесь платой.
Комментарий отредактирован 2012-12-15 00:49:27 пользователем radiolok
avatar
Имелось ввиду, что нету перечисленной периферии в данных МК.
Просто было интересно почему именно этот МК и ответ я получил.
Сам начинал с AVR и тоже считаю, что они очень хороши для старта, но тоже нужно понимать, что на серьезную работу с ethernet, например, рассчитывать нельзя, но конечно все зависит от поставленных задач.
Комментарий отредактирован 2012-12-15 02:18:42 пользователем tomatniy
avatar
Обмениваться с openSCADA пакетами, управляя при этом объектом с постоянной времени в единицы и десятки секунд вполне хватает. Тут хватает.
Вот насколько быстро это вообе можно делать, а самое главное — как, об этом и будет моя предновогодняя статья)

Кстати почему именно этот МК, т.е. 1280-й. Он самый мощный в линейке Мег. и 2560-й, с чуть большей памятью.
avatar
на схеме косяк — FT32 вместо FT232 у микросхемы USB интерфейса (на официальной странице проекта — тоже)
avatar
Ваша правда. Спасибо, исправлено
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.