-
- опторазвязка не спасет от кз на землю, всякие мультиплексоры и хабы это из области фантастики, whale(255 знак., 04.02.2013 02:27)
- Кондер нельзя подобрать... LCRLCRLCRLCRLCR с произвольно меняющимся R -- фаза сигнала на выходе х.з. какая. Я тебе уже сказал. Всё это надумано и связано исключительно с AVR. Проще взять нормальный контроллер и нормально его программировать (чтоб fk0(22 знак., 04.02.2013 12:31)
- Да нормально работает собака в АВР, что-то тут не то в реализации. - Vladimir Ljaschko(04.02.2013 15:59)
- Собаку можно плохо запрограммировать. А в AVR не то в реализации GPIO выходов. Там диоды на +VCC стоят. И горбатого уже только могила исправит. Впрочем, если шина питания у всех одна -- пофигу. Если разная -- придётся думать головой и конденсаторы fk0(545 знак., 04.02.2013 17:59)
- все же можно разобраться - виснет весь контроллер или неполная поддержка I2C. Отсюда и пути разные. Если виснет контроллер, то собака или абсолютно бездарная схемотехника и исполнение. Если сам I2C, то переводится на пониженную скорость и софтовую Vladimir Ljaschko(35 знак., 04.02.2013 18:47)
- Чтоб повис контроллер -- это очень постараться (при грамотной схемотехнике и разводке ПП). В голову приходят только залётные фотоны высоких энергий и просачивание больших зарядов электронов через выводы, за всеми пределами absolute maximum fk0(869 знак., 04.02.2013 19:33)
- подтяжка 1,5к стоит если что ) whale(198 знак., 04.02.2013 19:46)
- Слейв, если обмен начался и не завершился за определённое время -- сбрасывает свой I2C модуль и освобождает шину (если держал SCL в нуле и т.п.) Мастер свой сброс выполняет так в общем случае: через SFR регистры сбрасывает свой I2C модуль (если fk0(1400 знак., 04.02.2013 20:04)
- насчет сброса whale(316 знак., 04.02.2013 20:23)
- Всё НЕ В ПОРЯДКЕ. На N/ACK вообще расчитывать нельзя, но даже не в том дело. "Зависать" может на более низком уровне: слейв увидел лишний клок, например, где его нет (помеха). И в ACK ему подошёл какой нужно битик. А дальше висит с SDA=0 ожидая fk0(358 знак., 04.02.2013 21:02)
- эээ ну эта whale(469 знак., 04.02.2013 22:52 - 23:13)
- При коллизии мастер прекращает работу и где-то в SFR появляется битик "коллизия". И так в цикле. И ничего не сделать, кроме как не проклокать вручную. Напильник на "+" не надо. На GND достаточно. - fk0(04.02.2013 23:22)
- это понятно что на минус ) короче тест напильник сделал whale(105 знак., 04.02.2013 23:28)
- При коллизии мастер прекращает работу и где-то в SFR появляется битик "коллизия". И так в цикле. И ничего не сделать, кроме как не проклокать вручную. Напильник на "+" не надо. На GND достаточно. - fk0(04.02.2013 23:22)
- эээ ну эта whale(469 знак., 04.02.2013 22:52 - 23:13)
- Всё НЕ В ПОРЯДКЕ. На N/ACK вообще расчитывать нельзя, но даже не в том дело. "Зависать" может на более низком уровне: слейв увидел лишний клок, например, где его нет (помеха). И в ACK ему подошёл какой нужно битик. А дальше висит с SDA=0 ожидая fk0(358 знак., 04.02.2013 21:02)
- Выдержки из слейва на atmega, может поможет: fk0(8069 знак., 04.02.2013 20:13)
- у меня все на асе написано ) - whale(04.02.2013 20:26)
- атмега. ассемблер. конденсаторы в I2C. просто классика жанра. лучше бросай это... - fk0(04.02.2013 23:20)
- ниче, еще помучимся - whale(04.02.2013 23:28)
- атмега. ассемблер. конденсаторы в I2C. просто классика жанра. лучше бросай это... - fk0(04.02.2013 23:20)
- у меня все на асе написано ) - whale(04.02.2013 20:26)
- насчет сброса whale(316 знак., 04.02.2013 20:23)
- Слейв, если обмен начался и не завершился за определённое время -- сбрасывает свой I2C модуль и освобождает шину (если держал SCL в нуле и т.п.) Мастер свой сброс выполняет так в общем случае: через SFR регистры сбрасывает свой I2C модуль (если fk0(1400 знак., 04.02.2013 20:04)
- подтяжка 1,5к стоит если что ) whale(198 знак., 04.02.2013 19:46)
- Чтоб повис контроллер -- это очень постараться (при грамотной схемотехнике и разводке ПП). В голову приходят только залётные фотоны высоких энергий и просачивание больших зарядов электронов через выводы, за всеми пределами absolute maximum fk0(869 знак., 04.02.2013 19:33)
- все же можно разобраться - виснет весь контроллер или неполная поддержка I2C. Отсюда и пути разные. Если виснет контроллер, то собака или абсолютно бездарная схемотехника и исполнение. Если сам I2C, то переводится на пониженную скорость и софтовую Vladimir Ljaschko(35 знак., 04.02.2013 18:47)
- Собаку можно плохо запрограммировать. А в AVR не то в реализации GPIO выходов. Там диоды на +VCC стоят. И горбатого уже только могила исправит. Впрочем, если шина питания у всех одна -- пофигу. Если разная -- придётся думать головой и конденсаторы fk0(545 знак., 04.02.2013 17:59)
- надо доделать на том что есть потом уже перейдем времени нет. - whale(04.02.2013 14:46)
- Да нормально работает собака в АВР, что-то тут не то в реализации. - Vladimir Ljaschko(04.02.2013 15:59)
- Кондер нельзя подобрать... LCRLCRLCRLCRLCR с произвольно меняющимся R -- фаза сигнала на выходе х.з. какая. Я тебе уже сказал. Всё это надумано и связано исключительно с AVR. Проще взять нормальный контроллер и нормально его программировать (чтоб fk0(22 знак., 04.02.2013 12:31)
- опторазвязка не спасет от кз на землю, всякие мультиплексоры и хабы это из области фантастики, whale(255 знак., 04.02.2013 02:27)