- PVSM.RU - https://www.pvsm.ru -

Создавая различную электронику и программируя AVR, STM и т.п. всегда встает вопрос как ее подключить к другой периферии для управления и передачи информации, например, к компьютеру.
Есть много различных решений: COM, RS482, WiFi, Zigbee, ZWave, Ethernet и т.п. Из всех вариантов я пробовал WiFi, Zigbee, Ethernet, все остальное крайне неудобно или устарело.
Я хочу рассказать и поделиться, как можно использовать чип ENC28J60 от Microchip и Atmega328p для создания «моста» (далее по тексту) между UART и Ethernet.
Есть готовые платы из Китая с чипом, но это только чип без реализации TCP/IP и имеет большие размеры.

Поэтому мне пришлось создавать не только прошивку, но и саму печатную плату.
Плата получилась небольших размеров.



Многие пишут, что чип глючный, есть подделки, но мне этого не удалось встретить в своей практике. В интернете есть много проектов и исходников для работы с этим чипом, но рабочих проектов мне не удалось встретить. Как правило эти проекты «умирали» или были не доведены до конца автором. Мой проект полностью рабочий, его можно смело использовать. Вот и захотелось поделиться. На сегодняшний день я уже не использую ENC28J60 т.к. на смену ему пришел WiFi модуль ESP8266. Я также напишу позже статью как собрать под ESP8266 прошивки AT, MicroPython, NodeMCU, Esp-Bridge и т.д. Но возможно кому-то еще требуется проводное Ethernet соединение с его девайсами или недоверие к беспроводным технологиям. В любом случае в каждой ситуации хорошо свое решение. Универсального решения не бывает!
Все схемы и пояснения в конце статьи. И конечно отвечу на вопросы.
У меня была задача подключиться удаленно к моему устройству на AVR через интернет.
Передача полностью сквозная и двухсторонняя
Вот примерно по такой схеме

Т.к. Atmega имеет не особо много памяти, то я реализовал только самое необходимое:

Для настроек используется Web интерфейс на 80 порту
В моем конечном девайсе было две платы, основная со всей логикой и отдельная как «мост».
Сам «мост» был реализован на отдельной плате, которая вставлялась уже в основную.
На основной плате располагался разъем RJ45 (для меня это было удобно). Можно было всегда убрать «мост» если заказчик этого не требовал.
Вид модели (Altium)


Уже готовая печатная плата:


В моем устройстве:


Основные возможности
Сам исходник для Atmeg328 [1]
Схемы (PDF) и фотографии [2]
Схемы и PCB рисовал в Altium`e, если нужно, пишите вышлю.
В общем надеюсь кому-то это поможет для реализации внешнего подключения к его девайсам используя Ethernet (TCP/IP).
Автор: Sergey Abaev
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/avr/268326
Ссылки в тексте:
[1] Сам исходник для Atmeg328: https://github.com/Serjaru/enc28j60
[2] Схемы (PDF) и фотографии: http://serja.ru/shematic.zip
[3] Источник: https://habrahabr.ru/post/342424/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.