Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: i2c
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Fynjisx
Привет ВСем!
Вот везде пишут по i2c следующее - если slave устройство медленнее Master'а, то в конце 9-го такта ведомый может перевести линию scl в низкое состояние,
пока не будет готов к приему следующего байта...С этим все понятно...
Но вот если приемник освобождает линию scl как раз в тот момент времени, когда на ней осталась 1мкс(возьмем к примеру частоту scl - 100kHz,тогда период получается 10мкс)
высокого уровня такта scl, будет ли этот "осколок" синхронизировать бит информации передаваемый по линии sda? Или бит информации будет передавться только при следующем
нормальном такте SCL???
заранее спасибо...
evg123
Цитата(Fynjisx @ Apr 1 2009, 08:00) *
Но вот если приемник освобождает линию scl как раз в тот момент времени, когда на ней осталась 1мкс(возьмем к примеру частоту scl - 100kHz,тогда период получается 10мкс)
высокого уровня такта scl...

Клок scl - он тоже "умный", он будет только пытаться поднять уровень вверх, но видя, что у него ничего не получается (из-за того, что слейв тормозит), он всякий раз будет преркащать попытку и через время начинать снова (это "слежение" сделано аппаратным образом). Поэтому, как только слейв отпустит клок, scl тогда только начнёт его поднимать на полный scl-ный импульс.
SasaVitebsk
Ну и хочу немного дёгтя добавить. Не все мастера будут это видеть. Опция появилась позже и не все её реализовывали.
singlskv
Цитата(SasaVitebsk @ Apr 1 2009, 23:07) *
Ну и хочу немного дёгтя добавить. Не все мастера будут это видеть. Опция появилась позже и не все её реализовывали.

Опция то сразу же появилась, просто некоторые производители решили ее не реализовывать,
например Atmel в At91SAM7...
при том что в AVR она реализована полностью... smile.gif
rezident
Цитата(Fynjisx @ Apr 1 2009, 10:00) *
будет ли этот "осколок" синхронизировать бит информации передаваемый по линии sda? Или бит информации будет передавться только при следующем
нормальном такте SCL???
В нормальных I2C-master даже логика входов и выходов SCL и SDA разная. Т.е. выходной сигнал SCL тактирует выход, а вход SCL, подключенный внутри м/с к этому же пину, тактирует входную часть логики (приемника) мастера. Т.е. внутри м/с мастера входная логика работает также, как у слейва. Вот только режим мультимастер, как здесь уже заметили, реализуют далеко не всегда и не везде.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.