All streams
Search
Write a publication
Pull to refresh

Comments 6

статья качественная, и проработанная что даже вопросов не возникает)

Спасибо)
На самом деле, на написание кода потратилось гораздо меньше времени, чем на статью. Оказывается писать статьи - не такой и простой труд)

Не забудьте контроль невалидных состояний шины: захват шины другим мастером или медленным ведомым (clock stretching), аппаратный сбой (нет подтяжек, К.З. на общий). Даже если не предполагается много ведущих, то второе и третье - могут случиться в любой системе.

Да верное замечание. Но из личного опыта - никогда не встречал двух мастеров на одной шине. I2C - обычно для настроек используется. Записать/прочитать EEPROM на плате, настроить тактовый генератор и тому подобное.
Что касается подтяжек - они обычно на платах сделаны. Но можно и на выходе ПЛИС pull-up поставить.

Метастабильность асинхронного сигнала сброса не устраняется (так же через 2 flip-flop'a можно же прогнать, как сигнал с шины)?

Да, для асинхронного сброса нет защиты от метостабильности. Сигнал n_arst здесь напрямую идет на входы асинхронных сбросов всех триггеров. Это как возможность. Если она потребуется, то правильную последовательность сбросов нужно формировать снаружи.
Если снимать асинхронный сброс в произвольный момент, то может возникнуть такое, что это снятие произойдет в момент фронта клока.

Sign up to leave a comment.

Articles