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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> I2C - защита от дурака.
agregat
сообщение Sep 19 2016, 12:18
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Есть еще I2C буферы с возможностью сброса и выдачей прерывания в случае подвисания на "той" стороне.
Если каждый блок будет иметь такой на входе, а это нормально если мы говорим о системе где есть hotswap замена блоков, тогда каждый блок будет сам разбираться со своими тараканами, шина при этом зависать не будет.
Go to the top of the page
 
+Quote Post
vladec
сообщение Sep 20 2016, 07:47
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Цитата
Есть еще I2C буферы с возможностью сброса и выдачей прерывания в случае подвисания на "той" стороне.

Это тогда надо тащить ресет на все слейвы. Кстати говоря. I2C изначально задумывался как внутри модульный, а не меж блочный интерфейс, да еще и с hotswap.
Go to the top of the page
 
+Quote Post
trientxp
сообщение Nov 13 2016, 08:55
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 7-01-12
Пользователь №: 69 203



Цитата(mantech @ Aug 30 2016, 21:45) *
Че-то не понял, если устройство - слейв, как оно вообще что-то на клок выставляет?? В топку такие "умные" девайсы wacko.gif

здрасте, как это не может? это не крутая SMBus. в стандарте филипка чотко заявлено, что ведомый может удерживать SCL в нуле до готовности получать данные. а посему и таймауты на шине - Ваша головная боль. прошу прощения, что на августовское сообщение отвечаю.

Сообщение отредактировал trientxp - Nov 13 2016, 08:59
Go to the top of the page
 
+Quote Post
axalay
сообщение Apr 26 2017, 11:38
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 388
Регистрация: 27-02-06
Из: Москва
Пользователь №: 14 759



есть I2C свичи. И там даже если какой то канал выгорел, можно перестать к нему обращаться. Смотрите у техаса например
Go to the top of the page
 
+Quote Post
Ferrum
сообщение May 12 2017, 18:39
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 6-08-15
Из: город Москва
Пользователь №: 87 869



Можно попробовать вот такую схему (в прикрепленном файле), копеечные 595 регистры и транзисторы BSS138 навряд ли сильно увеличат себестоимость устройства, правда понадобиться дополнительный интерфейс SPI для управления 595-ми, при необходимости схему можно переделать под другое управление. Соответственно при 5 вольтах на затворе шина I2C открыта для двухсторонней передачи информации между ведущим и ведомым, при 0 вольт на затворе - ведомый может получать от ведущего посылки, но передавать что-либо ведущему не может, то есть при проблемах, когда ведомый все время притягивает шину к земле - просто устанавливаем 0 на соответствующих затворах и отключаем глючное ведомое, при этом все остальные ведомые продолжают взаимодействовать с ведущим.
А вообще нужно разбираться почему ведомое зависает, может есть смысл подключить дополнительно конденсатор 0.1-1 микрофарад по питанию рядом с каждым ведомым, чтобы предотвратить зависание от помех по питанию.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
krux
сообщение May 12 2017, 20:32
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



стоит проверить поведение зависшей шины.
по факту детектирования зависания мастер должен подёргать стоп-старт-стоп-старт-стоп несколько раз.
далее, методом "деления пополам" на уровне схемы, вычислить, какой из чипов не соответствует спецификации I2C.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post

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

 


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


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