Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-сен-20 14:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 2011-июн-28 08:41 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1141
Откуда: Тула
Jenka писал(а):
так.. с протоколом UDP разобрался.
теперь надо переделать получение пакетов не циклом а прерыванием


Ну так и выложили бы результаты. Или у Вас в коде слова неприличные? =)

И ещё. Из схемы с параллельным интерфейсом видно, что используется внешнее прерывание EXT_INT2 что на пине PB10. Как работает? Не зацикливается? Пример инициализации можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2011-июл-31 13:32 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
вот собственно проект который я пытался переделать под прерывания
в обработчик прерывания почемуто не заходит :(


Вложения:
uV4 eth irq.rar [440.38 КБ]
Скачиваний: 476
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2011-авг-11 17:44 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Судя по всему вы не настраиваете внешнее прерывание 2 (PB10).
Попробуйте добавить в проект следующие настройки для порта B:
Код:
PORTB->ANALOG = 0x0400;          //PORTB_10: didital pins
PORTB->PWR = 0x00300000;        //PORTB_10: max speed edge
PORTB->FUNC = 0x00200000;       //PORTB_10:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2011-авг-11 20:55 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
в общем както так. в файлах рабочий проект обмена обмена по ethernet через прерывания. для Keil4
поддерживаются протоколы ARP,ICMP,UDP/
ip адрес контроллера 192.168.1.3 (в коде можно поменять на любой другой)
порт контроллера 5001.

там же лежит небольшая тестовая программа для проверки работы контроллера. написана на C#/для запуска нужен установленный .net framework/

что делает? посылаем данные в контроллер, контроллер возвращает их назад. для некоторых команд.. возвращает прописанные в контроллере ответы.


Вложения:
ethernet1986.rar [297.72 КБ]
Скачиваний: 616
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2011-авг-26 08:12 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1281
Откуда: АО "ПКК Миландр"
Jenka писал(а):
в общем както так. в файлах рабочий проект обмена обмена по ethernet через прерывания. для Keil4
поддерживаются протоколы ARP,ICMP,UDP/
ip адрес контроллера 192.168.1.3 (в коде можно поменять на любой другой)
порт контроллера 5001.

там же лежит небольшая тестовая программа для проверки работы контроллера. написана на C#/для запуска нужен установленный .net framework/

что делает? посылаем данные в контроллер, контроллер возвращает их назад. для некоторых команд.. возвращает прописанные в контроллере ответы.


Пропускную способность оценивали ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-05 08:14 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
у меня возник вопрос по поводу перестройки параллельной шины на другие ножки контроллера 1986ВЕ91Т относительно того как это сделано на отладочной плате.

1) на отладочной плате адресные линии для микросхемы Ethernet заводятся с порта F начиная с PF2. т.е. PF2 на А0, PF3 на А1, итд.
На нашей плате адресные линии заводятся с порта F таким образом. PF0 - A0, PF1 - A1, PF2-A2 итд. т.е. начиная с нулевого вывода порта F а не со второго как это сделано на отладочной плате.

2) управляющие сигналы OE и WE c выводов PC1 и PC2 перекинуты на выводы PC14 и PC15 соответственно.
3) CS с PE12 перекинут на PC13.

вот как это выглядит у меня в коде:
Код:
void PortConfig()
{
//Data Bus[0:15]-************************************************
      PORTA->ANALOG = 0xFFFF;
      PORTA->PWR = 0xAAAAAAAA;
      PORTA->FUNC = 0x55555555;

      PORTB->ANALOG |= PORTB_NIRQ; // nIRQ on PB10
      PORTB->PWR |= GPIO_MODE(10, GPIO_SPEED_MAXI);
      PORTB->FUNC = (PORTB->FUNC & ~(ARM_FUNC_MASK(10))) | ARM_FUNC_ALT(10); // nIRQ on PB10
      
               PORTC->ANALOG = 0xFFFF; 
      PORTC->PWR = 0xAAAAAAAA;
      PORTC->FUNC = 0x0000;           // Port
      PORTC->OE = 0xF000;             //PORTD12 - PORTD15 - outputs
      PORTC->RXTX = 0xF000;            

                PORTD->ANALOG = 0xFFFF;         
      PORTD->PWR = 0xAAAAAAAA;       
      PORTD->FUNC = 0x00000000;     
      PORTD->RXTX = 0x0000;
                PORTD->OE = 0x7C00;           

//Address Bus[0:12]
      PORTE->ANALOG = 0xFFFF;
      PORTE->PWR = 0xFFFFFFFF;
      PORTE->FUNC = 0x55555555;

      PORTF->ANALOG = 0xFFFF;
      PORTF->PWR = 0xFFFFFFFF;
      PORTF->FUNC = 0x55555555;       

}

