- Тема выпускной работы: Интерфейс связи процессора и внешних устройств в 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]), чем у I2C (максимум 4,3 Мбит/с [12]) или SMBus (10 — 100 кбит/с [13])
- Гибкость протокола для передачи битов
- Не ограничивается 8-разрядными словами
- Произвольный выбор размера сообщений, содержания и цели
- Чрезвычайно простой аппаратный интерфейс
- Потребление меньшего количества электроэнергии, чем необходимо для I2C или SMBus благодаря отсутствию нагрузочных резисторов, обязательных для I2C или SMBus [12, 13]
- Нет конфликтных ситуаций общего доступа к шине и связанных с ними режимов обнаружения ошибок
- Ведомые устройства используют сигнал синхронизации ведущего, и поэтому не нужна высокая точность синхронизации
- Ведомым устройствам не нужен уникальный адрес — в отличие от I2C, GPIB или SCSI
- Не нужны приёмопередатчики
- Используется намного меньше выводов микросхем, контактов в разъёмах и кабелей, чем параллельные интерфейсы, где необходим минимум 1 провод на бит
- Используется всего один «уникальный» сигнал на устройство (выбор кристалла); остальные являются общими
- Сигналы однонаправлены, позволяющие легко реализовать гальваническую развязку
Недостатки:
- Требуется больше выводов микросхем (3+n, где n — количество ведомых устройств [14]), чем I2C (всегда достаточно двух выводов [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