Smalltim OSD and autopilot (часть 2)

baychi
Ильвир:

У меня прошивка вообще не слетает.

ОК. Давайте исходить из принципа “плохое не может произойти с хорошим человеком”. 😃
Конечно, никаких прошивок ни у кого кроме тех, у кого кривые руки, не слетает, и слетать не может. И вся паника по этому поводу, лишь нервы, которые надо лечить. Посему и относиться к нам, паникерам, надо, как к назойливам мухам, - лучше всего не замечать. Не отвечать. Не париться. Пройдет время и все пройдет, все забудется…
😃

Udjin

Если принимаются предложения еще, то прошу внести в таск-лист следующее:
Отображение на экране ОСД произвольного параметра, который описывается формулой, которую задает оператор.
Например:
Расход м/ач / на метр высоты.
Или
Расход м/ач на метр расстояния.
Или
Пройденное расстояние / метр высоты.

Ильвир
baychi:

Посему и относиться к нам, паникерам, надо, как к назойливам мухам,
😃

Ну Вы, Александр, на назойливую муху точно не похожи. Наоборот, желаю Вам терпения, при ответе на наши глупые вопросы!!!
Про кондер на входе так и не сказали 😃 Может это поможет, попробуте.

baychi
Ильвир:

Про кондер на входе так и не сказали Может это поможет, попробуте.

Кондер просто на входе - ничего не меняет. А вот кондер после входного диода АП, дал мне повышение живучести прошивки в несколько раз.
Но не на 100%. 😦

Pavel_K

Кстати о кондерах, где-то в даташитах на какую-то атмегу мне попадалась рекомендация ставить конденсатор на reset как можно меньшего номинала, т.к. слишком большой конденсатор может приводить к подобным проблемам с порчей eeprom. На reset АП большой конденсатор стоит (если стоит вообще)?

smalltim
baychi:

Какие еще будут версии?

BODы или аппаратный формирователь сброса надо ставить, больше вариантов нет.

baychi:

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

Бебебе 😃 Работаю я, просто на данный момент не отсвечиваю в форуме так часто, как обычно.
Александр, факты следующие:

  • Наличие или отсутствие телеметрии никак не влияет на слеты прошивки
  • Наличие конденсатора перед импульсником АП влияет положительно
  • Выключение записи логов влияет положительно.

Всё говорит о том, что проц АП начинает лажать с выполнением команд прошивки и гонит пургу в тот момент, когда выключается питание, и напряжения со стабилизатора еще достаточно, чтоб он жил (2.5…4.5В), но недостаточно, чтоб он жил устойчиво (>=4.5В на 16МГц).

На промежуточном варианте нового АП (АП + ТМ, еще на Атмегах), стоит аппаратный формирователь сброса. Очень хочу, чтобы ты попробовал его, готов отдать тебе в руки.
А про “еще на Атмегах” я не оговорился. На днях приходит с завода опытная партия нового железа. Если всё ок, то к следующему сезону, надеюсь, уже будем летать на АРМах. А слеты прошивки забудем, да, как страшный сон.

IgorTim
smalltim:

Если всё ок, то к следующему сезону, надеюсь, уже будем летать на АРМах

Замечательная новость.

Вахтанг
baychi:

Он подвешен резисторами к +5 или GND?
Хотя бы CLK? Или висит в воздухе?

Нет, не подвешен.
вот его схема включения:
XS1 разъем телеметрии.

Сброс устроен так:

baychi
smalltim:

BODы

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

smalltim:

Всё говорит о том, что проц АП начинает лажать с выполнением команд прошивки и гонит пургу в тот момент, когда выключается питание, и напряжения со стабилизатора еще достаточно, чтоб он жил (2.5…4.5В), но недостаточно, чтоб он жил устойчиво (>=4.5В на 16МГц).

Проверю это, а так-же версию с помехами на неподвешенном CLК SPI после отключения.

Вахтанг:

Сброс устроен так:

Тоже версия. Могу только сказать, что от ручного нажатия на RESET прошивка никогда не слетает.
Также мне не удалось ее сбить при отключении питания с нажатым RESET-ом, но здесь очень много попыток не делал.

smalltim:

к следующему сезону, надеюсь, уже будем летать на АРМах. А слеты прошивки забудем, да, как страшный сон.

Это конешно хорошо, но и на том что есть хотелось бы летать без сюрпризов. 😃

baychi
baychi:

Попробую вечерком проверить.

Глюк победил меня. Похоже ему удалось убить начальный загрузчик. Как USB устройство плата распознается, но перешиваться больше не может. 😦

Тимофей, если подключить аппаратный програматор через SPI, есть шинс перешить мегу? Или без bootloadera тока замена меги пройдет?

serj

Попробую порассуждать насчет слета прошивок. Что вообще “слет”? не сходится контрольная сумма прошивки и программа не включается? если не ставить бит защиты и слить дамп флеша- что именно испорчено? выполняются команды стирания страницы или отдельных ячеек? Тимофей написал что отключение записи логов влияет положительно… Логи пишутся во внутренний флеш?
По напряжению питания- насколько я помню авр-ы 2-х летней давности- если проц- на 16 Мгц- он отлично работает до 3-х вольт.
А вот ниже начинаются косяки- связанные с некорректным декодированием кода команд. Но это в основном приводило к порче eeprom. Не исключено, что могут неверно декодироваться команды и вызывать инструкции типа spm или что-то вроде. Выскажу предположение о порче отдельных ячеек, ибо на стирание страницы скорее всего не хватит времени… Основная причина - длительное время фронта падения напряжения питания. Надо, чтобы оно падало быстро, причем между 3 и 1.5 вольтами. И большой конденсатор на сбросе также может способствовать, ибо если мне не изменяет склероз, порог аппатного сброса около 2.2 вольт, и напряжение на ноге сброса падает явно медленнее чем напряжение питания проца.

baychi
serj:

Что вообще “слет”? не сходится контрольная сумма прошивки и программа не включается?

Да, либо полная неработоспособность, либо диагностика по несовпадению КС.

serj:

Логи пишутся во внутренний флеш?

Нет, во внешний.

serj:

По напряжению питания- насколько я помню авр-ы 2-х летней давности- если проц- на 16 Мгц- он отлично работает до 3-х вольт.

Порог внутреннего RESETа деволтный, 2.4 В.

serj:

это в основном приводило к порче eeprom.

Eeprom мы не используем.

serj:

Выскажу предположение о порче отдельных ячеек, ибо на стирание страницы скорее всего не хватит времени…

Да, но что-бы это понять, нужна поодержка Тимофея (я не могу добавить команды чтения памяти, так как КП их не поодерживает) или внешний программатор.

serj:

Основная причина - длительное время фронта падения напряжения питания.

Возможно. Там десятки миллисекунд…

serj:

порог аппатного сброса около 2.2 вольт, и напряжение на ноге сброса падает явно медленнее чем напряжение питания проца.

Вроде внутренний RESET завязан тока с напряжением питания. Напряжение на ножки RESET значения не имеет.

Creator991

Уффф! даже не знаю счего и начать! Сегодня 7 октября на аэродроме в п.Логиново Свердловская область, проходил грандиозный фестиваль, Октобер Флай Фест 2012. Были показательные полеты настоящих самолетов, легкой авиации и вертолетов, а также много модельной техники летало. Меня с ФПВ моделями ждали люди и не мало, поделиться опытом, посмотреть живьем на апаратуру от Smalltim, Expert, Slon. (все это есть у меня). Решил начать полеты с SkyWalkera т.к. проверенный апарат (на борту стоит АП от Смалтима и Слон) поднял все гуд но через минут 5 почемуто стала глючить видио (подозрение на не согласованность видео приемника от вовы с видео передатчиком от лавмейт). Решил не эксперементировать, люди стоят смотрят, посадил. Собрал второй носитель, Кулярис, подключил аппаратуру, начинаю проверять, а АП спутники не видит. Ведь только что летал на скае, 12шт видел, а на Кулярисе 0. Короче танцевал с бубном минут 20, ни чего не помогло. Люди стоят, смотрят, сочуствуют. Решил пойти проверенным путем, перепрошит АП. И, о чудо, после перепрошивки платы АП спутники волшебным способом появились! Не знаю на сколько АП от смалтима упал в глазах у коллег на поле, но думаю они задумаются перед покупкой сиго чуда. Я уже устал бодаться с АП. Деньги потрачены и кроме проблем (только на этой плате, вторая работает нормально, тьфу 3 раза) я ни чего не получил и начались эти слеты практически сразу после покупки АП, я в этой теме писал, как у меня скай рухнул и в последствии оказалось, что это слет. Это единственный случай слета прошивки в небе

