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

 
 
> RTL8316(RTL8326) <->I2C<->uCU, не могу установить связь
prottoss
сообщение Jan 7 2009, 01:04
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Все привет и с праздниками. Собственно сабж. Если кто нибудь делал такую связку, буду рад помощи.
Пока что свитч ни как не реагирует на запросы от МК. Внешней ЕЕПРОМ нету.


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 24)
Rst7
сообщение Jan 7 2009, 08:19
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



У меня, к сожалению, конкретно до 16ти...24хпортовых RTL руки не дошли, так что могу посоветовать предположительное направление плясок...

Вы ж в курсе, что после сброса RTL сначала вычитывает (ну или пытается вычитывать) данные из EEPROM, а только потом переходит в режим Serial-CPU Access? Посмотрите осциллографом как быстро это происходит. По даташиту - ~10мс чтение епрома, ~24мс - тест ОЗУ, потом инициализация ОЗУ (неизвестно сколько), потом инициализация внутренних регистров и только потом готовность к обмену по I2C.

Кстати, еще может быть неприятный вариант, что надо будет ставить или эмулировать EEPROM, потому как без нее может не инициализироваться дальнейший обмен по I2C - врать не буду, но где-то такой глюк был wink.gif

ЗЫ Кстати, а не очередной ли полууправляемый свич для пионернетов Вы задумали? Вообще-то, я бы обратил свое внимание на IP1726 (ну или, может, что-то есть более свежее) - там Spanning tree пакеты не летят сквозь свич, а могут быть оттранслированны на CPU-порт для обработки. Т.е. на IP1726 можно реализовать Spanning Tree, а на RTL - нет. А это очень полезно.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 08:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 7 2009, 15:19) *
Вы ж в курсе, что после сброса RTL сначала вычитывает (ну или пытается вычитывать) данные из EEPROM, а только потом переходит в режим Serial-CPU Access? Посмотрите осциллографом как быстро это происходит. По даташиту - ~10мс чтение епрома, ~24мс - тест ОЗУ, потом инициализация ОЗУ (неизвестно сколько), потом инициализация внутренних регистров и только потом готовность к обмену по I2C.
Да, в курсе. Даташит весь прокурил. Вчера у меня был первый наскок на этот чип.
Цитата(Rst7 @ Jan 7 2009, 15:19) *
Кстати, еще может быть неприятный вариант, что надо будет ставить или эмулировать EEPROM, потому как без нее может не инициализироваться дальнейший обмен по I2C - врать не буду, но где-то такой глюк был wink.gif
Я уже тоже к этому склоняюсь. Сегодня попробую залить ЕЕПРОМ и попробовать еще раз потыкаться.
Цитата(Rst7 @ Jan 7 2009, 15:19) *
ЗЫ Кстати, а не очередной ли полууправляемый свич для пионернетов Вы задумали? Вообще-то, я бы обратил свое внимание на IP1726 (ну или, может, что-то есть более свежее) - там Spanning tree пакеты не летят сквозь свич, а могут быть оттранслированны на CPU-порт для обработки. Т.е. на IP1726 можно реализовать Spanning Tree, а на RTL - нет. А это очень полезно.
Задумал, но только не яsmile.gif Это заказ - сделать мониторинг такого чипа по SNMP.


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 09:04
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Это заказ - сделать мониторинг такого чипа по SNMP.


Вот прям так и сформулировали? А по RRCP стыдно забрать состояния?

Цитата
Сегодня попробую залить ЕЕПРОМ и попробовать еще раз потыкаться.


Может пригодится генератор прошивок. Накопан где-то на просторах толи инета, толи в закромах nag.ru
Прикрепленный файл  RTL8326_EEPROM_cfg__Ver_1.7.zip ( 48.51 килобайт ) Кол-во скачиваний: 282


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 09:38
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 7 2009, 16:04) *
Вот прям так и сформулировали? А по RRCP стыдно забрать состояния?
RRCP работает только в пределах одного сегмента сети и секюрити в нем нет никакого.


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 10:28
Сообщение #6


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
RRCP работает только в пределах одного сегмента сети и секюрити в нем нет никакого.


