інії SCL високий рівень.
Коректні дані - стан лінії SDA представляє коректні дані, якщо після умови START стан лінії SDA не змінюється протягом високого рівня тактового сигналу. Дані на лінії повинні змінюватися протягом періоду низького рівня тактового сигналу. На один біт даних припадає один тактовий імпульс.
Кожна передача даних ініціюється умовою START і завершується умовою STOP. Число байтів даних, переданих між умовами START і STOP, не обмежена і визначається провідним пристроєм. Інформація передається побайтово, і кожен байт приймач підтверджує дев'ятого бітом (біт підтвердження - ACK). У специфікації двухпроводного інтерфейсу визначені звичайний режим (з тактовою частотою 100 кГц) і швидкий режим (з тактовою частотою 400 кГц). DS1307 працює тільки в звичайному режимі (100 кГц).
Підтвердження - кожне приймаючий пристрій, коли є адресуються, зобов'язана генерувати підтвердження після прийому кожного байта. Провідне пристрій повинен генерувати додатковий тактовий імпульс, який призначений для біта підтвердження.
підтверджується пристрій має підтягнути до низького рівня лінію SDA під час тактового імпульсу підтвердження таким чином, щоб на лінії SDA залишався стабільний низький рівень протягом періоду високого рівня тактового імпульсу, що відноситься до підтвердження. Звичайно, настройка і часи утримання повинні бути прийняті до уваги. Ведучий повинен сигналізувати веденому закінчення даних, що не генеруючи біт підтвердження на останньому байті, який був отриманий від веденого. У цьому випадку ведений повинен залишити лінію даних в змозі високого рівня, щоб дозволити ведучому згенерувати умова STOP.
Малюнок 7 - Процес передачі даних по шині I2C.
Залежно від стану біта (* - біт читання/запису або біт напрямки) можливі два типи передачі даних:
) Передача даних від провідного передавача веденому приймача.
Перший байт, переданий ведучим, - це адреса веденого. Далі слід деяка кількість байтів даних. Ведений повертає підтверджує біт після кожного прийнятого байта. Дані передаються, починаючи зі старшого біта (most significant bit - MSB).
) Дані передаються від веденого передавача ведучому приймача.
Перший байт (адреса веденого) передається ведучим. Ведений повертає підтверджує біт. За ним слідує передане веденим деяка кількість байтів даних. Ведучий повертає підтверджує біт після всіх прийнятих байтів крім останнього байта. Наприкінці останнього прийнятого байта повертається непідтвердження raquo ;. Провідний пристрій генерує всі послідовні синхроімпульси, а також умови START і STOP. Передача закінчується умовою STOP або повтором умови START. Оскільки повторення умови START також є і початком наступної послідовної передачі, шина не звільняється. Дані передаються, починаючи зі старшого біта.
2.5 Режими роботи
) Режим веденого приймача (режим запису DS1307).
Послідовні дані приймаються за SDA і синхронізуються по SCL. Після кожного прийнятого байта передається біт підтвердження. Умови START і STOP розпізнаються як початок і кінець послідовної передачі. Розпізнавання адреси виконується апаратно після прийому адреси веденого і біта напрямки.
Байт адреси - це перший байт, прийнятий після генерації провідним умови початку. Він містить 7 бітів адреси DS1307, який має значення 1101000, і наступний за ним біт напрямки (), який для запису дорівнює 0. Після прийому і декодування адресного байта DS1307 видає на лінію SDA підтвердження, після чого ведучий передає в пристрій адреса регістра. Це встановить регістровий покажчик. Потім ведучий починає передачу байтів даних, кожен з яких буде підтверджуватися DS1307. Щоб завершити запис даних, провідний генерує умова закінчення.
Рисунок 8 - Запис даних - режим веденого приймача.
) Режим веденого передавача (режим читання DS1307).
Перший байт приймається і обробляється так само, як і в режимі веденого приймача. Однак у цьому режимі біт напрямки буде вказувати, що напрям передачі інвертуватися. DS1307 передає послідовні дані по лінії SDA поки на лінію SCL надходять послідовні синхроімпульси. Умови START і STOP розпізнаються на початку і в кінці послідовної передачі.
Байт адреси - перший байт, що приймається після стартового умови, генерується ведучим. Байт адреси складається з 7-бітного адреси DS1307, що дорівнює 1101000, і наступного за ним біта напрямку передачі (), який для читання дорівнює 1. Після прийому і декодування байта адреси, пристрій видає підтвердження на лінію SDA. Потім DS1307 починає передавати дані, починаючи із зазначеної ...