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

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:

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

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

smalltim
Creator991:

только на этой плате, вторая работает нормально, тьфу 3 раза

Андрей, я могу заменить плату АП без вопросов.

baychi:

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

Вот тута www.atmel.com/dyn/…/128X-usb-boot-1-0-1.zip

serj:

Потому что еепром слетает даже если в коде нет команды ее записи

ЕЕПРОМ на АП я не использую вообще.

Syberian:

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

Спасибо 😃

Eugen_G

У меня прошивка слетала нерегулярно, иногда раз в 2-3 дня, иногда по 2 раза в день. При этом настройки и калибровки сохранялись.Сильно это не напрягало, перешить - минуту делов. Последнюю неделю слетает постоянно, может слететь несколько раз подряд. При этом слетают настройки, калибровки команд и диапазонов. Иногда слетает как-то странно - ап работает, но рулит только одним элероном, или при включении любого режима сразу дает полный газ. После перешивки - все ок. Ни разу не ругался на КС. Была еще такая ситуация-на земле проверяю - все ок. Взлетаю в ручном, включаю стабилизацию - не работает. Смотрю в очки - телеметрии нет, сажаю в ручном, перешиваю - все ок.

AlexSneg
Syberian:

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

У тебя реально такое было или это теория? Ни разу у меня такого не было. Мы уже более сотни плат с флайбоардом реализовали. Сам я по сотни раз в день передергиваю питание на своей плате АП. Знакомые у меня постоянно с STM32 чего-то разрабатывают. Ни разу никто не рапортовал о таком косяке на практике.

serj
smalltim:

ЕЕПРОМ на АП я не использую вообще.

Это не следствие, что что кто-то-то использует а кто-то нет.
Это демонстрация, как встроенный детектор с памятью эффекта некорректной работы декодера кодов команд при пониженном напряжении.

smalltim:

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

А бумага в сотрудничестве с маркетологами написана.
иначе чипы с отбраковкой по тактовой продавались бы с большим скрипом 😃

AlexSneg
serj:

памятью эффекта некорректной работы декодера кодов команд

Так это именно некорректная операция выборки КОПА или произвольное выполнение рандомного куска кода? Всегда было интересно чего будет делать атмега если неверный КОП случается. Похоже теперь я знаю.

Creator991
SkyWorker:

Что в Вашем понимании “проверенный аппарат”?

проверенный значит летал, далеко идолго и не один раз. Видео передатчик заменил, но в полете не испытывал

SkyWorker:

P.S. Компания Smalltim потеряла клиентов в лице поселка Логиново Свердловской области…

Возможно! На фестивале были люди из Пермского края, Тюменской, Челябинской ну и Свердловской области

SkyWorker:

Андрей, завязывайте со смаллтимом - мой Вам совет. Ваши и наши нервы будут крепче.

Почему ВЫ и несколько других человек, навязываете мне свою идею отказаться использовать Смалтима? Мне нравиться данная апаратура! И она меня полностью устраивает! Как я и писал тут выше, у меня 2ва полных комплекта АП+телеметрия+ИМУ, так вот второй работает нормально и слетов я не наблюдал. А вот первый меня замучал, сначала думал, что руки кривые но оказалась не у меня одного слетает
И ЕЩЕ ДЛЯ ВСЕХ ЖЕЛАЮЩИХ ПЕРЕЙТИ НА ЛИЧНОСТИ В ЛИЧКУ ПИШИТЕ!
Данная тема служит для чего? Правильно, для решения проблем и вопросов возникающих в ходе эксплуатации АП Смалтим

serj:

чем она отличается от другой, не слетающей. Это поможет другим, проблему надо решить.

Визуально ни чем не отличается, прошивки одинаковые, навесное оборудование одинаковое, менял местами платы АП, слеты остались!

serj:

ну перестаньте вы уже, в конце концов плакаться в жилетку

Я не плакаюсь, вы хоть читайте тему! Я просил Тимофея разобраться со слетами, или поменять/починить плату, ну если первые два варианта ну ни как не могут иметь место, просил вернуть деньги.

smalltim:

Андрей, я могу заменить плату АП без вопросов.

Куда отправить плату?

Udjin

Коллеги, у меня возникла потребность “вынести” usb на фюезеляж для оперативного перепрограммирования и доступа к логам. Т.Е. буду паять USB-удлинитель.
Подскажите, какой именно usb - разъем задействовать. Доступны 10-ти, 8-ми, 5-ти пиновые разъемы.
ИМХО в пилоте задействован 5-ти пиновый разъем. Это так?

baychi
Udjin:

Т.Е. буду паять USB-удлинитель

А зачем паять? Не проще ли взять готовый шнурок?
Там достаточно специальный кабель (требования по волновому сопротивлению и сочетанию проводников жесткие). 20-30 см сервоудлинителя и т.п. его не заменят. Я посто вывел 15 см удлинитель miniUSB->USB type A наружу.

Udjin:

в пилоте задействован 5-ти пиновый разъем. Это так?

Да, стандартный 5 пиновый mini-USB.