Information
- Rating
- 1,903-rd
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Embedded Software Engineer, Разработчик электроники
Lead
From 280,000 ₽
Electronics Development
Development of printed circuit board
FPGA
Programming microcontrollers
Sound processing
SQP с большим сопротивлением - металл-оксдные.
Скрытый текст
ПЭВ, на сколько удаётся загуглить - все проволочные. Но низкоомные мотают контантановым проводом, а высокоомные - нихромовым. Поэтому ТКС на серию указывают аж 500 ppm/K.
Если у верхнего уровня есть API для работы с флеш, не проще ли было использовать его, а не заниматься перекладыванием байтов?
Стоп. А я тогда не понял, что в интерфейсе NVRAM делает byte_erase? Ведь вы же NVRAM эмулируете.
Данные на носителях - да, шифруют и подписывают. В первую очередь, чтобы прошивку не скопировали. Но когда устройство чем-то физическим управляет, как здесь, например - дверным замком? Будем шифровать GPIO ардуины? Или 220V зашифруем (что, кстати, более реально - есть PLC- модемы же)?
Нет, потому что остаются провода питания исполнительного устройства, и его датчики, которые тоже можно атаковать MITM.
Если придётся этот интерфейс делать поверх флеш-памяти, то вы тоже будете на каждый байт читать страницу, стирать её и переписывать? Но это ещё ладно, если страница предварительно стёрта, не так всё плохо.
А вот стирание будет выглядеть, как изнасилование с особо тяжкими:
сначала вы читаете страницу, стираете, заменяете первый байт на 0xFF, записываете.
потом снова читаете страницу, стираете, заменяете второй байт на 0xFF, записываете,
и так всю страницу.
Второй момент: запись и стирание EEPROM - обычно не моментальные операции. У вас многозадачная среда выполнения? Внутри
eeprom_dword_eraseиeeprom_dword_writeможно переключить контекст и выполнять другие действия?Не вижу смысла шифровать обмен по локальным шинам CAN, UART, I2C там, где обычно нет физического доступа. Если кул-хацкер залез в железо, то он и без расшифровки может сделать там всё, что хочется. А если хацкер ещё и залез в прошивку головы устройства - он просто запустит процедуры шифровки-дешифровки, которые в голове уже имеются.
Мультиметр как раз таки калибруется при производстве. И точность гарантирует в диапазоне температур обычно от +15 до +35 градусов, а не -40..+85.
Нагляднее было бы пересчитать температурный уход (ТКС) в общепринятые единицы - ppm/K. Тогда можно явно сравнить характеристики с описанием от производителя.
2% в диапазоне 100 градусов - это 200 ppm/K. Самый ширпотреб, не так плохо. Если ТКС больше - да, это уже зашквар.
Почему-то в описаниях я не видел, что ТКС положительный. Все пишут +-ХХХ ppm:
https://static.chipdip.ru/lib/336/DOC014336148.pdf
https://static.chipdip.ru/lib/317/DOC011317568.pdf
https://static.chipdip.ru/lib/171/DOC011171934.pdf
Может, кода-то давно и можно было по знаку ТКС определить тип резистора. Но химики и технологи стараются скомпенсировать ТКС, подвигают его в район 0ppm, поэтому по факту он может быть и отрицательный.
Да, я понял, откуда ноги растут. Ссылок прямо на все выкладки - не нашëл, кроме как для k=1. И даже в ГОСТе сказано - "господь велел делить на n-1, ибо это несмещëнная оценка", а я проигнорировал.
Но в целом понял: сколько информации уже выжато из экспериментальных точек, столько должно потеряться при оценке погрешности.
Спасибо Вам огромное, что дожали дискуссию, и направили в нужную сторону!
Я не очень-то программист. Поэтому я взял обычную общепринятую электронную таблицу из опен-офиса, и вбил туда эти же 4 точки исходных данных. Также аналитически, через решение СЛАУ, посчитал коэффициенты аппроксимации. И почему-то получил другой результат, с лучшим СКО:
для первой степени СКО = 0,029
для второй = 0,027
для третьей тоже всё прекрасно считается, СКО = 9,2e-12, что просто демонстрирует ограничение точности вычислений с плавающей точкой.
Ошибки аппроксимации в увеличенном виде
Можете убедиться: вот исходник, вот на всякий случай копия для поклонников майкрософта. Я и рандомные данные пробовал подставлять, но ни разу не получил увеличение СКО с ростом степени.
Так что проверяйте свою программу. Надеюсь, моя табличка поможет, как референс.
Ничего странного в розовом шуме на низких частотах в реальности нет. Модель вполне нормальная.
В аудио-технике, например, где этот шум важен - есть просто нижняя граница слышимой частоты. До границы - мы называем это дрейфом нуля. Выше границы - мы называем это шумом. Но принципиальной разницы нет.
5 секунд постоянная времени по описанию. Кристалл резонатора по-максимумумомому (мля, как же это пишется) изолирован от корпуса, соответственно, и получаем результат.Это уже к производителям запрос.
2. Кристалл на низкую частоту, я думаю, нифига не мал. Разменять размер на добротность - да, реально, скорее всего. Наверное, если 1000000 штук закажете, сделают.
PS: я обычно ковыряюсь в профиле товарищей, которым отвечаю. Ну, боты бывают, да. время такое. Но вы всех переплюнули. Я считаю, что фраза "Я человек покусанный филологами )" должна быть в топ 3 лучших комментов хабра. Десяти плюсов для вас у меня нет, к сожалению
Я не верю в то, что полином степени N+1 аппроксимирует данные хуже, чем полином степени N. Потому что N - это частный случай N+1, у которого коэффициент при старшей степени нулевой.
Вы же и сами говорите - "вплоть до степени, на единицу меньшей количества экспериментальных точек (когда кривая пройдет точно через все точки)" - абсолютно точно, я считаю. СКО при этом обнулится, а не увеличится.
Вы очень круто сделали схему измерения энергии, запасённой в резонаторе. Важный параметр, превысить энергию - это нелинейные колебания, и все их прелести, включая сдвиг частоты. Обычным осциллом такое не измерить - он внесёт искажения, и вообще генерацию может нарушить.
Но если вам критически важен коэффициент усиления инвертора под капотом ТШ, вы же тогда тоже можете придумать схему его измерения? Или хотя-бы отбраковки - типа этот коэффициент годен, другой - нет.
Я не призываю сразу хвататься за паяльник. Ваш паяльник скорее всего быстрее моего, как в вестернах говорят) Просто предложите схему измерения.
Что конкретно не так:
Ваша программа при квадратичной аппроксимации (степень=2) минимизировала СКО, и подобрала коэффициенты так, что СКО получилось 0,210673. Коэффициенты я не видел. Но окей, мне и не надо.
Я с той же самой квадратичной аппроксимацией предлагаю такие коэффициенты:
A0 = 18294,072
A1 = -0,54826395
A2 = 0 (ну или 1/10³⁰, чтобы формально коэффициент присутствовал)
при которых СКО, вашей же программой расчитанный, оказывается меньше, = 0,209391.
То есть я, не производя вычислений, получил минимум ошибки меньше. Значит, у вас минимум - не минимум. Где-то в программе ошибка.
Вот дожили - меряемся, у кого меньше)))
Надеюсь, ответит. Явно призываю @khan-alex продолжить дискуссию.
Частотные датчики интересны по той причине, что опорный сигнал стабильный. Референс частоты с точностью, скажем, в 100ppm организовать - как два пальца об
жечь паяльником. Опорное напряжение, сопротивление, или ток с такой точностью - это гораздо большие вложения $$$.Сталкивался с применением устройств типа пьезо-пищалок в качестве "свидетелей" при магнетронном напылении. Масса растёт - резонансная частота падает. Разрешение - доли нанометров напылённого слоя, вообще легко.
2. МНК = минимизация СКО по определению. Буковка "К" в аббревиатурах на это тоже намекает. Если бы для проверки результатов использовался другой критерий, я бы и не бухтел тут.
При полиномиальной аппроксимации экстремум в МНК один единственный, невозможно ошибиться с минимумом. Меня смутил результат расчётов вашей программы:
Степень=1 приводит к A1=-0,548хх
Степень=2 почему-то, зараза такая, не приводит к A1=-0,548хх и A2=0
Вожделенный минимум СКО при Степень=2 у вас почему-то больше, чем минимум, который я указал. Как так?
"Нету КУ? А если найду?"
Под капотом, конечно, у триггера можно найти коэффициент усиления - при разомкнутой обратной связи. И величину этой положительной обратной связи. Но вы же ПОС не размыкаете, и под капот (в сам кристалл CD40xx) не лезете. Производитель чипа гарантирует, что от -55 до +125°C это триггер (ПОС > 1), и публикует пороги и время срабатывания - что и нужно для применения триггера, как чёрного ящика.
Другими словами: раз КУ так важен, значит, можно придумать схему его измерения, не вскрывая ящик. Есть идеи?
У триггера просто нет такого параметра, как "коэффициент усиления". Генератор на ТШ не заводится или меняет частоту по другой причине. Он как-бы этим хочет сказать: "Не нужен мне ваш кварц, я и без него сам себе генератор".
Ещё одну странность заметил - в регрессии:
Как я понял, вы считаете методом наименьших квадратов, то есть минимизируете это самое СКО. Но если линейное приближение оптимальнее, то метод как раз и выдаст нулевые коэффициенты для старших степеней. И автоматически вернёт вас к линейному приближению, где СКО получается меньше. Но почему-то не вернул.
Понятно, что нелинейность малозаметная, и в середине диапазона мало точек для выявления квадратичности. Я больше именно про математику.
А не подскажите, на чём делают генератор для диапазона 100-200°C. Резонатор же далеко не вывести от схемы генератора, как, например, термосопротивление. Или не генератором измеряют?
Не слышал раньше про такие датчики, очень интересно! Видимо, на всём, что плавает от температуры, можно её измерять. "Тот, кто нам мешает - тот нам поможет" (с). Вопрос в удобстве, старении и чувствительности к другим факторам, наверное.
Вопросы к схеме у меня:
Релаксационный? Очень странно, что он вообще заводится на частоте кварца - гистерезис у логики около 1 В, а на кварце всего 0,1 В.
У DD1.1 на первой схеме хорошо бы на один из входов подать 1. Иначе у вас резонатор нагружен сразу на 2 триггера Шмитта, ещё и с чуть разными порогами. И сквозной ток получается больше, и входная ёмкость.
В это я больше верю.
А есть какая-то причина, почему R1≠R2 и R5≠0 ?