за основу был взят проект которые вложен постом выше Ethernet1986

правильно ли я все настраиваю??? чето ничего не работает!!! :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-05 08:48 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1281
Откуда: АО "ПКК Миландр"
Jenka писал(а):
у меня возник вопрос по поводу перестройки параллельной шины на другие ножки контроллера 1986ВЕ91Т относительно того как это сделано на отладочной плате.

1) на отладочной плате адресные линии для микросхемы Ethernet заводятся с порта F начиная с PF2. т.е. PF2 на А0, PF3 на А1, итд.
На нашей плате адресные линии заводятся с порта F таким образом. PF0 - A0, PF1 - A1, PF2-A2 итд. т.е. начиная с нулевого вывода порта F а не со второго как это сделано на отладочной плате.

2) управляющие сигналы OE и WE c выводов PC1 и PC2 перекинуты на выводы PC14 и PC15 соответственно.
3) CS с PE12 перекинут на PC13.

вот как это выглядит у меня в коде:
Код:
void PortConfig()
{
//Data Bus[0:15]-************************************************
      PORTA->ANALOG = 0xFFFF;
      PORTA->PWR = 0xAAAAAAAA;
      PORTA->FUNC = 0x55555555;

      PORTB->ANALOG |= PORTB_NIRQ; // nIRQ on PB10
      PORTB->PWR |= GPIO_MODE(10, GPIO_SPEED_MAXI);
      PORTB->FUNC = (PORTB->FUNC & ~(ARM_FUNC_MASK(10))) | ARM_FUNC_ALT(10); // nIRQ on PB10
      
               PORTC->ANALOG = 0xFFFF; 
      PORTC->PWR = 0xAAAAAAAA;
      PORTC->FUNC = 0x0000;           // Port
      PORTC->OE = 0xF000;             //PORTD12 - PORTD15 - outputs
      PORTC->RXTX = 0xF000;            

                PORTD->ANALOG = 0xFFFF;         
      PORTD->PWR = 0xAAAAAAAA;       
      PORTD->FUNC = 0x00000000;     
      PORTD->RXTX = 0x0000;
                PORTD->OE = 0x7C00;           

//Address Bus[0:12]
      PORTE->ANALOG = 0xFFFF;
      PORTE->PWR = 0xFFFFFFFF;
      PORTE->FUNC = 0x55555555;

      PORTF->ANALOG = 0xFFFF;
      PORTF->PWR = 0xFFFFFFFF;
      PORTF->FUNC = 0x55555555;       

}

за основу был взят проект которые вложен постом выше Ethernet1986