О, таки пионернет smile.gif Только там цепляют гирлянды неуправляемых свичей и при этом хотят задешево контролировать состояние железяк.

Я вот к чему про RRCP разговор завел. Врядли Вы будете целиком разрабатывать и изготавливать такой свич. Скорее всего - это будет китайский донор с прикрученной своей железякой. А тут оптимально минимум вмешательства в схему свича.

Тогда я бы поступил так. В свич впаивается EEPROM - обычно, на плате место есть. Т.е. минимум гемора. В прошивке разрешается RRCP только на один порт, в который втыкается Ваш девайс, являющийся мостом RRCP-SNMP. Кстати, не забываем реализовывать полноценный SNMPv3, раз уж так секурности хотят smile.gif

Гм... Написал - аж самому понравилось. Надо поговорить с товарищем-сетевиком, не нужна ли ему такая приблуда, задешево wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 11:30
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 7 2009, 17:28) *
О, таки пионернет smile.gif Только там цепляют гирлянды неуправляемых свичей и при этом хотят задешево контролировать состояние железяк.
Я вот к чему про RRCP разговор завел. Врядли Вы будете целиком разрабатывать и изготавливать такой свич. Скорее всего - это будет китайский донор с прикрученной своей железякой. А тут оптимально минимум вмешательства в схему свича.
Тогда я бы поступил так. В свич впаивается EEPROM - обычно, на плате место есть. Т.е. минимум гемора. В прошивке разрешается RRCP только на один порт, в который втыкается Ваш девайс, являющийся мостом RRCP-SNMP. Кстати, не забываем реализовывать полноценный SNMPv3, раз уж так секурности хотят smile.gif
Гм... Написал - аж самому понравилось. Надо поговорить с товарищем-сетевиком, не нужна ли ему такая приблуда, задешево wink.gif
Я ничего изготавливать не собираюсьsmile.gif Мне предложили написать ПО для такой штуки. Заказчики тоже ничего изготавливать не собираются, по крайней мере сейчас. Пока нужно лишь сделать управление к существующему оборудованию. SNMP у меня есть. Мой собственный самописный. Испытан на ARM SAM7X и AVR ATmega128 (без внешней памяти).


Я думаю им виднее, как реализовывать девайс, раз они с этим общаются, бо вроде не дураки. А мое дело маленькоеsmile.gif


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 11:53
Сообщение #8


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
SNMP у меня есть.


v>=2? Или по-простому, v1 и все?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 12:37
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 7 2009, 18:53) *
v>=2? Или по-простому, v1 и все?
Все версии


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 12:47
Сообщение #10


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(prottoss @ Jan 7 2009, 14:37) *
Все версии

Отлично. В этом случае Ваша совесть чиста.

PS Получается коннект с камнем?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 12:49
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 7 2009, 19:47) *
Отлично. В этом случае Ваша совесть чиста. PS Получается коннект с камнем?
Спасибо за вопрос по темеsmile.gif Пока нет.


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 17:02
Сообщение #12


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Спасибо за вопрос по теме


Ну надо же поддержать беседу smile.gif

