Технический форум по робототехнике.
Mazayac » 29 сен 2008, 10:31
Под рукой - только Микрочиповские изделия

Попробую соорудить цепочку из резистора и стабилитрона на управляющий вход.
blindman » 14 окт 2008, 05:27
Библиотека Eagle с разъемом RoboBus и логотипом для плат.
- Вложения
-
RoboBus.zip
- (2.78 КиБ) Скачиваний: 84
=DeaD= » 14 окт 2008, 09:08
Кстати, надо наверное написать какой стороной ставить разъемы на плату лучше, чтобы кабель не пришлось перекручивать от модуля к модулю.
blindman » 14 окт 2008, 09:16
Надо ставить так, чтобы разъем с прямыми контактами распологался ключом внутрь. Тогда при необходимости можно ставить угловой разъем с сохранением распиновки
- Вложения
-

- x.png (1.65 КиБ) Просмотров: 3988
blindman » 28 окт 2008, 07:47
Если модуль может выступать мастером SPI, настоятельно рекомендуется предусмотреть возможность подключения сигнала RESET от МК к земле через джампер.
Это не поможет при программировании. Например, на шине висят 2 МК, один из них мастер SPI. Перед программированием второго МК заземляем RESET первого, начинаем программировать второй - и первый тоже отвечает на запросы программатора.
Надо искать другое решение.
=DeaD= » 28 окт 2008, 08:35
Разве МК при заземлённом RESET отвечает на запросы программатора?
Добавлено спустя 28 секунд:
Сделать тогда разрыв в SCK линии можно джампером или еще в какой.
blindman » 28 окт 2008, 09:11
Возможно вот так. В нормальнм режиме джампер замкнут. Если надо программировать девайс, джампер выдергиваем. У тех МК, где джампер установлен, при выставлении 0 на линии RESET на SCK также будет 0 - что не даст им войти в режим программирования.
Правда могут быть проблемы с программаторами, которые линию RESET включают через резистор - на SCK не будет четкого нуля.
- Вложения
-

=DeaD= » 28 окт 2008, 09:28
А просто разрыв в SCK не поможет разве?
blindman » 28 окт 2008, 09:49
Хмм. Поможет. Просто джампер в SCK , и у МК SCK к земле подтянуть чтоб в воздухе не висел. Но это не очень удобно - в главном модуле SCK в рабочем состоянии всегда должен быть подключен к шине, и при программировании переферии нужно будет установить джампер на переферийном модуле и снять на главном, а после программирования установить на главном и перезапустить его. В той схеме что я предлагаю всего на 1 диод больше, но при этом она проще в работе - снял джампер на нужном модуле - и программируй его сколько угодно, причем после каждого программирования вся система будет перезапускаться.
=DeaD= » 28 окт 2008, 11:44
Может быть ну его? Сделать просто джампер на SCK и всё? Часто ли надо программировать модули которые по SPI общаются? да еще чтобы больше 2 модулей было? (если 2 модуля - у одного только джампер снимаем на время программирования и всё). Или ты хочешь чтобы поставил джампер и до переключения на следующий модуль его не трогать? Тогда да, согласен - на порядок удобней

blindman » 28 окт 2008, 12:10
Если например главный модуль управляет SPI дисплеем через RoboBus, то у него SCK должен быть подключен всегда, иначе управлять не сможет. Если при этом на шине присутствует еще один модуль, то чтобы его запрограммировать, нужно будет на главном джампер скинуть. А после программирования на место вернуть, и перезапустить всю систему. Слишком много телодвижений.
=DeaD= » 28 окт 2008, 12:14
Согласен. Надо как-то оптимизировать.

blindman » 28 окт 2008, 17:17
Предлагаю параграф
Требования к принципиальным схемам модулей изложить в следующей редакции:
- Сигнал RESET от МК должен быть через джампер выведен на пин 3 системной шины;
- Сигнал XTAL1 от МК рекомендуется через джампер вывести на пин 7 системной шины;
- Модуль рекомендуется проектировать таким образом, чтобы в рабочем режиме при поступлении на линию RESET уровня логического нуля, МК не входил в режим программирования. Это может быть обеспечено, например, удержанием вывода SCK МК в состоянии логического нуля независимо от напряжения на соответствующей линии шины.
- Модуль рекомендуется проектировать таким образом, чтобы иметь возможность перевода в режим программирования, например, перестановкой джампера. В режиме программирования вывод SCK МК не должен удерживаться в состоянии логического нуля.
=DeaD= » 28 окт 2008, 18:06
3 и 4 как-то очень путанно. Это только вкупе 3 и 4 применяется или можно сделать 3, но не сделать 4 и наоборот?
Добавлено спустя 2 минуты 32 секунды:
Может быть так?
Рекоммендуется проектировать модуль таким образом, чтобы выставлением джампера "запрет программирования модуля" можно было заблокировать переход МК модуля в режим программирования при поступлении на вход RESET логического нуля.
Это позволит отлаживать и перепрограммировать только нужный модуль при использовании шины SPI без каких-либо физических действий по возврату системы из режима программирования.
blindman » 28 окт 2008, 18:11
И так и так смысл понятен но как-то многословно. Надо подумать как покороче сформулировать