2EdGull: Кстати, ответа развернутого еще ждать?
Добавлено спустя 42 минуты 56 секунд:Итак имеем текущую распиновка и предложение от blindman'a.
Выделяем отличающиеся\спорные фрагменты:
Текущая распиновка:
3 RES Программатор, сигнал RESET
7 XTAL1 Тактирование МК (???)
8 PORTA3 Вывод МК PA3 (???)
9 SD_DATA (???)
14 USB-5V Вход зарядки от USB (???)
И предложение от blindman'a:
RESET спорно. Вариант - использовать для сброса всех модулей в системе, но это делает невозможным ISP через этот разъем (придется отключать RESET на тех модулях, которые не надо перепрограммировать).
GP0
GP1
GP2
GP3
По поводу RESET'а - думаю всё-таки его надо делать - т.к. модули будут часто перепрошиваться по крайней мере первое время (пока не будет отлажена прошивка) - будет очень удобно сэкономить место на на модуле и юзать один разъем через который так же и прошиваем. Но на каждом модуле обязательно сделать перемычку которая отключает этот пин от МК. Если не собираемся этот модуль отлаживать - можно вообще не запаивать этот джампер.
Дальше предлагаю всё-таки оставить питание +5V на шине. Т.е. порта GP3 мы лишаемся.
И наконец оставшиеся GP0, GP1, GP2 предлагаю считать эквивалентом PORTA3, SD_DATA(=PORTB4), XTAL1 с той оговоркой, что в миниботе обычном GP2 нельзя заюзать, и настоятельно рекомендуется GP2 на каждом модуле соединять джампером с XTAL1. (Я правильно понимаю что это чтобы прошить МК который не на тот кварц настроили фьюзами?)
Правило использования пинов GP0..2 в модулях простое - каждый модуль если использует 1 или 2 пина должен позволять настройками сконфигурировать какие пины шины он использует.
Каждый разработчик модуля, если он делает модуль совместимый с RoboBus, обязан указать какой интерфейс пользует его модуль и сколько пинов общего назначения он забирает. Например, "RoboBus: SPI+2" - означает что пользуем интерфейс SPI и занимаем еще 2 пина общего назначения.
Или "RoboBus: I2C+0" означает что юзаем интерфейс I2C и не пользуем пины общего назначения вообще.
Итоговая распиновка:
1 GND Земля
2 +3.3V (ранее BAT + батареи)
3 RES Программатор, сигнал RESET
4 MOSI Программатор, сигнал MOSI
5 MISO Программатор, сигнал MISO
6 SCK Программатор, сигнал SCK
7 GP2\XTAL (ранее - XTAL1 Тактирование МК)
8 GP1 (ранее PORTA3)
9 GP0 (ранее SD_DATA)
10 SDA Шина I2C
11 SCL Шина I2C
12 TxD Асинхронный выход данных
13 RxD Асинхронный вход данных
14 +5V (раньше - USB-5V Вход зарядки от USB)
Что скажете?