Свежие обсуждения
Микроконтроллеры

Как электрически согласовать 2 микропроцессора-мастера шины i2c с 1 eeprom 24lcxx, если обе линии шины в нуле?

1 2

не так все просто. Нужно проанализировать шину в поисках паузы, т.е. момента, когда шина гарантированно будет молчать, затем через мультиплексор врезаться (переключить его ) и сформировать чтение.
В свое время врезался в телевизор на и2с , для перестройки звукового процессора. Искал обращение к нему, далее субадрес регистров пересчета частоты и только тогда включал мультиплексор и тогда формировал необходимые мне значения делителей на 6.5 мегагерц.
Получилось, но возился долго.

 

Спасибо за идеи. Уточняю задачу:
Станок 96 года. В начале каждого производственного цикла читается масштабирующий коэффициент датчика перемещения и суммарник, иногда в конце цикла записывается суммарник. Сейчас коэффициент зашит жестко под определенную длину материала. Коэффициент подстраивается в очень узких границах. Для существенного изменения в 0,5 или 2 раза меняется весь датчик. Соотвественно, меняется суммарник. Далее датчик нужно прописать в системе, у него есть свой номер, находящийся тоже в этой еепром. А все сидит на какой-то хитрой шине, похожей на кан, разбираться с которой нет возможности. К тому же датчик физически труднодоступен. Короче, дорого и ограниченно имеющимися типами. Сейчас есть задача приспособить станок под изделия разной длины. Коэффициент нужно иногда менять в пределах 0,1-10 раз, не очень часто, 2-3 раза в день. При этом станок останавливается, еепром не опрашивается. Возможность врезки в датчик есть, но очень ограниченная, мешают детали редуктора. Хотелось бы обойтись пиком в соик8 без дополнительных крупных активных компонентов.

 

Т.е. вы ходите врезаться между контроллером станка и еепром датчика, чтобы подсовывать свои коэффициенты? Я не уверен, что ресурсов 8ногих пиков хватит, чтобы держать i2c с обоих сторон (как slave для контроллера и как master для eeprom), но попробовать можно. В крайнем случае - вытащить на проводах разрыв чтобы можно было на процессор посерьезней прицепиться, или полностью подменить еепром своим контроллером, тогда перестройка параметров может производиться или кнопками, прикрученными к контроллеру, или по uart с ПК.Если набросаете схему соединения ключевых компонентов, то можно будет более подробно обговорить.

 

И емкость EEPROM озвучьте. А то, может быть, вообще нафиг выкинуть его, да пользоваться тем, что в МК.

 

Sweet Moon: При этом станок останавливается, еепром не опрашивается.

насколько я понял - вам нужно остановить станок и переписать память(несколько байт) при неработающем филипсе - достаточно обычной комутации и подключать "программатор" или например поставить контроллер(вместо памяти) и записать в него(во флеш) значения всех необходимых датчиков и в нужное время их переключать... масса вариантов.

 

Схема соединений обычная - 2 линии порта мк P83C592 на 2404, pullups отсутствует и все. Память заполнена на четверть - строка коэффициента, какие-то номера, мусор непонятного назначения, Остальное - обвязка can, оптроны, монитор питания. Менять нужно строку 8 байт- коэффициент и контрольная сумма. Управлять заменой можно по линиям кана, подключившись к разъему на морде станка, а внутри датчика взять сигнал после приемопередатчика. Желательна обратная связь - принял/не принял. Ассортимент изделий - до 50 размеров, т.е. если менять 2404 на мк, флеши 629 не хватает, можно попробовать 683, но его в соик8 даже у нас найти непросто. Как бы легче организовать совместный доступ к памяти с обоих мк, но эти нулевые уровни на шине не дают все сделать красиво. Если получится, есть идея сделать дополнительный пульт, с которого можно передавать нужный произвольный коэффициент по штатным линиям связи.

 
1 2