Jump to content

    
Herz

Даталоггер OWHL

Recommended Posts

1 hour ago, Herz said:

И это битрейт 29.6 кбод. На 28.8 (что могло быть, если частота осциллятора вдруг вдвое меньше должной) - белиберда. Выходит, частота совсем какая-то неадекватная, далеко не 8 МГц.

Реально это как-то исправить? Или менять чип?

Чип менять не надо.

Quote

By default, the Internal RC Oscillator provides an approximate 8.0MHz clock. Though voltage
and temperature dependent, this clock can be very accurately calibrated by the user. See
Table
29-10 on page 323
for more details. The device is shipped with the CKDIV8 Fuse programmed.
See
”System Clock Prescaler” on page 36 for more details.

Т.е. ваш мк работает на 1 МГц, примерно.

Чтобы точнее понять какой у вас битрейт на выходе, с учетом заводской калибровки внутреннего RC генератора и с учетом настройки UART. Выводите в UART число 0xAA или 0x55.

И по минимальной длительности нуля или по минимальной длительности единицы по осциллографу вычислить реальный битрейт.

И не плохо было бы разобраться исходя из какой тактовой частоты ваш скетч вычисляет коэффициенты делителя для заданного вами битрейта.

 

И для отсчета времени, в целях избежания переполнения разрядной сетки, лучше делать так

long time_now = millis();
long delta_time = time_now - millisVal;
if(delta_time >= 1000)
{
....
}

 

Share this post


Link to post
Share on other sites

Спасибо. Вроде скетчем должно было быть предусмотрено (изменение?) фьюзов под 8 МГц именно. Почему этого не случилось - непонятно.

Тут вот какое подозрение закралось.

Чип был сдут с модуля Ардуино WAVGAT Nano Mini, купленного здесь. Так что, даже бутлоадер заливать не пришлось. Модуль стоит копейки, дешевле, чем нынче чипы Атмега в розницу покупать.

Выгодное дело.

Но, что интересно: сам чип, как упоминается, "Same as ATMEGA328P", и даже лого на нём "WAVGAT", а не Атмел.

В порядке бреда предположение: что, если китайцы наладили выпуск клона ATMEGA328P, но с нерабочим (неоткалиброванным) внутренним осциллятором? Вроде же не подделка, и в юридическом смысле всё законно.

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

2 часа назад, dimka76 сказал:

Т.е. ваш мк работает на 1 МГц, примерно.

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

Share this post


Link to post
Share on other sites
8 hours ago, Herz said:

Чип был сдут с модуля Ардуино WAVGAT Nano Mini

Но, что интересно: сам чип, как упоминается, "Same as ATMEGA328P", и даже лого на нём "WAVGAT", а не Атмел.

http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p

Share this post


Link to post
Share on other sites
13.10.2021 в 11:04, Herz сказал:

О, вот оно что...

В таком случае почему не поставить кварц, например на 11.059.200, чтобы получить точный делитель для уарта? Судя по описанию МК, он там только похож на атмегу, даже фьюзов нет...

Share this post


Link to post
Share on other sites
3 часа назад, mantech сказал:

В таком случае почему не поставить кварц, например на 11.059.200, чтобы получить точный делитель для уарта? Судя по описанию МК, он там только похож на атмегу, даже фьюзов нет...

Потому что это готовый проект, изменить там ничего нельзя - платы разработаны и изготовлены, да и вход XTAL1 используется для RTC.

 

Спаял второй экземпляр платы, установил на него Атмегу с другого модуля, тоже с Алиэкспресс, но с маркировкой Атмел. Надеялся, что это хотя бы клон, и проблема решиться. Но она только усугубилась: при попытке залить скетч посредством прошитого бутлоадера выводится ошибка, дескать, "программатор не отвечает". Попытка прошить бутлоадер заново отвергается с сообщением, что чип не идентифицируется правильно.

То есть, выходит, китайцы вовсю шуруют свои чипы даже под видом Атмеловских... Вот засада.

Забавно, что на обеих платах исправно работают часы и выдают свои 32768. Почему было не использовать их для УАРТа?

 

Для смеха залил тот же скетч в один из китайских модулей нано (на котором, якобы, Атмел), что с резонатором на 16МГц.  Работает, без проблем.

УАРТ, предсказуемо, на 115200. То есть, проблема у них именно с внутренним резонатором, выходит.

Share this post


Link to post
Share on other sites
2 minutes ago, Herz said:

Но она только усугубилась: при попытке залить скетч посредством прошитого бутлоадера выводится ошибка, дескать, "программатор не отвечает". Попытка прошить бутлоадер заново отвергается с сообщением, что чип не идентифицируется правильно.

Это вызвано фьюзами, скорее всего. Нужно разбираться, что там навыставлял при первой прошивке.

Share this post


Link to post
Share on other sites

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

Однако, процедура это "стандартная", за исключением предварительного выбора типа платы. Тогда откуда берутся сведения о фьюзах? Из того самого текстового файла boards.txt?

Share this post


Link to post
Share on other sites
3 hours ago, Herz said:

Тогда откуда берутся сведения о фьюзах? Из того самого текстового файла boards.txt?

Цитата из вашего первого сообщения

OWHLatmega328.bootloader.low_fuses=0xE2 OWHLatmega328.bootloader.high_fuses=0xDA OWHLatmega328.bootloader.extended_fuses=0x05

 

Share this post


Link to post
Share on other sites
4 часа назад, rkit сказал:

Да. Шьются при любой заливке через программатор.

В смысле, куда шьются?? В МК клоне нет фьюзов вообще, настройка частоты происходит в бутлоадере... Или сейчас об оригинальной меге разговор уже?

 

4 часа назад, Herz сказал:

Поскольку в самих скетчах ничего такого нет, то, полагаю, при заливке бутлоадера.

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

Edited by mantech

Share this post


Link to post
Share on other sites
13 часов назад, mantech сказал:

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

Речь о процедуре, принятой в концепции Ардуино. Основная программа (скетч), как мы можем видеть, никаких настороек фьюзов не содержит.

Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер? И здесь не понятны отличия "оригинальной Меги" от не-оригинальной.

Выходит, в не-оригинальной ничего изменить нельзя и всё работает по дифолту?

Share this post


Link to post
Share on other sites
5 minutes ago, Herz said:

Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер?

Мама дорогая - вот это каша !

А запустить avrdude и посмотреть фьюзы религия не позволяет ?

Share this post


Link to post
Share on other sites
1 час назад, Herz сказал:

Следовательно, за настройки (фьюзов или чего-то ещё?) отвечает бутлоадер?

В версии с клоном- да.

1 час назад, Herz сказал:

Выходит, в не-оригинальной ничего изменить нельзя и всё работает по дифолту?

Все работает так, как заложено в ардуиновском бутлоадере для данного клона.

Share this post


Link to post
Share on other sites
3 часа назад, x893 сказал:

Мама дорогая - вот это каша !

А запустить avrdude и посмотреть фьюзы религия не позволяет ?

Какая, нафиг, религия?!

Что такое - "запустить avrdude"? Я, например, не знаю.

2 часа назад, mantech сказал:

В версии с клоном- да.

Ну, вот интересно. Если режим работы, скажем, того же осциллятора, задают обычно фьюзы самого МК (и с оригиналом это очевидно), то как в случае клона (и, отсутствия фьюзов, соответственно) бутлоадер регулирует это? Как он определяет, с каким осциллятором работать МК, и, главное, как он управляет клоном в этом смысле?

Нет, я понимаю, что надо взять документацию и разобраться. Это правильно.

Но пока мне не до этого - надо просто заставить устройство работать, а для этого добыть оригинальную Атмегу.

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.