При всій різноманітності номенклатури пристроїв, що підтримують Однопровідна інтерфейс, обмін інформацією між ними і майстром проходить за єдиним протоколом, званому протоколом однопроводной шини, або протоколом однопровідного інтерфейсу Цей протокол регламентує тимчасові, електричні та логічні параметри сигналів У цьому розділі ми детально розглянемо всі апаратні і програмні аспекти реалізації обміну по однопроводной шині

Однопровідна шина

Однопровідна шина це така система, яка складається з одного майстра і одного або кількох помічників У цій системі в якості помічників виступають периферійні пристрої, що підтримують Однопровідна інтерфейс (датчики, адресовані ключі, модулі памяті тощо) Подальше обговорення цієї системи розбито на три теми: апаратна конфігурація, сигнали однопроводной шини (типи сигналів і їх тимчасові параметри), послідовність обробки

211                                                 Апаратна конфігурація

Електрична еквівалентна схема однопроводной шини з підключеними до неї майстром і одним помічником (по суті, еквівалентна схема найпростішої MicroLAN) представлена ​​на рис 21 З боку майстра шини мережа обладнана джерелом напруги постійного струму VP, Визначальним потенціал, до якого підтягується шина в стані логічної одиниці, що підтягує резистором Rn і керованим майстром шини транзисторним ключем К, опускають шину до рівня логічного нуля

Сполучні дроти (кабель) на еквівалентній схемі представлені індуктивними LnP, L0Bp і активними Rnp, R опорами відповідно прямої та зворотної ліній, а також сумарною місткістю З ^Б кабелю Сумарна ємність є твір погонной ємності кабелю на його довжину Активний опір прямого проводу твір довжини цього проводу на величину його погонного опору Активне опір зворотної лінії дорівнює опору прямої лінії плюс кілька Ом, що припадають на кожен з ключів, розташованих між майстром шини і найбільш віддаленої гілкою Якщо адресованих ключів у складі мережі немає, то опору прямого і зворотного ліній рівні

Рис 21 Еквівалентна схема найпростішої MicroLAN

Пристрій з однопровідним інтерфейсом (помічник) на еквівалентній схемі представлено своєї вхідних ємністю Свх, Постійним розрядним струмом lPA3P (Зазвичай рівним 5 мкА), ланцюгом пасивного харчування (Dnn, Rnn> ЗПп) і робочим струмом lP (Виникають при обміні і рівним 10 мкА) Будь прилад, включений в мережу, споживає робочий струм, навіть якщо він в даний момент не адресується Цей струм необхідний для синхронізації його однопровідного інтерфейсу з протоколом обміну У відкритому стані імпеданс пристрої з однопровідним інтерфейсом складає 100 Ом, що призводить до стікає току 4 мА і падіння напруги на пристрої 04В Якщо до шини підключено декілька пристроїв, то значення Свх, 1РАзр, lp і СПп повинні бути помножені на число пристроїв величину Rnn потрібно розділити на число пристроїв Польовий транзистор Т в еквівалентній схемі пристрою дозволяє йому реагувати на команди майстра шини і передавати дані, переводячи шину в стан логічного нуля У кожен момент

часу тільки один такий транзистор в мережі знаходиться у відкритому стані, опускаючи шину на короткі періоди тимчасових інтервалів читання Виняток становлять режим, коли майстер шини перевіряє наявність на ній приладів з однопровідним інтерфейсом (так званий цикл опитування присутності), а також періоди виконання команд Search ROM (Дослідження ПЗУ), Skip ROM (Ігнорування ПЗУ) і Read ROM (Читання ПЗУ) (Про ці команди див нижче)

Многоточечная шина складається з однопроводной шини з безліччю приєднаних до неї помічників Однопровідна шина вимагає подтягивающего резистора приблизно в 5кОм У початковому стані на шині присутній високий рівень Якщо з якоїсь причини обробку потрібно перервати, то шина ПОВИННА перебувати у вихідному, тобто високому стані до тих пір, поки обробка продовжиться Якщо цього не забезпечити і шина залишиться в низькому стані на час, більше 480 мкс, то всі компоненти шини будуть скинуті Іншими словами, всі датчики перейдуть в режим очікування, а все адресовані ключі виявляться розімкненими

Сигнали однопроводной шини

Для збереження цілісності даних потрібне виконання суворого протоколу обміну Протокол складається з декількох типів сигналів в лінії: імпульсу скидання, імпульсу присутності, записи нуля, записи одиниці, читання нуля, читання одиниці Всі ці сигнали, за винятком імпульсу присутності, генеруються майстром шини На рис 22 приведена инициализирующая послідовність, необхідна для початку будь-яких обмінів в шині Імпульс скидання і наступний за ним імпульс присутності показують, що помічник готовий до передачі або прийому даних, ініційованих командами функцій ПЗУ і памяті Майстер шини передає імпульс скидання (Сигнал низького рівня тривалістю не менше 480 мкс) Потім звільняє лінію і переходить в режим прийому Однопровідна шина підтягнута до високого логічному рівню підтягуючою резистором 5кОм Виявивши задній (висхідний) фронт імульса скидання, помічник чекає 15-60 мкс і потім передає імпульс присутності (сигнал низького рівня тривалістю 60-240 мкс)

Читання і запис даних відбуваються з використанням тимчасових інтервалів читання / запису, які поділяють сусідні біти, а також командного слова, що визначає сенс операції

Рис 22 Инициализирующая послідовність у однопроводной шині

Тимчасові інтервали {слоти) запису Часовий інтервал запису ініціюється відразу ж, як тільки майстер переведе шину з високого логічного стану в низьке Є два типи тимчасових інтервалів запису: часові інтервали запису одиниці і тимчасові інтервали запису нуля Кожен з тимчасових інтервалів записи повинен мати тривалість не менше 60 мкс, а між сусідніми інтервалами записи має бути відновлювальна пауза не менше 1 мкс

Для видачі одного тимчасового інтервалу запису одиниці майстер повинен встановити шину в низький стан, а потім звільнити її Протягом 15 мкс шина під дією подтягивающего резистора прийме високе логічне стан Для видачі одного тимчасового інтервалу записи нуля майстер повинен встановити шину в низький стан і утримувати її в цьому стані 60 мкс У межах тимчасового вікна від 15 мкс до 60 мкс після переведення шини в низький стан помічник перевіряє стан цієї шини Якщо в цей період шина знаходиться у високому стані, то помічник сприймає цей факт як запис в нього 1, якщо в низькому, то запис 0 (Див рис 23)

Рис 23 Тимчасові слоти читання / запису

Тимчасові інтервали (слоти) читання Якщо потрібно вважати дані з помічника, майстер генерує тимчасові інтервали читання Часовий інтервал читання ініціюється відразу ж, як тільки майстер переведе шину з високого логічного стану в низьке Шина даних повинна залишатися в низькому стані, як мінімум, протягом 1 мкс Дані від помічника будуть істинні протягом 15 мкс після спадаючого фронту тимчасового інтервалу читання Значить, майстер через 1 мкс після переведення шини в низький стан (тобто початку генерації тимчасового інтервалу читання) повинен звільнити шину, щоб мати можливість у наступні 14 мкс прочитати її справжнє значення, яке встановлюється помічником (див рис 23) По закінченні тимчасового інтервалу читання шина під впливом подтягивающего резистора повернеться у високе логічне стан, так як помічник після закінчення 15 мкс перейде в Z-стан Кожен з тимчасових інтервалів читання повинен мати тривалість не менше 60 мкс, а між сусідніми інтервалами читання повинна бути відновна пауза не менше 1 мкс

На рис 24 показано, що сума часу ініціалізації інтервалу читання T |Nrr, Часу звільнення шини TREC і часу аналізу шини TSAPMLe не повинна перевищувати 15 мкс З рис 25 видно, що надійні умови читання можна забезпечити, зводячи до мінімуму часи T і T і зрушуючи вікно аналізу стану шини до кінця 15-мікросекундного інтервалу

Ріс25Рекомендуемая діаграма тимчасового слота читання 1

213 Послідовність обробки даних

Протокол доступу до помічника через Однопровідна порт наступний:

