них лініях шини I2C.
Контролер CE210 має вихід INT з відкритим колектором для формування сигналу запиту переривання при натисканні на клавішу. Сигнал є негативний потенціал, що з'являється безпосередньо після попадання в буфер клавіатурного коду, і скидається назад в неактивний стан при прочитанні вмісту буфера. Цей сигнал використовується для того, щоб дати знати процесору керуючої системи про необхідність зчитування символу, введеного з клавіатури.
Після проходження сигналу Reset і закінчення циклу ініціалізації мікросхеми (триваючого не більше 100 мс) вона переходить у пасивний режим роботи, в якому не провадиться відображення інформації і сканування клавіатури, лінії керування індикатором переведені в стан високого імпедансу і очікуються команди по шині I2C. Слід зазначити, що автоматично генерований при включенні живлення сигнал скидання може мати значно більшу тривалість, ніж цикл ініціалізації, і досягати 500 мс, тому при початковій ініціалізації керуючого процесора введена програмна затримка.
Для зв'язку по шині I2C мікросхемі CE210 призначений базова адреса 70h. Передача інформації здійснюється як поодинокими інформаційними байтами, тобто кожен передається байт супроводжується своїм Start- умовою, адресою і Stop умовою, так і груповим способом, коли на одну пару Start-умова і адресу (70h) припадає пакет послідовно йдуть інформаційних байтів, що завершується одним Stop-умовою. Цей протокол повністю відповідає специфікаціям фірми Philips.
рис.6.4
Діаграма процесу передачі даних по шині I2C.
рис.6.5
Діаграма Старт / Стоп умови шини I2C
рис.6.6
Діаграма підтвердження прийому байта по шині I2с.
Розроблена фірмою Philips шина I2C (Inter-Integrated Circuit), - це двонаправлена ??асинхронна шина з послідовною передачею даних і можливістю адресації до 128 пристроїв. Фізично шина I2C містить дві сигнальні лінії, одна з яких (SCL) призначена для передачі тактового сигналу, друга (SDA) для обміну даними. Для управління лініями застосовуються вихідні каскади з відкритим колектором, тому лінії шини повинні бути підтягнуті до джерела живлення +5 В через резистори опором 10 кОм.
Всі абоненти шини діляться на два класи - Master і Slave. Пристрій Master генерує тактовий сигнал (SCL) і, як наслідок, є провідним. Воно може самостійно виходити на шину і адресувати будь Slave-пристрій з метою передачі або прийому інформації. Всі Slave-пристрої слухають шину на предмет виявлення власної адреси і, розпізнавши його, виконують наказує операцію.
У початковий момент часу, в режимі очікування, обидві лінії SCL і SDA перебувають у стані логічної одиниці (транзистор вихідного каскаду з ОК закритий). У режимі передачі біт даних SDA стробіруется позитивним імпульсом SCL. Зміна інформації на лінії SDA проводиться при нульовому стані лінії SCL. Slave-пристрій може єпрідержівать лінію SCL в нульовому стані, наприклад, на час обробки чергового прийнятого байта, при цьому Master-пристрій зобов'язана дочекатися звільнення лінії SCL, перш ніж продовжити передачу інформації.
рис.6.7
Формат операції читання/запису.
Для синхронізації пакетів шини I2C розрізняють дві умови - Start і Stop, що обмежують початок і кінець інформаційного пакета. Для кодування цих умов використовується зміна стану лінії SDA при одиничному стані лінії SCL, що неприпустимо при передачі даних. Start-умова утворюється при негативному перепаді лінії SDA, коли лінія SCL знаходиться в одиничному стані, і
навпаки, Stop-умова утворюється при позитивному перепаді лінії SDA при одиничному стані лінії SCL.
Передача даних починається по першому позитивного імпульсу на лінії SCL, яким стробіруется старший біт першого інформаційного байта. Кожен інформаційний байт (8 бітів) містить 9 тактових періодів лінії SCL. У дев'ятому такті пристрій-одержувач видає підтвердження (ACK) - негативний імпульс, який свідчить про взаєморозуміння передавача та одержувача.
Як уже згадувалося на початку цього розділу, з логічної точки зору все?? ріходящіе на контролер СЕ210 по шині I2C команди і параметри є семібітовимі. Восьмий біт задає адреса одержувача - блок обробки команд у разі 0, і блок вибірки параметрів у випадку 1. Поділ по адресному ознакою проводиться за жорсткої схемою до логічної інтерпретації команд, тому, якщо передати тільки два байти трёхбайтовой команди і, не завершивши її, попрацювати з блоком вибірки параметрів, то, повернувшись потім до блоку обробки команд, можна продовжити передавати команду безпосередньо з...