|
Странные проблемы с прошивкой. |
|
|
|
Jul 15 2008, 10:05
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Пытаюсь тут соорудить одну игрушечную железяку (пара кнопок, светодиоды, мелкий матюгальничек) -- наступаю на какие-то невообразимые совершенно грабли. Если коротко: в попытках отладить это барахло дохнет уже четвертый камень (и вторая ревизия платы). Пробовал tiny2313V и мегу8. Выглядит это так: пишу программу, зашиваю (avreal + byteblaster) -- не работает, или работают только самые примитивные вещи (счет на порту со светодиодами с busy-loop задержкой). Попытка отлаживать это дело (расставить мигания светодиодом в нужных участках программы) приводит к плавающим результатам, а потом где-то на десятой-двадцатой прошивке камень скукоживается, т.е. перестает обнаруживаться avreal'ом совсем. При этом могут происходить всякие странности, вроде мигания светодиодами в момент прошивки (хотя они висят на порту C, а SPI интерфейс на порту  . Мигание происходит не всегда, а только если камню "особенно плохо" (от чего это зависит я так и не понял). Если дать плате отлежаться примерно сутки, функциональность частично восстанавливается, пока опять не прошьешь раз пять, и тогда -- здравствуйте глюки! Байтбластер -- боевой и проверенный, не один камень с ним зашил, кабели короткие, резисторы где положено, звонов не было. Разве что может его космическими лучами ударило и он заглючил -- посмотрю еще раз сегодня. Плату -- мыл. Чип -- не перегревал. То, что упомянутый выше порт C питается от AVCC -- знаю, питание разведено как положено. Блокировочные конденсаторы -- есть. Подтяжка #RST к питанию -- есть. Верификация прошивки проходит нормально, хотя если дать плате полежать минуты полторы без питания, а потом опять включить -- верификация будет давать ошибки, каждый раз разное число. Начинаю грешить на чипдип, где камни покупались (покупались в последние три-четыре месяца где-то). Купленная пару лет назад tiny12 так и не нашедшая применения, и валяющаяся на столе в скотских условиях и лапаемая пальцами со статикой шьется и читается тем же бластером на ура (раз двести по-моему уже зашил). Ах да, еще одно: к глюкам приводит даже не то что попытка зашить чип, а просто попытка раз 10 почитать байтбластером конфигурацию и идентифицировать чип (то, что avreal делает по умолчанию, если не указать иного). Что еще можно проверить?
Сообщение отредактировал slanted - Jul 15 2008, 10:05
|
|
|
|
|
Jul 15 2008, 10:34
|
Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003

|
Цитата(slanted @ Jul 15 2008, 14:05)  Пытаюсь тут соорудить одну игрушечную железяку (пара кнопок, светодиоды, мелкий матюгальничек) -- наступаю на какие-то невообразимые совершенно грабли. Если коротко: в попытках отладить это барахло дохнет уже четвертый камень (и вторая ревизия платы). Пробовал tiny2313V и мегу8. .... Что еще можно проверить? Действительно странная ситуация, я бы в этом случае осциллоскопом посмотрел на ресете и питании, может провалы или вспелески где-нибудь. Может быть еще конденсаторы (особливо электролиты) между землей и плюсом посмотреть.
|
|
|
|
|
Jul 15 2008, 11:05
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Цитата(smac @ Jul 15 2008, 14:34)  Действительно странная ситуация, я бы в этом случае осциллоскопом посмотрел на ресете и питании, может провалы или вспелески где-нибудь. Может быть еще конденсаторы (особливо электролиты) между землей и плюсом посмотреть. Меня больше всего удивляет "отлежка" камней. Через сутки он оживает, дает себя почитать пару раз и уходит в нирвану опять. Может его в морозилку сунуть? Или наоборот, паяльником погреть?
|
|
|
|
|
Jul 15 2008, 13:34
|
Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003

|
Цитата(slanted @ Jul 15 2008, 15:05)  Меня больше всего удивляет "отлежка" камней. Через сутки он оживает, дает себя почитать пару раз и уходит в нирвану опять.
Может его в морозилку сунуть? Или наоборот, паяльником погреть? Мне все-таки кажется, что проблема не в камне. Если это возможно, то попробуйте сделать для камня простенькую макетку (ну например порты на "расческу") и помигать диодом, чтобы точно определить в камне или плате проблема. Вообще ощущение такое, что либо где-то плохой контакт (непропай, микротрещина и т. п.) либо наоборот утечка, только не "чистое" к. з. Ну например грязь или остатки флюса между землей и ресетом.
|
|
|
|
|
Jul 17 2008, 09:04
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Цитата(smac @ Jul 15 2008, 17:34)  Мне все-таки кажется, что проблема не в камне. Если это возможно, то попробуйте сделать для камня простенькую макетку (ну например порты на "расческу") и помигать диодом, чтобы точно определить в камне или плате проблема. Вообще ощущение такое, что либо где-то плохой контакт (непропай, микротрещина и т. п.) либо наоборот утечка, только не "чистое" к. з. Ну например грязь или остатки флюса между землей и ресетом. Блин, там вся плата из себя подобную макетку и представляет :-). Ее задача -- посчитать количество импульсов от геркона за период времени, и зажечь соответствующее количество светодиодов. Я делал железки и посложнее, запускались, что характерно, с первого раза. А вот тут -- на ровном месте грабли. Короче, я потыкал в неё осциллографом. Сигналы везде нормальные, кроме ресета. При питании +5В, на ресете что-то около трех с половиной с какой-то помехой. С частотой в пять-десять герц ресет кратковременно подпрыгивает до +5, с этой же частотой помаргивают светодиоды (там в самом начале программа действительно мигает лампочками, типа, все нормально). Подтяжка ресета кверху -- десять килоом вроде-бы. Замыкание подтягивающего резистора пинцетом приводит к тому что мусор исчезает, но глюки остаются теми же. Что странно -- байтбластер не может при чтении утянуть ресет книзу, дотягивает только где-то вольт до полутора. На остальных камнях утягивает нормально. Цитата(Огурцов @ Jul 15 2008, 17:58)  Как-то огреб такой глюк - шил мегу 8, как мегу 128. Тестовая прога запускалась только при совершенно определенном коде, но работала каким-то неожиданным образом. Плюсом напряжение на пинах было ни то, ни се. Иначе выглядела мертвой. Нет, код правильный. Напряжение на ресете, правда, плавает. На остальных пинах вроде в норме. Цитата(Serjio @ Jul 15 2008, 18:33)  А от чего питается плата (проц. соответственно)? Пульсаций питания там не может быть? Сетевой блок питания. Посмотрел осциллографом -- питание ровное, как стол.
|
|
|
|
|
Jul 17 2008, 09:07
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Цитата(Tiny @ Jul 15 2008, 19:51)  У больших МК бывали глюки с портами еще из-за включенного JTAG, а Tiny вроде это не касаетя. У восьмой меги тоже нет JTAG'а.
|
|
|
|
|
Jul 17 2008, 09:11
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Что странно -- байтбластер не может при чтении утянуть ресет книзу, дотягивает только где-то вольт до полутора. На остальных камнях утягивает нормально. Убери внешнюю подтяжку. И проверь цепь GND.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|