Форум по микроконтроллерам: Разработка устройства на enc28j60 - Форум по микроконтроллерам

Перейти к содержимому

  • 28 Страниц +
  • 1
  • 2
  • 3
  • 4
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Разработка устройства на enc28j60

#21 Пользователь офлайн   viktor_36 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 43
  • Регистрация: 07 Июль 11

Отправлено 12 Март 2012 - 03:18

Цитата

Для отправки UDP пакета первоначально проверяется адрес и на контроллер посылается ARP пакет.

А как и с помощью какой проги его отправить ?
0

#22 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 12 Март 2012 - 15:52

IP комп.карточки RTL 8139 169.254.123.74 маска 255.255.0. Я поставил ее на 100 Мб, думал в материнке 1 Гб не годится, но ничего не изменилось. Визуально на включить сеть 2 на девайсе загорается зеленый и иногда моргает желтый, т.е. сеть есть и пакеты идут. Состояние подключения например отправлено 98 принято 3 пакета. Ping 192.168.1.4 ответа нет, кстати желтый не моргает зеленый светится. Запускаю прогу Network Enabler Admin на широковещательный поиск зеленый светится моргает желтый, но девайс не обнаруживается. Что за прога у тебя с которой ты дал таблицы, я бы скачал.
0

#23 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 12 Март 2012 - 16:13

Ping получил, изменил настройки сети. Ура!!!
0

#24 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 12 Март 2012 - 16:55

С 1 Гб карточкой тоже все работает, тестовая программа функционирует.
А как теперь получить виртуальный COM порт, т.е. преобразовать IP to COM?
И с нетерпением жду 4 части проекта TCP.
0

#25 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 12 Март 2012 - 17:56

Просмотр сообщенияviktor_36 (12 Март 2012 - 03:18) писал:

Цитата

Для отправки UDP пакета первоначально проверяется адрес и на контроллер посылается ARP пакет.

А как и с помощью какой проги его отправить ?

Виктор. При запросе все делается автоматически, если адреса нет в таблице ARP посылается запрос , если есть , то сразу UDP пакет . Прочтите более внимательно второю часть "Подключение ENC28J60 + PIC к локальной сети Часть II. - Протокол ARP2"
0

#26 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 12 Март 2012 - 18:04

Цитата

Ping получил, изменил настройки сети. Ура!!

Вот и хорошо. Прогу сейчас поищу.
0

#27 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 12 Март 2012 - 18:30

Прога WiresharkPortable ссылку давать не буду (нельзя), в любом поисковике найдешь сразу.

Цитата

А как теперь получить виртуальный COM порт, т.е. преобразовать IP to COM?
\
Для таких целей обычно делают "удлинитель" COM порта . Подключают одно устройство к компу COM-IP , а другое конвертирует IP-COM .
0

#28 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 12 Март 2012 - 18:43

У меня проще программа обращается к виртуальному COM порту на компьюторе и посылает UDP пакет с моими данными, которые получает этот девайс и дает соответствующий ответ компу. Этих девайсов может быть много в сети. Примерно так у нас реализовано на Moxe, но хотелось бы попроще на Микрочипе. Говорят, что якобы провайдеры ругаются, если устройства с 10 Мб подключать к сети 100 Мб, поэтому возможно понадобится что-нибудь аналогичное, но с перламутровыми пуговицами (100Мб).
0

#29 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 12 Март 2012 - 19:05

Просмотр сообщенияewgen2012 (12 Март 2012 - 18:43) писал:

У меня проще программа обращается к виртуальному COM порту на компьюторе и посылает UDP пакет с моими данными, которые получает этот девайс и дает соответствующий ответ компу. Этих девайсов может быть много в сети. Примерно так у нас реализовано на Moxe, но хотелось бы попроще на Микрочипе. Говорят, что якобы провайдеры ругаются, если устройства с 10 Мб подключать к сети 100 Мб, поэтому возможно понадобится что-нибудь аналогичное, но с перламутровыми пуговицами (100Мб).

Можно подключить через "ХАБ" и соединение будет уже 100 Мб.
0

#30 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 12 Март 2012 - 19:38

"Можно подключить через "ХАБ" и соединение будет уже 100 Мб."

