- •В.В. Ткачов, г. Грулер, н. Нойбергер, с.М. Проценко, м.В. Козарь
- •Передмова
- •Загальні поняття й структура систем керування
- •Дискретні або цифрові ск
- •Основи обчислювальної техніки
- •Основи булевої алгебри
- •Базові логічні елементи
- •Реалізація логічних елементів (ле)
- •Діодні логічні елементи
- •Транзисторні логічні елементи
- •Комбінаційні пристрої
- •Дешифратори, мультиплексори, демультиплексори
- •Арифметичні пристрої Напівсуматор
- •Повні двійкові суматори
- •Однорозрядний двійковий суматор
- •Багаторозрядний суматор
- •Арифметико-логічні пристрої
- •Цифрові пристрої послідовністного типу Тригери
- •Регістри
- •Паралельний регістр
- •Послідовний регістр
- •Лічильники
- •Підсумовуючі двійкові лічильники
- •Організація пам'яті
- •Оперативні запам'ятовувальні пристрої
- •Постійні запам'ятовувальні пристрої
- •Методи й способи реалізації дискретних і цифрових су
- •Контрольні запитання
- •2. Загальні відомості про мікроконтролери
- •Структура й функціональні можливості базової моделі мcs-51 (мк51)
- •Програмно доступні ресурси мк51
- •Методи адресації в мк51
- •Система команд мк51
- •Арифметичні команди
- •Логічні команди
- •Команди пересилання
- •Команди передачі керування
- •Команди роботи з бітами
- •Контрольні запитання
- •3. Порти вводу/виводу інформації
- •Контрольні запитання
- •4. Організація переривань
- •Контрольні запитання
- •5. Організація тимчасових затримок у мікропроцесорних системах
- •Контрольні запитання
- •Правила написання програм для мк 51
- •Компілятор для мікроконтролерів сімейства мк51
- •Синтаксис мови асемблера
- •Директиви асемблера
- •Обчислення під час транслювання
- •Порівняння під час транслювання
- •Повідомлення про помилки асемблювання
- •Методика роботи з компілятором x8051
- •Діалоговий режим
- •Режим командного рядка
- •6.8. Редактор зв'язків для компілятора мікроконтролера сімейства мк51
- •Приклади вводу інформації з дискретних датчиків
- •Організація передачі інформації в послідовному форматі в мікропроцесорних системах (мпс)
- •Принципи передачі інформації з послідовного каналу зв'язку
- •Послідовний інтерфейс у мікроконтролері мсs51
- •Режим роботи 0
- •Контрольні запитання
- •9. Послідовні шинні системи (канали зв'язку)
- •Загальні поняття про електронні шинні системи
- •Різновиди послідовних шинних систем
- •Окремі приклади інтерфейсів та послідовних шин
- •Інтерфейс rs 232
- •Визначення логічного рівня
- •Розведення контактів та сигналів
- •Довжина кабелю
- •З’єднання rs 485
- •Концепція шини
- •Передача даних на рівні розрядів
- •Керування доступом до спільного ресурсу (розподіл доступу до шини) та тактова синхронізація
- •Адресація користувачів шини ( I 2c – блоки)
- •Can (Controller Area Network –мережа контролерів)
- •Фізичні характеристики
- •Характеристики протоколу рівня передачі бітів
- •Протоколи застосування на базі can
- •Основні характеристики can
- •Контрольні запитання
- •Приклади розробки систем керування на базі мк-51
- •Система керування з неперервними характеристиками
- •Система керування кроковим двигуном
- •Практична частина Лабораторна робота №1
- •Методика виконання.
- •Вихідні дані для програми:
- •Лабораторна робота №2
- •Індивідуальні задання:
- •Лабораторна робота №3
- •Методика виконання:
- •Задання:
- •Лабораторна робота №4
- •Методика виконання:
- •Варіанти задань
- •Лабораторна робота №5 Дослідження тимчасових затримок у мп системах
- •Приклад:
- •Методика виконання:
- •Варіанти задань.
- •Лабораторна робота №6
- •Методика виконання:
- •Задання:
- •Лабораторна робота №7 Дослідження послідовного інтерфейсу в
- •Методика виконання.
- •Список літератури
- •Для нотаток
- •Для нотаток
- •Для нотаток
Передача даних на рівні розрядів
Основою передачі текстових даних є передача окремих байтів. Це
завдання розрядного протоколу шини
I 2C . В цілому окремі розряди кодуються
127
Достовірність даних
Дані на лінії SDA мають бути стабільними до того часу, поки SCL лінія має високий рівень. В іншому випадку зміни на лінії SDA будуть інтерпретовані як спеціальні умови початку та кінця передачі. Це означає, що пристрої, які передають, мають перевести свої дані по низькому рівню SCL на лінію SD, а, пристрої які приймають, звісно, читають цю лінію на високому рівні SCL.
Рис. 9.9. Перевірка достовірності даних
Умови початку та кінця передачі
Умови початку та кінця передачі кодуються через фронти SDA лінії при високому логічному рівні ведучої SCL лінії. Для генерації умови початку передачі потрібно сформувати перепад з 1 в 0 сигналу SDA, для умови кінця – з
0 в 1. Це продемонстровано на рис. 9.10. Згідно з специфікаціями, умови початку та кінця можуть генеруватися до кожного моменту часу поточної передачі даних. Але рекомендується обережність, коли до шини підключені прилади, що лише частково відповідають стандартам, які сюди відносяться. Це
часто стосується випадків програмної реалізації протоколу шини на мікроконтролері.
Після умови початку передачі шина вважається зайнятою. В такому випадку жоден інший ведучий пристрій, крім того, що задав умови початку, не може генерувати умови кінця передачі даних. Після того, як задано умову кінця передачі, шина вільна.
SDA
SCL S P
початкова умова кінцева умова
Рис. 9.10 Умови початку та кінця передачі даних
Керування доступом до спільного ресурсу (розподіл доступу до шини) та тактова синхронізація
Тактова синхронізація
Всі ведучі прилади самостійно генерують тактовий імпульс. Однак при реалізації лінії шини у вигляді дротового з’єднання «І» виникає можливість синхронізувати тактові імпульси конкуруючих ведучих пристроїв. Один ведучій пристрій, що видає низький рівень на лінію SCL, буде потім віддавати його назад, тобто видавати високий рівень. З цього моменту ведучий пристрій не тільки продовжує працювати далі, а й в свою чергу зчитує повторений сигнал лінії SCL, доки вона не буде мати високий рівень. Це означає, що доти, доки інший механізм знижує лінію SCL, ведучий пристрій синхронізується з ним. Цей інший механізм може бути як ведучим пристроєм, так і тим, якого ведуть, що й викликає затримку. В цілому здійснюється синхронізація найдовшого низького рівня та найповільнішого механізму.
Арбітраж доступу (керування доступом до спільного ресурсу)
Під арбітражем розуміють процес розподілу прав доступу до шини між
кількома ведучими пристроями. На шині
I 2C реалізується спеціальна операція,
що називається CSMA/CA (Carrier Sense, Multiple Access with Collision Avoidance). Carrier Sense означає, що ведучий пристрій, який хоче виконати
передачу даних, сканує лінії передач, щоб виявити, чи зайнята шина. Шина
I 2C
128
в першому біті видає адресу бажаного пристрою, якого ведуть. Якщо одночасно з першим ту саму дію виконує інший ведучий пристрій, то спочатку потрібно зрівняти імпульси на SCL лінії (див. попередній розділ). Під час зчитування синхронізованих фаз рівня високої напруги ведучі пристрої кожен раз порівнюють SDA-біти, котрі видають, з тими, котрі вони зчитують. Це функціонує так само як при керуванні синхронізованою лінією передач. Ведучий пристрій, який видає «1» та приймає «0» (так як «0» через дротове з’єднання «І» є домінантним), розрізняє таким чином, що інший механізм в цей момент використовує шину, і перериває передачу даних.
DATA
1
DATA 2
SDA
SCL
передавач 1 вільного арбітражу
DATA 1 # SDA
Рис. 9.11. Засіб попередження конфліктів
Цей процес являє собою Collision Avoidance (попередження конфліктів), тому що ведучий пристрій, що «переміг», від спроби отримання доступу конкурентом нічого не отримує. Це є протилежністю до іншого процесу, який називають Collision Detection (виявлення конфліктів), під час якого обидва ведучі пристрої мають звільнити шину. За допомогою процесу попередження конфліктів підвищується пропускна здатність шини, тому що доступ завжди отримує тільки один ведучій пристрій.
