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

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » Курю ENC28J60


Курю ENC28J60

Сообщений 1 страница 23 из 23

1

Ссылки по теме:
Подключение микроконтроллера к локальной сети: работаем с ENC28J60
Yчебник о коде Баском-AVR, возбуждающие AVR и ENC28J60 ethernetcontroller. Eng
Подключение ENC28J60 + PIC к локальной сети .
Datasheet ENG

Разные схемы подключения:
http://khnu.km.ua/root/kaf/ksm/sayt2/user-files/CB28J.jpg
http://www.mikrocontroller.net/attachment/19232/pic2525-enc28j60h.gif
http://www.mikroe.com/download/eng/documents/compilers/mikropascal/pro/pic/help/img/schemes/scheme_spi_ethernet.gif
http://www.voltrans.az/wp-content/uploads/2015/04/ardfull.png
http://chipmk.ru/images/stories/nick14/enc28_st/4441.JPG



Столкнулся с проблемой, не знаю как её подключить? Кто где как подключает, питают 3.3в. а уровень ТТЛ 5в.
Но у меня не получилось запустить, ну никак, может кто сталкивался? Очень хочется изучить её полностью, без библиотеки.SOS  :canthearyou:

Отредактировано Ev3658 (2016-02-20 19:26:15)

0

2

А может и правда,как советовал RDW, попробовать ESP8266. Я со своими мизерными знаниями и то смог с помощью АТ-команд отправить на сайт гугла гет-запрос и получить в ответ два ведра буковок разных.А так же смог от ESP8266 отправить в браузер тестовые цифры и слова и из  браузера отправить на модуль ESP ответные циферки. Если вам удалось поставить на крыло станки,которые Бонч-Бруевич напильником вытачивал,то с ESP8266 справитесь на раз.

0

3

На самом деле, я серъёзно эти китайские поделки на 8266 не нагружал/тестировал. Производство вещь серьёзное, нужна надежность. Да пока не соберёшь - не узнаешь. Пока всё, что я собирал на 8266 работало как часы (правда там свои нюансы есть (собственно как и везде).

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

Если строить всё на 8266, то можно предусмотреть защиту/проверку на его повисание (некое подобие вачдога, если надо конечно).

0

4

Стоимость этого модуля на сегодня самая доступная - 180р. на Aliexpress. Но его разновидностей целая куча. На радио рынке у них два вида. Давно валялся такой модуль, он уже был с встроенным 3.3в. стабилизатором.
Вообщем не смог его запустить, взял новый, тоже-самое. Как бы должен работать, но не работает. Статья написана видимо под первые микросхемы ENC28J60, валяется у меня отдельно в DIP, может запустится.
Так-то модуль не сложный, довольно универсальный, единственный минус, размер пакета превышает размер памяти МК, судя по статье не страшно, хватит принять и отработать чего нибудь.

Есть у меня тут модуль на базе W5100, загуглил немного и кажись он поддерживается в Bascom Avr, всё-же мне нужно самое дешевое решения, а это ENC28J60.

0

5

Точно! Посмотрел, что в ящиках валяется (на полке), да W5100 - это как раз аппаратная реализация обмена, ENC28J60 - низкий уровень, под него надо кучу памяти МК и парсинг всех запрос/ответов...W5100 конечно дороже стоит, вот оно и уступает 8266.
В общем похоже, ты один в поле воин (коль хочешь с нуля разобраться).  :confused:

0

6

RDW написал(а):

ENC28J60

Этот интерфейс может творить чудеса, подменивать MAC адрес, быстро менять IP адрес и хватать кучу всяких пакетов, идеальный интерфейс для изучения сетевых технологий  :glasses:
Но не могу его запустить, читаю статьи, у всех всё запускается, а у меня нет. Мне бы понять, как обмениваться с ним информацией, а остальное всё уже расписано в ссылках в первом посте.

0

7

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

0

8

Пётр написал(а):

...Может дело не в программе, а в железе.

Во-во, дело в железе. Сегодня взял ещё один модуль, самый маленький (более нового типа), попробую подключить его.

0

9

Модуль просто не отвечает по Spi. Глухой как пробка. Третий модуль, второй контроллер + переходник ТТЛ на 3.3 и всё одно и тоже. Он просто не отвечает.
Одно из двух, либо мне брак попадается, либо все статьи написаны не для Enc28j60  :tired:

0

10

А данные вообще от МК по SPI текут?
SS юзаешь правильно (чипселект)?

0

11

RDW написал(а):

А данные вообще от МК по SPI текут?
SS юзаешь правильно (чипселект)?


Всё течёт, осциллографом проверил, напряжение уровня в норме, чип селект пробовал софтовый и аппаратный, по всякому.
В документации к микросхеме на первой странице сказано, что у ней входы толерантны к ТТЛ 5в., но я и так пробовал, на другом только 3.3.
Почему-то на выходе ENC28J60 всегда высокий уровень 3.3в. и он не стробируется вообще.
При передаче данных эта микросхема моргает чуток индикацией, типа перезапускается, но не более. Причём она живёт своей жизнью.

0

12

А пробовал не сам разбираться, а для начала взять какой-то готовый проект/либы у других? Оно тоже не запускается?

0

13

Ещё народ пишет, чип много потребляет, возможна просадка по питанию...

Вот ещё один с граблями: http://www.microchip.su/showthread.php?t=13057

Отредактировано RDW (2016-02-24 15:38:59)

0

14

Там я уже был. Дело в том, что три таких с одинаковым эффектом. Всё по документации из Datasheet.
Чувствуется в SPI дело.

Код:
Config Spi = Hard , Interrupt = Off , Data Order = Lsb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1

Почему-то на контроллере в SPI Мастера MISO (вход) поднимается высокий уровень. Всё остальное тактует, данные посылает, но вот не понимаю, как он может принимать данные, если на MISO постоянно 5в. (только при запуске его нет, появляется после инициализации SPI.

0

15

Ну SPI вещь весьма весёлая, там нет понятия например "только чтение", чтобы что-то считать, нужно обязательно что-то записать, происходит обмен данными (регистр биты крутит по кругу).
А как теория про скорость обмена (которая должна быть не меньше чего-то там)?

0

16

RDW написал(а):

...
А как теория про скорость обмена......?

ENC28J60 работает до 10 мегабит по SPI, как бы проблем не должно быть. Вот бы из неё хоть один сигнал выжить, там бы уже веселее было.
Наверно придётся сделать паузу, возьму ещё 1 интерфейс с зарплаты, на радио рынке они в два раза дороже, чем на Aliexpress.

0

17

Ev3658 написал(а):

Там я уже был. Дело в том, что три таких с одинаковым эффектом. Всё по документации из Datasheet.
Чувствуется в SPI дело.

Почему-то на контроллере в SPI Мастера MISO (вход) поднимается высокий уровень. Всё остальное тактует, данные посылает, но вот не понимаю, как он может принимать данные, если на MISO постоянно 5в. (только при запуске его нет, появляется после инициализации SPI.

У меня вот так работала:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 64 , Noss = 0

+1

18

Вот блин, только хотел всё сложить в коробку, как решил поиграть с софтовым SPI и вуаля, я получил сигнал ответа от ENC28J60 на осциллографе!!!!
:crazyfun:

Код:
Config Spi = Soft , Din = Pinb.4 , Dout = Pinb.3 , Ss = Pinb.2 , Clock = Pinb.5 , Mode = 1

Но вот делема, если убрать Mode=1, то ответ о модели получаю:

Starting Tux
Enc28j60-version = 12


А если ставлю Mode=1, то ответ:

Starting Tux
Enc28j60-version = 6


Ping само собой на неё не идёт, IP адрес не вижу, но работоспособность передачи данных проверил и оно работает!!! Есть такой вывод у ENC28J60 - "CLK", он генерирует импульсы, частоту которую можно изменять через конфигурацию. По умолчанию там импульсы постоянны (осциллограф всё видит), в программе прописал отключение этих импульсов, в библиотеке этот кусок кода вот:

Код:
'clock from default divide/4 (6.25 Mhz) to divide/2 (12.5 Mhz)
Call Enc28j60writecontrolregbyte(ecocon , &B00000000)
Waitms 250
Print
Print "Starting Tux"

Как бы отключает их, но вот IP адрес не хочет принимать:

Код:
'MAC address
Mymac(1) = &H00
Mymac(2) = &H01
Mymac(3) = &H00
Mymac(4) = &H00
Mymac(5) = &H00
Mymac(6) = &H00


'IP address
Myip(1) = 192
Myip(2) = 168
Myip(3) = 1
Myip(4) = 33

Аппаратный SPI никак не хочет работать, видимо из-за странности Miso, оно в контроллере должно быть входом, но постоянно на нём висит высокий уровень.

Добавлено спустя 34 минуты 7 секунд:

:canthearyou:  КУРИТЬ ВРЕДНО!!! Но он манит меня.

Вот такая ситуация, модуль запускаю, всё ок, от него валит куча сигналов в контроллер, но стоит пустить пинг до его IP адреса, как сразу сигнал от модуля в осциллографе пропадает и не появляется, пока контроллер не ребутну.
Без понятия, подпаял конденсатор на всякий случай, но толку мало. XSpider вообще не видит его в сети (хорошая программа, сканирует всё в IP адресе).

Отредактировано Ev3658 (2016-02-25 16:53:37)

0

19

Tsoyvi написал(а):

У меня вот так работала:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 64 , Noss = 0


Да, действительно и у меня заработало!!!
Но как только хоть один пакет отправляю в модуль (пинг или запрос в браузере), модуль перестаёт передавать, что либо.

Добавлено спустя 2 минуты 48 секунд:

Ой..ой... заработало!!!! УРА  :cool:  СПАСИБО! Пинг появился, но WEB не открывает, ну это не важно.

Отредактировано Ev3658 (2016-02-25 17:00:30)

0

20

Кратко:

Подключение:
SO на Mosi
SI на Miso
CS и SCK куда надо.

Питание модуля 3.3в., но сигналы не критичны к ТТЛ 5в.
Модуль запустился через внешний стабилизатор 3.3в. и тупо воткнутые без переходников ТТЛ, сразу на прямую в Miso,Mosi,CS,SCK.

Жрёт он 250мА. и греется, хорошо греется.

Получилось общаться вот так:

Код:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 64 , Noss = 0

и глючно общаться вот так:

Код:
Config Spi = Soft , Din = Pinb.4 , Dout = Pinb.3 , Ss = Pinb.2 , Clock = Pinb.5 , Mode = 1

Если модуль выдаёт:

Starting Tux
Enc28j60-version = 255

Значит он не отвечает или не работает.

У меня выдал вот так и заработал:

Starting Tux
Enc28j60-version = 6

В Интернет он может выдать =4 или около того.

0

21

Понятно, я думал ты прежде всего разобрался с настройкой SPI, оказалось всё старые грабли.  :no:

-1

22

RDW написал(а):

Понятно, я думал ты прежде всего разобрался с настройкой SPI, оказалось всё старые грабли.

Да вот и нет.  Я не знаю, что случилось, но блин, работать стал почти с любыми настройками SPI. Предполагаю, проблема была в прожорливости этой микросхемы, что вызвало колдовство и шаманство!

0

23

Я об этом выше писал.)

0


Вы здесь » Программирование ATMEL в BASCOM. » Исходники » Курю ENC28J60