Turbo Arduino на 32 МГц

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Попробовал разогнать ардуину на 32 Мгц, вроде всё работает. Новый бут скомпилил -тоже работает без проблем. Правда предупреждаю -сильно не гонял, так что если что просьба не винить :)  Использовал не кварц, а кварцевый генератор на 32Мгц. Но сути не меняет, работало устойчиво даже с фузами для кварца. Бутлоадер на новую частоту компилится простейшей строчкой: omake.bat  AVR_FREQ=32000000L atmega328  думаю каждый сможет под свой кварц скомпилить. Но в последних версиях ARDUINO IDE нет полного комплекта нужных файлов, нужно взять старую, я компилил в  1.05

Блок для boards.txt

my.name=Arduino 32MHz
my.upload.tool=avrdude
my.upload.protocol=arduino
my.upload.maximum_size=32256
my.upload.maximum_data_size=2048
my.upload.speed=115200
my.bootloader.tool=avrdude
my.bootloader.low_fuses=0xFF
my.bootloader.high_fuses=0xDE
my.bootloader.extended_fuses=0x05
my.bootloader.unlock_bits=0x3F
my.bootloader.lock_bits=0x0F
my.bootloader.file=optiboot/arduino_32MHz.hex
my.build.mcu=atmega328p
my.build.f_cpu=32000000L
my.build.board=AVR_UNO
my.build.core=arduino
my.build.variant=standard

Я думаю любителям собирать показометры должно быть интересно :)

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

не греется?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Возможно delayMicroseconds нужно проверить и при необходимости поправить. Плюс если это какая нибудь Леонардо (с USB), могут быть глюки, а так вроде бы должно пахать без проблем (с т.з. софта). Короче, легче пробежаться по исходникам и поискать F_CPU, там всё сразу видно. Разумеется я про то, что если использовать стандартную Arduino IDE с её wiring.

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Не греется, но...  Поспешил я обрадоваться. Глючит на 32МГц, просто на всякой ерунде не проявляется. Достаточно загрузить серьёзным вычислением -и вуаля -висит или всякий бред выдаёт. Конкретно подвисает на таком тесте через несколько секунд после старта:

static uint16_t n;
float x= (float)n*PI;
Serial.println(x);
n++;

Вобщем ну его, эти разгоны,  и так скорости хватает.. :-)

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

раз кочегарили, можно было элементом пельтье попробовать охлаждать :), 2мя друг над дружкой для большего мороза .  и питание поднять. Кто разгонял до 65Мгц , пишет "Для сравнения, 5В стабильная максимальная частота 32.5Mhz в 8V только 37Mhz."

Вот такая arduino изначально на 32MHZ идёт, вот бы попробовать в варианте мини(пинов больше) а не уно

http://www.aliexpress.com/item/Iteaduino-Lite-LGT8F88A-Development-Board-Compatible-Arduino-Free-shipping/32418220543.html

LGT8F88A

Overview:

Iteaduino Lite is a new mainboard based on LGT8F88A compatible with interfaces. With 14 digital input and output pins (of which 6 pins can be used for PWM output), 6 analog inputs and SWD debug interface, the operating frequency can reach up to 32MHz. Compared to other mainboards, it runs faster with more powerful functions. It is compatible with most of Arduino libraries



Features:

1. Adopting LGT8F88A chip

2. GPIO interface breaks out electronic brick interface

3. Adopting high-efficiency DCDC supply with wider input range

4. Selectable operating level: 3.3V/5V



Specification:

Microcontroller:LGT8F88A

Max Frequency:32MHz

RAM Capacity:1K

FLASH Capacity:8K

Power Supply:7~24V DC

I/O Operation Level:3.3V/5V

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Нашёл кварц на 25Мгц, скомпилил под него булоадер, залил. Работает.  Загрузил тот-же тест, на котором ардуина на 32МГц висла -полчаса полёт нормальный :)

AleksLux
Offline
Зарегистрирован: 23.04.2017

Можете подробнее пояснить? какие действия надо произвести и в каких файлах чтоб зашить бутлоадер скажем под 30 мгц. Спасибо

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Dimax, как понимаю Вы экспериментировали с 328 камнем, так? Интересно, способна ли ATmega128A и Atmega2560 на разгон частоты? Удобства для интересен разгон до 20Мгц .. потянут? Кто-то пробовал? На этой частоте длительность такта 50нс, что позволяет реализовать millis() без "проскоков" и вычислений fract частей в обработчике прерывания.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, думаю 4МГц не тот разгон, что б переживать.  Так что смело ставьте кварц на 20 :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

До сих пор не сталкивался с ситуациями где-бы не хватило тактовой частоты в 16Мгц, так что в целом, я не вижу необходимости в разгоне, кроме как в упрощении перехода от тактовой частоты к системе учета времени - так любимый всеми кривой и косячный millis(). 20Мгц позволяет устранить эту "идиосинкразию", только и всего. :)

Шукал по сетям, и как понял, что атмелы гонятся тем хуже, чем больше у них флеша. Видимо на дешифрацию адреса требуется время... так что вопрос про 20Мгц для ATmega2560 - отнюдь не праздный: можно или нет? У кого-то - получилось поднять частоту 2560?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Многие новые уже работают на 20MHz без всякого разгона http://www.atmel.com/ru/ru/devices/ATMEGA328P.aspx

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Гугл расскажет  :)  "overclock atmega2560"

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Х-мм. Искал-с. Проверил ишо раз .. ничего акромя переходов на 328 камень да таких же вопрошаек типа меня - не обнаружено. Может ваш "персонифицированный" поиск гугля выдает что-то вразумительное? Бросьте в меня ссылкой. :)

alex_r61
Offline
Зарегистрирован: 20.06.2012
Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Вторая ссыль - ниачем. Разгон в жидком азоте - интересен только для продвижения рекламы на ютубах: посмотреть занятно но и только. Заодно можно рекламу впендюрить. Кстати он тоже про 328 камень..

Первый ролик практически тоже ни очем, но в нем есть ссыль на текстовую часть. Интересный подход по колодке для кварца .. но это всё что смог автор продемонстрировать. Сам же пишет "возможны глюки" и "надежность работы 90-95%" .. где тесты, проверки - глючит конкретно его экземпляр на конкретно этой частоте или таки нет? Нипанятна: "что было то вставил" .. так глючит или нет? :)

AleksLux
Offline
Зарегистрирован: 23.04.2017

подскажите наконец как бутлоадер то скомпилить?))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

AleksLux, в топике читать со слов "Бутлоадер на новую частоту компилится..."

AleksLux
Offline
Зарегистрирован: 23.04.2017

dimax пишет:

AleksLux, в топике читать со слов "Бутлоадер на новую частоту компилится..."

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

В общем, из того что мне удалось нагуглить по этому вопросу: чем больше у камня флеш - тем хуже он гонится. 128-ю мегу, вроде как удается разогнать до 24Мгц тем более что оказывается в старой версии они и так выпускалась до 20Мгц, 2560 - похоже что "фигвам", возможно только 20мгц и то примеров где полноценно тестирован разгон - так  и не нашел ... 1280, 1284 вроде как тоже ещё можно. 328-ю народ устойчиво гонит до 32Мгц.

Для пользования в ИДЕ надо делать свое описание в boards.txt и скомпилять свой загрузчик под частоту разгона. Компилять: вроде как надо указать стандартному make новую частоту проца и только, но не уверен... можно посмотреть на гитхабе у MegaCore как они делают..

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

AleksLux, потому что никто не пишет инструкции на очевидные вещи. Изучите winavr, что это , с чем едят, как устанавливают, что такое makefile, как компилируют программы. Скомпилируйте какие-нибудь примеры.  Потом найдёте исходник оптибута в пакете Arduino IDE, или лучше скачаете полный пакет, в нём есть своя докуемнтация,  по ней скомпилируете то что нужно. 

AleksLux
Offline
Зарегистрирован: 23.04.2017

dimax пишет:

AleksLux, потому что никто не пишет инструкции на очевидные вещи. Изучите winavr, что это , с чем едят, как устанавливают, что такое makefile, как компилируют программы. Скомпилируйте какие-нибудь примеры.  Потом найдёте исходник оптибута в пакете Arduino IDE, или лучше скачаете полный пакет, в нём есть своя докуемнтация,  по ней скомпилируете то что нужно. 

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

AleksLux
Offline
Зарегистрирован: 23.04.2017

dimax пишет:

AleksLux, потому что никто не пишет инструкции на очевидные вещи.

да они настолько очевидные , что все бьются и мастырят инструкции в том числе и в роликах с помощью костылей) например без переделки лоадера, и перед каждой прошивкой перепаивая кварц)) сказал же, люди не волокут в этом, даже в этой теме выше уже возникают вопросы, если вам лень надуться показать. то не надо надуваться учить жизни. обойдемся)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

AleksLux, вы напрасно обижаетесь. Я не советовал вам ничего такого, чего бы не делал сам в своё время, когда начинал изучать МК. Всё нужно пройти от самого начала, иначе любая трудность вас будет ставить в тупик. А трудности обязательно будут.

AleksLux
Offline
Зарегистрирован: 23.04.2017

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

в общем все проехали

 

AleksLux
Offline
Зарегистрирован: 23.04.2017

dimax пишет:

AleksLux, в топике читать со слов "Бутлоадер на новую частоту компилится..."

Потратил немного времяни и раскрыл тайну за 7ю печатями))

на сегодня это самый вменяемый мануал, который удалось найти)) хоть и не на Русском. https://www.youtube.com/watch?v=93dSfEczqgk&t

Кому интересно, и все же не доходит, могу написать инструкцию.)) Всем добра

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

AleksLux пишет:

dimax пишет:

AleksLux, в топике читать со слов "Бутлоадер на новую частоту компилится..."

Потратил немного времяни и раскрыл тайну за 7ю печатями))

на сегодня это самый вменяемый мануал, который удалось найти)) хоть и не на Русском. https://www.youtube.com/watch?v=93dSfEczqgk&t

Кому интересно, и все же не доходит, могу написать инструкцию.)) Всем добра

два года прошло, инструкции так и нет...