Crumbuino-128 своими руками
- Войдите на сайт для отправки комментариев
Чт, 26/02/2015 - 08:40
Сделал себе ардуину на атмеге 128.
Купил платки такие:http://www.ebay.com/itm/5pcs-QFP-TQFP-LQFP-FQFP-32-44-64-80-100-DIP-Adapter-PCB-Board-Converter-YG-/121309078629?pt=LH_DefaultDomain_0&hash=item1c3e95a465
И сами атмеги 128a:http://www.ebay.com/itm/2PCS-IC-ATMEGA128A-AU-QFP-64-8-bit-Microcontroller-NEW-GOOD-QUALITY-/201189503892?pt=LH_DefaultDomain_0&hash=item2ed7d43394
Далее есть поект ардуины на atmega128 - называется Crumbuino-128
Чтоб спаять всё это дело нужны:
1 резистор на 10Ком для подтяжки reseta к +5в
2 кварц на 16mhz, пару конденсаторов на 22pf, можно и на внутреннем генераторе запустить на 8mhz, тогда вообще ничего не надо кроме стабильного питания от 2.7 до 5.5 вольт.
В общем всё по схеме : http://download.chip45.com/Crumb128_2561_V4.0_schematics.pdf
Взял у них файлы расширения для поддержки атмеги128 в среде ардуино.
Спаял всё это дело и прошил бутлоадер с помощью ISP программатора и SINAPROG.
Из среды ардуино не получилось зашить бутлоадер по ISP.
Далее скетчи прошиваются из среды ардуино просто и без проблем с помощью USB To RS232 конвертера типа такого
http://www.ebay.com/itm/USB-To-RS232-TTL-PL2303HX-Auto-Converter-Module-Converter-Adapter-For-arduino-/180953299346? pt=LH_DefaultDomain_0&hash=item2a21a83992
Только reset приходится держать до появления надписи "загрузка" для прошивки скетча
В общем работает, можно двигаться в экспериментах дальше. Для конечных изделий полюбому надо осваивать фоторезист или ЛУТ. В скором времени должны прехать материалы для фоторезиста, буду пробовать.
Симпатично, а вопрос то в чем? Быстрее уж в проекты)))
Да подумал не тянет на проект, скорее вопросы и темы по железу
Да подумал не тянет на проект, скорее вопросы и темы по железу
Ну не знаю, на мой взгляд, вполне законченное, достаточно функциональное устройство. А то, что деталей мало, это ведь ему работать не мешает)))
очень интересный проэкт, благо руки на месте и спаять такое не сложно, а можите мне помочь с Boards.txt для версии IDE 1,6,3 на 8Мгц и желательно без проверки по питанию, сам я такое не напишу знаний нехватает
Да залепа а не проект:))) Я уже фоторезист освоил, и теперь рисую и травлю как мне удобно. Чтоб загрузчик зашить и фьюзы поменять все равно нужен ISP программатор, его вроде можно из ардуины временно сделать если под рукой нет, но я сам так ниразу не делал, так как есть отдельный программатор. И удобно через SinaProg их редактировать, там сложно чего-то перепутать, только галочки ставь на тех параметрах которые нужны, главное spi программирование не отключить.
На 8 мегагерц от внешнего кварца:
А от внутреннего генератора на 8Мгц:
crumbuino128.bootloader.low_fuses=0xE4
Только будет по uart прошиваться на скорости 28800 на восьми мегагерцах
на скорую руку если ничего нет кроме паяльника то и это хорошо), спаяю покрасивше, спасибо за лодер спаяю буду пробовать )
надеюсь оно будит работать на пороге напряжения от 2,7 до 3,3 вольт ?
atmega 328 получалось её кормить от 2 воль без проверки на питании, хотелось бы и atmega128 тоже довадить до голодного пайка
в общем пока не получилось, можите подсказать в чём может быть дело, в качестве программатора использовал другаю ардуино, беспроблем шил ей атмегу 328
Arduino: 1.6.3 (Windows 7), Плата"Crumbuino-128 w/ ATmega128"
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega128 -cstk500v1 -PCOM6 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFF:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE4:m
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM6
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega128
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 12 64 0 no 4096 8 0 9000 9000 0xff 0xff
flash 33 6 128 0 yes 131072 256 512 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Ошибка при записи загрузчика
всё отлично.
правда был упущен момент правильности подключения мк
ВНИМАНИЕ !
1) в ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP программирования. Используются другие выводы МК !
Внимательно смотрите ДатаШит вашего МК !
в ATmega128 ATmega64 сигналы ISP программатора
MISO подключают к ножке PE1
MOSI подключают к ножке PE0
Для ATmega640 -1280 -1281 -2560 -2561 смотрите в даташит
Table 163. Pin Mapping Serial Programming.
2) Вывод PEN нужно подключить к питанию VCC резистором 1-10 кОм
3) в ATmega128 и ATmega64 есть FUSE бит совместимости со старым МК ATmega103 и с завода он запрограммирован в "0" на совместимость.
См Table 117. Extended Fuse Byte.
При прошивании ATmega128 и ATmega64 вам нужно сделать этот fuse "1" - "не запрограммирован". Убрать галочку в CVAVR.
и теперь у меня есть ардуино на атмеги128)))))
Для 128 меги симпатичные готовые платки продают, с ком-портом и всякими кнопками..
Только нафига всё это нужно, вот в чём вопрос :)
Про Serial выводы (PE0, 1) вместо MISO, MOSI уже где-то попадад.... а не, теперь помню.
Пачан на ЯПлакалъ хвастался панелью на девятку, со светиками в спидометре и экраном, очень эффектная панель кстати. Так вот, правильная разводка была подсмотрена у него. До этого никакое чесание репы не помогало выяснить, почему же она, скотина, не прошивается...
dimax, зачем? Больше ног. Больше мозгов. Не так много как у Atmega1284, но зато 128я и не такая дорогая.
Цена отличная, ноги, память...замечательное соотношение всего....сам себе подзаказал. Спасибо за напутствие!)
http://ru.aliexpress.com/item/5PCS-ATMEGA128A-AU-ATMEGA128A-ATMEGA128/32225252031.html
ребята, не могу понять что я делаю не так, после записи скетча через UART возникают ошибки при записи другова скетча, вощем класика жанра
avrdude: serial_baud_lookup(): Using non-standard baud rate: 28800avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xfc
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xfc
ладно подумал я, записал загрузчик заного, потом беспроблеи записал скетч. и решил проберить а запишится ли он ещё, история повторилась.
я так пологаю скетч затирает загрузчик.
как это предотвратить ?
exolon, видимо фузики bootsize не правильно стоят..
я пологаю ничего не напутал
crumbuino128.name=Crumbuino-128 w/ ATmega128
crumbuino128.upload.protocol=arduino
crumbuino128.upload.maximum_size=126976
#crumbuino128.upload.speed=57600
crumbuino128.upload.speed=28800
crumbuino128.upload.tool=arduino:avrdude
crumbuino128.bootloader.tool=arduino:avrdude
crumbuino128.bootloader.low_fuses=0xE4
crumbuino128.bootloader.high_fuses=0xDA
crumbuino128.bootloader.extended_fuses=0xFF
crumbuino128.bootloader.path=atmega
crumbuino128.bootloader.file=ATmegaBOOT_168_atmega128.hex
crumbuino128.bootloader.unlock_bits=0x3F
crumbuino128.bootloader.lock_bits=0x0F
crumbuino128.build.mcu=atmega128
crumbuino128.build.f_cpu=8000000L
crumbuino128.build.core=arduino
crumbuino128.build.variant=crumbuino128
может дело в сборке которая обеспечивает потдержку атмеги128, у меня ide 1.6.3 пологаю http://download.chip45.com/chip45-arduino-extension.zip работает не корректно.
может предложите другую сборку ?
Не знаю насчет сборки 1.6.3, не пробовал. У меня на 1.0.6 все работало
exolon, медитировать над конфигами бессмысленно, ясный день что они рабочие. Я бы снял дамп фузов и всей прошивки сразу после заливки бутлоадера программатором, и то-же самое после неудачной заливки через UART. Сравнить фузы, сравнить дампы, и будет видно что дальше делать..
у меня больше нет программатора (
Arduino: 1.6.3 (Windows 7), Плата"Crumbuino-128 w/ ATmega128"
Изменена опция сборки, пересобираем все
Sketch uses 2 304 bytes (1%) of program storage space. Maximum is 126 976 bytes.
Global variables use 194 bytes of dynamic memory.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega128 -carduino -PCOM6 -b28800 -D -Uflash:w:C:\Users\Exolon\AppData\Local\Temp\build4110971165970325375.tmp/tes_time.cpp.hex:i
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM6
Using Programmer : arduino
Overriding Baud Rate : 28800
avrdude: serial_baud_lookup(): Using non-standard baud rate: 28800avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x66
AVR Part : ATmega128
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 12 64 0 no 4096 8 0 9000 9000 0xff 0xff
flash 33 6 128 0 yes 131072 256 512 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9702
avrdude: reading input file "C:\Users\Exolon\AppData\Local\Temp\build4110971165970325375.tmp/tes_time.cpp.hex"
avrdude: writing flash (2304 bytes):
Writing | ################################################## | 100% 0.97s
avrdude: 2304 bytes of flash written
avrdude: verifying flash memory against C:\Users\Exolon\AppData\Local\Temp\build4110971165970325375.tmp/tes_time.cpp.hex:
avrdude: load data flash data from input file C:\Users\Exolon\AppData\Local\Temp\build4110971165970325375.tmp/tes_time.cpp.hex:
avrdude: input file C:\Users\Exolon\AppData\Local\Temp\build4110971165970325375.tmp/tes_time.cpp.hex contains 2304 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.90s
avrdude: verifying ...
avrdude: 2304 bytes of flash verified
avrdude done. Thank you.
Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .
Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
это происходит во время первой заливки сктча через UART, не смотря на сообщение он всётаки записывается и работает но загрузчит похоже слитает и болие не работает
мне ещё не совсем понятен вход PEN он вроде нужен лиш для записи загрузчика, значит при работе с UART его можно не использовать или всё таки нужно ?
exolon, что значит нет программатора? Любая дуня программатор. Пример командной строки вы же сами приводили из логов. Только чуть сменить параметры, и всё.
PEN да, похоже только для шитья через SPI.
всётак дело в сборке, поставил IDE 1.0.5 залил с помощью него загрузчик, следом записал несколько скетчей подряд, вернулся к версии IDE 1.6.3 также записал несколько скейчей подряд, отсуда я придпологаю что в версии 1,6,3 загрузчик встаёт криво или включает какой то второй режим, поставил светодиод на 17 лапу как написанно в статье http://arduinoexplained.blogspot.ru/2012/03/custom-board-programming-on-... обнаружил нечто странное
загрузчик установленный в 1,6,3 маргает 2 раза как я понял ждёт загрузки с UART2 но писаться от туда не хочит а при записи через UART1 запирает или портит загрузчик
загрузчик установленный в 1,0,5 маргает 1 раз что как я понял принимает UART1, подключаю и свободно пишу скетч загрузчик остаёться на месте и светодиод болие не маргает
в общем всё хорошо скетчи заливаются и вновой и старой версии IDE
думаю те кто будит собирать ардуино на atmega128 сможет лучше разобраться почиму так а я лиш поять умею да кнопки тыкать )))
exolon, вы так пишете, словно о каких то двух вариантах загрузчика. Но он же всего один, и ещё вообще нет не в какой версии, вы его ставите из апдейт-пакета с сайта chip45.com. Скорее всего у вас какой-то неконтакт был, и "терялись байтики".
возможно и так, у меня почти нет опыта в подобных вещах
Я тоже пилю свою ардуину на 128 меге.
Для 128 меги симпатичные готовые платки продают, с ком-портом и всякими кнопками..
Только нафига всё это нужно, вот в чём вопрос :)
Платы хорошие, но мой вариант мне больше нравится. Я закупился такими: 2* $13.00 Free shipping 5x ATMEL ATMega128 AVR Development Board DIY PCB bare board
Мне они достались по $2.89 за шт. Приехали такие платы:
Китаец прислал полный комплект документации для них. Есть все кроме герберов :)
Себестоимость одной ардуины получилась $4.73 - довольно неплохо. Правда светодиоды и стабилизаторы были закуплены про запас.
Для сборки этих ардуин было закуплено:
В данный момент я допаиваю платы, несколько штук уже готово. Они шьются и работают, по SPI шьются несколько минут. Загрузчик еще не зашил в них.
Хочется купить к ним недорогой JTAG отладчик с али, тем более что JTAG порт удобно выведен.
А где такое счастье 10PCS ATMEGA128A-AU за 5$ ?
Брал на алиэкспрессе у нового продавца, китаец наверное ошибся когда цену выставлял или захотел себе хороших отзывов по быстрому. Потом он поднял цену до 1$ за шт.
Если время от времени мониторить цены на али, там много интересного можно купить процентов на 30-40 дешевле обычной цены: ATMEGA8A $0.43 / шт или ATMEGA128A $0.70 / шт.
+ иногда на али купоны разыгрывают, так что цена с купоном будет еще ниже.
Эти китайские платы работают отлично.
При желании можно вывести DTR вместо вывода PEN и добавить кондеры фильтра по питанию близко к камню https://www.dropbox.com/s/9ypdq4pxe1pgcc7/_DTR_mod.jpg?dl=0
плучилась хорошая макетка на 128, жалко не могу подружить её с rf22b, ну что же, сделаю на ней 8 канальный осцилограф или ещё кокой монитор , поробоую взять то что написанно в библиотеке rf22d, сделаю на atmtut 2560, думаю сделать по этой же технологии, магетка + мк + кварц
Спасайте, у меня баян:
Это вывод из Arduino IDE 1.0.5
Программатор - Arduino Nano, подключение - 10:reset, 11:PE0, 12:PE1, 13:SCK
Есть сомнения по 11 и 12 ноге что они перепутаны, но поведение тоже самое при переворачивании.
Похоже все любители 128 мег разбежались и ни одного не осталось :)
Показалось неверно фьюзы, ошибся я. Попробуйте версию ИДЕ 1.6.5, там дудка свежее 6.0.1.
Я с 128 не общался, но по даташит ресет 20, sck 11, mosi 12, miso 13
А также по даташиту PE0 2 нога RX, PE1 3 нога TX. Вы уточните.
Про подключение писал exolon, да и std тоже собирал, но видимо я тупой совсем или сгорел мой камень.
1.6.5 тоже пробовал:
Он долго сопротивлялся, но все-таки уговорился:
Это типа как: ну пожалуйста... неа нуууу ... неа нуууу.... ладно, так и быть. Раза с 10 до следующего тыка. Поставил опцию -F на программатор, сигнатура 0х780000. Иногда проскакивала правильная.
Если вдруг кто будет шить через Arduino ISP пишу соединения: D10->Reset, D11->PE0, D12->PE1, D13->PB1
Шил на скорости 9600 (правил программу и настройки программатора).
Народ, подскажите что делаю не так, не получается на IDE 1.5.8 добавить crumbuino128 . при попытке заливки даже стандандартного Blink :
crumbuino128.upload.tool=avrdude
вам обязательно в 1.5.8? у меня в 1.6.9 есть, могу выложить если надо
в принципе можно и старшие версии . Как добавили то? или просто заменили файлы?
попробовал в установленной 1.6.5 добавить а потом и вовсе заменить файлы - нифига , пишет
Ошибка при загрузке: пропущен 'upload.tool' параметр конфигурации
подумал что ему .variant не понравился в boards.txt , стер там crumbuino128.build.variant=crumbuino128 тож не помогло.
никогда не меняю файлы, только добавляю что мне нужно
http://arduino.ru/forum/obshchii/atmega-128a-au-vneshnyaya-sram-62256-74hc753-proboval-li-kto-sobirat#comment-198137
благодарю за столь быстрый ответ! одновременно победился!
добавлял в boards.txt где описывалась crumbuino128
crumbuino128.upload.tool=avrispmkii - нет
crumbuino128.upload.tool=usbasp - нет
crumbuino128.upload.tool=avrdude - помогло !!!
получилось такое рабочее описание:
Потом глянул ваш файл, там тож atmega128.upload.tool=avrdude :
// вроде пока всё заработало, были сомнения по остальным файлам типа в wiring_analog.c
// вроде пока всё заработало, были сомнения по остальным файлам типа в wiring_analog.c
у меня уже все добавлено
Вот ребята постарались https://github.com/MCUdude/MegaCore
https://github.com/MCUdude/MightyCore
А где такое счастье 10PCS ATMEGA128A-AU за 5$ ?
самая выгодная цена для них на лоты по 20шт, сейчас такой лот можно купить чуть дороже 800р
В данный момент я допаиваю платы, несколько штук уже готово. Они шьются и работают, по SPI шьются несколько минут. Загрузчик еще не зашил в них.
Хочется купить к ним недорогой JTAG отладчик с али, тем более что JTAG порт удобно выведен.
шансов, что заработает почти нет. Эти китайские клоны работают только с 4й версией атмел студии и то только если повезет
да и использовать железную отладку с ардуино неудобно, тогда имеет смысл писать на обычном Си/С++
Тема про атмега128 зачетная, при цене 40р за корпус, с 128к памяти и еще кучи всего сладкого у атмега128 реально нет конкурентов. Атмега328 при цене в полтора-два раза выше выглядит сильно скромнее и выигрывает только по энергопотреблению
использую 128ю и как ардуину и как не ардуину. В режиме ардуины по мне удобнее использовать ее без загрузчика. Прекрасно шьется по ISP, особенно удобно это делается из visualmicro который поддерживает заливку кроме бутлоадера еще через несколько разных ISP програматоров.
Взял платки как в сообщение Immortal
Не совсем понятно как прошить Atmegy.
MISO и MOSI приведены на PE0 и PE1. Моя USBTiny через SINAProg соответсвенно ее не видит. Подскажите, что надо сделать?
MISO и MOSI приведены на PE0 и PE1. Моя USBTiny через SINAProg соответсвенно ее не видит. Подскажите, что надо сделать?
все правильно, у 128 по ISP это - PE0, PE1, SCK, RST, VCC, GND
http://arduino.ru/forum/apparatnye-voprosy/crumbuino-128-svoimi-rukami#comment-135164
если есть ардуина, то прошивайте через нее как "Arduino as ISP" через IDE
Вот тут всё подробно и очень удобно https://github.com/MCUdude/MegaCore
Вот тут всё подробно и очень удобно https://github.com/MCUdude/MegaCore
О, крутяк , новый загрузчик MegaCore на замену crumbuino , молодцы постарались!!!
и к томуже самоустанавливающаяся поддержка этих плат для IDE
https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
под итожу что нашел:
простое использование много разных кварцев чрез выбор в меню плат
перенесен индикаторный светодиод с 17pin на 15pin ATmega128 для согласования со стандартными скетчами где светодиод на 13
и к тому-же теперь работают внешние прерывания INT0-7
и пинов больше 52 против 50 ( http://download.chip45.com/Crumbuino-128_infosheet.pdf т.к. 2 пина ранее были отданы под второй кварц=32.768)
Прошивал загрузчик посредством второй Arduino , так гораздо проще , ибо IDE сама шьёт ещё и фьюзы и в зависимости от выбранной платы в IDE
источник https://github.com/MCUdude/MegaCore#why-add-arduino-support-for-these-microcontrollers
распиновка и схема:
для совместимости со стандартными скетчами, ранее в Crumbuino добавлял светодиод на 13 (PB5 - 15пин Atmega128), а в этом загрузчике MegaCore он по умолчанию на этом правильном месте.
ВНИМАНИЕ ! для тех кто впервой - как прошить загрузчик MegaCore в atmega128a :
1. устанавливаем IDE 165 или выше
2. "Файл" -> "Настройки" -> "Дополнительные ссылки для Менеджера плат" -> жмем на кнопку и добавляем ссылку https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json
3. "Инструменты" - "Плата..." - "Менеджер плат" - внизу списка через инет подтянется "MegaCore ..." кликнуть его и нажать Установка (для IDE166 возможно надо закрыть и снова открыть "Менеджер плат")
Далее для прошивки загрузчика (если старый с chip45.com то его надо менять на MegaCore ! )
0. собираем минимальную обвязку для ATMega128 по указанной схеме: кварц, +5в через резистор 10ком на ресет (20пин) , кондеры на питание и для программатора заливки скетчей 0,1мкф (100nF) . PEN 1пин не трогаем.
1. для роли программатора берём ардуино какая есть , правильно выбираем соответственно её плату и порт в IDE
2. заливаем скетч "Файл"->"Примеры"->"ArduinoISP"
3. подключаем к ардуинке-программатору наш ATMega128. В залитом скетче написано какие пины ардуинки взять для программирования и подключить к atmega128
пины ардуинки (uno,nano,mini) -> выводы atmega128a
GND ->22pin,
+5v ->21pin,
D10pin (reset) ->20pin (reset),
D11pin (mosi) ->2pin (mosi),
D12pin (miso)->3pin (miso),
D13pin (sck)->11pin (sck),
// если у нас ардуинка мега2560 в роли программатора , то от нее 53pin(reset) 51p(mosi) 50p(miso) 52p(sck)
4. "Инструменты"->"Плата..."->"ATmega128"
5. выбираем соответственно кварцу что припаяли к меге128 "Инструменты"->"Clock..."
6. "Инструменты"->"Программатор..."-> Arduino as ISP ( не перепутать с AruinoISP ! ! ! )
6.5 жамкнем ресет на ардуинке, подождем 5-10 секунд.
7. "Инструменты"->"Записать Загрузчик"
всё! если всё правильно, доп.светодиод на PIN 13 (PB5 - 15пин Atmega128) будет подмигивать по 2 вспышки.
при подключении для заливки скетчей по uart + dtr ( на схеме это FTDI header ) , не забываем обратно выбрать программатор "Инструменты"->"Программатор..."-> AVRISP mkII
Если у вас двухсторонняя макетка , то дорожки после кварца надо резануть, чтоб на них снизу ничего не ловилось и не вешало контроллер.
//// у этих разработчиков ещё гора поддерживаемых AVR https://github.com/MCUdude
вот такие прикольные MegaCore arduino на ATmega128 получились и изделие с SPI TFT ili9341 на ней:
ну раз такая поддержка пошла, то можно теперь и 20МГц брать :)
кварцы 2*6мм брал здесь http://ru.aliexpress.com/item/Free-shipping-10pcs-Cylindrical-column-crystal-oscillator-2-6-206-DIP-2-16MHZ-16M-16-000MHZ/32600638606.html и http://ru.aliexpress.com/item/Free-shiiping-20pcs-2-6-16MHz-Error-20ppm-20pF-Cylinder-quartz-resonator/32323805290.html - у этого продавца в описании товара есть целая таблица всех типоразмеров и номиналов кварцев со ссылками на продажу в наличии .
платки разные по размеру брал здесь http://ru.aliexpress.com/item/Hot-sale-Free-shipping-FQFP-TQFP-32-44-64-80-100-LQFP-SMD-DIP-0-5/32407701680.html и http://ru.aliexpress.com/item/5pcs-lot-FQFP-TQFP-32-44-64-80-100-LQF-SMD-turn-dip-0-5-0/32613582446.html
Атмеги у разных продавцов.
по началу лучше конечно брать у разных продавцов, а то можно прождать впустую 3 месяца, так ничего и неприйдёт.