[Решено] Миллис () из разных чертежей много дрейфует

Моду
Вторник 25 сентября 2018 г. 10:12 утра
Для моего проекта я синхронизирую часы между двумя п.н.
Проблема в том, что после синхронизации он дрейфует через несколько секунд через несколько секунд. Похоже, что один из АД примерно на 80% - скорость другого. Это нормально?

Я постараюсь проверить позже осциллограф, если между ними существует значительная разница в часах, но пока может быть мой код, который что -то делает? Я не касаюсь таймеров, только использую кооперативный планировщик и устройство SPI.
Я также еще не прошивал последний загрузчик, был такой ошибкой в ​​оригинальном Maple Bootloaderer?

Nikosx
Вторник 25 сентября 2018 г. 10:15 утра
Как вам удается синхронизировать два часа ? Можете ли вы объяснить h/w точно ?

Эдогальдо
Вторник 25 сентября 2018 г. 10:22
Отсутствуют подробности, которые бы я склонялся, наверняка обвиняю ваш код или дизайн синхронизации также из -за вашего предложения: Я также еще не прошивал последний загрузчик, был такой ошибкой в ​​оригинальном Maple Bootloaderer? Кажется, показывает отсутствие знаний о том, как все работает: нет никаких отношений между загрузчиком и вашим эскизом..

Rogerclark
Вторник 25 сентября 2018 г. 10:35 утра
Кристалл, используемые на чертеже и т. Д. - самые дешевые из дешевых.

Если вы хотите синхронизировать 2 п.н

Вы можете купить дешевые модули генератора часов за 5 долларов (ищите SI5351)

При этом, разница в частоте частоты часов, которая у вас, кажется, гораздо больше, чем я ожидал.
КСТАТИ. Вы можете вручную «потянуть» кристалл (немного изменить свой сигнал), используя конденсатор
Я опубликовал вопрос о том, как вытащить кристалл некоторое время назад (вам нужно найти пост самостоятельно, так как я не могу вспомнить, какой вопрос, который я задал)

Nikosx
Вторник 25 сентября 2018 г. 10:47 утра
Полностью согласен с тем, что сказал Роджер выше !

1) Невозможно h / w синхронизировать 2 разные кристаллические осцилляторы / часы (отдельно для Freq. обрезка с переменным конденсатором)
2) Да, XTAL, используемые в дешевых досках, тоже очень дешевые, и FREQ может варьироваться, но ни в коем случае не с дрейфом SEC в SECS.
3) Единственный способ (H/W) синхронизация - это диск с другим модулем внешнего осциллятора.

Все еще пожалуйста, перебегайте нас большим количеством H/W или S/W подробностей...

Ник

Моду
Вторник 25 сентября 2018 г. 12:31
Для немного большего контекста оборудование, которое я использую, - это клон Maplemini и доска для прорыва SI4463.
Изображение

Я строю свою библиотеку (https: // github.com/gitmodu/lola) Связать 2 модули. С помощью временной метки, созданной оба выплютно, как можно увидеть в примере журнала, который я записал (https: // github.com/gitmodu/lola/tree/ma ... пороки/ссылка).
(Хозяин)
Link потребовалось 124 мс, чтобы установить.
Подключенная синхронизационная метка времени: 1085381660
Подключенный
(Удаленный)
Link потребовалось 116 мс, чтобы установить.
Connetecd синхронизированная метка времени: 1085381659
Подключенный
Обе временные метки находятся в пределах ~ 1 мс во время соединения, поэтому я отказался от механизма синхронизации часов как виновника.
Затем я попробовал записать каждый тик с секунды (в цикле, без прерываний), чтобы сравнить оба в реальном времени. И, конечно же, примерно через 5 секунд на один часы уже на 1 секунды позади.
[Эдогальдо - Вторник 25 сентября 2018 г. 10:22 утра] - Кажется, показывает отсутствие знаний о том, как все работает: нет никаких отношений между загрузчиком и вашим эскизом..
Этот вопрос проистекает из серии тем на загрузчику, USB, тактовой частоте и его последствиях.
[Rogerclark - Вторник 25 сентября 2018 года 10:35] - что, как говорится, разница в частоте, которую у вас, кажется, гораздо больше, чем я ожидал.
Да, я ожидал несколько мс после нескольких минут, в худшем случае: это на порядок больше, чем я ожидал. Это не может быть проблемой кристальной точности, если у меня нет хотя бы одной действительно действительно плохой доски.

Я проверю другие доски, когда вернусь домой.
[Rogerclark - Вторник 25 сентября 2018 года 10:35] - Если вы хотите синхронизировать 2 п.н
Я посмотрю на это, было бы неплохо иметь более надежные часы, хотя точность ~ 1 мс достаточно хороша для моих целей. Это позволило бы использовать более агрессивные времена на другие функции, которые полагаются на синхронизированные часы (дуплексная маскировка, прыжок каналов, криптография на основе времени.).

Стивестронг
Вторник 25 сентября 2018 г. 13:57
Где приходят временные метки? Dou, вы используете RTC? Maple Mini не имеет xtal 32 кГц.
Мы не знаем, что работает на заднем плане, поэтому трудно найти основную причину, если вы не приведете простой пример, как ее воспроизвести.

Снив код на простом примере, люди часто находят проблему сами...

Моду
Вторник 25 сентября 2018 г. 14:05
Я не использую RTC, ни сплю, ни упражнение.
Временные метки просто миллисы () с смещением. unsigned long MYSQROOT2(unsigned long val) { asm volatile ( " clz r1,r0 \n\t" // Calculat the number of leading zeros " ldr r3, =0x0021 \n\t" // Subtact it from 33 " subs r1, r3, r1 \n\t" // number of bits now in in r1 " asrs r1, #1 \n\t" // dev by 2 " ldr r2, =0x0001 \n\t" // Put 1 in r2 " lsls r2, r1 \n\t" // shift it left r1 times to setup the start mask *2 " ldr r3, =0x0000 \n\t" // Clear r3 the current SQR estimate. "Loop3: asrs r2, #1 \n\t" // Rotate the mask 1 bit right " cbz r2,Done3 \n\t" // If the mask is zero were done " eors r3,r3,r2 \n\t" // Add the mask bit to r3 " mul r1, r3, r3 \n\t" // Square r1 to r3 " cmp r0, r1 \n\t" // Compare the Target r0 with the estimate r1 " it lt \n\t" // If Less Than " eorlt r3,r3,r2 \n\t" // The estimate was too high remove the last bit " b Loop3 \n\t" // Loop back and do the next map bit "Done3: mov r0, r3 \n\t" // Move the result to r0 " bx lr \n\t" // Return /* r0 Contains the Source number r1 Contains the square of r3 r2 Contains the add mask r3 contains the latest SQR estimate. */ ) ; return val; };

Стивестронг
Вторник 25 сентября 2018 г. 14:23
Возьмите две платы и используйте простой код Mustly для вывода (USB) сериал текущего миллиса () каждую секунду и проверяйте результат.
Если время снова заходит, то у вас есть проблема с одной из досок.

AG123
Вторник 25 сентября 2018 г. 14:25
Если я не ошибаюсь, Миллис () на самом деле является подсчетом прерываний Systick, если процессор слишком занят, возможно, у него нет времени, чтобы прислать вам клещи, и он время от времени пропускает несколько/ множество клещей (ударов). и Systick Interrupt может быть легко отключено или переопределено с помощью прерываний с более высоким приоритетом, фактически STM32, когда он работает WTH USB, DMA & Все, что это очень занятый процессор, как только вы подключите его к полной скорости USB, USB прерывает STM32 каждые 1 мс, чтобы выполнять работу E.глин. Отправить/получить данные, затем Systick Ticks Каждое MS, если вы добавляете DMA, другие таймеры, прерывания АЦП, прерывания RTC, то, возможно, исключения системы и т. Д., Вам может потребоваться изучить, есть ли у процессора какое -либо время между этим 1 мс времени
и вот и ты
https: // github.com/rogerclarkmelbourne/ ... время.H#L46
https: // github.com/rogerclarkmelbourne/ ... галочка.C#184
Ох, тогда, если вы заняты подачей этого ЖК -дисплеев через SPI для обновления экрана, и прислушиваясь к возвращению данных с SD -карты, я думаю, что для этих микросекундов любезно отключено, чтобы сосредоточиться на SPI/DMA, чтобы вы не пропустили данные от SD -карты или что ЖК -дисплей пропустит полосу
:ржу не могу:

https: // www.Кейл.com/pack/doc/cmsis/cor ... k__gr.HTML
http: // Infocenter.рука.com/help/topic/co ... CJGGA.HTML

Mrburnette
Вторник 25 сентября 2018 г. 14:36
Я бы предпочел, чтобы вы использовали гарантированный импульс GPS 1 секунду для затвора обеих систем и сравнения часов, используя точно одинаковую методологию: прерывание или опрос в Loop ().

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

Часы UC на Maple Mini и мои синие таблетки, кажется, довольно хороши в управлении последовательной коммуникацией с моей системой Linux на 115200 бод ... ИМХО, это хорошо `nuff. Все остальное должно использовать внешний источник времени, такой как DS3231 или GPS (моя последняя покупка была всего 9 долларов.)

Вы можете поместить свои 2 `duinos в коробку и энергично встряхнуть в попытке квантовать их. :ржу не могу:

Луча

AG123
Вторник 25 сентября 2018 г. 15:08
Я думаю, что RTC + Crystal 32768 адекватно точен, он не беспокоит любые другие прерывания и только подвержен влиянию бездомной емкости на кристаллических выводах E.глин. пальцем & температура и то, точно ли кристалл сбалансирован с крышками до нуля на 32768 Гц :ржу не могу:

И как гласит легенда, дело не в том, сколько МГц могут колебаться ваши кристаллы. Скорее, даже на этом скромном кристалле 32786 существует высококачественное разнообразие, которое соответствует высокотехнологичному лазеру, обрезанному и настраиваемым *настройка Fork *и *Золотой. этот St представляет собой мир, чтобы оправдать это, может быть, выглядит так
ViewTopic.PHP?f = 3&t = 3896&hilit = 32k+crys ... = 10#P47495
https: // en.Википедия.org/wiki/crystal_o ... _materials
Изображение

Тогда существует еще один ebay/aliexpress 20 шт для разнообразия в долларах, который вы ищете, используя специальное ключевое слово 32768
https: // www.eBay.com/sch/i.HTML?_nkw = 32768&_SACAT = 0
и есть вероятность, что это выглядит на внутренней стороне
Изображение
Этот тип может быть таким большим жирным разнообразием > 10-15pf, использует простую паярь, если они случаются с связью с соединением * (забудьте о вакууме)
Что касается этого типа, шансы на достижение 32768 по частям на миллиард точности могут быть очень похожи на Scholastics по покупке лотереи
Но вы можете просто получить тот, который прямо на точке от Pure Chance
Но тогда интернет, казалось, никогда не оставлял вас без опции, вам нужно только добавить 6pf + 32768 в качестве ключевых слов
https: // www.eBay.com/sch/i.HTML?_from = r ... 8&_SACAT = 0
И есть даже совет от пито о конденсаторе уловки, если нет лазеров, чтобы сделать все это обрезку
ViewTopic.PHP?t = 671&Start = 10#P27426
Изображение
:ржу не могу:

(6pf 'Legend' находится на P13 2.2 Примечание 1 'Начало работы HW Dev STM32F10X
https: // www.ул.com/content/ccc/resource ... 164185.PDF)

Энтропийзард
Вторник 25 сентября 2018 г. 15:40
Еще один угол, который вы можете использовать для отслеживания этой проблемы: настройте свой штифт MCO на микро (вывод A8), чтобы вывести часы системы на каждой плате, затем измерьте выход с счетчиком или осциллографом. Это подтвердит как ваш кристалл, и что конфигурация ваших часов верна.

AG123
Вторник 25 сентября 2018 г. 16:17
О, кстати, я думаю, что дешевый BP/MM может победить Mil $ Bezo ? часы
https: // en.Википедия.org/wiki/clock_of_the_long_now
Причина в том, что BP/MM +, что Crystal 32768 продлится и работает до тех пор, пока кто -то обменяется ячейкой монеты и сбрасывает ее раз в год
И гора Ад/мм наверняка длится долго, пока я не уверен, когда, о, я думаю, что солнечный элемент также возможен, просто резервное копирование батареи липо может выйти из строя до выхода из строя солнечной батареи

В забавном примечании, я думаю, что BP/MM - это забавное произведение для создания небольшого проекта цифровых часов, RTC DO долго живет на одной монетной ячейке CR2032.
У меня был ложный старт, когда дефектный ММ осушил ячейку монеты через 2 недели, я собрал другой, запустив ее (RTC) на новой ячейке монеты, и, похоже, он постоянно сохраняет время «постоянно». Более большая сила e.глин. от USB необходим, если вы хотите посмотреть на время, E.глин. на вашем ЖК-дисплее или над USB-сериалом. В то время как в автономном режиме монетная ячейка сохраняет RTC счастливо работать, пока вы не решите снова подняться на BP/MM.
:ржу не могу:

Nikosx
Вторник 25 сентября 2018 г. 18:21
Я все еще смущен и не совсем понимаю проблему (я думаю, что ей не хватает правильного объяснения / настройки для такого человека, как я, чтобы понять это). Некоторые мысли:
1) Вы пробовали с 2 досками ? (Если вместо первых 2 есть еще один, что произойдет ? -Просто, чтобы усовершенствовать проблему H/W на одной из двух досок)
2) Если вы просто сравните Millis (), я думаю, что разница во времени не может быть объяснена (кроме проблемы H/W в одной из досок)
3) Если вы сравниваете Plain Millis () (без какого -либо другого VAR. Добавлено) В любых условиях (прерывания и т. Д.) Разница во времени не должна быть такой большой (вы говорите для дрейфа SEC через 5 секунд после начальной блокировки) !!! Это не может быть сделано ! Я думаю, что для 2 RTC XTAL для дрейфа на расстоянии 1 секунды, часы должны пройти, а не SECS...(например. Даже 100PM XTAL должно потребоваться около 3 ч до дрейфа 1 секунды...)
4) В моем понимании вы не синхронизируете Millis (), но какой-то другой VAR, который учитывает другой-OFFSET-VAR, рассчитываемый по CODE + Protocol + TX-RX Link и т. Д... Итак, у вас есть ситуация с ошибкой, а не проблема H/W .....

Rogerclark
Вторник 25 сентября 2018 г., 21:16
Только использование 2 плат для этого теста также ошибочно.

Голый минимум будет 3 доски, или 5 досок и т. Д., В противном случае у вас нет возможности узнать, какая доска неверна.

Я полагаю, это’S Possoble Существует некоторая проблема с Millis (), но, учитывая, сколько людей используют его, и сколько исследований было в его точности и стабильности, я немного удивлен, никто не заметил таких больших ошибок


Я использовал таймеры для генерации различных частот и не заметил никаких проблем с серьезностью, которые испытывает ОП

Моду
Ср 26 сентября 2018 г., 13:29
Извините, я еще не ответил должным образом, работа была ужасной и поздно вчера, как, вероятно, сегодня, поэтому у меня не было времени, чтобы сделать никаких тестов. Большое спасибо всем за ваши вклад, я не торопитесь, чтобы ответить вам всех.
Однако у меня был мечта о водной пушке, где, когда пушка стреляла, она потеряла давление воды, и американские горки остановились, и каждый на космическом трансфеле был грустным.
В любом случае, я думаю, что это способ моего мозга сказать мне, что мне, возможно, не хватает панели, когда RF передает, потому что я помню, как ловил много предупреждений с низким напряжением (особенность радио IC) несколько недель назад.

Я вернусь.
И в большем количестве.

Mrburnette
Ср 26 сентября 2018 г. 15:33
[AG123 - Вторник 25 сентября 2018 г. 15:08] - ...
И есть даже совет от пито о конденсаторе уловки, если нет лазеров, чтобы сделать все это обрезку
Twistedwire-это старый способ, которым строители радио (и операторы ветчины) использовали для тонкой настройки компонентов. Но «трюк» может быть сделан во многих отношениях; https: // www.хакерс.io/rayburne/gimmic ... UINO-16 МГц


Луча

AG123
Ср 26 сентября 2018 г. 15:37
[Mrburnette - Ср 26 сентября 2018 г. 15:33] -
[AG123 - Вторник 25 сентября 2018 г. 15:08] - ...
И есть даже совет от пито о конденсаторе уловки, если нет лазеров, чтобы сделать все это обрезку
Twistedwire-это старый способ, которым строители радио (и операторы ветчины) использовали для тонкой настройки компонентов. Но «трюк» может быть сделан во многих отношениях; https: // www.хакерс.io/rayburne/gimmic ... UINO-16 МГц


Луча
Ого, это должно быть самым компактным AT -Mega 328 PU с конденсаторами кристалла и нагрузки - когда -либо :ржу не могу:

Mrburnette
Ср 26 сентября 2018 г. 15:48
[AG123 - Ср 26 сентября 2018 г. 15:37] - ...
Ого, это должно быть самым компактным AT -Mega 328 PU с конденсаторами кристалла и нагрузки - когда -либо :ржу не могу:
Каждый, кого я сделал и протестировал, работает отлично @ 3.3 вольт тоже. Конечно, китайский мини, кажется, преуспевает в 3.3 вольт.

AG123
Ср 26 сентября 2018 г. 16:43
О, говоря о Layden Jar, Google в Интернете превращает это
Как сделать электролитические конденсаторы дома
https: // rimstar.org/science_electronics ... ацитор.htm
и другой
https: // www.YouTube.com/watch?v =-3wdn8fnqw

Так что, если вам нужен супер конденсатор, это, которому нужен ebay/aliexpress :ржу не могу:

AG123
Ср 26 сентября 2018 г., 17:46
И если вам нужны гигантские кусочки кристаллов кварца, вы, вероятно, получите их здесь
https: // www.YouTube.com/watch?v = lzhqhnoyx2o
https: // www.YouTube.com/watch?v = cl2li0p9xsc
Я предполагаю, что именно поэтому некоторые из лучших кристаллов осциллятора поступают из Японии
:ржу не могу:

Mrburnette
Чт 27 сентября 2018 г. 12:33
Легко там Ag123, мы только что вытащили этот пост в непредвиденное большое время... Я возьму вину за то, что я запустил лавину :ржу не могу:

Луча

После размышлений о стабильности...
В любой системе измерения необходимо иметь стандарт, с помощью которого ссылаются измерения.
В u.С.А. https: // en.м.Википедия.org/wiki/nationa ... Технология

Причина, по которой я упомянул вывод GPS 1PPS, заключается в том, что для любителей это самая точная временная база, которую они могут наносит из виду, менее 20 долларов и из 10 долларов США.

ИМХО, нет лаборатории или кассет.
https: // www.Eevblog.com/форум/чат/как- ... ps-signal/

AG123
Чт 27 сентября 2018 г., 7:03
Если точность времени имеет значение, другой способ - интерфейс с использованием протокола NTP, который может быть сделан над USB / USB -сериалом.
https: // Playground.Ардуино.cc/code/ntpclient
Я думаю, что это должно быть довольно точным, так как слой 0 - атомные часы высокого класса
https: // en.Википедия.org/wiki/network_time_protocol
Тем не менее, это оставляет BP/MM, ограниченную на хост -компьютер, скажем, на USB, поэтому я думаю, что предложение Рэя о времени GPS - хороший способ.
Поскольку в моих вариантах использования мне не нужна очень высокая точность, я использовал гибридный метод, который использует RTC для простого вростого вросткового вождения и случайного синхронизации по времени USB при подключении к ПК над USB, эти дешевые 20 за доллары 32K работали. достаточно для меня
:ржу не могу:

Моду
Сб 29 сентября 2018 г., 18:59
Наконец -то у меня было свободное время, чтобы выяснить, что, черт возьми, происходит.

Поворит наш ответ скучный: неисправное оборудование.
OLED, который я использовал, сломлен и складывает линию SPI с атомными вызовами, которые, как ожидалось, задержали каждое прерывание.

