RoboBus — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Требования к принципиальным схемам модулей)
Строка 52: Строка 52:
 
| 14 || 5V || Очищенное опциональное питание +5.0V
 
| 14 || 5V || Очищенное опциональное питание +5.0V
 
|}
 
|}
 +
  
 
== Использование линий питания ==
 
== Использование линий питания ==
 
# В системе допускается существование всего 1 источника неочищенного питания по линии VSS, все остальные модули должны потреблять это питание. '''ВНИМАНИЕ!!! В случае нарушения этого правила может произойти разрушение модулей вплоть до взрыва аккумуляторов, если таковые подключены напрямую как источники неочищенного питания!'''
 
# В системе допускается существование всего 1 источника неочищенного питания по линии VSS, все остальные модули должны потреблять это питание. '''ВНИМАНИЕ!!! В случае нарушения этого правила может произойти разрушение модулей вплоть до взрыва аккумуляторов, если таковые подключены напрямую как источники неочищенного питания!'''
 
# Так же не допускается существование нескольких источников очищенного питания по линии 5V.
 
# Так же не допускается существование нескольких источников очищенного питания по линии 5V.
 +
  
 
== Главный модуль ==
 
== Главный модуль ==
 
При наличии в системе устройств, управляемых по интерфейсу SPI, должен присутствовать ровно 1 главный модуль. Главным считается модуль, который выступает мастером SPI.
 
При наличии в системе устройств, управляемых по интерфейсу SPI, должен присутствовать ровно 1 главный модуль. Главным считается модуль, который выступает мастером SPI.
 +
  
 
== Требования по совместимости ==
 
== Требования по совместимости ==
Строка 90: Строка 93:
 
## Для модулей которые планируются для использования в качестве I2C-Master рекомендуется предусмотреть возможность отключения этих резисторов;
 
## Для модулей которые планируются для использования в качестве I2C-Master рекомендуется предусмотреть возможность отключения этих резисторов;
 
## Для модулей которые планируются для частичного использования как I2C-Slave обязательна возможность отключения этих резисторов;
 
## Для модулей которые планируются для частичного использования как I2C-Slave обязательна возможность отключения этих резисторов;
 +
  
 
=== Требования по использованию общих портов ввода\вывода ===
 
=== Требования по использованию общих портов ввода\вывода ===

Версия 11:09, 13 сентября 2008

RoboBus - открытый стандарт системной шины, предназначенной для взаимодействия электронных модулей в роботехнике.

История

Прототипом шины RoboBus является шина из проекта МиниБот. Не считая небольших оговорок RoboBus в точности повторяет шину этого проекта и отличается только четко прописанными правилами разработки модулей на этой шине, гарантирующими максимальную возможность одновременного использования любых модулей (в разумных пределах, разумеется). Дата появления первой детальной спецификации шины - 12.09.2008.


Основные особенности

  • Изначально шина проектируется для схемы с главным МК и множеством подчиненных модулей, хотя в принципе есть I2C Multimaster;
  • Использовано основное напряжение логического уровня 3.3В, так как на нём работает большое количество периферии (радиомодули, карты памяти, экранчики от сотовых и т.п.) и многочисленные высокопроизводительные микроконтролеры (серия AVR xmega, AVR32, ARM);
  • На разъем выведены I2C(TWI), UART, SPI - все модули с этими интерфейсами могут быть прозрачно подключены к шине почти без доработок;
  • Возможно программирование любого модуля через системный разъем (не надо делать на плате 2 разъема - шины и программатора);
  • Возможно восстановить МК после направильного выставления FUSE-битов и наличии соотв. программатора (на разъем выведен XTAL1);
  • Наиболее вероятным контроллером, который будет использоваться в модулях и под который в некоторой степени оптимизирована шина, считается AVR;


Системный разъем

В качестве системного разъема используется IDC-14.

Нумерация системного разъема указана по шлейфу, а не по контактам разъема!