Собственно так и подключается, я имел ввиду само подключение к Хабу. Сеть вообще огромная типа Spark на весь город. Так что насчет драйвера виртуального Com порта, в сети полно, сейчас скачал одну шаровару, но нихрена не понял.
0

#31 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 13 Март 2012 - 13:01

Цитата

Что за прога у тебя с которой ты дал таблицы, я бы скачал

Прочитайте личное сообщение.
0

#32 Пользователь офлайн   ewgen2012 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 10 Март 12

Отправлено 13 Март 2012 - 14:51

Спасибо. Я написал тебе в личку, забыл добавить оплату гарантирую, можно авансом.
0

#33 Пользователь офлайн   viktor_36 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 43
  • Регистрация: 07 Июль 11

Отправлено 13 Март 2012 - 20:37

Николай, у меня вопрос такого плана - если допустить что необходимо перегрузить контроллер , то в этом случае что будет с нагрузкой?
0

#34 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 13 Март 2012 - 21:08

Просмотр сообщенияviktor_36 (13 Март 2012 - 20:37) писал:

Николай, у меня вопрос такого плана - если допустить что необходимо перегрузить контроллер , то в этом случае что будет с нагрузкой?

Это просто пример и конечно уже "конструктору" решать что дальше будет с нагрузкой при не штатных ситуациях . Если при перезагрузке микроконтроллера нельзя что бы выключалась нагрузка , то есть несколько способов решения . К примеру можно поставить диод на выходе, подключенный к емкости , в результате включаться будет как обычно , а выключаться в зависимости от емкости , нагрузки и сопротивления разряда. Что даст возможность "перезагрузить" микроконтроллер без проблем с нагрузкой.
0

#35 Пользователь офлайн   VadimKHL 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 238
  • Регистрация: 20 Сентябрь 12
  • ГородМосква

Отправлено 20 Сентябрь 2012 - 12:07

Здравствуйте Николай!
Занился тойже задачей что и вы. Задача добится отображения HTML страницы при обращении по IP адресу к устройству.
Начальные знания 0. Как говорят, курю даташит и еррату ENC28J60. Въезжаю тяжеловато, но вроде потехонечку разбираюсь.
По полученной информации из даташита, пишу ПП на асме, сравниваю с вашими примерами.
Так вот пока остановился на инициализации ENC, возникли следующие вопросы:
1) Зачем вы очищаете несуществующий регистр по адресу 0x1h в банке 2 (вы его обозначили как MACON2)?
2) Почему у вас комманда BFS применяется к регистру MAMXFL, по даташиту это запрещено (применима только к регистрам группы ETH)?
3) В полнодуплексном режиме, бит PHCON2.HDLDIS и регистр MAIPGH игнорируется, у вас нет. Для чего вы ими оперируете?
4) Запись в регистр PHCON1 происходит числа 00000100 00000000, а должно записываться 00000001 00000000 что бы выбрать полнодуплексный режим.
Ошибка?
«Миллионы людей видели, как падают яблоки, но только Ньютон спросил почему»
0

#36 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 21 Сентябрь 2012 - 07:33

Просмотр сообщенияVadimKHL (20 Сентябрь 2012 - 12:07) писал:

Здравствуйте Николай!
Занился тойже задачей что и вы. Задача добится отображения HTML страницы при обращении по IP адресу к устройству.
Начальные знания 0. Как говорят, курю даташит и еррату ENC28J60. Въезжаю тяжеловато, но вроде потехонечку разбираюсь.
По полученной информации из даташита, пишу ПП на асме, сравниваю с вашими примерами.
Так вот пока остановился на инициализации ENC, возникли следующие вопросы:
1) Зачем вы очищаете несуществующий регистр по адресу 0x1h в банке 2 (вы его обозначили как MACON2)?
2) Почему у вас комманда BFS применяется к регистру MAMXFL, по даташиту это запрещено (применима только к регистрам группы ETH)?
3) В полнодуплексном режиме, бит PHCON2.HDLDIS и регистр MAIPGH игнорируется, у вас нет. Для чего вы ими оперируете?
4) Запись в регистр PHCON1 происходит числа 00000100 00000000, а должно записываться 00000001 00000000 что бы выбрать полнодуплексный режим.
Ошибка?


Добрый день,Вадим! (Судя по нику Вас зовут Вадим )
Мне сейчас трудно сразу ответить, т.к. уже приличное время не занимался этим проектом. В свое время потерял данные, есть только часть материала. Хотя то что Вы пытаетесь добиться отображения HTML страниц в моем проекте работало. Правда чем больше "емкость" страницы тем хуже открывалась, разобраться до конца не успел и после потери отложил до лучших времен.
Попробую ответить ...
1. Да действительно в даташите нет такого регистра, но на сколько помню на самом деле он есть. Сбрасывая бит "MARST" регистра MACON2 снимаем сброс MAC. Убедится в наличии такого регистра можно открыв файл INC.
0

#37 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 21 Сентябрь 2012 - 07:55

2. По второму вопросу если не трудно указать где применяется команда "BFS" , что бы не искать.
3. 1 В регистр MAIPGH должно записоваться значение 0x0C, согласно даташита стр. 34 (размер промежутка между фреймами MABBIPG, MAIPGL и MAIPGH.).
3. 2 В полнодуплексном режиме, бит PHCON2.HDLDIS действительно не нужен, он включается в полудуплексном, что бы не получать обратно свои пакеты. Но на работу в полнодуплексном не влияет.
4. Здесь похоже ошибка должно быть как Вы говорите., нужно 0х01 а не 0х04.
0

#38 Пользователь офлайн   VadimKHL 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 238
  • Регистрация: 20 Сентябрь 12
  • ГородМосква

Отправлено 21 Сентябрь 2012 - 09:11

Просмотр сообщенияnick14 (21 Сентябрь 2012 - 07:55) писал:

2. По второму вопросу если не трудно указать где применяется команда "BFS" , что бы не искать.


При инициализации ENC. Где задаем максимальный размер пакета (MAMXFLx).

;---------------- настройка регистра MAMXFL (максимальный размер фрейма 1518)
movlw 0x00 ;значение MAMXFLL
movwf SetBitReg ;
movlw 0x02 ;банк "2"
movwf Prov_banka ;
movlw 0x0A ;
movwf ADRreg ;адрес MAMXFLL
call SETbit ;записываем по маске в регистр
movlw 0x60 ;значение MAMXFLH
movwf SetBitReg ;
incf ADRreg ;адрес MAMXFLH
call SETbit ;записываем по маске в регистр

Просмотр сообщенияnick14 (21 Сентябрь 2012 - 07:55) писал:

3. 1 В регистр MAIPGH должно записоваться значение 0x0C, согласно даташита стр. 34 (размер промежутка между фреймами MABBIPG, MAIPGL и MAIPGH.).

Цитата из даташита на стр.34:
If half duplex is used, the Non-Back-to-Back
Inter-Packet Gap register high byte, MAIPGH,
should be programmed. Most applications will
program this register to 0Ch.

Если я правильно понял, если используется полу-дуплекс то надо записать.
А если полнодуплексный режим на него можно не обращать внимание.

Сейчас пытаюсь разобраться как правильно читать пакеты из буфера приемника. Голова кругом идет от этого кругового буфера.
«Миллионы людей видели, как падают яблоки, но только Ньютон спросил почему»
0

#39 Пользователь офлайн   nick14 

  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 465
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 21 Сентябрь 2012 - 09:51

Не помню почему запись делается по маске.... но это не правильно, по маске только при работе с битами. Соответственно нужно переписать на запись в регистр. Что касается буфера приемника задавайте вопросы что не понятно, с удовольствием попытаюсь помочь. Заодно и сам может вернусь к проекту...
0

#40 Пользователь офлайн   VadimKHL 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 238
  • Регистрация: 20 Сентябрь 12
  • ГородМосква

Отправлено 21 Сентябрь 2012 - 10:07

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

Сообщение отредактировал VadimKHL: 21 Сентябрь 2012 - 10:08

«Миллионы людей видели, как падают яблоки, но только Ньютон спросил почему»
0

Поделиться темой:


  • 28 Страниц +
  • 1
  • 2
  • 3
  • 4
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей