Crumbuino-128 своими руками

Olm
Offline
Зарегистрирован: 09.10.2014
Сделал себе ардуину на атмеге 128.
 
 
Далее есть поект ардуины на 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 конвертера типа такого
 Только reset приходится держать до появления надписи "загрузка" для прошивки скетча 
 
В общем работает, можно двигаться в экспериментах дальше. Для конечных изделий полюбому надо осваивать фоторезист или ЛУТ. В скором времени должны прехать материалы для фоторезиста, буду пробовать.
 
bwn
Онлайн
Зарегистрирован: 25.08.2014

Симпатично, а вопрос то в чем?  Быстрее уж в проекты)))

Olm
Offline
Зарегистрирован: 09.10.2014

Да подумал  не тянет на проект, скорее вопросы и темы по железу

bwn
Онлайн
Зарегистрирован: 25.08.2014

Olm пишет:

Да подумал  не тянет на проект, скорее вопросы и темы по железу

Ну не знаю, на мой взгляд, вполне законченное, достаточно функциональное устройство. А то, что деталей мало, это ведь ему работать не мешает)))

exolon
Offline
Зарегистрирован: 20.05.2015

очень интересный проэкт, благо руки на месте и спаять такое не сложно, а можите мне помочь с Boards.txt для версии IDE 1,6,3 на 8Мгц и желательно без проверки по питанию, сам я такое не напишу знаний нехватает

Olm
Offline
Зарегистрирован: 09.10.2014

Да залепа а не проект:))) Я уже фоторезист освоил, и теперь рисую и травлю как мне удобно. Чтоб загрузчик зашить и фьюзы поменять все равно нужен ISP программатор, его вроде можно из ардуины временно сделать если под рукой нет, но я сам так ниразу не делал, так как есть отдельный программатор. И удобно через SinaProg их редактировать, там сложно чего-то перепутать, только галочки ставь на тех параметрах которые нужны, главное spi программирование не отключить. 

На 8 мегагерц от внешнего кварца:

crumbuino128.name=Crumbuino-128 w/ ATmega128
 
crumbuino128.upload.protocol=arduino
crumbuino128.upload.maximum_size=126976
crumbuino128.upload.speed=28800
 
crumbuino128.bootloader.low_fuses=0xFF
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

 

А от внутреннего  генератора на 8Мгц:

crumbuino128.bootloader.low_fuses=0xE4

Только  будет по uart прошиваться на скорости 28800 на восьми мегагерцах

exolon
Offline
Зарегистрирован: 20.05.2015

на скорую руку если ничего нет кроме паяльника то и это хорошо), спаяю покрасивше, спасибо за лодер спаяю буду пробовать )

exolon
Offline
Зарегистрирован: 20.05.2015

надеюсь оно будит работать на пороге напряжения от 2,7 до 3,3 вольт ?

atmega 328 получалось её кормить от 2 воль без проверки на питании, хотелось бы и atmega128 тоже довадить до голодного пайка

exolon
Offline
Зарегистрирован: 20.05.2015

в общем пока не получилось, можите подсказать в чём может быть дело, в качестве программатора использовал другаю ардуино, беспроблем шил ей атмегу 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.

Ошибка при записи загрузчика

Olm
Offline
Зарегистрирован: 09.10.2014
Если Атмега 128 новая, то скорее всего она на внутреннем генераторе работает на частоте 1мгц.
Вы хотите ее запустить на внутреннем генераторе 8 мгц без контроля напряжения Brown-out detection , для этого надо изменить:
 
crumbuino128.bootloader.low_fuses=0xE4
crumbuino128.upload.speed=28800
 
скорость прошивки 28800бит/с  для 8 мегагерц  по uart получается
 
Если ардуина на атмега 328 у вас прошивается через  ArduinoISP програматор нормально,  то прошейте загрузчик Crumbuino128 этим ArduinoISP програматором выбрав плату Crumbuino128 и нажав записать загрузчик.
Далее по идее атмега 128 должна у вас прошиваться по uart также как остальные
PE0 - RX
PE1-  TX
 
