-
- Чё-то я не пойму, а как определить, что Slave завис-то? - FDA(08.04.2010 15:22)
- А не надо определять - надо шину сбросить. - Гудвин(08.04.2010 15:26)
- А как определить момент, в который её сбрасывать? Как я узнаю, что один из слэйвов завис? - FDA(08.04.2010 16:38)
- будет либо шина занята, либо девайс не будет давать ACK - Vit(08.04.2010 17:00)
- Шина "занята" - это SCK в нуле. ACK не выдаёт - SDA в единице. Логично. Вопрос только в том, чтобы процедура рестарта линии "оживила" бы слэйвы. Насколько часто могут появлятся такие вот подвисания и во всех ли случаях помогает эта FDA(470 знак., 08.04.2010 17:10)
- Не все МС для I2C гарантируют сброшенное состояние по включению питания. Да и асинхронный сброс контроллера без полного снятия питания (например, при статическом разряде) может оказаться в "неподходящий" момент и ту МС, с которой шёл обмен перед Vit(220 знак., 08.04.2010 17:37 - 17:40)
- Если микруха от сброса контроллера заглючит, то в топку такую микруху. Условие СТОП должно выводить любую нормальную микросхему в рабочий режим. FDA(696 знак., 08.04.2010 19:44)
- На случай прерванной "транзакции" записи у меня предусмотрен откат на предыдущую запись. Автомобильная приблуда, в случае сбоя -- не уехать. - fk0(09.04.2010 11:48)
- Пример неудачный. В автомобилях шина I2C используется только унутре автомагнитолы. - rezident(08.04.2010 23:43)
- Сразу видно, что внутрь ЭБУ Вы никогда не лазили. Внутри стоят микрухи серии 24Cxx и флешки с SPI. EEPROM используется для хранения кодов иммобилайзера. - FDA(09.04.2010 09:45)
- Я вот пока такого безобразия не видел. Хотя слышал, что якобы ЭБУ объединяют нонче с магнитолой и прочей фигнёй торпеды, но не верю. Покажите пальцем, плиз, а то облом искать. По линку можно из не самого новенького выбрать. - Vit(09.04.2010 10:09, ссылка)
- Безобразия здесь никакого нет. Те же 24Cxx используются в электронных одометрах. Работают годами. FDA(348 знак., 09.04.2010 14:21)
- в которых разбирал (BOSCH) такого БЕЗОБРАЗИЯ не было - Vit(09.04.2010 14:24)
- Безобразия здесь никакого нет. Те же 24Cxx используются в электронных одометрах. Работают годами. FDA(348 знак., 09.04.2010 14:21)
- Я вот пока такого безобразия не видел. Хотя слышал, что якобы ЭБУ объединяют нонче с магнитолой и прочей фигнёй торпеды, но не верю. Покажите пальцем, плиз, а то облом искать. По линку можно из не самого новенького выбрать. - Vit(09.04.2010 10:09, ссылка)
- Сразу видно, что внутрь ЭБУ Вы никогда не лазили. Внутри стоят микрухи серии 24Cxx и флешки с SPI. EEPROM используется для хранения кодов иммобилайзера. - FDA(09.04.2010 09:45)
- Т.е. случая, когда сброс прошёл когда SDA==SCL==1 Вы не допускаете? Или шпильку по SCL, которая значительно короче нормы для МС под 100 кГц шину? Vit(912 знак., 08.04.2010 20:41)
- Если микруха от сброса контроллера заглючит, то в топку такую микруху. Условие СТОП должно выводить любую нормальную микросхему в рабочий режим. FDA(696 знак., 08.04.2010 19:44)
- А что, обязательно должен поезд с рельс сойти, чтобы статистика была ненулевая? В следующий раз в Ессентуки полечу самолетом... - Alex B.(08.04.2010 17:18)
- Самолёты тоже падают. Смотрели передачу про Боинг, в котором все заснули, включая пилотов и он разбился. Так вот причиной катастрофы было некорректное отображение сигналов с датчиков, что спровоцировало ошибку пилотов. FDA(25 знак., 08.04.2010 19:37)
- ошибка пилотов в том что они заснули из-за неправильного отображения сигналов с датчика? - Snaky(08.04.2010 19:49)
- Самолёты тоже падают. Смотрели передачу про Боинг, в котором все заснули, включая пилотов и он разбился. Так вот причиной катастрофы было некорректное отображение сигналов с датчиков, что спровоцировало ошибку пилотов. FDA(25 знак., 08.04.2010 19:37)
- Не все МС для I2C гарантируют сброшенное состояние по включению питания. Да и асинхронный сброс контроллера без полного снятия питания (например, при статическом разряде) может оказаться в "неподходящий" момент и ту МС, с которой шёл обмен перед Vit(220 знак., 08.04.2010 17:37 - 17:40)
- Шина "занята" - это SCK в нуле. ACK не выдаёт - SDA в единице. Логично. Вопрос только в том, чтобы процедура рестарта линии "оживила" бы слэйвы. Насколько часто могут появлятся такие вот подвисания и во всех ли случаях помогает эта FDA(470 знак., 08.04.2010 17:10)
- будет либо шина занята, либо девайс не будет давать ACK - Vit(08.04.2010 17:00)
- А как определить момент, в который её сбрасывать? Как я узнаю, что один из слэйвов завис? - FDA(08.04.2010 16:38)
- А не надо определять - надо шину сбросить. - Гудвин(08.04.2010 15:26)
- IMHO Вы Америку не открыли. Всегда при инициализации или начале обмена проверяю состояние линии программно. И делаю именно то что Вы указали - Nick_B(07.04.2010 21:06, )
- Сброс шины - стандартная процедура, описана в спецификации I2C. А вариации можно посмотреть в DS br24l16 - Vit(06.04.2010 17:58, ссылка)
- Всё замечательно, только почему об этом повсеместно умалчивается. Вот есть исходники (здесь, на сахаре), есть application notes у microchip. Нигде об этом не говорится. Имеем в итоге огромное количество говнокода, где слейвы отваливаются рано или поздно. fk0(68 знак., 06.04.2010 18:27)
- Умалчивается? Дык не читайте "перепевы", а обращайтесь сразу к первоисточникам - THE I2C-BUS SPECIFICATION. - rezident(06.04.2010 22:40, ссылка)
- ;) Хищникам не додают мясо!(С) - Vit(06.04.2010 18:41)
- Не смешно, в паре проектов конторы где я трудоустроен эта лажа есть -- я точно знаю. Ага, EEPROM. Тыканье отвёрткой меж его ног приводит к его неработе до перетыкания питания. - fk0(07.04.2010 10:53)
- Это непобедимо Илья(280 знак., 07.04.2010 11:40)
- Не смешно, в паре проектов конторы где я трудоустроен эта лажа есть -- я точно знаю. Ага, EEPROM. Тыканье отвёрткой меж его ног приводит к его неработе до перетыкания питания. - fk0(07.04.2010 10:53)
- Всё замечательно, только почему об этом повсеместно умалчивается. Вот есть исходники (здесь, на сахаре), есть application notes у microchip. Нигде об этом не говорится. Имеем в итоге огромное количество говнокода, где слейвы отваливаются рано или поздно. fk0(68 знак., 06.04.2010 18:27)
- Чё-то я не пойму, а как определить, что Slave завис-то? - FDA(08.04.2010 15:22)