Страница 1 из 3

Мегаустройство... Реализация

Добавлено: Ср май 13, 2009 19:48:10
_PM_
Наступила вторая фаза мегапроекта под названием мегаустройство.

Были собраны все осознанные комментарии :lol:. Из них собрана концепция, которая в ходе реализации вылилась в другую концепцию. Поближе к реальности. И в конце концов вылилось в реализацию.

Сегодня настал переломный момент. Как говорят астрономы :roll: первый свет. На мегаустройстве был сэмулирован программатор STK200. Тестирование производилось с помощью программатора avrdude, которому и был скормлен мегадевайс, выдающий себя за глупенького STK200. AvrDUDE не поперхнулся, замечательно увидел и допросил висящую на мегустройстве мегу16.

Напомню основные пункты концепции MegaDev и прошу всех заинтересованых котов присоединиться к разработке новых и новых сетапов для этого поистине мегаустройства. А также присоединяться к аппаратному тестированию.

*) сверх минимализм схемотехники. 3 резистора + 1 кварц 16МХз + мега8 + усб шланг.
*) управление по USB посредством драйвера ядра системы Linux.
*) апргрейд прошивок по тому же USB.
*) реализация функционала мастера шины I2C.
*) реализация функционала мастера шины SPI.
*) реализация функционала шины IO.
*) реализация функционала ISP.
*) еще можно много чего придумать.





Предвидя вопросы: "почему сэмулировать". Потому что аппаратно не требуется ничего паять. Захотелось СТК - пожалуста. Захотел как Pony-CTK - держи. Захотел JTAG - запросто.

Предвидя второй вопрос: "зачем еще один программатор". Это не программатор. Это как бы макетка, только гемороя меньше. Типовые схемоблоки она обеспечит в полуаппаратном режиме. Т.е. например мы хотим собрать АЦП на 4 канала. ТОгда мы говорим ядру - загрузить мегадевайс с функцией АЦП. И оно работает как АЦП. Нам ядро выдаст файлег, с которого командой cat можно слить данные. И все. Никакой пайки, и прочего. Драйвер ядра разбивает работу на две части - на мегаустройстве обрабатывается аппаратная часть а драйвер сам представляет ее так нам нужно.

В отрыве от стандартов наконец можно просто залить аплоадером совершенно левую прошивку и она там будет работать.

Добавлено: Ср май 13, 2009 20:20:11
__Alexander
Если будешь все-таки это реализовывать, то включи возможность мониторинга шин SPI, I2C, UART. Как показывает практика, сниффер очень даже нужная весчь.

Добавлено: Ср май 13, 2009 20:45:24
_PM_
Собственное. Маленькое. Но
:wink:

Добавлено: Ср май 13, 2009 20:47:04
_PM_
Все кишочки с удобствами разместились в корпусе разъема. Для танкистов - это не переходник LPT -> USB. :lol:

Добавлено: Ср май 13, 2009 20:49:52
VenomXP
Ну а где коды, исходники, народ жаждит мяса, а не его запаха :)))

Добавлено: Ср май 13, 2009 20:57:05
saschai
Я бы светодиодиков добавил, для контроля и самотестирования, ну так загорелось или три раза помигало значит все гут :))

Добавлено: Ср май 13, 2009 21:03:53
_PM_
Я схемы рисовать не умею.. 8)
Нарисуйте мне ее кто нить? А? Там все просто D+ через резистор 68ом на PD2 D- через такой же резистор на PD3. Ну и еще линия D- через полторакилома на +5 того же усб. Как и огромное большинство схем v-usb. ТОлько ножки чуть чуть другие

А прошивку бутлоадера - в аттаче.

Как только кто спояет и у него бутлоадер поработает 8 секунд после старта и выключится сам. Выложу пакет для сборки модуля ядра.

Добавлено: Ср май 13, 2009 21:07:32
_PM_
Забыл про светодиодики. Концепция мегадева предполагает (но не обязывает) в режиме Software SPI которым я седне и занимался подключать до 4 рех диодов. Для отображения всех режимов. Прошивки проверки готовности и ошибки. В некоторых сетапах эмуляции их можно включать. На стк200 ничего нет. Так что звиняйте. На дургом сетапе будут.

К мегадеву цепляется ответная часть разъема, в которой и стоит диодек. Который и помаргивает. Аотводить цельную ногу на мегадеве нерационально.

В общем чую пора писать оперу. Как все это работает.

Добавлено: Ср май 13, 2009 21:10:53
VenomXP
А исходники, в чему людям прошива, концепция устройства предполагает изменение устройства по желанию пользователя.

Добавлено: Ср май 13, 2009 21:15:11
_PM_
Это же бутлоадер!!! Это же биос!!!

Без бутлоадера в могзах это просто железяка. А залил бутлоадер и ага. Уже самообновляется с компа. Просто скормил файлик хекс этому бутлоадеру и он уже у устройства в мозгЕ.

Будет и исходнеки ядра и исхонеки девайса. Все будет. Чуть чуть причешу все. Сделаю пару тройку сетапов. И все выложу.

Добавлено: Ср май 13, 2009 21:20:43
VenomXP
А можно исходинчек бута, просто интересно как там все :)

Я то делаю без него.

Добавлено: Ср май 13, 2009 21:28:14
saschai
Ручкой если что, подрисуй, я подправлю :)) +Д_Д не помню номера на УСБ
Перезалил дальше

Добавлено: Ср май 13, 2009 21:30:49
_PM_
Как без него :shock: А это.. как програмировать собираетесь?

Бутлоадер чесно сперт с проекта BootloadHID размещенного на V-USB (ODEV) и нагло переделан под распиновку MegaDev + оптимизирован не безджамперную работу. Выкладаю. Там уже настроено на 16МГц. Пины PD2 PD3.

Попробуйте на своей системе прогнать make clean; make hex.

Добавлено: Ср май 13, 2009 21:35:07
_PM_
Нет - такая схема не годится. Мегадев не обременен разъемами ISP - кстати там у вас ошибка. На одной линии резета оба устройства и програматор и програмируемый. Либо програмируемый програмируется один раз в жизни.

Вот более пральная схема. Только нужно ножки чуть поправить. И зеннеры необязательны. Убрать.

Добавлено: Ср май 13, 2009 21:37:00
_PM_
Вот для затравки пинаут мегадева. С него можно полностью схему воссоздать.

D25 Mega Mean SPI

1 - PC5 - SCL
2 - PC4 - SDA
3 - PC3 - IO3 - VFY_LED
4 - PC2 - IO2 - RDY_LED
5 - PC1 - IO1 - PGM_LED
6 - PC0 - IO0 - RESET
7
8
9 - PB5 - SCK - SCK
10 - PB4 - MISO - MISO
11 - PB3 - MOSI - MOSI
12 - PB2
13 - PB1
14 - PD0 - RX
15 - PD1 - TX
16 - RESET
17 - PB0
18 - +5.0V
19 - VCC
20 - GND
21 - +3.3V
22 - PD4 - IO4 - ERR_LED
23 - PD5 - IO5
24 - PD6 - IO6
25 - PD7 - IO7

Добавлено: Ср май 13, 2009 22:06:13
saschai
Ну так!? :))

Добавлено: Ср май 13, 2009 22:38:12
_PM_
Уже лучше!!! Правельно. Но три ошибки. Кварц на 16. (но можно и другие). Подтягивающий резистор до резистора 68. Остальные ноги на разъем D25.
Да. Еще там двойное питание. Но это для любителя. Если вдруг 3.3 придется шить.

А так - оно! Спасибо! Готовлю статью - там соберу все.

Добавлено: Чт май 14, 2009 09:23:56
_PM_
Продолжение:

Были сэмулированы и оттестены еще два программатора - altera byte blaster и pony prog stk200.

Надоело. Примитив. Сколько еще гуляет этип программаторов. Может 5 проводков тоже сэмулировать....

Надо сделать ATBootloader * и AVR910 совместимый ISP

Добавлено: Пт май 15, 2009 11:56:36
_PM_
Да. Переоценил я некоторые особенности мегадев. Побитовая манипуляция посредством USB это мэээ.. медленно. Очень. ОЧЧень медленно. Сэмулированный программатор работает. Но не быстро. Только когда стал шить мегу16 все 16 килограмм флешки и на это ушло час времени.

Если что поправить или фузы или маленькая программа - то нормально. Большое не пойдет. Нужен полноценный ISP на устройстве.

Кстати и сетап USB->LPT тоже не получится. Ограничение самого USB. Для пакетов lowspeed не чаще раза в 10мс. Это 100 выборок в секунду. Но это только в режиме прямой манипуляции битами..

Для остальных случаев все не так печально

Добавлено: Пт май 15, 2009 11:59:41
VenomXP
Это хорошо. Можно выдернуть из протоссовского проекта протокол ISP, исходники есть.