UPD: Да, если Вы пытались записать загрузчик со стандартными параметрами low_fuses=0xFF , 
то теперь атмега 128 хочет внешний кварц.
exolon
Offline
Зарегистрирован: 20.05.2015

всё отлично.

правда был упущен момент правильности подключения мк

ВНИМАНИЕ !

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)))))

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Для 128 меги симпатичные  готовые платки продают, с ком-портом и всякими кнопками..

Только нафига всё это нужно, вот в чём вопрос :)

std
Offline
Зарегистрирован: 05.01.2012

Про Serial выводы (PE0, 1) вместо MISO, MOSI уже где-то попадад.... а не, теперь помню.

Пачан на ЯПлакалъ хвастался панелью на девятку, со светиками в спидометре и экраном, очень эффектная панель кстати. Так вот, правильная разводка была подсмотрена у него. До этого никакое чесание репы не помогало выяснить, почему же она, скотина, не прошивается...

dimax, зачем? Больше ног. Больше мозгов. Не так много как у Atmega1284, но зато 128я и не такая дорогая.

spa-sam
Offline
Зарегистрирован: 14.12.2012

Цена отличная, ноги, память...замечательное соотношение всего....сам себе подзаказал. Спасибо за напутствие!)

http://ru.aliexpress.com/item/5PCS-ATMEGA128A-AU-ATMEGA128A-ATMEGA128/32225252031.html

exolon
Offline
Зарегистрирован: 20.05.2015

ребята, не могу понять что я делаю не так, после записи скетча через 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

ладно подумал я, записал загрузчик заного, потом беспроблеи записал скетч. и решил проберить а запишится ли он ещё, история повторилась.

я так пологаю скетч затирает загрузчик.

как это предотвратить ?

 

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

exolon, видимо фузики bootsize не правильно стоят..

Olm
Offline
Зарегистрирован: 09.10.2014
За длинну резервной области для загрузчика отвечает  crumbuino128.bootloader.high_fuses=0xDA
такие настройки High Fuse= 0xDA  означают:
 
Разрешить внутрисхемное программирование (SPI); [SPIEN=0]
Boot Flash section size=2048 words Boot start address=$F800;
Переход к загрузчику после сброса ; [BOOTRST=0]
 
Те 2 килобайта под загрузчик резервирует, должно работать по идее.
 
Вот первый попавшийся онлайн калькулятор, вроде без ошибок
 
exolon
Offline
Зарегистрирован: 20.05.2015

я пологаю ничего не напутал

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 работает не корректно.

может предложите другую сборку ?

 

Olm
Offline
Зарегистрирован: 09.10.2014

Не знаю насчет сборки 1.6.3, не пробовал. У меня  на 1.0.6 все работало

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

exolon, медитировать над конфигами бессмысленно, ясный день что они рабочие. Я бы снял дамп фузов и всей прошивки сразу после заливки бутлоадера программатором,  и то-же самое после неудачной заливки через UART. Сравнить фузы, сравнить дампы, и будет видно что дальше делать..

exolon
Offline
Зарегистрирован: 20.05.2015

у меня больше нет программатора (

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 его можно не использовать или всё таки нужно ?

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

exolon, что значит нет программатора? Любая дуня программатор. Пример командной строки вы же сами приводили из логов. Только чуть сменить параметры, и всё.

PEN да, похоже только для шитья через SPI.

 

Olm
Offline
Зарегистрирован: 09.10.2014
PEN к напряжению питания подтянуть и всё, можно через резистор, можно вообще его не трогать так как у него  внутренний подтягивающий резистор в даташите на схеме на стр 50
Из даташита:
 
PEN is a programming enable pin for the SPI Serial Programming mode, and is internally pulled
high . By holding this pin low during a Power-on Reset, the device will enter the SPI Serial Programming
mode. PEN has no function during normal operation.
 
В схеме crumbuino  он просто к питанию подключен.
 
На схеме из даташита Сигнал  PEN подтянут к питанию внутренне и идет на триггер который защелкивает состояние сброса когда на PEN подаем 0, и даже если  потом обратно питание возвращаем на PEN, то состояние сброса не уходит
 
Я немного щас поэксперементировал и у меня получилось что если в момент подачи питания на контроллер, на PEN подан 0, то контроллер переходит в состояние SPI программирования даже если на   RESET +5в.
Если на контроллере уже есть питание, то  при подаче нуля на PEN, в режим программирования не входит если на RESET +5в
 
Люди пишут что не стоит заморачиваться с этим PEN, оставить как есть- на внутренней подтяжке, или снаружи дополнительно подтянуть к питанию и забыть про него, а использовать как на всех остальных контроллерах RESET.
 
exolon
Offline
Зарегистрирован: 20.05.2015

всётак дело в сборке, поставил 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 сможет лучше разобраться почиму так а я лиш поять умею да кнопки тыкать )))

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

exolon, вы так пишете, словно о каких то двух вариантах загрузчика. Но он же всего один, и ещё вообще нет не в какой версии, вы его ставите из апдейт-пакета с сайта chip45.com. Скорее всего у вас какой-то неконтакт был, и "терялись байтики".

exolon
Offline
Зарегистрирован: 20.05.2015

возможно и так, у меня почти нет опыта в подобных вещах

Immortal
Offline
Зарегистрирован: 28.12.2013

Я тоже пилю свою ардуину на 128 меге.

dimax пишет:

Для 128 меги симпатичные  готовые платки продают, с ком-портом и всякими кнопками..

Только нафига всё это нужно, вот в чём вопрос :)

Платы хорошие, но мой вариант мне больше нравится. Я закупился такими: 2* $13.00 Free shipping 5x ATMEL ATMega128 AVR Development Board DIY PCB bare board

Мне они достались по $2.89 за шт. Приехали такие платы:

Китаец прислал полный комплект документации для них. Есть все кроме герберов :)

Себестоимость одной ардуины получилась $4.73 - довольно неплохо. Правда светодиоды и стабилизаторы были закуплены про запас.

Для сборки этих ардуин было закуплено:

Ардуино на ATmega128 Цена $ ШТ Цена 1 шт Где было куплено
10pcs PL2303HX 4.09 10 0.409 http://www.aliexpress.com/item/5-PCS-lot-ATmega128-mega128-AVR-core-minimum-system-board-development-board-PCB-bare-board/1468159214.html
10pcs ATmega128 Development board 28.92 10 2.892 http://www.aliexpress.com/item/10pcs-ATmega128-Development-board-PCB-board-space-2-54mm-PIN/717676331.html
10PCS ATMEGA128A-AU 5 10 0.5  
20pcs 16 MHz quartz 1.25 20 0.0625  
10pcs 12 MHz quartz 1.44 15 0.096  
L1 100uH 0805 1.28 20 0.064  
0805 led Blue 200PCS/LOT 2.95 200 0.01475  
0805 led Green 200PCS/LOT 2.95 200 0.01475 http://www.aliexpress.com/item/0805-Smd-leds-led-Green-bright-double-200PCS-LOT/1770951292.html
50pcs Power Micro Switch 3.76 50 0.0752 http://www.aliexpress.com/item/New-original-50pcs-8-5mm-x-8-5mm-Push-Tactile-Power-Micro-Switch-Self-lock-On/1919922704.html
50Pcs AMS1117 LM1117 5V 1A SOT-223 4.32 50 0.0864 http://www.aliexpress.com/item/Free-Shipping-50pcs-AMS1117-5-0V-AMS1117-1117-5V-1A-Voltage-Regulator-LDO-SOT-223/1191872850.html
Reset tact button 0.01 1 0.01 уже были в наличии
10PCS 40Pin 2.54mm Double Row Straight Male Pin Header 2 10 0.2 www.ebay.com/itm/180974302014
10 pcs 10 pin 2.54 IDC Socket 3 10 0.3 www.ebay.com/itm/180970978706
Total: 60.97   4.7246  

 

