tonyk_av 44 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Всем привет! Пожалуйста, ткните ссылкой в документ, в котором описана процедура сброса устройства, переставшего отвечать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 206 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Если имеется ввиду, что ведомый занял SCL, то никак, лишь отключением его питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 44 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 8 minutes ago, Plain said: Если имеется ввиду, что ведомый занял SCL, то никак, лишь отключением его питания. Нет. На SDA и SCL высокий уровень. Попадались упоминания первой редакции стандарта I2C от Филипс, в котором был описан алгоритм сброса конечного автомата слэйва в исходное состояние, но я не могу найти ни тот, ни другой какой-нибудь документ с описанием этого алгоритма. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Этот? Намекну только, что все эти сбросы ногодрыжные - филькина грамота. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rkit 4 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 15 minutes ago, tonyk_av said: Нет. На SDA и SCL высокий уровень. Попадались упоминания первой редакции стандарта I2C от Филипс, в котором был описан алгоритм сброса конечного автомата слэйва в исходное состояние, но я не могу найти ни тот, ни другой какой-нибудь документ с описанием этого алгоритма. start->stop Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 44 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 14 minutes ago, Arlleex said: Этот? Намекну только, что все эти сбросы ногодрыжные - филькина грамота. А где в нём описана процедура сброса слэйва? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 206 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 1 час назад, tonyk_av сказал: На SDA и SCL высокий уровень. Попадались упоминания первой редакции стандарта I2C от Филипс, в котором был описан алгоритм сброса конечного автомата Нет там ничего подобного, а есть логичное требование: Цитата I2C-bus compatible devices must reset their bus logic on receipt of a START Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 44 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Quote I2C-bus compatible devices must reset their bus logic on receipt of a START Хм, получается, что если девайс перестал общаться и на SDA=SCL="1", то нужно выдать "старт", а потом "стоп", так что ли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 1 hour ago, tonyk_av said: Нет. На SDA и SCL высокий уровень. . . . Нет никакой особой процедуры "сброса", кроме предусмотренной протоколом самой I2C, те 1 hour ago, rkit said: start->stop Это сборс "автомата" самого интерфейса Вашего слейва. А если каким-то образом завис сам автомат - то ВСЕ. Такое у меня было на 24LC16 - только холодный ресет его, через перевключение питания. Процедуры "ресета" который Вы подразумеваете, может быть для конкретного типа слейва, курите даташит на Ваш девайс. (К примеру для ADC AD чтобы сбросить/ресет надо по SPI передать 0xFFFFFF и томуподобное). Возможно, дело не в завесе, а Вы ввели слейва в режим ожидания итд итп, возможно на шине у Вас еще что-то висит и идет коллизия, возможно . . . ps - наименование девайса, схему что висит на шине, включая номиналы резисторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 18 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба В NXP (им I2C досталась в наследство от Philips) рекомендуют аппаратный сброс (см. UM10204, 3.2.13 Unresponsive target reset). У Analog Devices помимо сброса по питанию есть вариант программного сброса (см. AN-686, Solution 1: Clocking Through the Problem), наверное его Вы и ищите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 44 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Я ищу способ сброса любого девайса на шине путём подачи определённой последовательности "0" и "1" на шине. Видимо, кроме старт-стопа ничего сделать не получится. Просто мне достались модули, у которых "Reset" тупо подключен к "+" питания, а они иногда уходят со связи. Ладно, сегодня пятница-развратница, поэтому будем пробовать технику старт-стоп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба Я для возможности сброса подвисших устройств просто на некоторое время отключал их питание, а потом включал снова. Для этого удобно использовать p-мосфет с ограничителем тока в 0.5А (которые применяются в USB-хабах): заодно и если там что-то где-то замкнет, то ничего не сгорит. В одной из таких схем у меня на каждом канале мультиплексора висит по 2 термодатчика с проводами длиной до трех метров, а шина питания для всех восьми - общая, через такой ключ. И предусмотрена процедура отключения/включения датчиков, если что-то начинает глючить (правда, де-факто не помогла она: видимо, проблема в том, что при некоторых положениях трубы телескопа физически пропадает контакт - надо было нормальные разъемы использовать или клеммники, а я сдуру использовал телефонные 4p4c). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 178 13 мая, 2022 Опубликовано 13 мая, 2022 · Жалоба 2 часа назад, tonyk_av сказал: А где в нём описана процедура сброса слэйва? 3.1.16 Bus clear. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться