Как проверить процессор.

Схематические решения и решение проблем по обвязке микроконтроллера. Схемотехника программаторов.

Как проверить процессор.

Сообщение щербатый (щербатый) » 22 ноя 2019, 14:22

Приветствую друзья мои. Вот и меня это коснулось. Убил два дня...

Обычно отлаживаю свои алгоритмы до зеркального блеска. И уже есть выверенные решения, которые меня устраивают. Но, тем не менее. Жизнь ставит новые задачи. И их приходится решать. В своем время столкнулся с нехваткой размера стека в PIC16F886. Выглядело все загадочно. Пока не разобрался в чем же дело на самом деле. Да, оптимизировал программы. Получил без ценный опыт. Но пришел к выводу. Что овчинка выделки не стоит. И сознательно загонять себя в слабоватый процессор (с малым размером стека), смысла нет. При разнице в цене на более могучий копейки.

Перешел на процессор PIC18F25K22. Всего хватает, с избытком. Но, глядя в уже недалекое будущее, понимаю. Уже надо подыскивать себе перспективную рабочую лошадку.

Вне зависимости от марки процессора. Есть общие проблемы. Быстрое гугление ответа не дало...
Так вот, пишу я значит себе алгоритм под очередную задачку. И вдруг вижу. Что что-то идет не так... Я и так, и эдак. Ну никак... Уже и проверенные куски алгоритмов заливаю. Не то...
И думаю, а дайка я другой такой же корпус поставлю. И тут произошло чудо. Все заработало как часы. Вот это поворот... Ставлю предыдущий (глючный) точно такой же пик. Не. не так как надо работает алгоритм. Ставлю новый. Все как часы, как задумывалось.

В связи с этим вопрос. А кто и как проверяет исправность своих процессоров? Какие тесты вы делаете? На что обращаете внимание?
Вопрос не праздный. В принципе, можно проверить исправность на рабочей программе. Вроде бы все хорошо. Но после этого случая, что то кошки скребут на душе. Как по мне. Лучше, легче, и проще. Провести предварительную проверку и отсеять сомнительные процессора. Чем потом в ночь полночь в темноту и холод. Под дождем или снегом, лететь куда то там. Убить время, потерять доверие клиента. Все таки лучше подстраховаться.

Конечно, имеет право на жизнь и более расширенная постановка задачи. Проверка всего изделия. А не только лишь отдельно процессора. Понятное дело. Термокамеры, вибростенды и тд. Нисколько не умаляя потребность и в такой постановке вопроса. Все же замечу. Это требует более серьезного отношения в виде стендов и тд.

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

Возможно коллеги уже задумывались об этом, и есть какие либо готовые идеи, подходы к решению вопроса. Который заинтересовал меня.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе

Re: Как проверить процессор.

Сообщение Yushik (Андрей) » 22 ноя 2019, 14:57

У меня были подобные глюки, решал таким же способом как ты. Я подозреваю что в твоём МК есть битая ячейка в старших банках RAM, или в последнем проекте были инструкции которые ранее не использовались. Был у меня проект не маленький, сначала на Atmega8 сделал не завёлся, перепробовал Atmega168, Atmega328 также не работало, на Atmega16 заработало как часы. Попадался также глючный Attiny24, переодически останавливался тактовый генератор на кварце, замена нагрузочных конденсаторов и кварца не помогла, после замены МК проблема исчезла. То что ты предлагаешь сделать тестовые проги теоретически да это возможно, а практически нафиг оно нужно слишком муторно. Это нужно испытать всё инструкции У PIC их около 45, всё регистры каждый его бит, то же самое с RAM, EEPROM вдоль и поперёк. Все аппаратные плюшки и переферию. Придётся писать прогу под каждую линейку МК, потому-что они отличаются всем этим барохлом. Про Atmel я вобще молчу у них только инструкций около 135. Не ну если свободного времени много можно и поразвлекаться.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Супер разработчик
Супер разработчик
Информация о пользователе

Re: Как проверить процессор.

Сообщение щербатый (щербатый) » 22 ноя 2019, 15:25

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

Скажем. По включению питания просто тупо помигать светодиодом. Это уже о многом говорит.
Как минимум он мигает. Значит питание есть.

Темп мигания и количество вспышек говорят за то. Что процессор жив, тактовый генератор исправен.

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

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

Хотя тема конечно велика. Здесь можно привести и методы сигнатурного анализа, и контрольные суммы, и разрыв цепей управления по обратной связи. Это все перебор. Нужно что то простецкое, надежное как лом. Сейчас не готов в лоб решать эту задачу, но об этом подумаю.

Кстати. Где то встречал методы проверки контрольной суммы ПЗУ. По загрузке процессора при подаче питания, это было бы интересно.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение Yushik (Андрей) » 22 ноя 2019, 15:56

Да твои наблюдения и идеи имеют право на жизнь, не во всех случаях это нужно конечно. Здесь надо сначала отладить основную программу, а потом если место осталось сделать ещё один цикл перед основным. И там делать эти тесты, если всё гуд вышел из этого цикла и зашёл в основной.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение щербатый (щербатый) » 22 ноя 2019, 17:31

Да друг мой. У меня так и сделано. Только я и сам не совсем понимал что это еще и для самодиагностики пригодиться.

К вопросу места. Ну, в некотором смысле. Это философия. Зачем уродоваться. Выбирать слабоватый камень. И уже на нем изоляться.

Гораздо проще. И на мизер дороже. Выбрать камень помощнее. На нем все отладить. А уже потом можно и подумать о минимизации кода. Но не с точки зрения минимизации ради самой минимизации. У меня всегда остается как минимум половина памяти свободной. Как только это не так, сразу ставлю процессор с большей памятью. С этим нет проблем, их как грязи. Навалом.
А с точки зрения его оптимизации, удобочитаемости, переносимости. Лучшей понимаемости того, что ты делаешь. Разница в цене, копейки. А удобство работы и отладки. Не сопоставимо. Тем более что процессора дешевеют на глазах.

Но глюк был интересный. И заставил меня задуматься над этой темой. Алгоритм выполняется безукорисненно. И только в одном месте - неправильно...
Что то мне думается. В этом смысле поможет метод контрольных сумм ПЗУ. Но увы, пока я не владею этим вопросом. А готового ничего не увидел.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение щербатый (щербатый) » 30 ноя 2019, 00:17

щербатый писал(а):Приветствую друзья мои. Вот и меня это коснулось. Убил два дня...

Проблема оказалась проста... Кто будет проверять проверяющего? Просто в коробке валялось несколько процессоров. Те, с которыми работаю сейчас, питание пять вольт. И несколько штук таких же. Но на три вольта... Вот его то, 3-х вольтовый, я и поставил в плату на питание 5 вольт. Не згорел, даже работал. Но как выяснилось неправильно. Такие дела. Нужно быть внимательным, и педантичным даже в мелочах...
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение Andrey0016 (Андрей) » 02 дек 2019, 06:32

От себя пару слов добавлю.
Сейчас (убедился на личном опыте, даже создавал тему) идет много брака или второсортной продукции.
Также, программа запускалась, работала какое то время (до 5-7 минут нормально) а затем начинала вести совсем не так как я её просил и в итоге камень зависал. В итоге помучавшись 4 дня, тупо поехал за новым камнем - и вуаля, 3 месяц устройство в работе.
А что в итоге? Камень который вис, у него на пузе надпись "лазером" стерлась спиртом, на новой мсх купленной в другом маге только выцарапывать шилом или бормашинкой.
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение щербатый (щербатый) » 05 дек 2019, 00:41

Andrey0016 писал(а):Камень который вис, у него на пузе надпись "лазером" стерлась спиртом, на новой мсх купленной в другом маге только выцарапывать шилом или бормашинкой.

Интересная мысль. Я об этом знал, но как то расслабился. И перестал обращать внимание. Спасибо, теперь на это (протирка спиртом) и другие критерии качества. Буду обращать внимание.
А кстати. На что из несложного и легко проверяемого нужно смотреть? Как бы понятно. Внешний вид и место где покупаешь. Но может еще что то.
Ник: щербатый
Имя: щербатый
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение Andrey0016 (Андрей) » 05 дек 2019, 06:15

Других замечаний пока не замечено :)
Но одно могу сказать - в ЧиДе тоже продают непонятный мусор.
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Как проверить процессор.

Сообщение madera (Виталий) » 14 янв 2020, 09:33

Andrey0016 писал(а): Камень который вис, у него на пузе надпись "лазером" стерлась спиртом, на новой мсх купленной в другом маге только выцарапывать шилом или бормашинкой.

Я купил однажды Attiny44, 3 шт. Делал фрезер для маникюра, который, кстати, нормально работает уже больше года. Но надпись на МК стерлась при первой же отмывке платы ацетоном. Так что, прочность надписи - это косвенный показатель. У знакомого продавца взял Attiny13, она оказалась негодной. Проверили всю партию (18 шт) - все дохлые, хотя надписи на них были правильные, нестираемые и несмываемые.
После покупки всегда проверяю МК, задав чтение калибровочных ячеек генератора. Если эта функция ОК, знач проц живой. С некоторой вероятностью, конечно.
Ник: madera
Имя: Виталий
(Одесса)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

След.

Вернуться в Железо

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей