Перейти к содержанию
    

Встречал галюны зависания и2ц на некоторых камнях (не стм) изза глючного ядра. При повышении емкости нагрузки линии чтото происходило с клоками мастера. Специфически это выглядело, но лечилось простым снятием нагрузок с линии - оставлял один чистый слейв, и галюн исчезал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Уменьшите номиналы подтягивающих резисторов на клоке и на данных до 1 килоома  для улучшения формы импульсов

2) Прилагаю свободные исходники  устойчивого стека I2C для   32F4.

i2c.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как крайнюю меру, могу порекомендовать (кроме уменьшения подтяжек) сделать SCL активным (push-pull). Конечно если есть уверенность, что слэйв не использует clock stretching. У меня в одном устройстве на STM32F4, где есть большие помехи от RF, только это помогло. Уменьшение подтяжек даже до 680 Ом не помогало - всё равно иногда сбоило. После того как сделал SCL активным работает хоть сутками без сбоев. Там на I2C-шине висит сразу 4 физических устройства (и 5 логических).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, jcxz сказал:

Как крайнюю меру, могу порекомендовать (кроме уменьшения подтяжек) сделать SCL активным (push-pull). 

а ACK как принимать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...