Ініціалізація Команда функції ПЗУ Команда функції памяті

Ініціалізація

Вся обробка на однопроводной шині починається з инициализирующей послідовності Инициализирующая послідовність складається з імпульсу скидання, що посилається майстром шини, за яким слідує (ють) імпульс (и) присутності, що посилається помічником (помічниками) Імпульс присутності повідомляє майстру, що помічник підключений до лінії і готовий до роботи Детальніше про це було сказано вище

Команди функції ПЗУ Як тільки майстер шини визначив наявність приєднаних помічників, він може видати одну з команд функції ПЗУ Всі команди функції ПЗУ мають довжину 8 біт Молодший біт передається першим Список цих команд наступний:

Читання ПЗУ (Read ROM, Г33І1)

Команда дозволяє майстру шини прочитати 8-бітовий код приналежності до сімейства однопровідна пристроїв з 64-бітового ПЗУ помічника, унікальний 48-бітовий серійний номер і 8-бітовий ЦВК Її можна використовувати, якщо до шини підключений тільки один помічник Якщо до шини підключено більше помічників, то при використанні цієї команди може виникнути конфлікт даних, коли всі помічники відразу почнуть передачу (відкритий стік при цьому дасть результат, еквівалентний монтажному І)

Вибір ПЗУ (Match ROM, Г55І1)

Ця команда, якщо за нею слід 64-бітовий код, дозволяє майстру адресуватися до конкретного пристрою на многоточечной шині Тільки той помічник, чий код в точності відповідає надісланій майстром 64-бітової послідовності, відгукнеться на подальшу команду функції памяті Всі інші помічники будуть чекати імпульсу скидання Команда може використовуватися як при єдиному підключеному до шини помічнику, так і у випадку, коли їх багато

Ігнорування ПЗУ (Skip ROM, rCChl)

Команда економить час у разі, якщо до шини підключений тільки один помічник Вона дозволяє майстру звернутися до функцій памяті без попереднього генерування 64-бітового коду ПЗУ Якщо на шині присутній більше одного помічника і після команди CCh слід команда читання, виникне конфлікт даних, так як кілька помічників будуть передавати одночасно (відкритий сток при цьому дасть результат, еквівалентний монтажному І)

Дослідження ПЗУ (Search ROM, TF0hl)

При першому включенні системи майстер шини може не знати, скільки пристроїв підключено до шини, а також їх коди Дана команда дозволяє майстру методом виключення ідентифікувати ПЗУ-коди всіх підключених помічників

Аварійний опитування (Alarm Search, TEChl)

Ця команда використовується тільки при діалозі з датчиками температури Її алгоритм ідентичний алгоритму команди Дослідження ПЗУ. Однак датчик буде відгукуватися на цю команду тільки в тому випадку, якщо при останньому температурному вимірі був зафіксований вихід за межі обраних порогів Прапор тривоги залишається встановленим в датчику до його відключення від харчування або до першого температурного вимірювання, обнаруживающего, що температура пристрою прийшла в норму Якщо прапор тривоги встановлений і при цьому змінені установки тригерів TL або ТН, то для правильної установки стану тривоги потрібно провести ще один вимір температури

Дослідження ПЗУ тільки активних пристроїв (Active-Onlv Search ROM, TEChl)

Використовується тільки при діалозі з адресованими ключами Вона працює точно так само, як і команда Дослідження ПЗУ, за винятком того факту, що в процесі беруть участь тільки ті ключі, у яких закорачивающие транзистори відкриті Іншими словами, за допомогою цієї команди майстер може із загального числа адресованих ключів виділити ті з них, які знаходяться в активному стані (див розділ 4)

Команди функції памяті Після успішного виконання команди функції ПЗУ майстер може видати одну з команд функції памяті Ця група команд використовується для звязку з датчиками температури Їх докладний опис приведено в розділі 3

Джерело: карнач АС, Белошенко ВА, Тітієвський ВІ, Мікролокальние мережі: інтелектуальні датчики, Однопровідна інтерфейс, системи збору інформації Донецьк: ДонФТІ НАНУ України, 2000 199с з іл