Immortal
Offline
Зарегистрирован: 28.12.2013

В данный момент я допаиваю платы, несколько штук уже готово. Они шьются и работают, по SPI шьются несколько минут. Загрузчик еще не зашил в них.

Хочется купить к ним недорогой JTAG отладчик с али, тем более что JTAG порт удобно выведен.

Olm
Offline
Зарегистрирован: 09.10.2014

А где такое счастье 10PCS ATMEGA128A-AU  за 5$ ?

 

Immortal
Offline
Зарегистрирован: 28.12.2013

Брал на алиэкспрессе у нового продавца, китаец наверное ошибся когда цену выставлял или захотел себе хороших отзывов по быстрому. Потом он поднял цену до 1$ за шт.

Если время от времени мониторить цены на али, там много интересного можно купить процентов на 30-40 дешевле обычной цены: ATMEGA8A $0.43 / шт или ATMEGA128A $0.70 / шт.

+ иногда на али купоны разыгрывают, так что цена с купоном будет еще ниже.

Immortal
Offline
Зарегистрирован: 28.12.2013

Эти китайские платы работают отлично.

При желании можно вывести DTR вместо вывода PEN и добавить кондеры фильтра по питанию близко к камню https://www.dropbox.com/s/9ypdq4pxe1pgcc7/_DTR_mod.jpg?dl=0

 

exolon
Offline
Зарегистрирован: 20.05.2015

плучилась хорошая макетка на 128, жалко не могу подружить её с rf22b, ну что же, сделаю на ней 8 канальный осцилограф или ещё кокой монитор , поробоую взять то что написанно в библиотеке rf22d, сделаю на atmtut 2560, думаю сделать по этой же технологии, магетка + мк + кварц

nevkon
Offline
Зарегистрирован: 20.01.2015

Спасайте, у меня баян:

C:\arduino-1.0.5-r2\hardware/tools/avr/bin/avrdude -CC:\arduino-1.0.5-r2\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega128 -cstk500v1 -P\\.\COM5 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFF:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\arduino-1.0.5-r2\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [15] 
avrdude: stk500_getsync(): not in sync: resp=0x15

avrdude done.  Thank you.

Это вывод из Arduino IDE 1.0.5

Программатор - Arduino Nano, подключение - 10:reset, 11:PE0, 12:PE1, 13:SCK

Есть сомнения по 11 и 12 ноге что они перепутаны, но поведение тоже самое при переворачивании.

nevkon
Offline
Зарегистрирован: 20.01.2015

Похоже все любители 128 мег разбежались и ни одного не осталось :)

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Показалось неверно фьюзы, ошибся я. Попробуйте версию ИДЕ 1.6.5, там дудка свежее 6.0.1.
Я с 128 не общался, но по даташит ресет 20, sck 11, mosi 12, miso 13
А также по даташиту PE0 2 нога RX, PE1 3 нога TX. Вы уточните.

nevkon
Offline
Зарегистрирован: 20.01.2015

Про подключение писал exolon, да и std тоже собирал, но видимо я тупой совсем или сгорел мой камень.

1.6.5 тоже пробовал:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega128 -cstk500v1 -PCOM5 -b9600 -e -Ulock:w:0x3F:m -Uefuse:w:0xFF:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         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                    : COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 9600
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
         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

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
         Hardware Version: 1970945818
         Firmware Version: -708564502.-2
         Topcard         : STK502
         Vtarget         : 1.8 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10

avrdude done.  Thank you.

Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

 

nevkon
Offline
Зарегистрирован: 20.01.2015