[Стивестронг - Вторник 25 сентября 2018 г. 14:23] - Возьмите две платы и используйте простой код Mustly для вывода (USB) сериал текущего миллиса () каждую секунду и проверяйте результат.
Если время снова заходит, то у вас есть проблема с одной из досок.
Я сделал это, никаких проблем с голыми досками.
[AG123 - Вторник 25 сентября 2018 г. 14:25] - Если я не ошибаюсь, Миллис () на самом деле является подсчетом прерываний Systick, если процессор слишком занят, возможно, у него нет времени, чтобы прислать вам клещи, и он время от времени пропускает несколько/ множество клещей (ударов). и Systick Interrupt может быть легко отключено или переопределено с помощью прерываний с более высоким приоритетом, фактически STM32, когда он работает WTH USB, DMA & Все, что это очень занятый процессор, как только вы подключите его к полной скорости USB, USB прерывает STM32 каждые 1 мс, чтобы выполнять работу E.глин. Отправить/получить данные, затем Systick Ticks Каждое MS, если вы добавляете DMA, другие таймеры, прерывания АЦП, прерывания RTC, то, возможно, исключения системы и т. Д., Вам может потребоваться изучить, есть ли у процессора какое -либо время между этим 1 мс времени
Эта проблема привела к тому, чтобы немного больше понять таблицу векторов прерываний и то, как микросхемы подсчитываются, не полагаясь на прерывание 1US. Спасибо за ссылки.
[AG123 - Вторник 25 сентября 2018 г. 14:25] - Ох, тогда, если вы заняты подачей этого ЖК -дисплеев через SPI для обновления экрана, и прислушиваясь к возвращению данных с SD -карты, я думаю, что для этих микросекундов любезно отключено, чтобы сосредоточиться на SPI/DMA, чтобы вы не пропустили данные от SD -карты или что ЖК -дисплей пропустит полосу
Оказывается, OLED был виновником, он перекрывал прерывания с атомными вызовами, но только потому, что оборудование сломано.
[Mrburnette - Вторник 25 сентября 2018 г. 14:36] - Я бы предпочел, чтобы вы использовали гарантированный импульс GPS 1 секунду для затвора обеих систем и сравнения часов, используя точно одинаковую методологию: прерывание или опрос в Loop ().
Да, из того, что я изучил, это кажется лучшим вариантом для обеспечения синхронизации часов. На самом деле я хотел бы использовать этот подход, но я хочу, чтобы решение без GPS's работало в качестве запасного. Следующая функция для реализации.
[Mrburnette - Вторник 25 сентября 2018 г. 14:36] - Соединение двух единиц вместе не является подходящей методологией, поскольку единица или оба являются подозрительными, так и вашим программным обеспечением.
[Mrburnette - Вторник 25 сентября 2018 г. 14:36] - Вы можете поместить свои 2 `duinos в коробку и энергично встряхнуть в попытке квантовать их. :ржу не могу:

Луча
Я так сильно смеялся над этим, я думаю, я мог бы на самом деле поставить под угрозу свою работу : mrgreen:
Я думаю, мне придется воздерживаться от чтения этого форума в офисе, иначе ты будешь смертью меня, Рэй!
[AG123 - Вторник 25 сентября 2018 г. 15:08] - Изображение
Вау, в каком сумасшедшем странном мире я ничего не знаю и чувствую себя таким счастливым, как таковой :ржу не могу:
Хороший материал для полуночи чтение.
[Энтропийзард - Вторник 25 сентября 2018 г. 15:40] - Еще один угол, который вы можете использовать для отслеживания этой проблемы: настройте свой штифт MCO на микро (вывод A8), чтобы вывести часы системы на каждой плате, затем измерьте выход с счетчиком или осциллографом. Это подтвердит как ваш кристалл, и что конфигурация ваших часов верна.
Пытался, используя это Библиотека прекрасного парня. К сожалению, мой осциллограф имеет пропускную способность 50 МГц, так что это было не очень полезно, так как я мог видеть только нижние гармоники и тонну псевдонима. Время взломать прошивку, чтобы довести ее до 100 МГц (DS1052E - это прошивка, взломанная до обновленной версии : D).
[AG123 - Вторник 25 сентября 2018 г. 16:17] - https: // en.Википедия.org/wiki/clock_of_the_long_now
Увлекательные вещи, никогда не слышали раньше.
[AG123 - Вторник 25 сентября 2018 г. 16:17] - В забавном примечании, я думаю, что BP/MM - это забавное произведение для создания небольшого проекта цифровых часов, RTC DO долго живет на одной монетной ячейке CR2032.
Мне еще предстоит использовать RTC, хорошо знать, что он может полезен в системах с низкой мощностью.
[Nikosx - Вторник 25 сентября 2018 г. 18:21] - Я все еще смущен и не совсем понимаю проблему (я думаю, что ей не хватает правильного объяснения / настройки для такого человека, как я, чтобы понять это). Некоторые мысли:
1) Вы пробовали с 2 досками ? (Если вместо первых 2 есть еще один, что произойдет ? -Просто, чтобы усовершенствовать проблему H/W на одной из двух досок)
2) Если вы просто сравните Millis (), я думаю, что разница во времени не может быть объяснена (кроме проблемы H/W в одной из досок)
3) Если вы сравниваете Plain Millis () (без какого -либо другого VAR. Добавлено) В любых условиях (прерывания и т. Д.) Разница во времени не должна быть такой большой (вы говорите для дрейфа SEC через 5 секунд после начальной блокировки) !!! Это не может быть сделано ! Я думаю, что для 2 RTC XTAL для дрейфа на расстоянии 1 секунды, часы должны пройти, а не SECS...(например. Даже 100PM XTAL должно потребоваться около 3 ч до дрейфа 1 секунды...)
4) В моем понимании вы не синхронизируете Millis (), но какой-то другой VAR, который учитывает другой-OFFSET-VAR, рассчитываемый по CODE + Protocol + TX-RX Link и т. Д... Итак, у вас есть ситуация с ошибкой, а не проблема H/W .....
1 - Я пытался менять доски, без эффекта. Спасибо за 2 $ bp.
2 - Да, когда на экране багги выйдет в сторону, идеально синхронизируется каждый раз.
3 - Да, пробегайте тестовую настройку в течение 10 минут, миллисы все еще находятся в идеальной синхронизации.
4 - Нет ошибки.

Спасибо за вклад
[Rogerclark - Вторник 25 сентября 2018 г. 9:16 вечера] - Только использование 2 плат для этого теста также ошибочно.
Голый минимум будет 3 доски, или 5 досок и т. Д., В противном случае у вас нет возможности узнать, какая доска неверна.
У меня есть коробка, полная их: p, но хороший момент.
[Rogerclark - Вторник 25 сентября 2018 г. 9:16 вечера] - Я полагаю, это’S Possoble Существует некоторая проблема с Millis (), но, учитывая, сколько людей используют его, и сколько исследований было в его точности и стабильности, я немного удивлен, никто не заметил таких больших ошибок

Я использовал таймеры для генерации различных частот и не заметил никаких проблем с серьезностью, которые испытывает ОП
Безусловно, у меня не было сомнений, что на моей стороне что -то не так.

Моду
Сб 29 сентября 2018 г., 19:03
Вау, я любил оффтопик, я многому научился : D

Для записи вот несколько примеров журналов без баггического оборудования.

Хозяин Сон
Вещание...
Подключение к: 0x98 Код сеанса: 242
Соединение семян: 227
Соединение
Link потребовалось 96 мс, чтобы установить.
SEED TOTP 81126604
Открытый токен: 158
Sync TimeStamp: 2134380068
Подключенный
2134381
2134382
2134383
(...)
2136274
2136275
2136276
Удаленный Поиск хоста...
Подключение к: 0xba Session Code: 242
Соединение семян: 227
Соединение
Добавить смещение: 2134378013
До: 0
После: 2134378013
Link потребовалось 89 мс, чтобы установить.
SEED TOTP 81126604
Открытый токен: 158
Sync TimeStamp: 2134380067
Подключенный
2134381
2134382
2134383
(...)
2136274
2136275
2136276
Через несколько минут я начинаю получать дрейф 1-2 мс, что я могу легко компенсировать.

Nikosx
Солнце 30 сентября 2018 г. 18:19
ХОРОШО !! Хорошая работа !!

Теперь эта проблема решена, я думаю, что все делают (по крайней мере некоторые).... : D

Моду
Ср. 03 октября 2018 г. 13:52
[Rogerclark - Вторник 25 сентября 2018 г. 10:35] - Вы можете купить дешевые модули генератора часов за 5 долларов (ищите SI5351)
Какое бы ваше предложение здесь?
Замена керамический резонатор Хрустальный генератор BP с этим генератором часов? Создание часов 1 кГц и используйте прерывание, чтобы иметь свой собственный счетчик Millis?

Эти плохой, кажется, вызывают буквально ошибку, поэтому точность пропорционально так же хороша, как и кристалл 25 МГц, принимая во внимание часовые подразделения?

Nikosx
Ср. 03 октября 2018 г., 17:48
Я не думаю, что ваши потребности в точности не покрываются использованием XTAL...
Насколько я знаю, BP использует Crystal для осциллятора, а не керамический резонатор (с гораздо худшей точностью..)

AG123
Чт, 04 октября 2018 г. 13:03
IMHO Самый простой способ получить более точное время - использовать RTC, я думаю, что RTC может быть настроен на использование HSE (внешний кристалл BP/MM, работающий на 8 МГц), он будет есть больше мощности, хотя, поскольку он снимается в 8 МГц. вместо 32 тыс. Гц, но я подумал, что это управляемое.

Дэнниф
Пт, 05 октября 2018 г., 16:22
Но пока, может ли это быть моим кодом, который что -то делает? Я упомянул об этом Ардуино, народные годы назад, но они сказали мне, чтобы взять поход, :): Функции времени в Arduino не очень хорошо написаны, и типичные приложения, которые они создадут.

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

Проблема с SD -картой