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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _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 можно слить данные. И все. Никакой пайки, и прочего. Драйвер ядра разбивает работу на две части - на мегаустройстве обрабатывается аппаратная часть а драйвер сам представляет ее так нам нужно.

В отрыве от стандартов наконец можно просто залить аплоадером совершенно левую прошивку и она там будет работать.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Если будешь все-таки это реализовывать, то включи возможность мониторинга шин SPI, I2C, UART. Как показывает практика, сниффер очень даже нужная весчь.
Реклама
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Собственное. Маленькое. Но
:wink:
Вложения
12052009 (small).jpg
Оно
(139.41 КБ) 676 скачиваний
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Все кишочки с удобствами разместились в корпусе разъема. Для танкистов - это не переходник LPT -> USB. :lol:
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Ну а где коды, исходники, народ жаждит мяса, а не его запаха :)))
Даташит - библия моя...
Изображение
Контактная информация:
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

Я бы светодиодиков добавил, для контроля и самотестирования, ну так загорелось или три раза помигало значит все гут :))
Реклама
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

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

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

Как только кто спояет и у него бутлоадер поработает 8 секунд после старта и выключится сам. Выложу пакет для сборки модуля ядра.
Вложения
booltoader.txt
Прошивчег в формате hex. Ессесно переименовать
(4.93 КБ) 301 скачивание
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

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

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

В общем чую пора писать оперу. Как все это работает.
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

А исходники, в чему людям прошива, концепция устройства предполагает изменение устройства по желанию пользователя.
Даташит - библия моя...
Изображение
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Это же бутлоадер!!! Это же биос!!!

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

Будет и исходнеки ядра и исхонеки девайса. Все будет. Чуть чуть причешу все. Сделаю пару тройку сетапов. И все выложу.
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

А можно исходинчек бута, просто интересно как там все :)

Я то делаю без него.
Даташит - библия моя...
Изображение
Контактная информация:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

Ручкой если что, подрисуй, я подправлю :)) +Д_Д не помню номера на УСБ
Перезалил дальше
Последний раз редактировалось saschai Ср май 13, 2009 22:05:22, всего редактировалось 1 раз.
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Как без него :shock: А это.. как програмировать собираетесь?

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

Попробуйте на своей системе прогнать make clean; make hex.
Вложения
bhid.tar.gz
Оно
(121.83 КБ) 325 скачиваний
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Нет - такая схема не годится. Мегадев не обременен разъемами ISP - кстати там у вас ошибка. На одной линии резета оба устройства и програматор и програмируемый. Либо програмируемый програмируется один раз в жизни.

Вот более пральная схема. Только нужно ножки чуть поправить. И зеннеры необязательны. Убрать.
Вложения
with-zener.png
(13.11 КБ) 516 скачиваний
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07: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
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

Ну так!? :))
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

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

А так - оно! Спасибо! Готовлю статью - там соберу все.
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

Продолжение:

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

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

Надо сделать ATBootloader * и AVR910 совместимый ISP
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Ср апр 22, 2009 11:07:00

Сообщение _PM_ »

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

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

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

Для остальных случаев все не так печально
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Это хорошо. Можно выдернуть из протоссовского проекта протокол ISP, исходники есть.
Даташит - библия моя...
Изображение
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»