RoboBus — различия между версиями
=DeaD= (обсуждение | вклад) (→Требования по совместимости) |
Digit (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
== История == | == История == | ||
− | Прототипом шины RoboBus является шина из проекта МиниБот. Не считая небольших оговорок RoboBus в точности повторяет шину этого проекта и отличается только четко прописанными правилами разработки модулей на этой шине, гарантирующими максимальную возможность одновременного использования любых модулей (в разумных пределах, разумеется). Дата появления первой детальной спецификации шины - 12.09.2008. | + | Прототипом шины RoboBus является шина из проекта [http://www.roboforum.ru/wiki/Категория:МиниБот МиниБот]. Не считая небольших оговорок RoboBus в точности повторяет шину этого проекта и отличается только четко прописанными правилами разработки модулей на этой шине, гарантирующими максимальную возможность одновременного использования любых модулей (в разумных пределах, разумеется). Дата появления первой детальной спецификации шины - 12.09.2008. |
Версия 19:25, 12 сентября 2008
История
Прототипом шины RoboBus является шина из проекта МиниБот. Не считая небольших оговорок RoboBus в точности повторяет шину этого проекта и отличается только четко прописанными правилами разработки модулей на этой шине, гарантирующими максимальную возможность одновременного использования любых модулей (в разумных пределах, разумеется). Дата появления первой детальной спецификации шины - 12.09.2008.
Основные особенности
- Изначально шина проектируется для схемы с главным МК и множеством подчиненных модулей, хотя в принципе есть I2C Multimaster;
- Использовано основное напряжение 3.3В, так как на нём работает большое количество периферии (радиомодули, карты памяти, экранчики от сотовых и т.п.) и многочисленные высокопроизводительные микроконтролеры (серия AVR xmega, AVR32, ARM);
- На разъем выведены I2C(TWI), UART, SPI - все модули с этими интерфейсами могут быть прозрачно подключены к шине почти без доработок;
- Возможно программирование любого модуля через системный разъем (не надо делать на плате 2 разъема - шины и программатора);
- Возможно восстановить МК после направильного выставления FUSE-битов и наличии соотв. программатора (на разъем выведен XTAL1);
- Наиболее вероятным контроллером, который будет использоваться в модулях и под который в некоторой степени оптимизирована шина, считается AVR;
Системный разъем
Нумерация системного разъема указана по шлейфу, а не по контактам разъема!
Требования по совместимости
Модуль считается совместимым с шиной RoboBus, если он:
- Совместим с системным разъемом;
- Не разрушается при подаче напряжения из допустимых интервалов на соответствующие контакты разъема;
- Сам не подает на контакты разъема напряжения выходящие за рабочие рамки;
- Удовлетворяет требованиям по принципиальной схеме;
- Удовлетворять правилам использования общих портов ввода\вывода;
- Удовлетворяет правилам работы по протоколам обмена;
Максимально допустимые уровни напряжения
- На контакте питания 3.3V не менее -0.3V и не более 3.6V;
- На всех сигнальных разъемах (3-13 контакты) не менее -0.3V и не более 3.6V;
- На контакте питания 5.0V не менее -0.3V и не более 5.5V;
Рабочие уровни напряжения
- На контакте питания 3.3V уровень напряжения 3.0-3.6V;
- На всех сигнальных разъемах (3-13 контакты) 0.0-3.3V;
- На контакте питания 5.0V уровень напряжения 4.5-5.5V;
Требования к принципиальным схемам модулей
- Если модуль основан на МК типа AVR:
- Сигнал RESET от МК должен быть через джампер выведен на пин 3 системной шины;
- Сигнал XTAL1 от МК должен быть через джампер выведен на пин 7 системной шины;
- Сигналы MOSI, MISO, SCK от МК должны быть выведены соответственно на пины 4-5-6 системной шины;
Требования по использованию общих портов ввода\вывода
- Каждый модуль использующий общие порты ввода\вывода (GP0-2) должен иметь возможность установить джамперами, какие порты системного разъема используются этим модулем;
Требования по соблюдению протоколов обмена
- Модули должны поддерживать один из штатных протоколов обмена - TWI(I2C), UART или SPI, если модуль не удовлетворяет заявленному протоколу обмена то он считается несовместимым с RoboBus;
- Модули на протоколе SPI должны иметь возможность выбора линии CS из общих портов ввода\вывода, если модуль начинает отвечать на запросы при выключенной своей линии CS он считается неудовлетворяющим стандарту RoboBus;