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

 
 
> Как определить MAC-адреса слейвов на общей шине?, Нужно чтобы мастер определял MAC-и слейвов путём сканирования шины
Guest_Цыкетчик_*
сообщение Sep 23 2008, 11:47
Сообщение #1





Guests






Как определить MAC-адреса слейвов на общей шине?
Нужно чтобы мастер определял MAC-и слейвов путём сканирования шины.
Подскажите алгоритм как лучше это сделать.

К общей линии подключены пины RXD и TXD UARTов как мастера так и слейвов. Всего слейвов может быть до 8-ми.

Слейвы, как это понятно из их названия, сами, по своей инициативе, начать передавать не могут. Только если их запросит мастер. А как мастер к ним обратиться если он не знает их MAC?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Sep 23 2008, 12:12
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Если коллизии на шине допустимы, то посмотрите как это сделано в 1-wire.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Guest_Цыкетчик_*
сообщение Sep 23 2008, 13:14
Сообщение #3





Guests






Цитата(Сергей Борщ @ Sep 23 2008, 16:12) *
Если коллизии на шине допустимы, то посмотрите как это сделано в 1-wire.

Не знаю к месту ли это(предчувствую что к месту), но пока я не изучил протокол определения MAC-адресов в 1-Wire замечу следующее:

Baudrate: 125000Бод (т.е. длина битовой посылки 8 мкС)
Длина MAC: 24 бита
Время ответа слейва имеет джиттер: 200мкС (т.е. много больше длины битовой посылки в 8мкС)


Джиттер обусловлен обработкой прерываний.


Таким образом синхронного начала передачи всеми слейвами не получить. Разброс времени начала передачи ответного пакета на порядки превышает длину битового интервала
Go to the top of the page
 
+Quote Post



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

 


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


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