реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Ethernet-контроллер CP2201, Программирование СР2201 с помощью отладочной платы AVR Crumb644-NET
Supersonic
сообщение Dec 4 2013, 07:10
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 7-06-11
Пользователь №: 65 542



Доброго времени суток, уважаемые разработчики и программисты. Давно уже обзавёлся я отладочной платой AVR Crumb644-NET, но за неимением опыта я не смог разобраться, что с ней делать и как жить-то вообще. Сейчас подумал, что нужно оживить сей девайс, иначе позор мне на всю голову! Возможностей у неё дофига и очень интересные штуки можно реализовать. Вот кратко то, с чем я имею дело:
1. на плате стоит атмега 644, которая общается с 2201 по параллельному порту (8 ног данных, управляющие стробы nWR и nRD).
2. Как происходит запись во внутренние регистры - разобрался.
3. Как писать в 16-разрядные регистры - разобрался.
4. Инициализацию делать научился, даже диодик мигает, чему я безмерно рад.
5. Вроде даже понял, как писать во флэш и читать оттуда.

тут начинается беспредел. Вопросов очень много и много непонятного.

1. МАК-адрес пишется в регистры MACAD0:MACAD1:MACAD2. Они 16-разрядные. нужно вписать туда 255.255.255.0. Из даташит СР2201 мы можем прочитать, что MACAD2 содержит 1й и 2й октет, MACAD1 - 3й и 4й, MACAD0 - 5й и 6й. Вопрос - зачем 5й и 6й? Потом все эти 6 байтов перегоняются в самый верх флэш памяти (8 кб - 0x1FFF) с адреса 1FFA до конца. Там и лежат долго и счастливо. Как же его правильно прописать?
2. Нет отдельного регистра для записи IP, маски. Я так понял, что нужно записывать во флэш и потом указателями высылать при запросе. Но вот же опять вопрос: Есть ли разница, куда их писать?
3. Что с ними остается делать? Допустим, я задал IP и хочу пингануть по сети свой выдуманный IP с другого компа, к примеру. Что происходит в сети при посылке с компа команды ping <ip>? И что надо отвечать на запрос?

Помогите, пожалуйста. Уже 840 строк кода накалякал чтобы просто инициализировать девайс. Может кто-то имел дело с ним?
Прикрепленные файлы
Прикрепленный файл  CP2201.pdf ( 1.24 мегабайт ) Кол-во скачиваний: 15
 


--------------------
Пользователь № 0х10006
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Dec 4 2013, 11:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



По вопросу 1. - размер MAC-адреса для Ethernet вроде 48 бит, поделите на 16 - как раз 3 и получится...
Про 2. и дальше - на мой взгляд этот 2201 предоставляет Вам только интерфейс приёма и передачи Ethernet-кадров, всё вышележащее (IP(6),UDP/TCP) Вам придётся соорудить самостоятельно...
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 5 2013, 15:58
Сообщение #3


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Supersonic @ Dec 4 2013, 11:10) *
..1. МАК-адрес..
2. Нет отдельного регистра для записи IP, маски...
3. ..Что происходит в сети при посылке с компа команды ping <ip>? И что надо отвечать на запрос?
..


1) про мак уже прозвучало = 6 байт он. нужен на нижнем уровне для возможности осуществления фильтрации приходящих пакетов.
2) IP и маска под-сети это выше - в стэке. Реализовывать или где взять готовый(но лучше перепахать - поучитесь да и ляпы подправите) - вам решать.
3) при пинге происходит бриблизительно следующая картина: шлётся широковещательный ARP запрос, чтобы узнать необходимый MAC адресс.
Далее Ваш девайс отвечает на него ответом, вбивая свой MAC и IP. Далее комп посылает запрос к службе ICMP - эхо запрос, на который
вы должны ответить эхо ответом. Все протоколы изложены в открытом доступе.

вот краткая шпаргалка(чуток открывающая суть сего процесса):
Ethernet шпаргалка для начинающих
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Dec 5 2013, 19:19
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



Цитата(Supersonic @ Dec 4 2013, 10:10) *
1. МАК-адрес пишется в регистры MACAD0:MACAD1:MACAD2. Они 16-разрядные. нужно вписать туда 255.255.255.0.

вы перепутали МАК-адрес и маску.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 05:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016