Головна

Лабораторна робота № 5

  1. TEМA 8. Законність і правова робота в народному господарстві
  2. V. КЕРІВНИЦТВО дипломної роботи
  3. А з підсвідомістю працюємо інакше.
  4. Аналітична робота в інтересах захисту бізнесу.
  5. Атракціони і реквізит здається в оренду або використовується в програмі, яку ми розробимо спеціально для ВАС! Від веселою спартакіади до першокласного тімбілдінга!
  6. Б) самостійна аудиторна робота
  7. Банний день. Робота в кружкахJ

Тема: Реалізація протоколу обміну даними між цифровим температурним датчиком DS18B20 і мікро контролером AT90S8535 на базі внутрисхемного емулятора ICE200.

завдання: реалізувати протокол обміну даними з температурним датчиком, уможливити відбір проб поточної температури.

На малюнку 27 представлені малюнок і призначення висновків мікросхеми DS18B20.

 Опис висновків мікросхеми
 VDD  живлення
 DQ  Лінія введення-виведення
 GND  земля
 Малюнок 27 - Мікросхема DS18B20 і найменування її висновків

Підключення DS18B20 до мікроконтролеру здійснюється відповідно до таблиці 9.

Таблиця 9 - Лінії підключення мікросхеми до мікроконтролеру

 висновки DS18B20  Висновки мікроконтролера AT90S8535
 DQ  PD1

Опис.Мікросхема має унікальний однопровідною інтерфейс і унікальний 64-бітний код. Ядро DS18B20 є прямий перетворювач температури в цифровий код. Розрядність вихідного коду може бути 9, 10, 11, 12 біт, таким чином абсолютна похибка може бути 0,5 0С, 0,25 0З, 0,125 0З, 0,0625 0З відповідно. Розрядність за замовчуванням 12 біт. Для ініціації вимірювання температури необхідно передати команду Convert T (44h).

Результат перетворення зберігається в двухбайтное регістрі. Якщо DS18B20 харчується від зовнішнього джерела, «майстер» може згенерувати умова «читання тимчасового слота» після команди Convert T, і DS18B20 повинен відгукнутися передачею 0 в період перетворення температури і 1, якщо перетворення завершено.

Температура зберігається в 16-бітному регістрі (два 8-бітних), структура якого показана на малюнку 28.

 Малюнок 28 - Регістри зберігання поточної температури

Знакові біти (S) показує, позитивна чи температура або негативна. Для позитивної температури S = ??0, для негативної S = 1.

Якщо використовується 12-бітний режим, все біти температурних регістрів використовуються.

Якщо використовується 11-бітний режим, біт 0 невизначений.

Якщо використовується 10-бітний режим, біти 1, 0 не визначилися.

Якщо використовується 9-бітний режим, біти 2, 1, 0 не визначилися.

У таблиці 10 представлено співвідношення температури і даних, що знаходяться в температурних регістрах.

Таблиця 10 - Відповідність температури і двійкового коду

DS18B20 містить унікальний 64-бітний код, що зберігається в ROM.

Структура унікального коду представлена ??на малюнку 29.

 Малюнок 29 - Структура унікального коду DS18B20

Структура пам'ять DS18B20 представлена ??на малюнку 30.

 Малюнок 30 - Структура пам'яті мікросхеми DS18B20

Структура конфігураційного байта представлена ??на малюнку 31.

 
 Малюнок 31 - Структура конфігураційного байта

Дані по шині передаються молодшим значущим бітом вперед.

Послідовність роботи з DS18B20 складається з трьох кроків:

КРОК 1. Ініціалізація;

КРОК 2. ROM команди;

КРОК 3. Функціональні команди.

Ініціалізація. Всі операції на шині починаються з ініціал-зації. Ініціює послідовність містить імпульс скидання, що надходить від «майстра», і імпульс відгуку, що надходить від DS18B20.

ROM команди.Після того, як «майстер» виявив DS18B20, необхідно виконати ROM команди. Ці команди оперують з 64-бітовим унікальним кодом. Ці команди також дозволяють визначити, скільки пристроїв знаходиться на шині. Всього п'ять команд розрядністю 8 біт. Майстер повинен згенерувати необхідні ROM команди, перш ніж генерувати функціональні команди.

Кілька ROM команд представлено нижче.

READ ROM (читання унікального коду) [33h].Ця команда може використовуватися, коли на шині знаходиться один пристрій DS18В20. Вона дозволяє отримати майстру 64-бітний унікальний код DS18В20.

MATCH ROM (передача коду) [55h].За цією командою слід 64-бітний код, що дозволяє «майстру» адресуватися до одного DS18B20.

SKIP ROM (пропустити ROM команди) [CCh].Цей майстер може використовувати цю команду при адресації до всіх пристроїв, що знаходяться на шині одночасно, без посилки будь-яких унікальних кодів.

Функціональні команди DS18B20. Після генерування ROM команд майстер може згенерувати одну з функціональних команд.

CONVERT T (перетворення температури) [44h].Ця команда ініціює одиничне перетворення поточної температури. Результат перетворення зберігається у відповідних регістрах пам'яті DS18B20, і останній переходить в режим сплячки (очікування).

Цей майстер може читати тимчасовий слот після команди Convert T, і DS18B20 повинен виставити 0 протягом процедури перетворення температури або 1, коли перетворення завершено.

READ SCRATCHPAD (читання пам'яті) [BEh].За допомогою цієї команди майстер читає пам'ять DS18B20. Дані передаються молодшим значущим бітом вперед, і тривалість посилки становить 9 байт. Цей майстер може перервати прийом в будь-який момент часу, переставши генерувати тимчасові слоти читання даних, якщо це необхідно.

У таблиці 11 представлені динамічні характеристики DS18B20.

Таблиця 11 - Динамічні характеристики мікросхеми

 параметр  позначення  умови  значення  одиниці
 мінімальне  максимальне  
 Temperature Conversion Time tCONV  9-bit resolution    93,75 с . 10-3
 10-bit resolution    187,5 с . 10-3
 11-bit resolution   с . 10-3
 12-bit resolution   с . 10-3
 Time to Strong Pulling On tSPON  Start Convert T Command Issued   с . 10-6
 Time Slot tSLOT   с . 10-6
 Recovery Time tREC   - с . 10-6
 Write 0 Low Time tLOW0   с . .0-6

Продовження таблиці 11

 Write 1 Low Time tLOW1   с . 10-6
 Read Data Valid tRDV   - с . 10-6
 Reset Time High tRSTH   - с . 10-6
 Reset Time Low tRSTL   - с . 10-6
 Presence Detect High tPDHIGH   с . 10-6
 Presence Detect Low tPDLOW   с . 10-6
 Capacitance CIN / OUT   -  pF

Процедура ініціалізації: скидання і імпульс присутності. Взаємодія з DS18B20 починається з ініціації послідовно-ності, яка містить імпульс скидання, що надходить від майстра і імпульс присутності, що надходить від DS18B20, як показано на малюнку 32.

 Малюнок 32 - Діаграма скидання мікросхеми

Коли DS18B20 посилає імпульс присутності у відповідь на імпульс скидання, це говорить про те, що пристрій присутній на шині і готове до роботи.

В ході ініціалізації майстер передає імпульс скидання шляхом утримання шини в нульовому стані протягом мінімум 480 мкс. Коли імпульс сформований, шина переводиться в режим прийому. Шина переходить в одиничний стан за рахунок спеціального резистора, що підключає шину даних до шини харчування. Коли DS18B20 виявляє позитивний фронт імпульсу скидання, воно очікує від 10 до 60 мкс і потім посилає імпульс присутності шляхом утримання шини в нульовому стані протягом 60-240 мкс.

Тимчасові слоти читання / запису. Майстер записує дані в DS18B20 протягом «тимчасового слота записи» і читає дані з DS18B20 протягом «тимчасового слота читання». Один біт даних передається протягом одного тимчасового слота.

Тимчасовий слот записи. Існує два типи тимчасових слотів записи: тимчасовий слот «Write 1» і тимчасовий слот «Write 0». Майстер використовує слот «Write 1» для запису логічної одиниці в DS18B20 і слот «Write 0» для запису нуля. Тимчасові слоти записи повинні бути тривалістю мінімум 60 мкс і слідувати з інтервалом не менше 1 мкс. Обидва типи слотів ініціюються майстром перекладом шини в нульовий стан.

Для генерування тимчасового слота «Write 1», після перекладу майстром шини в нульовий стан, він повинен утримувати її в такому стані протягом 15 мкс. Після цього майстер переводить шину в одиничний стан.

Для генерування тимчасового слота «Write 0», після перекладу шини в нульовий стан, майстер повинен утримувати її в такому стані протягом тривалості тимчасового слота (близько 60 мкс).

Таким чином стробирование роботи DS18B20 відбувається в наступні 15-60 мкс, після того як майстер ініціює тимчасовий слот записи. Якщо протягом цього інтервалу шина знаходиться в одиничному стані, в DS18B20 записується «1», Якщо в нульовому - записується«0».

Тимчасові слоти читання. DS18B20 може передавати дані, тільки коли майстер генерує тимчасовий слот читання. Таким чином, майстер повинен генерувати тимчасовий слот читання негайно після передачі команд, типу Read Scratchpad [BEh], оскільки DS18B20 повинен передавати запитувані дані. Крім того, майстер може генерувати тимчасовий слот читання після передачі команди Convert T [44h] для детектування статусу виконання команди. Всі тимчасові слоти читання повинні бути тривалістю мінімум 60 мкс з мінімальним інтервалом між слотами 1 мкс.

Тимчасові слоти читання ініціюються майстром перекладом шини в нульове стан мінімум на 1 мкс і потім перемиканням на прийом даних (малюнок 33).

Після того як майстер ініціював тимчасовий слот читання, DS18B20 повинен почати передачу 1 або 0 по шині. DS18B20 передає 1 утриманням шини в високому стані і передає 0 утриманням шини в нульовому стані. коли передається 0, DS18B20 повинен відключитися від шини в кінці тимчасового слота і шина повинна перейти в одиничний стан за рахунок зовнішнього підтягує резистора.

Дані, що надходять від DS18B20, достовірні після 15 мкс слідом за спадаючим фронтом, який ініціює тимчасовий слот читання. Таким чином, майстер повинен відключитися від шини (переключитися на прийом) і потім очікувати близько 15 мкс від початку старту слота.

 Малюнок 33 - Тимчасові діаграми слотів читання / запису

У таблиці 12 представлений приклад послідовності роботи з DS18B20.

Таблиця 12 - Послідовність роботи з мікросхемою DS18B20

 Режим мастераTX / RX - передача / прийом  Передача даних (молодший біт перший)  Коментарі
 TX  імпульс скидання  Майстер генерує імпульс скидання
 RX  імпульс присутності  DS18B20 генерує імпульс відгуку
 TX  SKIP Command  Пропустити ROM команди
 TX  Convert T  Запустити перетворення температури
 TX  імпульс скидання  Майстер генерує імпульс скидання
 RX  імпульс присутності  DS18B20 генерує імпульс відгуку
 TX  SKIP Command  Пропустити ROM команди
 TX  READ SCRATCHPAD  читання пам'яті
 RX  9-byte  DS18B20 передает9 байт даних

Лабораторна робота № 4 | Лабораторна робота № 6


ВСТУП | ОПИС ЛАБОРАТОРНОГО СТЕНДА | РОБОТА З ПРОГРАМОЮ AVR STUDIO | АРХІТЕКТУРА МИКРОКОНТРОЛЛЕРА AT90S8535 | Асемблер В СЕРЕДОВИЩІ AVR STUDIO 4 | Лабораторна робота № 1 | Лабораторна робота № 2 | Лабораторна робота № 3 | Додаток А |

© 2016-2022  um.co.ua - учбові матеріали та реферати