Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
                                                      9.3.3.2. Передача даних на рівні розрядів

  Основою передачі текстових даних є передача окремих байтів. Це завдання розрядного протоколу шини
I 2C. В цілому окремі розряди кодуються через рівень на лінії синхронізуючих імпульсів та SDA. SCL функціонує в цьому випадку як послідовний синхронізатор (як при  здвиговому регістрі). Спеціальний рівень - комбінації фронтів обох ліній передач кодують так звані початкові та кінцеві умови. Таким чином, за допомогою обох ліній SDA та SCL можна отримати сигнал про початок та кінець передачі даних. Це можливо не в усіх послідовних шинах. В інших для цього потрібні додаткові лінії передач. Для обох ліній передач рівень нижче 1,5 V вважається низьким, а вище 3 V - високим. Рівень, що знаходиться між заданими значеннями, є невизначеним.
Достовірність даних
  Дані на лінії SDA мають бути стабільними до того часу, поки SCL лінія має високий рівень. В іншому випадку зміни на лінії SDA будуть інтерпретовані як спеціальні умови початку та кінця передачі. Це означає, що пристрої, які передають, мають перевести свої дані по низькому рівню SCL на лінію SD, а, пристрої які приймають, звісно, читають цю лінію на високому рівні SCL.
Рис. 9.9. Перевірка достовірності даних

Умови початку та кінця передачі
  Умови початку та кінця передачі кодуються через фронти SDA лінії при високому логічному рівні ведучої SCL лінії. Для генерації умови початку передачі потрібно сформувати перепад з 1 в 0 сигналу SDA, для умови кінця - з 0 в 1. Це продемонстровано на рис. 9.10. Згідно з специфікаціями, умови початку та кінця можуть генеруватися до кожного моменту часу поточної передачі даних. Але рекомендується обережність, коли до шини підключені прилади, що лише частково відповідають стандартам, які сюди відносяться. Це часто стосується випадків програмної реалізації протоколу шини на мікроконтролері.
  Після умови початку передачі шина вважається зайнятою. В такому випадку жоден інший ведучий пристрій, крім того, що задав умови початку, не може генерувати умови кінця передачі даних. Після того, як задано умову кінця передачі, шина вільна.
Рис. 9.10 Умови початку та кінця передачі даних