правильно ли я все настраиваю??? чето ничего не работает!!! :(


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

Контроллер Ethernet имеет 16-ти битную шину. и подключая ADDR2 МК к ADDR0 ETHERNET в памяти МК регистры корректно контроллера Ethernet корректно и выравнено отображаются, при адресации с нулевой линии адреса, например второй регистр будет иметь адрес 0x5000_0001 (для примера) но при чтении 16 ти бит из этого адреса, в процессорное ядро вернется данные с шины DATA[23:8].
Так же не понятно переназначение управляющих сигналов WE/OE с PC1 PС2 на другие выводы, кто их будет генерить ? Или все же программная реализация транзакции на шине ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-05 14:20 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
-=Sergei=- писал(а):
Контроллер Ethernet имеет 16-ти битную шину. и подключая ADDR2 МК к ADDR0 ETHERNET в памяти МК регистры корректно контроллера Ethernet корректно и выравнено отображаются, при адресации с нулевой линии адреса, например второй регистр будет иметь адрес 0x5000_0001 (для примера) но при чтении 16 ти бит из этого адреса, в процессорное ядро вернется данные с шины DATA[23:8].


поясните пожалуйста какие конкретно нужно сделать изменения в настройках адресной шины чтобы они соответствовали схеме подключения ADDR0 МК к ADDR0 ETHERNET.
нужно ли чтото менять описаниях регистров Ethernet? или достаточно настроек сделанных в функции PortConfig().


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-05 14:44 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1281
Откуда: АО "ПКК Миландр"
Jenka писал(а):
-=Sergei=- писал(а):
Контроллер Ethernet имеет 16-ти битную шину. и подключая ADDR2 МК к ADDR0 ETHERNET в памяти МК регистры корректно контроллера Ethernet корректно и выравнено отображаются, при адресации с нулевой линии адреса, например второй регистр будет иметь адрес 0x5000_0001 (для примера) но при чтении 16 ти бит из этого адреса, в процессорное ядро вернется данные с шины DATA[23:8].


поясните пожалуйста какие конкретно нужно сделать изменения в настройках адресной шины чтобы они соответствовали схеме подключения ADDR0 МК к ADDR0 ETHERNET.
нужно ли чтото менять описаниях регистров Ethernet? или достаточно настроек сделанных в функции PortConfig().



Если ADR0 МК заведен на ADR0 ETHER, то через контроллер внешней шины работать с 5600ВГ1 не получится. Можно сделать программно, т.е. в переводим все выводы в режим порта, и задаем адрес в порт F. Задаем данные в порт A, генерим WE/OE на порте С. Для чтения подобным образом, но считываем данные с порта A, уберам OE.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-07 09:04 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
какие могут быть причины того что при отключенной сети Ethernet в модуле Ethernet отладочной платы горят сразу оба светодиода???

мы сейчас используем микросхемы 5600ВГ1 ревизии 1146. если в них какието особенности или доработки в отличие от ревизии 1010 которая идет в модуле Ethernet отладочной платы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-07 10:24 
Не в сети

Зарегистрирован: 2010-июл-08 08:50
Сообщения: 734
Откуда: АО "ПКК Миландр"
Jenka писал(а):
какие могут быть причины того что при отключенной сети Ethernet в модуле Ethernet отладочной платы горят сразу оба светодиода???

мы сейчас используем микросхемы 5600ВГ1 ревизии 1146. если в них какието особенности или доработки в отличие от ревизии 1010 которая идет в модуле Ethernet отладочной платы?


В новой версии микросхемы поменялся активный уровень сигналов на выводах индикации (с логической "1" на логический "0"). Проверьте вашу схему индикации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июн-08 09:23 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
ещё есть вопрос по поводу работы внешней шины, точнее по поводу перевода её адресных линий в режим работы порта и обратно в режим шины по ходу работу контроллера.
возможно ли такое? и как это скажется на стабильности работы контроллера? возможно ли часто переключаться между этими режимами?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июл-12 14:37 
Не в сети

Зарегистрирован: 2011-май-31 20:03
Сообщения: 15
Есть у когонить пример проекта для работы с модулем Ethernet без использования внешней шины а через порты конроллера в режиме портов?????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Ethernet
СообщениеДобавлено: 2012-июл-16 08:50 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1281
Откуда: АО "ПКК Миландр"
Jenka писал(а):
ещё есть вопрос по поводу работы внешней шины, точнее по поводу перевода её адресных линий в режим работы порта и обратно в режим шины по ходу работу контроллера.
возможно ли такое? и как это скажется на стабильности работы контроллера? возможно ли часто переключаться между этими режимами?



Теоретически возможно, но надо делать очень окуратно. Возможно изначально сделать программный chip-select-ы для контроллера и других устройств. И их всегда программно переключать, а потом уже либо в через контроллер шины, либо через порты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: 2013-фев-19 17:57 
Не в сети

Зарегистрирован: 2011-апр-21 07:31
Сообщения: 31
Откуда: АО "ПКК Миландр"
Jenka писал(а):
да, оч хороший проект.
ещё бы пример реализации протокола верхнего уровня. например UDP и вопросов по работе модуля Ethernet у меня не осталось бы.

смотрите тему viewtopic.php?f=22&t=1062 про портирование uIP


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB