WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Обмін даними між зовнішніми пристроями та мікропроцесорною системою. Переривання. Система переривань. Сегментна організація пам’яті. Завантаження ОС L - Реферат

Обмін даними між зовнішніми пристроями та мікропроцесорною системою. Переривання. Система переривань. Сегментна організація пам’яті. Завантаження ОС L - Реферат

схемою "монтажне І". Шина І2С для керування стереосистемою може мати вид, показаний на рис. 11.
Рисунок 11. Приклад І2С мережі
Двопровідна лінія використовується для визначення початку передачі даних, а також для передачі самих даних. Щоб почати передачуданих, шина переводиться в стартовий стан. При відсутності переданих даних шина знаходиться в стані (пасивному), що очікує ("idle"). При цьому на обох лініях сигнали не надходять, і на них встановлений високий рівень сигналу (потенціал Vcc). Щоб ініціювати передачу даних, "ведучий" пристрій, запитує керування шиною, установлює низький рівень спочатку на лінії SDA, а потім на лінії SCL (стартовий стан). У процесі пересилання даних такий стан шини є неробочим, тому що прийом переданих даних виробляється тільки при високому (активному) рівні синхросигналу на лінії SCL. Щоб закінчити передачу даних виконуються зворотні дії: на лінії SCL встановлюється високий рівень сигналу, а потім у такий же стан переводиться лінія даних SDA (рис. 12).
Рисунок 12 Форма сигналів на шині І2С
Дані передаються синхронним способом, причому першим посилається старший біт (рис. 2.40). Після передачі 8 біт ведучий пристрій переводить лінію даних у "0" стан, що плаває, очікуючи підтвердження прийому даних від відомого пристрою. Таким підтвердженням є установка відомим пристроєм низького рівня сигналу на лінії SDA. Після біта підтвердження на обох лініях встановлюється низький рівень. Потім виробляється пересилання наступного байта, чи шина переводиться в стан кінця передачі. Це означає, що передача завершена, і приймач може готуватися до наступного запиту даних.
Рисунок 13. Передача байту по шині І2С
Існує дві максимальні швидкості передачі даних по шині І2С: "стандартний режим" ~ до 100 Кбіт/с і "швидкий режим" - до 400 Кбіт/с (рис. 2.41).
Рисунок 14. Тимчасова діаграма сигналів на шині І2С
Формат команди, що надходить від ведучого пристрою до відомого, показаний на рис. 15. Адреса одержувача містить 7 біт. Існує незатверджений ("вільний") стандарт, відповідно до якого чотири старших біти використовуються для вказівки типу пристрою, а наступні три біти використовуються для вибору одного з восьми пристроїв цього типу чи служать для більш точного визначення типу пристрою. Тому що цей стандарт не є обов'язковим, то деякі пристрої вимагають вказівки в якості трьох останніх адресних біт визначених кодів, тоді як інші, наприклад мікросхеми пам'яті EEPROM використовують ці біти для вибору адресата усередині пристрою. Існує також 10-розрядний стандарт для передачі адреси, у якому перші 4 біти містять 1, а біт, що випливає має значення 0, останні 2 біти є старшими бітами адреси, а завершальні 8 біт адреси передаються в наступному байті. Усе це означає, що дуже важливо розподілити адреси між пристроями, підключеними до шини.
Перші чотири біти адреси звичайно служать для визначення типу обираних пристроїв у відповідності з наступним угодою:
0000 - Зарезервована адреса
0010 - Синтезатор голосу
0011 - Аудіо - інтерфейс
0100 - Звуковий генератор
0111 - Жидкокристалічний чи світлодіодний дисплей
1000 - Відео - інтерфейс
1001 - аналогово-цифровий і цифро-аналоговий інтерфейси
1010 - Послідовна пам'ять
1100 - Керування радіоприймачем
1101 - Годинник/календар
1111 - Зарезервовано для використання 10-розрядної адреси
Рисунок 15. Формат передачі даних по шині І2С
Перш, ніж закінчити обговорення протоколу І2С, варто звернути увагу на наступні обставини. У деяких пристроях потрібна повторна посилка стартового біта, щоб скинути приймаючий пристрій у вихідний стан для прийому наступної команди. Наприклад, при читанні з EEPROM-пам'яті з послідовною вибіркою перша команда посилає адресу осередку, з якого виробляється зчитування, а друга команда виконує читання даних по цій адресі.
Варто також звернути увагу на можливість ініціювання процесу передачі даних декількома ведучими мікроконтролерами ("multimastering"). Це може привести до виникнення колізій, коли два пристрої намагаються керувати шиною одночасно. Якщо один мікроконтролер взяв керування шиною, тобто встановив стартовий стан, до того, як інший спробує зробити теж саме, то це не викликає проблем. Проблема виникає, коли кілька пристроїв ініціюють стартовий стан одночасно, і потрібно зробити арбітраж їхніх запитів.
На практиці здійснити арбітраж у цьому випадку досить просто. Під час передачі даних обидва передавачі точно синхронізують тактові імпульси. Якщо при передачі адреси біт, що повинний мати значення "1", насправді приймає значення "0", то це вказує на те що шина зайнята іншим пристроєм. У цьому випадку ведучий пристрій відключається від шини і чекає, коли наступить стан "кінець передачі", після якого повторює запит. Можливо, це важко зрозуміти по приведеному описі. У наступному розділі "Протокол CAN" буде показано, як теж саме відбувається з використанням асинхронної шини CAN, що має багато загального із шиною І2С.
Протокол І2С може бути легко реалізований програмним шляхом. Але при цьому швидкий режим не може бути реалізований через перевантаження процесора, навіть стандартний режим 100 Кбіт/с може виявитися занадто швидким для деяких мікроконтролерів. Програмна реалізація щонайкраще підходить тоді, коли в мережі мається тільки один ведучий пристрій. У цьому випадку немає необхідності синхронізуватися з іншими пристроями чи приймати повідомлення від інших ведучих пристроїв, що працюють із занадто великою швидкістю, що не забезпечується при програмній реалізації.
Протокол CAN
Протокол CAN (Controller Area Network) був розроблений компанією Bosch кілька років назад як мережне рішення для зв'язку комп'ютерних систем, застосовуваних в автомобілях. У той час не існувало єдиного стандарту для зв'язку цифрових пристроїв в автомобілях. До появи протоколу CAN (чи протоколу J1850, що є аналогічним американським стандартом) автомобілі містили до трьох миль проводів вагою понад 90 кг, що зв'язували різні автомобільні електронні пристрої. Протокол CAN був розроблений, щоб задовольняти наступним вимогам:
- Висока швидкість обміну (до 1 Мбіт/с).
- Нечутливість до електромагнітних перешкод.
- Простота, невелика кількість роз'ємних контактів (для
забезпечення механічної надійності).
- Легкість підключення і видалення пристроїв.
Протокол CAN подібний протоколу J1850 і ґрунтується на тих же перших двох рівнях семирівневої моделі OSІ, однак ці два стандарти електрично несумісні. Стандарт на протокол CAN з'явився раніш, тому даний стандарт реалізується практично у всіх моделях європейських і японських автомобілів, а в даний час активно використовується й американськими автомобільними компаніями.
Протокол CAN реалізується з використанням операції "монтажне И", що використовується також
Loading...

 
 

Цікаве