Нумерация системного разъема Номер Pin Назначение Расшифровка
1 GND Земля
2 VSS Неочищенное низковольтное питание +3.5-5.5V
3 RES Сигнал RESET (Программатор)
4 MOSI Сигнал MOSI (Программатор)
5 MISO Сигнал MISO (Программатор)
6 SCK Сигнал SCK (Программатор)
7 GP2\XTAL1 Вход\выход общего назначения №2 \ Тактирование МК
8 GP1 Вход\выход общего назначения №1
9 GP0 Вход\выход общего назначения №0
10 SDA Шина I2C
11 SCL Шина I2C
12 TxD Асинхронный выход данных (от главного МК к модулю)
13 RxD Асинхронный вход данных (от модуля к главному МК)
14 5V Очищенное опциональное питание +5.0V


Использование линий питания

  1. В системе допускается существование всего 1 источника неочищенного питания по линии VSS, все остальные модули должны потреблять это питание. ВНИМАНИЕ!!! В случае нарушения этого правила может произойти разрушение модулей вплоть до взрыва аккумуляторов, если таковые подключены напрямую как источники неочищенного питания!
  2. Так же не допускается существование нескольких источников очищенного питания по линии 5V.


Главный модуль

При наличии в системе устройств, управляемых по интерфейсу SPI, должен присутствовать ровно 1 главный модуль. Главным считается модуль, который выступает мастером SPI.


Требования по совместимости

Модуль считается совместимым с шиной RoboBus, если он:

  1. Совместим с системным разъемом;
  2. Не разрушается при подаче напряжения из допустимых интервалов на соответствующие контакты разъема;
  3. Сам не подает на контакты разъема напряжения выходящие за рабочие рамки;
  4. Удовлетворяет требованиям по принципиальной схеме;
  5. Удовлетворять правилам использования общих портов ввода\вывода;
  6. Удовлетворяет правилам работы по протоколам обмена;


Максимально допустимые уровни напряжения

  1. На контактах питания VSS и 5V не менее -0.3V и не более 5.5V;
  2. На всех сигнальных разъемах (3-13 контакты) не менее -0.3V и не более 3.6V;


Рабочие уровни напряжения

  1. На контакте питания VSS уровень напряжения 3.5-5.5V;
  2. На всех сигнальных разъемах (3-13 контакты) 0.0-3.3V;
  3. На контакте питания 5V уровень напряжения 4.5-5.5V;


Требования к принципиальным схемам модулей

  1. Если модуль основан на МК типа AVR:
    1. Сигнал RESET от МК должен быть через джампер выведен на пин 3 системной шины;
    2. Сигнал XTAL1 от МК должен быть через джампер выведен на пин 7 системной шины;
    3. Сигналы MOSI, MISO, SCK от МК должны быть выведены соответственно на пины 4-5-6 системной шины;
  2. Общая линия ввода/вывода, используемая как сигнал выбора устройства SPI, должна быть подтянута резистором 3.3 - 4.7 кОм к источнику положительного напряжения +3.0-3.6 вольт, таким образом, что если ни одно устройство на шине не использует эту линию как выход, на ней присутствует уровень логической единицы;
  3. В модулях, которые могут выступать в качестве мастера I2C, линии SDA и SCL должны быть подтянуты резисторами 1 - 3,3 кОм к источнику положительного напряжения +3.0-3.6 вольт, таким образом, что если ни одно устройство на шине не использует эту линию как выход, на ней присутствует уровень логической единицы.
    1. Для модулей которые планируются для использования в качестве I2C-Master рекомендуется предусмотреть возможность отключения этих резисторов;
    2. Для модулей которые планируются для частичного использования как I2C-Slave обязательна возможность отключения этих резисторов;


Требования по использованию общих портов ввода\вывода

  1. Каждый модуль использующий общие порты ввода/вывода (GP0-2) должен иметь возможность установить джамперами, какие порты системного разъема используются этим модулем;


Требования по соблюдению протоколов обмена

  1. Модули должны поддерживать один из штатных протоколов обмена - TWI(I2C), UART или SPI, если модуль не удовлетворяет заявленному протоколу обмена то он считается несовместимым с RoboBus;
  2. Модули на протоколе SPI должны иметь возможность выбора линии CS из общих портов ввода\вывода, если модуль начинает отвечать на запросы при выключенной своей линии CS он считается неудовлетворяющим стандарту RoboBus;
  3. Активный уровень сигнала выбора устройства SPI - логический ноль;