Smalltim OSD and autopilot (часть 2)
SPI заведен на флешку и на ТМ, больше никуда.
Он подвешен резисторами к +5 или GND?
Хотя бы CLK? Или висит в воздухе?
Проверил еще одну программную идею, направленную на борьбу со слетами прошивки.
У меня прошивка вообще не слетает. Не знаю почему, но факт. Как уже раньше говорили, что в тему пишут у кого проблемы с чем-то, а остальные молчат. Вот и решил написать. В электронике не силен, но хотел бы спросить, не влияет ли на это установленный у меня на входных каналах на питании кондер на 3300 Мкф?
P.S. Прошивка не слетела даже после купания в Волге в НН на фестивале.
У меня прошивка вообще не слетает.
ОК. Давайте исходить из принципа “плохое не может произойти с хорошим человеком”. 😃
Конечно, никаких прошивок ни у кого кроме тех, у кого кривые руки, не слетает, и слетать не может. И вся паника по этому поводу, лишь нервы, которые надо лечить. Посему и относиться к нам, паникерам, надо, как к назойливам мухам, - лучше всего не замечать. Не отвечать. Не париться. Пройдет время и все пройдет, все забудется…
😃
Если принимаются предложения еще, то прошу внести в таск-лист следующее:
Отображение на экране ОСД произвольного параметра, который описывается формулой, которую задает оператор.
Например:
Расход м/ач / на метр высоты.
Или
Расход м/ач на метр расстояния.
Или
Пройденное расстояние / метр высоты.
Посему и относиться к нам, паникерам, надо, как к назойливам мухам,
😃
Ну Вы, Александр, на назойливую муху точно не похожи. Наоборот, желаю Вам терпения, при ответе на наши глупые вопросы!!!
Про кондер на входе так и не сказали 😃 Может это поможет, попробуте.
Про кондер на входе так и не сказали Может это поможет, попробуте.
Кондер просто на входе - ничего не меняет. А вот кондер после входного диода АП, дал мне повышение живучести прошивки в несколько раз.
Но не на 100%. 😦
Кстати о кондерах, где-то в даташитах на какую-то атмегу мне попадалась рекомендация ставить конденсатор на reset как можно меньшего номинала, т.к. слишком большой конденсатор может приводить к подобным проблемам с порчей eeprom. На reset АП большой конденсатор стоит (если стоит вообще)?
Какие еще будут версии?
BODы или аппаратный формирователь сброса надо ставить, больше вариантов нет.
И вся паника по этому поводу, лишь нервы, которые надо лечить. Посему и относиться к нам, паникерам, надо, как к назойливам мухам, - лучше всего не замечать. Не отвечать. Не париться. Пройдет время и все пройдет, все забудется…
Бебебе 😃 Работаю я, просто на данный момент не отсвечиваю в форуме так часто, как обычно.
Александр, факты следующие:
- Наличие или отсутствие телеметрии никак не влияет на слеты прошивки
- Наличие конденсатора перед импульсником АП влияет положительно
- Выключение записи логов влияет положительно.
Всё говорит о том, что проц АП начинает лажать с выполнением команд прошивки и гонит пургу в тот момент, когда выключается питание, и напряжения со стабилизатора еще достаточно, чтоб он жил (2.5…4.5В), но недостаточно, чтоб он жил устойчиво (>=4.5В на 16МГц).
На промежуточном варианте нового АП (АП + ТМ, еще на Атмегах), стоит аппаратный формирователь сброса. Очень хочу, чтобы ты попробовал его, готов отдать тебе в руки.
А про “еще на Атмегах” я не оговорился. На днях приходит с завода опытная партия нового железа. Если всё ок, то к следующему сезону, надеюсь, уже будем летать на АРМах. А слеты прошивки забудем, да, как страшный сон.
Если всё ок, то к следующему сезону, надеюсь, уже будем летать на АРМах
Замечательная новость.
BODы
BODы вроде можно менять программно. По крайней мере читать их можно и писать тоже. Даже если и не запомнятся во постоянной памяти, порог отключения должен измениться. Попробую вечерком проверить.
Всё говорит о том, что проц АП начинает лажать с выполнением команд прошивки и гонит пургу в тот момент, когда выключается питание, и напряжения со стабилизатора еще достаточно, чтоб он жил (2.5…4.5В), но недостаточно, чтоб он жил устойчиво (>=4.5В на 16МГц).
Проверю это, а так-же версию с помехами на неподвешенном CLК SPI после отключения.
Сброс устроен так:
Тоже версия. Могу только сказать, что от ручного нажатия на RESET прошивка никогда не слетает.
Также мне не удалось ее сбить при отключении питания с нажатым RESET-ом, но здесь очень много попыток не делал.
к следующему сезону, надеюсь, уже будем летать на АРМах. А слеты прошивки забудем, да, как страшный сон.
Это конешно хорошо, но и на том что есть хотелось бы летать без сюрпризов. 😃
Попробую вечерком проверить.
Глюк победил меня. Похоже ему удалось убить начальный загрузчик. Как USB устройство плата распознается, но перешиваться больше не может. 😦
Тимофей, если подключить аппаратный програматор через SPI, есть шинс перешить мегу? Или без bootloadera тока замена меги пройдет?
Попробую порассуждать насчет слета прошивок. Что вообще “слет”? не сходится контрольная сумма прошивки и программа не включается? если не ставить бит защиты и слить дамп флеша- что именно испорчено? выполняются команды стирания страницы или отдельных ячеек? Тимофей написал что отключение записи логов влияет положительно… Логи пишутся во внутренний флеш?
По напряжению питания- насколько я помню авр-ы 2-х летней давности- если проц- на 16 Мгц- он отлично работает до 3-х вольт.
А вот ниже начинаются косяки- связанные с некорректным декодированием кода команд. Но это в основном приводило к порче eeprom. Не исключено, что могут неверно декодироваться команды и вызывать инструкции типа spm или что-то вроде. Выскажу предположение о порче отдельных ячеек, ибо на стирание страницы скорее всего не хватит времени… Основная причина - длительное время фронта падения напряжения питания. Надо, чтобы оно падало быстро, причем между 3 и 1.5 вольтами. И большой конденсатор на сбросе также может способствовать, ибо если мне не изменяет склероз, порог аппатного сброса около 2.2 вольт, и напряжение на ноге сброса падает явно медленнее чем напряжение питания проца.
Что вообще “слет”? не сходится контрольная сумма прошивки и программа не включается?
Да, либо полная неработоспособность, либо диагностика по несовпадению КС.
Логи пишутся во внутренний флеш?
Нет, во внешний.
По напряжению питания- насколько я помню авр-ы 2-х летней давности- если проц- на 16 Мгц- он отлично работает до 3-х вольт.
Порог внутреннего RESETа деволтный, 2.4 В.
это в основном приводило к порче eeprom.
Eeprom мы не используем.
Выскажу предположение о порче отдельных ячеек, ибо на стирание страницы скорее всего не хватит времени…
Да, но что-бы это понять, нужна поодержка Тимофея (я не могу добавить команды чтения памяти, так как КП их не поодерживает) или внешний программатор.
Основная причина - длительное время фронта падения напряжения питания.
Возможно. Там десятки миллисекунд…
порог аппатного сброса около 2.2 вольт, и напряжение на ноге сброса падает явно медленнее чем напряжение питания проца.
Вроде внутренний RESET завязан тока с напряжением питания. Напряжение на ножки RESET значения не имеет.
Уффф! даже не знаю счего и начать! Сегодня 7 октября на аэродроме в п.Логиново Свердловская область, проходил грандиозный фестиваль, Октобер Флай Фест 2012. Были показательные полеты настоящих самолетов, легкой авиации и вертолетов, а также много модельной техники летало. Меня с ФПВ моделями ждали люди и не мало, поделиться опытом, посмотреть живьем на апаратуру от Smalltim, Expert, Slon. (все это есть у меня). Решил начать полеты с SkyWalkera т.к. проверенный апарат (на борту стоит АП от Смалтима и Слон) поднял все гуд но через минут 5 почемуто стала глючить видио (подозрение на не согласованность видео приемника от вовы с видео передатчиком от лавмейт). Решил не эксперементировать, люди стоят смотрят, посадил. Собрал второй носитель, Кулярис, подключил аппаратуру, начинаю проверять, а АП спутники не видит. Ведь только что летал на скае, 12шт видел, а на Кулярисе 0. Короче танцевал с бубном минут 20, ни чего не помогло. Люди стоят, смотрят, сочуствуют. Решил пойти проверенным путем, перепрошит АП. И, о чудо, после перепрошивки платы АП спутники волшебным способом появились! Не знаю на сколько АП от смалтима упал в глазах у коллег на поле, но думаю они задумаются перед покупкой сиго чуда. Я уже устал бодаться с АП. Деньги потрачены и кроме проблем (только на этой плате, вторая работает нормально, тьфу 3 раза) я ни чего не получил и начались эти слеты практически сразу после покупки АП, я в этой теме писал, как у меня скай рухнул и в последствии оказалось, что это слет. Это единственный случай слета прошивки в небе
serj, вы близки к точному описанию трабла, но я дополню. Сам сталкивался.
Если напряжение питания спускается ниже порога устойчивой работы внутренней шины проца, программный счетчик дает сбои. В результате проц рандомно скачет по всей программе и выполняет произвольные куски.
Если в памяти есть процедура записи еепром или флеш - рано или поздно она будет выполнена и все засрет.
ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В.
Программными средствами это сделать невозможно, только программатором.
Внешний супервизор питания может не успеть сбросить проц, не обольщайтесь.
На месте производителя я бы сделал такой небольшой жест, не имеющим программатора или по другим причинам, предложить прислать плату для перешивки. Так, просто забота о клиентах.
Имеющие программатор - я описал выше, что нужно сделать.
И этта… На АРМе вас может поджидать точно такой же анус. Имейте в виду.
5 коп от канкурента. Спасипо за унимание.
Если в памяти есть процедура записи еепром или флеш - рано или поздно она будет выполнена и все засрет.
Явно ее там нет. Если только в библиотеках каких… Ну и в бутлоадере понятное дело.
ЕДИНСТВЕННЫЙ выход из положения - это установка фузе бита BODEN и установка BODLEVEL на 4.5В. Программными средствами это сделать невозможно, только программатором.
Это абсолютно точно? Можно не проверять?
Биты BOD доступны из кода по чтению и записи, без программирования. Непонятно только, что будет если их там изменить, изменится ли порог до отключения питания или нет?
К сожалению, я не успел это проверить. 😦
Это не проверено, а выстрадано. Что значит не успел? Бут заср…? Чип эразе, выставить фузы, перешить бут, залить софт штатно через кп, или как там у вас.
Атмегу нельзя сделать программируемой одноразово, и при этом оставить возможность обновления поршивки, так что излечимо все.
Что значит не успел? Бут заср…?
Да. Через USB больше не шьется. 😦
Завтра возьму внешний программатор и попробую через SPI восстановить
Это не проверено, а выстрадано.
Спасибо. Заодно и BOD побольше поставлю…
Решил начать полеты с SkyWalkera т.к. проверенный апарат
но через минут 5 почемуто стала глючить видио (подозрение на не согласованность видео приемника от вовы с видео передатчиком от лавмейт).
Что в Вашем понимании “проверенный аппарат”?
P.S. Компания Smalltim потеряла клиентов в лице поселка Логиново Свердловской области…
Андрей, завязывайте со смаллтимом - мой Вам совет. Ваши и наши нервы будут крепче.
serj, вы близки к точному описанию трабла, но я дополню. Сам сталкивался.
Если напряжение питания спускается ниже порога устойчивой работы внутренней шины проца, программный счетчик дает сбои. В результате проц рандомно скачет по всей программе и выполняет произвольные куски.
Если в памяти есть процедура записи еепром или флеш - рано или поздно она будет выполнена и все засрет.
Олег, спасибо за дополнение. По моим и не моим исследованиям- рандомное скакание начинается ПОСЛЕ первого вызова команды записи. Сообщество пришло к выводу, что это связано с активным использованием 12-ти вольтового встроенного источника используемого для записи флеш и еепром. Потому что еепром слетает даже если в коде нет команды ее записи 😃 а вот флешь практически не слетает- т.к энергетика ее сильно выше. Но в случае сильно растянутого фронта падения питания - эта вероятность есть. Причем, кстати BOD не защищает от нее на 100%- его время срабатывания не 1 такт. 😃 но это надо ОЧЕНЬ сильно постараться, чтобы при включенном BOD что-то слетало.
Посему рекомендую уменьшить параллельно с включением BOD время фронта питания. если в dc-dc конвертере есть что-то типа under voltage lockout (порог выключения при понижении питания) - его надо или поднять до 6-7 вольт или создать условия, чтобы при отключении конвертер не высасывал последние капли из входных конденсаторов, растягивая фронт питания.
2 Андрей Семенов_ ну перестаньте вы уже, в конце концов плакаться в жилетку. Все и так уже знают что у вас на одной из плат слетает прошивка. Рекомендую исследовать- чем она отличается от другой, не слетающей. Это поможет другим, проблему надо решить.
Я представляю, сколько бы было негатива- купи вы знаменитую фи-20.
Современный мир таков, что производители должны выпускать в пользование продукты требующие программных доработок, иначе у них, производителей, не будет передовых решений, только устаревшие.