Он долго сопротивлялся, но все-таки уговорился:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega128 -cstk500v1 -PCOM5 -b9600 -F -e -Ulock:w:0x3F:m -Uefuse:w:0xFF:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         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                    : COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 9600
         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.11s

avrdude: Device signature = 0x1e9702
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xFF"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFF:
avrdude: load data efuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xDA"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xDA:
avrdude: load data hfuse data from input file 0xDA:
avrdude: input file 0xDA contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.04s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega128 -cstk500v1 -PCOM5 -b9600 -F -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/ATmegaBOOT_168_atmega128.hex:i -Ulock:w:0x0F:m 
Reading | ################################################## | 100% 0.04s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.


avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         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                    : COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 9600
         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.11s

avrdude: Device signature = 0x1e9702
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/ATmegaBOOT_168_atmega128.hex"
avrdude: writing flash (129342 bytes):

Writing | ################################################## | 100% -0.00s

avrdude: 129342 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/ATmegaBOOT_168_atmega128.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/ATmegaBOOT_168_atmega128.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/ATmegaBOOT_168_atmega128.hex contains 129342 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 129342 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.12s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.03s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.

Это типа как: ну пожалуйста... неа нуууу ... неа нуууу.... ладно, так и быть. Раза с 10 до следующего тыка. Поставил опцию -F на программатор, сигнатура 0х780000. Иногда проскакивала правильная.

Если вдруг кто будет шить через Arduino ISP пишу соединения: D10->Reset, D11->PE0, D12->PE1, D13->PB1

Шил на скорости 9600 (правил программу и настройки программатора).

slider
Offline
Зарегистрирован: 17.06.2014

Народ, подскажите что делаю не так, не получается на IDE 1.5.8 добавить crumbuino128 . при попытке заливки даже стандандартного Blink : 

Arduino: 1.5.8 (Windows XP), Board: "Crumbuino-128 w/ ATmega128"
 
Sketch uses 1 164 bytes (0%) of program storage space. Maximum is 126 976 bytes.
 
Global variables use 9 bytes of dynamic memory.
 
Error while uploading: missing 'upload.tool' configuration parameter
 
  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
 
На версии IDE 1.0.5 заливает и работает , но нужно много дополнительно либ использовать , которые не дружат со старой IDE.
// программировал atmega128a тож через Arduino as ISP  - он хоть и фьюзы сам залил какие надо на кварц 16МГц.
 
//// замечу,
1. по умолчанию индикаторный светодиод висит на pin15  ( PB7 ) , но повешал и дополнительный светодиод на pin13 ( PB5 ) - чтоб стандартные примеры работали. Соответственно на   pin15  ( PB7 ) не надо вешать ни каких реле и тому подобное, ибо при ресете и вкл. микроконтроллера. там появляется импульс.
2. вывод PEN не использовал ни при программировании  , ни при заливке скетчей, он просто висит не подключенный, и без него всё получается.
3. При заливке скетчей вывод DTR с подключаю через кондер 0,1мкф на ресет atmega128. Естественно ресет притянут к + через резистор 10кОм .
 
Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

crumbuino128.upload.tool=avrdude

вам обязательно в 1.5.8? у меня в 1.6.9 есть, могу выложить если надо

slider
Offline
Зарегистрирован: 17.06.2014

в принципе можно и старшие версии . Как добавили то? или просто заменили файлы?

попробовал в установленной 1.6.5 добавить а потом и вовсе заменить файлы - нифига , пишет 

Ошибка при загрузке: пропущен 'upload.tool' параметр конфигурации 

подумал что ему .variant не понравился в boards.txt  , стер там crumbuino128.build.variant=crumbuino128 тож не помогло.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

никогда не меняю файлы, только добавляю что мне нужно

http://arduino.ru/forum/obshchii/atmega-128a-au-vneshnyaya-sram-62256-74hc753-proboval-li-kto-sobirat#comment-198137

 

slider
Offline
Зарегистрирован: 17.06.2014

благодарю за столь быстрый ответ! одновременно победился! 

добавлял в boards.txt где описывалась crumbuino128 

crumbuino128.upload.tool=avrispmkii - нет

crumbuino128.upload.tool=usbasp - нет

crumbuino128.upload.tool=avrdude - помогло !!!

получилось такое рабочее описание:

##############################################################

crumbuino128.name=Crumbuino-128 w/ ATmega128

crumbuino128.upload.protocol=arduino
crumbuino128.upload.tool=avrdude
crumbuino128.upload.maximum_size=126976
crumbuino128.upload.speed=57600

crumbuino128.bootloader.low_fuses=0xFF
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=16000000L
crumbuino128.build.core=arduino
crumbuino128.build.variant=crumbuino128

Потом глянул ваш файл, там тож atmega128.upload.tool=avrdude :

##############################################################

atmega128.name=ATmega128 16Mhz
atmega128.upload.protocol=arduino
atmega128.upload.maximum_size=126976
#atmega128.upload.maximum_data_size=4096
atmega128.upload.speed=57600
atmega128.upload.tool=avrdude
atmega128.bootloader.low_fuses=0xFF
atmega128.bootloader.high_fuses=0xDA
atmega128.bootloader.extended_fuses=0xFF
atmega128.bootloader.path=atmega
atmega128.bootloader.file=atmega/ATmegaBOOT_168_atmega128.hex
atmega128.bootloader.unlock_bits=0x3F
atmega128.bootloader.lock_bits=0x0F
atmega128.bootloader.tool=avrdude
atmega128.build.mcu=atmega128
atmega128.build.f_cpu=16000000L
atmega128.build.core=arduino
atmega128.build.variant=atmega128
atmega128.build.board=AVR_ATmega128

##############################################################

// вроде пока всё заработало, были сомнения по остальным файлам типа в wiring_analog.c

#elif defined(__AVR_ATmega128__)
if (pin >= 43) pin -= 43; // allow for channel or pin numbers 
там же ограничение д.б. 50 пинов , или в других файлах ещё плюсуется, ну да ладно потом если что учту.
Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

slider пишет:

// вроде пока всё заработало, были сомнения по остальным файлам типа в wiring_analog.c

у меня уже все добавлено

spa-sam
Offline
Зарегистрирован: 14.12.2012
axill
Offline
Зарегистрирован: 05.09.2011

Olm пишет:

А где такое счастье 10PCS ATMEGA128A-AU  за 5$ ?

самая выгодная цена для них на лоты по 20шт, сейчас такой лот можно купить чуть дороже 800р

 

axill
Offline
Зарегистрирован: 05.09.2011

Immortal пишет:

В данный момент я допаиваю платы, несколько штук уже готово. Они шьются и работают, по SPI шьются несколько минут. Загрузчик еще не зашил в них.

Хочется купить к ним недорогой JTAG отладчик с али, тем более что JTAG порт удобно выведен.

шансов, что заработает почти нет. Эти китайские клоны работают только с 4й версией атмел студии и то только если повезет

да и использовать железную отладку с ардуино неудобно, тогда имеет смысл писать на обычном Си/С++

Тема про атмега128 зачетная, при цене 40р за корпус, с 128к памяти и еще кучи всего сладкого у атмега128 реально нет конкурентов. Атмега328 при цене в полтора-два раза выше выглядит сильно скромнее и выигрывает только по энергопотреблению

использую 128ю и как ардуину и как не ардуину. В режиме ардуины по мне удобнее использовать ее без загрузчика. Прекрасно шьется по ISP, особенно удобно это делается из visualmicro который поддерживает заливку кроме бутлоадера еще через несколько разных ISP програматоров. 

skf1406
Offline
Зарегистрирован: 06.08.2016

Взял платки как в сообщение Immortal 
Не совсем понятно как прошить Atmegy.

MISO и MOSI приведены на PE0 и PE1. Моя USBTiny через SINAProg соответсвенно ее не видит. Подскажите, что надо сделать?

 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

