або slave-пристрою). До шини може бути підключено кілька slave-пристроїв. Подібно електричним вилці і розетці, які визначають споживач і джерело електрики, контактна зчитувальний пристрій у вигляді чашки є атрибутом master-пристрої (яке, до речі, в багатьох випадках служить джерелом енергії для iButton), а кругла металева "таблетка" iButton є slave- пристроєм. Таке точне поділ дозволяє легко уникнути конфліктів - з'єднання двох master-пристроїв. p align="justify"> Команди дані посилаються біт за бітом і збираються в байти, причому спочатку передається найменш значущий біт LSB (Least Significant Bit). Синхронізація пристроїв master і slave відбувається по спаду імпульсу, коли master замикає лінію даних стоком вихідного транзистора на загальний провід. Через певний час після цього відбувається аналіз стану даних на лінії (високий чи низький рівень) для отримання одного біта інформації. Залежно від напрямку передачі інформації в поточний момент цей аналіз робить або master-пристрій, або slave-пристрій. Цей метод обміну інформацією називають передачею даних в тайм-слотах (мал. 7). p align="justify"> Режим запису 1
В
Рис. 7 - Режим запису 0
В
Рис. 8 - Режим читання
В
Рис. 9
Кожен тайм-слот відраховується незалежно від іншого, і при обміні даними можуть мати місце паузи без виникнення помилок.
Майже відразу після приєднання до зчитувального пристрою (через кілька мікросекунд) slave-пристрій iButton видає в лінію імпульс, щоб "сказати" master-пристрою, що воно присутнє на лінії і чекає команду. Цей сигнал називається presence pulse (імпульс присутності, далі - просто presence). Master може також давати запит на iButton з метою отримання presence шляхом посилки спеціального імпульсу, званого імпульсом скидання (reset pulse, далі - просто reset). Якщо iButton прийняв сигнал reset, він аналізує лінію даних, і як тільки лінія знову досягне високого рівня, iButton згенерує presence. Повна послідовність імпульсів reset і presence показана на рис.6. p align="justify"> Після видачі presence iButton очікує отримання команди. Будь-яка команда записується в iButton за допомогою послідовності тайм-слотів, що передають біти 1 і 0. Така послідовність створює повний байт команди. p align="justify"> Для передачі даних у зворотному напрямку (читання iButton) використовуються ті ж самі правила для представлення 0 або 1 Оскільки iButton розроблено як slave-пристрій, воно залишає master-пристрою право визначати початок кожного тайм-слота.
В
Рис. 10 - Стартова ініціалізація
Щоб провести читання iButton, master для читання одного біта даних просто генерує тайм-слот запису лог. 1 (саме тайм-слот запису, а не читання). Якщо біт, який повинен послати iButton, дорівнює 1, то iButton просто очікує появи наступного тайм-слота, пропускаючи поточний. При ц...