ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
9 мая
1517104 Топик полностью
ЫЫyкпy (Сегодня, 07:46, просмотров: 25) ответил VLLV на Отлично, прогресс. Датчик ни при чём, АЦП ни при чём. "Если шлю константу - то всё нормально, если шлю медленно меняющийся сигнал видны сбои". Чисто программный баг. Сопоставить полученную сбойную информацию с отправленной можно? Допустим вместо 1000 приходит 1256, значит та самая "атомарность доступа", о которой пишет Nikolay_Po. Вот подозрительное место "значение с АЦП берётся по таймеру(в обработчике прерываний), в том же таймере данные эти значения
+1. Но для начала можно оценить ещё более простой случай. 

При линейно нарастающей/спадающей скорости можно оценить вклад неравномерности времени выборки ti.

Если ускорение постоянно, то скорость изменяется как v(ti) = v(0)+a*ti. Если время измерения ti "гуляет" на величину Δt, а точки на графике рисуем с постоянным шагом, то значение будет отклоняться от правильного на a*Δt. Если точку на графике сместить по горизонтали на -Δt то она точно попадёт на прямую v(t). Но такой механизм объясняет только сравнительно небольшие отклонения порядка произведения ускорения на период выборки. Если они больше - стоит поискать ошибки от неатомарного обновления старшего и младшего байтов. Их, кстати, легче увидеть если рисовать два графика, обычный и с нулевым младшим байтом. Ошибочные точки будут появляться на один дискрет времени раньше или позже изменения старшего байта.

Жизнь есть способ борьбы белковых тел со вторым началом термодинамики.