Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
                                                                        9.3.3.1. Концепція шини

I 2C Дві лінії передач, SDA (Serial DAta) та SCL (Serial CLock), використовуються для обміну інформацією. Кожен користувач шини має свою власну адресу. При цьому зовсім немає різниці, чи мова йде про модуль ЗУ, чи про ЖК-індикатор або мікроконтролер. Кожен з цих користувачів може виконувати функції відправника та одержувача інформації в залежності від їх призначення. Клавіатурний інтерфейс, як правило, тільки надсилає дані, а ЖК- дісплей тільки приймає. Модуль пам’яті, так само як і керований мікроконтролер, навпаки, може виконувати обидві ці функції. Важливо розділяти прилади на ті, що ведуть, та ті, котрих ведуть. Ті, що ведуть, це такі пристрої, що ініціюють саму передачу даних та її напрям, для цього вони генерують імпульси синхронізації на SCL лінії. Пристрій, що реагує на сигнал того, що веде, та таким чином приєднується до передачі даних, називають тим, котрого ведуть. Деякі пристрої в певний момент можуть брати на себе виконання функцій як тих, що ведуть, так і тих, котрих ведуть. Зміна стану виконується динамічно. Таким чином, мікроконтролер в один певний момент часу може бути в ролі пристрою, що веде, та надсилати дані на ЖК-дісплей, а в інший момент може отримувати інформацію від іншого контролера, наприклад, дані вимірювань (як прилад, якого ведуть). Важливо те, що кожен користувач шини може виконувати функції як ведучого пристрою, так і того, що ведуть,однак не всім мікросхемам це властиво. Більшість інтегральних схем, сумісних з шиною I 2C , ніколи самостійно не ініціюють передачу, і таким чином можуть приймати тільки режим пристрою, якого ведуть. Фактично лише модулі з власним інтелектом спроможні виконувати обидві функції. Тому що будь-яка кількість інтегральних схем на шині може ініціювати пересилання сигналів, шинаI 2C  вважається мультиведучою. Звісно, в один момент часу може бути активним та використовувати шину лише один ведучий пристрій. Протокол шини I 2C  пропонує різноманітні засоби для попередження конфліктів. Тому ведучі пристрої перед початком передачі інформації перевіряють, чи вільна шина. Випадок, коли обидва ведучі пристрої одночасно готові розпочати передачу, може бути сприйнята двома способами: тактовою синхронізацією та керуванням доступом до спільного ресурсу. При цьому перший використовують для того, щоб синхронізувати тактовий час обох пристроїв. Керування доступом приводить до того, що ведучий прилад спочатку видає 1 як задане, в той час як інший ведучий прилад видає 0 та втрачає право доступу до спільної шини. Тому нульовий логічний рівень на шині I 2C  вважається «домінантним рівнем».
Рис. 9.8. Дротяне з’єднання «І»












  Як SCL, так і SDA лінії функціонують в двох напрямках. Вони постійно тримаються на високому рівні за допомогою резистора, що підтягує рівень. Коли шина вільна, обидві лінії мають високий рівень. Мікросхеми, підключені до шини I2C , повинні мати вихід з відкритим стеком або колектором. З ними відповідна лінія може «спуститися» до видачі нуля на заземлення. Сукупність подібних мікрочипів на шині реалізує так зване  «дротяне з’єднання «І» (рис. 9.8). Максимальна швидкість передачі даних зазвичай складає 100 Кбіт/с, а в так званому швидкісному режимі при розширені протока I 2C - 400 Кбіт/с. Кількість користувачів шиною обмежується лише максимальною ємністю шини 400 пФ.