С другой стороны, не задай Вы вопрос про I2C, мне бы, может быть, и не пришла бы в голову идея моста RRCP<->Чтото_вменяемое. Из чужого вопроса надо же и отвечающему извлекать какую-нибудь пользу. Так что лично я попробую немного денег заработать на продаже таких мостов пионернетам. Благо, подходящая дешевая железяка как раз мною мелкосерийно производится. Добавить в нее такой функционал - как 2 пальца.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 17:33
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 8 2009, 00:02) *
Ну надо же поддержать беседу smile.gif
С другой стороны, не задай Вы вопрос про I2C, мне бы, может быть, и не пришла бы в голову идея моста RRCP<->Чтото_вменяемое. Из чужого вопроса надо же и отвечающему извлекать какую-нибудь пользу. Так что лично я попробую немного денег заработать на продаже таких мостов пионернетам. Благо, подходящая дешевая железяка как раз мною мелкосерийно производится. Добавить в нее такой функционал - как 2 пальца.
Ага, прикольноsmile.gif Кстати, задал заказчикам вопрос, сначала обокакали RRCP но потом почесали затылки - думают... связи с чипом по I2C по прежнему не устанавливается. Хоть и подсунул ему прошитую EEPROM, которую он прочитал.


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 17:53
Сообщение #14


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
связи с чипом по I2C по прежнему не устанавливается.


А на осциллограммах пакетов от камня в RTL ничего криминального не видно? Все подтяжки на месте?

Цитата
но потом почесали затылки - думают...


А то. Идея знатная. Особенно, когда она объединяется сразу с пинговалкой и ребутером этого свича. Вполне полезный функционал за $20. Щас мои заказчики и трейдеры от праздников отойдут (заказчики - для уточнения, почем брать будут, трейдеры - для покупки какого-нибудь пациента на RTL8316/26 для тестов) и приступлю.

Несколько рекомендаций на будущее, когда связь поднимете и приступите собственно к основному этапу:

а) Не забудьте в свой стек вставить стрип vlan-тегов. А то можно случайно управление потерять, если тегированные пакеты полетят на порт Вашей железяки. Такая ситуация легко может случиться при некорректной конфигурации свича.

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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 18:05
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 8 2009, 00:53) *
А на осциллограммах пакетов от камня в RTL ничего криминального не видно? Все подтяжки на месте?
Все на месте. Чип просто не откликается.
Цитата(Rst7 @ Jan 8 2009, 00:53) *
Несколько рекомендаций
Спасибо, учту


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2009, 18:16
Сообщение #16


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Все на месте. Чип просто не откликается.


Т.е. даже на байт адреса (самый первый после START) нет ACK?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 7 2009, 18:26
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 8 2009, 01:16) *
Т.е. даже на байт адреса (самый первый после START) нет ACK?
Нет


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 8 2009, 13:56
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Так и не могу достучаться до железяки. В данный момент есть две тестовые платы с МК AVR ATmega128 на борту, через которые хочу произвести связь со свитчем. На одной плате имеется датчик температуры DS1621, который опрашивается периодически с интервалом в 2 секунды. Кроме того, есть связь с микросхемами EEPROM 24LC04 установленными на платах свитчей. Сами свитчи опрашиваются в цикле с интервалом в 1 секунду. Прочитал в даташите на RTL8316B и RTL8326, что на линии SDA уже есть встроенный в чип резистор подтяжки. Пробовал и отпаивать все резисторы, и ставить на одну линию, и на вторую и на обе. Менял номиналы, частоту шины...
Связаться ни как не получаетсяsad.gif Идей новых пока ни каких на ум не приходит.
Привожу ниже код чтения свитча:
Код
...
#define TWI_READ        0x01    /* Data transfer direction READ */
...
#define RTL83X6_I2C_ADDR                0xA8
...
BOOL RTL83x6_Read(UINT16 addr, P_UINT16 pdata)
{    
      UINT8 lo, hi;
    INT i = 100;
      
    while(--i)
    {
        while(1)
        {      
            if(FALSE == TWI_Start() ||
               FALSE == TWI_Addr(RTL83X6_I2C_ADDR | TWI_READ) ||
               FALSE == TWI_Put(LOBYTE(addr)) ||
               FALSE == TWI_Put(HIBYTE(addr)) ||
               FALSE == TWI_Get(&lo, TRUE) ||
               FALSE == TWI_Get(&hi, TRUE))
                break;
            TWI_Stop();
            TC0_DelayMS(2);
            
            *pdata = MAKEUINT16(hi, lo);
            return TRUE;
        }
        TWI_Reset();
        TC0_DelayMS(5);
    }
      return FALSE;
}


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 18 2009, 11:46
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(prottoss @ Jan 8 2009, 20:56) *
Так и не могу достучаться до железяки...
Так и достучалсяsmile.gif Правда, I2C пришлось делать софтовый, потому как в данных чипах он не совсем такой как надоsmile.gif Во избежание пропадания охоты у Rst7 использовать RRCP оставлю секрет не раскрытым.


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 18 2009, 12:28
Сообщение #20


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Во избежание пропадания охоты у Rst7 использовать RRCP оставлю секрет не раскрытым


Уже не отобъете. Я уже сделал мост RRCP<->HTTP smile.gif Потому как мне проще доработать любой серийный свич путем запайки одной епромки на предусмотренное место и больше никаких проводов. Так что можете расказывать.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 18 2009, 13:01
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Rst7 @ Jan 18 2009, 19:28) *
Уже не отобъете. Я уже сделал мост RRCP<->HTTP smile.gif Потому как мне проще доработать любой серийный свич путем запайки одной епромки на предусмотренное место и больше никаких проводов. Так что можете расказывать.
Да, здесь проводов больше. 2 на i2C, 2 питание, 4 собственно сеть. За то на много больше возможностей и нет глюков. Все регистры как на ладони...
Все равно не расскажуsmile.gif После секса с RTL8316B - это - святоеsmile.gif


--------------------
Go to the top of the page
 
+Quote Post
xend
сообщение May 11 2009, 22:20
Сообщение #22





Группа: Новичок
Сообщений: 1
Регистрация: 11-05-09
Пользователь №: 48 923



Реально кому-нибудь удалось прочитать регистры rtl8316b по i2c ?
Go to the top of the page
 
+Quote Post
prottoss
сообщение May 12 2009, 07:34
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(xend @ May 12 2009, 06:20) *
Реально кому-нибудь удалось прочитать регистры rtl8316b по i2c ?
Да, давно уже все прочитаноsmile.gif
Прикрепленные файлы
Прикрепленный файл  rtl83x6.I2Cdriver.rar ( 1.73 килобайт ) Кол-во скачиваний: 44
 


--------------------
Go to the top of the page
 
+Quote Post
Rst7
сообщение May 12 2009, 07:48
Сообщение #24


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Да, давно уже все прочитано


А у меня - RRCP smile.gif - http://cbsie.dyndns.info/WWW/rrcp.html

Кстати, а в чем грабли, в двух словах? Вроде глянул на драйвер, кроме пляски под названием SW_Reset никакого криминала не видать, I2C в чистом виде... Или я что-то пропустил?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Itch
сообщение Feb 9 2011, 07:37
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Поделюсь идеями по поводу I2C.
1. После STOP надо обязательно дернуть клок SCL 1 раз вниз-вверх при SDA=1. Иначе RTL отвечает только на первый запрос, все последущие он игнорирует.
2. При записи регистра последний NACK от RTL лучше не контролировать, т.к. при этом процент успешных записей гораздо выше.
3. Возможно это ошибки в разводке платы, но регистры записываются и читаются не гарантированно. После записи лучше прочитать содержимое, давать несколько попыток на успешную запись.
Так и не понял от чего это зависит, менял и задержки и тактовую частоту - примерно одна и та же картина, около 20% ошибок доступа.

В исходниках protoss кажется есть ошибка - в функции SW_Put, SDA ставится в 0 и потом читается ACK с шины, естественно он всегда будет 0:
Код
/* Get ACK(NACK) */
    ClrSDA();
    Delay();
    SetSCL();
    Delay();
    i = RTL83X6_PIN & RTL83X6_SDA;
    ClrSCL();
    Delay();
    return i;

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:20
Рейтинг@Mail.ru


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