Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
    9.3.3.3.Керування доступом до спільного ресурсу (розподіл доступу до шини) та тактова  синхронізація

  Тактова синхронізація
  Всі ведучі прилади самостійно генерують тактовий імпульс. Однак при реалізації лінії шини у вигляді дротового з’єднання «І» виникає можливість синхронізувати тактові імпульси конкуруючих ведучих пристроїв.  Один ведучій пристрій, що видає низький рівень на лінію SCL, буде потім віддавати його назад, тобто видавати високий рівень. З цього моменту ведучий пристрій не тільки продовжує працювати далі, а й в свою чергу зчитує повторений сигнал лінії SCL, доки вона не буде мати високий рівень. Це означає, що доти, доки інший механізм знижує лінію SCL, ведучий пристрій синхронізується з ним. Цей інший механізм може бути як ведучим пристроєм, так і тим, якого ведуть, що й викликає затримку. В  цілому здійснюється синхронізація найдовшого низького рівня та найповільнішого механізму.
  Арбітраж доступу (керування доступом до спільного ресурсу)
  Під арбітражем розуміють процес розподілу прав доступу до шини між кількома ведучими пристроями. На шині I 2C реалізується спеціальна операція,що називається CSMA/CA (Carrier Sense, Multiple Access with Collision Avoidance). Carrier Sense означає, що ведучий пристрій, який хоче виконати передачу даних, сканує лінії передач, щоб виявити, чи зайнята шина. Шина I2C визначається як зайнята, коли одна з ліній передач знаходиться у стані з низьким рівнем напруги. Інтервал, під час якого обидві лінії передачі даних мають бути в стані з високим рівнем напруги (стан логічної «1»), щоб шина була розпізнана як вільна, зображено в технічному описі параметрів Philips як tHD;STA. В стандартному протоколі він складає мінімум 4,7 мікросекунди. Якщо ведучий пристрій розпізнав лінію як вільну, він задає умови початку передачі і в першому біті видає адресу бажаного пристрою, якого ведуть. Якщо одночасно з першим ту саму дію виконує інший ведучий пристрій, то спочатку потрібно зрівняти імпульси на SCL лінії (див. попередній розділ). Під час зчитування синхронізованих фаз рівня високої напруги ведучі пристрої кожен раз порівнюють SDA-біти, котрі видають, з тими, котрі вони зчитують. Це функціонує так само як при керуванні синхронізованою лінією передач. Ведучий пристрій, який видає «1» та приймає «0» (так як «0» через дротове з’єднання «І» є домінантним), розрізняє таким чином, що інший механізм в цей момент використовує шину, і перериває передачу даних.




Рис. 9.11. Засіб попередження конфліктів
  Цей процес являє собою Collision Avoidance (попередження конфліктів), тому що ведучий пристрій, що «переміг», від спроби отримання доступу конкурентом нічого не отримує. Це є протилежністю до іншого процесу, який називають Collision Detection (виявлення конфліктів), під час якого обидва ведучі пристрої мають звільнити шину. За допомогою процесу попередження конфліктів підвищується пропускна здатність шини, тому що доступ завжди отримує тільки один ведучій пристрій.