skf1406 пишет:

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

spa-sam
Offline
Зарегистрирован: 14.12.2012

Вот тут всё подробно и очень удобно https://github.com/MCUdude/MegaCore

slider
Offline
Зарегистрирован: 17.06.2014

spa-sam пишет:

Вот тут всё подробно и очень удобно 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

  • 20 MHz external oscillator
  • 16 MHz external oscillator (default)
  • 12 MHz external oscillator
  • 8 MHz external oscillator
  • 8 MHz internal oscillator *
  • 1 MHz internal oscillator

источник 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

slider
Offline
Зарегистрирован: 17.06.2014

вот такие прикольные 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   - у этого продавца в описании товара есть целая таблица всех типоразмеров и номиналов кварцев со ссылками на продажу в наличии . 

размер	частота	купить ссылки	примечания	категория	количество
3213	16 МГЦ	нажмите здесь	 	кристалл	10 шт./лот
3213	8 МГц	нажмите здесь	10pF	кристалл	10 шт./лот
3215	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	10 шт./лот
3225	12 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	13 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	14.31818 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	16.384 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	16 МГц	нажмите здесь	10ppm	кристалл	10 шт./лот
3225	20 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	25 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	26 МГц	нажмите здесь	20ppm	кристалл	10 шт./лот
3225	27.12 МГц	нажмите здесь	20ppm 10pF	кристалл	10 шт./лот
3225	27 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	30 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	32 МГц	нажмите здесь	20ppm 12pF	кристалл	10 шт./лот
3225	40 МГц	нажмите здесь	20ppm 15pF	кристалл	10 шт./лот
5032	14.318 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	25 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	30 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	32 мГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
6035	16 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
7050	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
8045	8 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
2*6	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	14.31818 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	17.734475 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	24 МГц	нажмите здесь	20ppm 15pF	кристалл	20 шт./лот
2*6	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	20 шт./лот
2*6	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	10.245 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	24 МГц	нажмите здесь	20ppm 15pF	кристалл	20 шт./лот
3*8	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	20 шт./лот
3*8	36 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	1.8432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	19.6608 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2.048 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2.4576 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	3.579545 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	3 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4.194304 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4.5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	49.86 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12.2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	13 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	15 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	16.384 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	17.734475 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	18.432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	19.0699 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	20 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	24 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27.12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27.145 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	28.224 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	28.375 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	29.4912 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	3.579 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	3.6864 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	32 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	33 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	36 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.096 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.332 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.433 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.897 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.9152 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	40 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	48 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	7.2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	7.3728 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	8.192 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	9.6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
MC-146	32.768 КГц	нажмите здесь	 	кристалл	10 шт./лот
MC306	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	10 шт./лот
smd hc-49s	10.245 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	14.318 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	14.7456 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	18.432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	20 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	24.576 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	24 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	27.12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	3.579 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	3.6864 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	32 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4.433 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4.9152 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	48 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	7.3728 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3225	12.288 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
3225	24.576 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
3225	25 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
5032	16 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
5032	16 МГц	нажмите здесь	5 В	генераторы	10 шт./лот
5032	20 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
5032	24 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
5032	33 МГц	нажмите здесь	33 МГц 3.3 В	генераторы	10 шт./лот
5032	8 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	1.8432 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	10 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	11.0592 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	12 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	14.7456 МГц	нажмите здесь	20ppm 5 В	генераторы	10 шт./лот
7050	16 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	16 МГц	нажмите здесь	20ppm 5 В	генераторы	10 шт./лот
7050	19.44 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	20 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	22.1184 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	24.576 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	24 МГц	нажмите здесь	1.8 В	генераторы	10 шт./лот
7050	24 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	2 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	3.6864 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	30 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	32.768 КГЦ	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	32.768 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	40 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	7.3728 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	8 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
 
 

платки разные по размеру брал здесь 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 месяца, так ничего и неприйдёт.