- Тема випускної роботи: Інтерфейс зв'язку процесора і зовнішніх пристроїв у SYMBRION REPLICATOR
- Керівник: професор, д.т.н. Святний Володимир Андрійович
- Консультанти: старший викладач Шевченко Ольга Георгіївна,
Eugen Meister (IPVS)
Реферат з теми випускної роботи
Інтерфейс зв'язку процесора і зовнішніх пристроїв у SYMBRION REPLICATOR
Зміст
Вступ
Мета і завдання дослідження
Актуальність роботи. Огляд досліджень і розробок з теми
Передбачувана наукова новизна
Власні результати
Заплановані практичні результати
Висновок
Список використаної літератури
Вступ
Зараз важко уявити світ без різних пристроїв-помічників. Вони створюються для всіх сфер життя — це і побутова техніка, і комп'ютери, і роботи. Створення перших роботів, які допомагають людям, стало величезним досягненням для всього людства. Стала можливою заміна багатьох виробництв просто на конвеєрні стрічки, вздовж яких стоять роботи і кожен з них виконує свою функцію. Написання керуючих програм для роботів такого типу не було дуже складним завданням, тому що кожен робот міг виконувати строго обмежений набір команд, необхідних для досягнення вузької мети.
Робототехніка розвивається дуже швидко. Постійно ускладнюються завдання, які роботи можуть виконувати, підвищуються вимоги до якості виконання. З'являються роботи, здатні навчатися, — їх уже можна назвати роботами із штучним інтелектом. Вони повинні накопичувати знання і потім, на основі аналізу свого оточення, цих знань, самостійно приймати будь-які рішення, які в кінцевому підсумку повинні привести до бажаного ефекту.
Розробка роботів з штучним інтелектом — складне завдання, яке є метою великої кількості наукових проектів по всьому світу. Один із таких проектів — це європейський проект SYMBRION REPLICATOR [1]
Мета і завдання дослідження
Основною метою проекту SYMBRION REPLICATOR є створення складної робототехнічної системи, що складається з великого числа функціональних блоків. Блоки не залежать один від одного і можуть виконувати певне коло завдань. Але головна особливість всієї системи — це можливість об'єднання блоків у колектив, де кожен виконує своє завдання для досягнення поставленого результату. З'являється можливість створювати масштабовані робототехнічні системи, здатні пристосовуватися до навколишнього середовища, перебудовувати свою структуру без людського контролю для досягнення оптимальної конфігурації і, можливо, нової функціональності.
Рисунок 1 — Складна робототехнічна система
При розробці різних пристроїв обов'язково виникає проблема передачі інформації між центральним процесором і периферією. Під периферією можна розуміти як додаткові процесори, так і різні зовнішні пристрої, наприклад карти пам'яті. Одним з інтерфейсів, який може використовуватися для цієї мети, є послідовний периферійний інтерфейс (англ. Serial Peripheral Interface — SPI).
У ході наукового співробітництва із Штутгартським університетом була поставлена мета перевірити доцільність вибору SPI як основного інтерфейсу обміну інформацією між внутрішніми пристроями робота.
Завдання:
- дослідження можливих типів інтерфейсів:
- по максимальній швидкості передачі інформації,
- за вартістю обладнання,
- по зручності використання;
- порівняння характеристик різних інтерфейсів;
- обгрунтування вибору інтерфейсу.
Актуальність роботи. Огляд досліджень і розробок з теми
Робототехніка — є одним з найперспективніших напрямків механіки. Вже у вісімдесяті роки минулого століття були написані книги [2], що описують принципи побудови роботів, основні з яких є актуальними і сьогодні[9].
Робототехніка швидко виходить з різних лабораторій, з'являються курси робототехніки ([3], [4]), у багатьох інститутах і університетах з'являються кафедри [5] та спеціальності [6], пов'язані з цією темою.
Проблеми штучного інтелекту починають висвітлюватися в різних популярних журналах [7], з'являються курси вже з штучного інтелекту [8].
Також про актуальність теми говорить величезну кількість посилань, яке було знайдено в процесі створення звіту про пошук [10]. На жаль, в англомовному інтернеті сайтів знайдено більше, ніж у 100 разів більше, ніж у російськомовному (7 140 000 та 66 300 відповідно). Такі ж тенденції спостерігаються для більшості запитів по темі.
Передбачувана наукова новизна
Новаторським рішенням є розподіл функцій управління роботом між декількома процесорами. При стандартній архітектурі робота з одним центральним процесором недоліком було постійне високе енергоспоживання у випадку, якщо для деяких задач була потрібна велика обчислювальна потужність. Після вирішення таких завдань, під час роботи виконавчих механізмів, завантаження центрального процесора мінімальне. Рішення даної задачі декількома процесорами з урахуванням особливостей кожного з них, допомогло оптимізувати баланс між обчислювальної та споживаною потужністю. Один з варіантів розподілу функцій між процесорами може виглядати наступним чином:
- найшвидший процесор:
- обробляє відеопотік,
- надає свої ресурси для вирішення загальних для складної динамічної системи завдань (наприклад створення і зміна генетичних моделей),
- здійснює керування всіма периферійними пристроями;
- більш слабкий процесор керує виконавчими пристроями (моторами) при значно меншій витраті енергії;
- мікроконтроллер із найменшим енергоспоживанням, але точними АЦП призначений для обробки інформації, одержуваної з різних датчиків, і передачу її на основний процесор.
При такому розподілі функції між процесорами обов'язково виникає необхідність у взаємодії між ними, тобто у розробці інтерфейсу.
Власні результати
Після вивчення великої кількості матеріалів про популярні інтерфейси ([11], [12 — 22]), була складена наступна таблиця з основними характеристиками.
Інтерфейс | Макс. швидкість | Довжина ліній зв'язку | Кількість сигналів | Примітка |
---|---|---|---|---|
1-Wire | 125 кбіт/с | 300 м | 2 | |
CAN | 1 Мбіт/с | 40 м | 4 | |
I²C | 400 кбіт/с | 1 м | 2 | обидві лінії повинні бути навантажені резисторами |
RS-232 | 115 кбіт/с | 15 м | 9 (можливо 4) | |
RS-485 | 10 Мбіт/с | 10 м | 2 | необхідні 2 виті пари з термінаторами |
SPI | 50 Мбіт/с | 15 м | мінімум 4 | підтримується SD/MMC картами пам'яті |
Для поставленої мети інтерфейс SPI підходить більше, ніж інші. Стало можливим виділити його основні переваги і недоліки.
Переваги:
- Повний дуплексний зв'язок
- Значно більш висока пропускна здатність (до 50 Мбіт/с [11]), ніж у I²C (максимум 4,3 Мбіт/с [12]) або SMBus (10 — 100 кбіт/с [13])
- Гнучкість протоколу для передачі бітів
- Не обмежується 8-розрядними словами
- Довільний вибір розміру повідомлень, змісту і мети
- Надзвичайно простий апаратний інтерфейс
- Споживання меншої кількості електроенергії, ніж необхідно для I²C або SMBus завдяки відсутності навантажувальних резисторів, обов'язкових для I²C або SMBus [12, 13]
- Відсутні конфліктні ситуації загального доступу до шини і пов'язані з ними режими виявлення помилок
- Ведені пристрої використовують сигнал синхронізації ведучого, і тому не потрібна висока точність синхронізації
- Веденим пристроям не потрібна унікальна адреса — на відміну від I²C, GPIB або SCSI
- Не потрібні прийомопередавачі
- Використовується набагато менше виводів мікросхем, контактів в роз'ємах і кабелів, ніж у паралельних інтерфейсах, де необхідний мінімум 1 дрот на біт
- Використовується всього один «унікальний» сигнал на пристрій (вибір кристалу); інші є загальними
- Сигнали однонаправлені, що дозволяє легко реалізувати гальванічну розв'язку
Недоліки:
- Потрібно більше виводів мікросхем (3+n, де n — кількість ведених пристроїв [14]), ніж I²C (завжди достатньо двох виводів [12])
- Відсутня адресація за загальними сигналам: необхідний унікальний сигнал «вибір кристалу»
- Відсутнє апаратне керування потоком
- Відсутнє апаратне підтвердження прийому від веденого пристрою
- Підтримується лише одне ведучий пристрій
- Відсутній офіційний стандарт
- Передача тільки на короткі відстані в порівнянні з RS-232, RS-485 або CAN-BUS
SPI — популярний інтерфейс для послідовного обміну даними між мікросхемами. Інтерфейс SPI, поряд з I²C, належить до найбільш широко-використовуваних інтерфейсів для з'єднання мікросхем. Спочатку він був придуманий компанією Motorola, а в даний час використовується в продукції багатьох виробників. Його найменування є абревіатурою від «Serial Peripheral Interface Bus», що відображає його призначення — шина для підключення зовнішніх пристроїв. Шина SPI організована за принципом «ведучий-підлеглий». SPI також іноді називають чотирьох дротовим (англ. four-wire) інтерфейсом.
На відміну від стандартного послідовного порту (англ. standard serial port), SPI є синхронним інтерфейсом, у якому будь-яка передача синхронізована із загальним тактовим сигналом, що генерується провідним пристроєм (процесором). Приймаюча периферія (ведена) синхронізує отримання бітової послідовності з тактовим сигналом. До одного послідовного периферійному інтерфейсу провідного пристрою-мікросхеми може приєднуватися кілька мікросхем. Провідний пристрій вибирає веденого для передачі, активуючи сигнал «вибір кристалу» (англ. chip select) на веденій мікросхемі. Периферія, не вибрана процесором, не бере участі в передачі по SPI.
У SPI використовуються чотири цифрових сигнали:
- MOSI або SI — вихід ведучого, вхід веденого (англ. Master Out Slave In). Служить для передачі даних від провідного пристрою відомому.
- MISO або SO — вхід ведучого, вихід веденого (англ. Master In Slave Out). Служить для передачі даних від веденого пристрою ведучому.
- SCLK або SCK — послідовний тактовий сигнал (англ. Serial CLocK). Служить для передачі тактового сигналу для ведених пристроїв.
- ~CS або ~SS — вибір мікросхеми, вибір веденого (англ. Chip or Slave Select).
Найпростіше підключення, в якому беруть участь тільки дві мікросхеми, показано на рисунку 2. Тут, провідний передає дані по лінії MOSI синхронно зі згенерованих ним же сигналом SCLK, а підлеглий захоплює передані біти даних за певними фронтами прийнятого сигналу синхронізації. Одночасно з цим підлеглий відправляє свою посилку даних. Щоб підпорядкована ІС приймала і передавала дані, крім наявності сигналу синхронізації, необхідно також, щоб лінія SS була переведена в низький стан. В іншому випадку, підпорядкована ІС буде неактивна.
Рисунок 2 — Найпростіше підключення до шини SPI
В ході досліджень були розроблені підпрограми роботи з файловими системами класу FAT на картах пам'яті типів MMC і SD (включаючи також карти нового типу високої ємності — SDHC). Дані підпрограми призначені для роботи на процесорі архітектури ARM під управлінням операційної системи реального часу SymbricatorOS. Ефективність використання SPI доведена можливістю роботи з картами пам'яті на будь-якій частоті, аж до верхньої межі робочої частоти карти в 25 МГц.
Було вирішено, що центральним процесором в роботі буде процесор сімейства ADI Blackfin. Дані процесори також мають інтерфейс SPI, але можуть працювати тільки в якості ведучих пристроїв. При цьому до процесора можна підключити до 8 ведених пристроїв, вибір пристрою здійснюється низьким рівнем на відповідному виведення ~SS (~CS). Приклад паралельного підключення пристроїв показаний на рисунку 3.
Рисунок 3 — Паралельне підключення пристроїв до шини SPI
Процесори сімейства Blackfin працюють з операційною системою μClinux (від англ. MicroController Linux) — Linux-подібною вбудовуваною операційною системою для мікроконтролерів, що не мають блоку керування пам'яттю.
Була протестована робота з картами пам'яті по шині SPI і на цьому процесорі. До переваг можна віднести простоту управління картами пам'яті в режимі SPI.
Також досліджувалася можливість передачі інформації між кількома пристроями: процесорами Blackfin (ведучий), ARM (ведений), MSP (ведений), карта пам'яті (ведена).
Рисунок 4 — Максимальні швидкості передачі інформації. Анімація 606×312×7 кадрів,
затримка між кадрами ½ секунди, кількість циклів повторення — 4, об'єм 40 кБайт
Після всіх досліджень стало ясно, що для поставленого завдання — зв'язку процесора і периферійних пристроїв робота, інтерфейс SPI підходить більше за інших, тому що він:
- має найвищу швидкість передачі даних,
- споживає меншу кількість енергії,
- є єдиним інтерфейсом з розглянутих, який підтримують SD/MMC карти пам'яті.
Було вирішено в подальшій розробці проекту для внутрішньої комунікації використовувати саме інтерфейс SPI. [11]
Заплановані практичні результати
Проведене дослідження дало можливість обгрунтовано вибрати інтерфейс SPI для зв'язку центрального процесора і периферії. Саме він буде використовуватися в проекті SYMBRION REPLICATOR.
Висновок
На основі проведеного дослідження, всі роботи, пов'язані з SPI в рамках проекту SYMBRION REPLICATOR завершені. Це дозволить з його використанням продовжити розробки з управління складними робототехнічних системами. Дані види робіт, завдяки договору про міжнародне співробітництво між ДонНТУ і Штутгартським університетом, будуть проводитися в Німеччині.
Список використаної літератури
- SYMBRION REPLICATOR : HomePage [Електронний ресурс]. — Режим доступу: http://www.symbrion.eu/
- Бабич А.В., Баранов А.Г., Калабин И.В. и др. Промышленная робототехника: Под редакцией Шифрина Я.А. — М.: Машиностроение, 1982 — 415 с., ил.
- Шахинпур М. Курс робототехники: Пер. с англ. — М.; Мир, 1990. 527 с., ил.
- Попов Е.П., Письменный Г.В. Основы робототехники: Введение в специальность: Учеб. для вузов по спец. «Роботехнические системы и комплексы» — М.: Высш. шк., 1990. — 224 с., ил.
- Кафедра «Робототехнические системы» — Белорусский национальный технический университет [Электронный ресурс]. — Режим доступа: http://www.bntu.by/ru/struktura/facult/fitr/chairs/c_rts/
- Специальность «Робототехнические системы и комплексы» — Национальный аэрокосмический университет им. Н.Е. Жуковского «Харьковский авиационный институт». [Електронний ресурс]. — Режим доступу: http://www.khai.edu/page.php?pid=116
- Осипов Г. Искусственный интеллект: основные направления и состояние исследований \\ журнал «Компьютерра» №30 от 02 августа 2002 года
- Робототехнические системы с элементами искусственного интеллекта — Интернет-Университет Информационных Технологий [Электронный ресурс]. — Режим доступа: http://www.intuit.ru/department/human/isrob/8/1.html
- Математичні машини і системи [Електронний ресурс]: 2000. — Режим доступу: http://scholar.google.com/scholar_host?q=info:aSRLdfrKrHcJ:scholar.google.com/&output=viewport&=1
- Степаненко С. В. Отчёт о поиске [Електронний ресурс]: 2010. — Режим доступу: Отчёт о поиске
- Степаненко С. В., Meister E., Шевченко О. Г. Использование последовательного периферийного интерфейса (SPI) для связи процессора и внешних устройств Тезисы докладов Донецк 2010. Електронная версія представлена в бібліотеці
- I²C [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/I²C
- SMBus [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/SMBus
- Serial Peripheral Interface [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/Serial_Peripheral_Interface
- 1-Wire [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/1-Wire
- RS-232 [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/RS-232
- RS-485 [Електронний ресурс]. — Режим доступу: http://ru.wikipedia.org/wiki/RS-485
- Интерфейсы RS232, RS485, I2C, IrDA ... [Електронний ресурс]. — Режим доступу: http://www.gaw.ru/html.cgi/txt/interface/index.htm
- CAN интерфейс (Control Area Network) [Електронний ресурс]. — Режим доступу: http://www.gaw.ru/html.cgi/txt/interface/can/start.htm
- Последовательный интерфейс RS-232 [Електронний ресурс]. — Режим доступу: http://www.gaw.ru/html.cgi/txt/interface/rs232/index.htm
- Последовательный интерфейс SPI [Електронний ресурс]. — Режим доступу: http://www.gaw.ru/html.cgi/txt/interface/spi/index.htm
- Правильная разводка сетей RS-485 [Електронний ресурс]. — Режим доступу: http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm