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

  На рівні передачі бітів CAN використовується метод CSMA/CA, основи якого вже було розглянуто на прикладі шини I2C (див. розділ 9.3.3.3 «Арбітраж доступу»).
Рис. 9.13. Структура телеграми стандарту CAN
  Поле даних може мати різну довжину від 0 до 64 бітів і мати інформацію, призначену для передачі. Поле «Ідентифікатор об’єкта» (11 біт) має декілька функцій. Воно служить як мітка для телеграми. Через це воно і використовується для регулювання доступу до шини, тобто для ліквідації колізій. Дане поле надає сигналу певний пріоритет. Останній, в свою чергу, тим вище, чим менше сигналів логічної 1 має поле. Таким чином, найвищий пріоритет у сигналі з ідентифікатором об’єкта 0.
  CAN - це мережа з кількома ведучими пристроями, в якій сигнали різного пріоритету передаються широкомовлено. Її ключовий концепт - це спосіб розподілу доступу до шини, заснований на попередженні конфліктів (CSMA/CA). Далі ми розглянемо принцип функціонування розподілу доступу до шини (рис. 9.14).
Якщо шина вільна, будь-яка станція може розпочинати передачу сигналу, в якому вона надсилає заголовок телеграми. Він містить ідентифікатор, спеціально призначений для даного сигналу. Процес арбітражу тепер залежить від цього ідентифікатора. Під час арбітражу доступу рецесивні біти ідентифікації («1») переписуються від домінантних бітів ідентифікації («0») іншого вузла, який в той самий час намагається отримати доступ до шини. Кожен передавач даних одночасно чекає сигналу від шини і одразу ж перемикається з функції передачі на отримання даних, як тільки зчитує домінантний біт, в той час як він надсилає рецесивний біт. Вузол відправлення інформації з найбільш високим ідентифікатором пріоритету виграє арбітраж і таким чином отримує доступ до шини. Його сигнал відправляється без втрати часу. Таким чином, арбітраж доступу не є деструктивним. Після програного арбітражу автоматично відбувається нова спроба доступу до шини.
Рис. 9.14. Процес доступу до загальної шини CAN і недеструктивний арбітраж
  Це означає, що сигнал з найвищим пріоритетом затримується тільки доти, доки сигнал, що відправляється в даний момент, не буде доставлено. Таким чином, для цього сигналу може бути задано максимальний час пошуку. Однак, доступ до шини сигналів з більш низьким пріоритетом при дуже високому її завантажені може бути на деякий час ускладнено. Таким чином, CAN розподіляє доступну потужність передачі сигналів відповідно до їх пріоритету, а саме незалежно від завантаженості шини.
  Принцип арбітражу доступу CAN передбачає, що максимальний час проходження сигналу в мережі значно менший, ніж час біта, тому що за час передачі біта кожен вузол має встигнути передати свою реакцію. Тому максимальна протяжність мережі тут залежить в більшій мірі від обраної швидкості передачі даних, ніж в інших шинних системах, в яких пригнічення сигналу частіше всього є обмежуючим фактором.
  CAN має високу надійність передачі інформації. Арбітраж, фільтрація сигналів, виявлення та попередження помилок та підтвердження отримання сигналу реалізовані в апаратній частині. Для виявлення помилок CAN використовує комбінацію з п’яти різних механізмів: контроль розрядного рівня, контроль циклічного надлишкового коду (ЦНК), контроль підтвердження, заповнення бітів та контроль в межах сигналу.
  Вузли мають систему самоконтролю та самостійно перемикаються при певній частоті помилок з error active на error passive (дані режими відрізняються засобом обробки помилок) і, нарешті, на bus-off режим.
  Згідно (ISO) нормам 11898 мережа CAN специфікована тільки до ISO/OSI-Рівеня 2. На цьому інтерфейсі контролери можуть обмінюватись сигналами, що містять до восьми бітів корисної інформації, та ідентифікаторами.