Цитата(ILYAUL @ Jun 1 2010, 11:05)

Я например не могу понять Вашу идею - мультимастер (всех "с мозгами" мастерами), какой от этого существенный выигрыш? Вот , какие Вы видите (+) от такой организации шины?
Поэтому и придерживаюсь , той точки зрения , что все слейвы и только при необходимости они становиться мастерами.
Ну да. Если на шине несколько точек "при необходимости становятся мастерами" - то мастеров уже
несколько. Если повезёт - в разные моменты времени, если нет -- два "бывших слейва" (в смысле "бывших исключительно слейва") могут достаточно одновремённо перейти в состояние "готовы данные" и полезть на шину мастерами или "бывший единственный мастер" может кому-то что-то захотеть сказать тогда, когда кто-то (в том числе и тот, кому мастер решил сказать) оказался готов передавать данные. И всё, имеем полное использование мультимастерного режима I2C с невозможностью доступа к шине, так как она в данный момент занята либо одновремённый выход на шину и арбитраж.
Поэтому и не могу понять, как это -- "не мультимастер, а
все слейвы и только при необходимости они становиться мастерами".
Реализовывать поверх I2C передачу маркера с гарантированно единственным мастером на шине в каждой фазе функицонирования системы, как это делают иногда на RS485 и тем уйти от возможных конфликтов на шине? А зачем, если есть нормальный I2C-шный режим мультимастера?
В пульт (в любого, кто раньше был "мастером-читателем") добавляется режим слейва для приёма затребованных данных, в слейвов добавляется режим мастера для передачи этих дынных. С точки зрения обработчика контроллера I2C (TWI) они становятя одинаковые, слейвы получают право подать голос. По логике работы системы они всё равно остаются подчинёнными устройствами.
Никто не мешает при этом на шине иметь "чистых слейвов" вида RTC, EEPROM, к которым все, кому это нужно, обращаются в классическом режиме. А всё своё (== "всё с мозгами") переделать.
Цитата(ILYAUL @ Jun 1 2010, 11:05)

Т.е всё таки все данные собранные слейвами/мастерами в итоге предназначены только одному мастеру?
И у меня, и, как я понимаю, у автора темы - именно так. Мастер один. Собственно, весь мой разговор - о переделке системы с
одним мастером в систему с
несколькими мастерами (мультимастер) для ухода от постоянного опроса готовности и инициативной передачи затребованных ранее данных.
Цитата(ILYAUL @ Jun 1 2010, 11:05)

P.S И уточните , плиз, у Вас программная или аппаратная реализация, тогда и по форматам вопросов не будет.
Если я в принципе могу переделать хотя бы часть "бывших слейвов" в мастера -- то какая разница, переделаю я ASM, C или verilog (до asic-ов не дорос)? Часы и 24с64 не могу, "бывший единственны мастер" будет к ним обращаться как и раньше, а дюжина mega48 будут переделаны, как и пульт на mega328.