Syberian

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

ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В.
Программными средствами это сделать невозможно, только программатором.
Внешний супервизор питания может не успеть сбросить проц, не обольщайтесь.

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

И этта… На АРМе вас может поджидать точно такой же анус. Имейте в виду.

5 коп от канкурента. Спасипо за унимание.

baychi
Syberian:

Если в памяти есть процедура записи еепром или флеш - рано или поздно она будет выполнена и все засрет.

Явно ее там нет. Если только в библиотеках каких… Ну и в бутлоадере понятное дело.

Syberian:

ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В. Программными средствами это сделать невозможно, только программатором.

Это абсолютно точно? Можно не проверять?
Биты BOD доступны из кода по чтению и записи, без программирования. Непонятно только, что будет если их там изменить, изменится ли порог до отключения питания или нет?
К сожалению, я не успел это проверить. 😦

Syberian

Это не проверено, а выстрадано. Что значит не успел? Бут заср…? Чип эразе, выставить фузы, перешить бут, залить софт штатно через кп, или как там у вас.
Атмегу нельзя сделать программируемой одноразово, и при этом оставить возможность обновления поршивки, так что излечимо все.

baychi
Syberian:

Что значит не успел? Бут заср…?

Да. Через USB больше не шьется. 😦
Завтра возьму внешний программатор и попробую через SPI восстановить

Syberian:

Это не проверено, а выстрадано.

Спасибо. Заодно и BOD побольше поставлю…

SkyWorker
Creator991:

Решил начать полеты с SkyWalkera т.к. проверенный апарат

Creator991:

но через минут 5 почемуто стала глючить видио (подозрение на не согласованность видео приемника от вовы с видео передатчиком от лавмейт).

Что в Вашем понимании “проверенный аппарат”?
P.S. Компания Smalltim потеряла клиентов в лице поселка Логиново Свердловской области…
Андрей, завязывайте со смаллтимом - мой Вам совет. Ваши и наши нервы будут крепче.

serj
Syberian:

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

Олег, спасибо за дополнение. По моим и не моим исследованиям- рандомное скакание начинается ПОСЛЕ первого вызова команды записи. Сообщество пришло к выводу, что это связано с активным использованием 12-ти вольтового встроенного источника используемого для записи флеш и еепром. Потому что еепром слетает даже если в коде нет команды ее записи 😃 а вот флешь практически не слетает- т.к энергетика ее сильно выше. Но в случае сильно растянутого фронта падения питания - эта вероятность есть. Причем, кстати BOD не защищает от нее на 100%- его время срабатывания не 1 такт. 😃 но это надо ОЧЕНЬ сильно постараться, чтобы при включенном BOD что-то слетало.

Посему рекомендую уменьшить параллельно с включением BOD время фронта питания. если в dc-dc конвертере есть что-то типа under voltage lockout (порог выключения при понижении питания) - его надо или поднять до 6-7 вольт или создать условия, чтобы при отключении конвертер не высасывал последние капли из входных конденсаторов, растягивая фронт питания.

2 Андрей Семенов_ ну перестаньте вы уже, в конце концов плакаться в жилетку. Все и так уже знают что у вас на одной из плат слетает прошивка. Рекомендую исследовать- чем она отличается от другой, не слетающей. Это поможет другим, проблему надо решить.
Я представляю, сколько бы было негатива- купи вы знаменитую фи-20.
Современный мир таков, что производители должны выпускать в пользование продукты требующие программных доработок, иначе у них, производителей, не будет передовых решений, только устаревшие.

smalltim
baychi:

Тимофей, если подключить аппаратный програматор через SPI, есть шинс перешить мегу?

Да, конечно. И бутлоадер можно перезалить.

serj:

По напряжению питания- насколько я помню авр-ы 2-х летней давности- если проц- на 16 Мгц- он отлично работает до 3-х вольт.

Бумага говорит, не ниже 4.5В.

baychi
smalltim:

И бутлоадер можно перезалить.

А где его взять?