022-Тестовая прошивка для AVR микроконтроллеров (проверка работоспособности портов).

Автор: | 26.03.2010

Титл для тестаВот и пришло время для первой прошивки. Данная прошивка является тестовой. Она не производит ни каких полезных действий, кроме дрыганья ножками по определенному алгоритму. Этой прошивкой можно проверить работоспособность всего микроконтроллера и портов ввода-вывода в частности.
Чтобы проверить микроконтроллер необходимо загрузить прошивку и посмотреть, что происходит на ножках. «Смотреть» можно или мультиметром, или простым пробником – светодиод последовательно с резистором 300 Ом – 1 кОм. Без резистора проверять не стоит – можно спалить порт ввода-вывода. Уровни сигналов на ножках меняются с «1» через «Z»-состояние в «0» и обратно. «Z» состояние введено в последовательность для контроля работоспособности порта в режиме входа.

Тестовая прошивка для микроконтроллера ATMega48/88/168.
Алгоритм работы прошивки ATMega48/88/168 показан на картинке (микроконтроллер установлен на макетной плате ATMega48/88/168, описанной ранее).

Схема работы тестовой прошивки

Микроконтроллер работает от внутреннего генератора, поэтому нет необходимости во внешнем кварце. Ножки 9 и 10 (подключение внешнего кварца) не задействованы, на случай если там окажется внешний кварц. Также не задействованы ножки 1 (сброс) и 21(опорное напряжение для АЦП). Проверить работоспособность можно двумя способами (смотри рисунок) — смотреть изменение уровня сигналов относительно земли (GND) или относительно ножки питания (VCC).
022-M48.HEX V1.0 [277 bytes] - Тестовая прошивка для ATMega48/88/168

Фьюзы для тестовой прошивки ATMega48/88/168

Как прошить микроконтроллер >


Тестовая прошивка для микроконтроллера ATTiny2313.
Алгоритм работы прошивки ATTiny2313 показан на картинке (микроконтроллер установлен на макетной плате ATTiny2313, описанной ранее).

Схема работы тестовой прошивки ATTiny2313

Микроконтроллер работает от внутреннего генератора, поэтому нет необходимости во внешнем. Ножки 4 и 5 (подключение внешнего кварца) не задействованы на случай если там окажется внешний кварц. Также не задействована ножка 1 (сброс). Проверить работоспособность можно двумя способами — смотреть изменение уровня сигналов относительно земли (GND) и относительно ножки питания (VCC).
022-T2313.HEX V1.0 [259 bytes] - Тестовая прошивка для ATTiny2313

Фьюзы для тестовой прошики ATTiny2313

Как прошить микроконтроллер >


Тестовая прошивка для микроконтроллера ATTiny13.
Алгоритм работы прошивки ATTiny13 показан на картинке (микроконтроллер установлен на макетной плате ATTiny13, описанной ранее).

Схема работы тестовой прошивки для ATTiny13

Микроконтроллер работает от внутреннего генератора (внешний большая роскошь для этого микроконтроллера, поэтому даже не рассматриваем). Естественно, не задействована ножка 1 (сброс). Проверяем работоспособность так же, как и у предыдущих микроконтроллеров.
022-T13.HEX V1.0 [240 bytes] - Еустовая прошивка для ATTiny13

Фьюзы для тестовой прошики ATTiny13

Как прошить микроконтроллер >


Проверка работоспособности «Z»-состояния портов ввода-вывода.

Проверка тест "Z" состояния

«Z»-состояние это состояние когда ножка сконфигурирована на вход и на ней нет ни какого уровня (она как-бы болтается в воздухе ни к чему не подключена). Для того чтобы проконтролировать наличие такого состояния можно воспользоваться резисторным делителем. При уровне «1» на делителе будет напряжение питания +5v, при уровне «0» — земля 0v, а при «Z»-состоянии порт ввода-вывода перестанет вмешиваться в работу делителя и он поделит напряжение питания и мы получим +2.5v.

ФАЙЛЫ:
022-AVR-tests - Исходники тестовых прошивок

(Visited 9 568 times, 14 visits today)

022-Тестовая прошивка для AVR микроконтроллеров (проверка работоспособности портов).: 48 комментариев

  1. alexandershahbazov

    Выходит что может например 2 или 3 ножка ATTiny2313 быть не в порядке ,
    а ты не зная этого мучаешься с UART-ом . Не задумывался . Боялся всегда
    о потере всего МК .
    Если так , то эти тесты не так уж и бессмысленны как покажется вначале .

  2. Arguz

    Скачал по Вашей сылке Тестовую прошивку для ATTiny 2313 Устанофил ФЬЮЗЫ
    Многократно проверенным последовательным программатором,ПОСЛЕ ЭТОГО ПРОГРАМ. НЕВИДЕТ КОНТРОЛЛЕР. Нет ли ошибок в Ваших Фьюзах?

  3. GetChiper Автор записи

    Критичные фьюзы: SPIEN-должен быть без галочки (разрешено последовательное программирование), RSTDISBL-должен быть с галочкой (разрешен сброс) и DWEN-должен быть с галочкой (запрещен debugWIRE). Постом позже я писал об этом.
    Возможно, Вы програмировали программой у которой эти галочки ставятся инверсно, не как в даташите. Если это так, то гдето рядом с галочками есть сноска об этом сообщающая.
    Если Вы неуверены как в программе ставятся фьюзы, просто прочитайте фьюзы с контроллера и посмотрите как установлены SPIEN, RSTDISBL.

  4. gamepskov

    Добрый день не подскажите в чем может быть проблема. использую COM программатор, пытаюсь записать тест программу на ATTiny13 с помощью uniprof, программа то видит, то не видит микруху. В чем может быть проблема?
    Заранее спасибо.

  5. GetChiper Автор записи

    uniprof последней версии? Галочку тормоз ставили? Провода программатора не слишком длинные? Питание нормальное? Как другие микроконтроллеры себя ведут?

  6. gamepskov

    GetChiper :
    uniprof последней версии? Галочку тормоз ставили? Провода программатора не слишком длинные? Питание нормальное? Как другие микроконтроллеры себя ведут?

    Что самое интересное вчера под вечер он все таки заработал, ничего особого я не делал просто вкл и выкл его. Программа записалась, логика работы правильная.

  7. GetChiper Автор записи

    Честно говоря, с тини13 у меня тоже были аномалии. Бывало, также пропадала для программатора. Прошивал другим.

  8. Ewgeny

    @alexandershahbazov
    Есть простое правило, которое нужно отработать до автоматизма — перед тем как устанавливать фуз-биты в программаторе, сначала прочитайте их из МК. По состоянию фуза SPIEN сразу станет ясно, прямая или инверсная кодировка у вашей программы-программатора.

  9. kosmogon

    Приветствую. Есть известная схема. Если в делителе (в том что приведен выше два по одному килоому)поставить двух цветный светодиод, либо два в параллель. Но встречно. То в таком случае тест становится более информативным. При подаче логической единицы засветится красным. Z не горят оба. Логический ноль засветится зеленым. Подобную схему применяю давно. Эта схема проверена, информативна, надежна.

  10. kosmogon

    И кстати, в той схеме которая выше, на Mega 48. Аналогично можно делать. Можно взять одноцветные светодиоды. И включить их последовательно. В таком случае в Z горят оба. Логическая единица — горит верхний. Логический ноль — горит нижний.

  11. GetChiper Автор записи

    В принципе, можно и так.

  12. ZagZag

    GetChiper, выложи исходничок, пожалуйста. А то у меня ATTiny26, а знаний маловато.

  13. GetChiper Автор записи

    Поищу, если найду выложу. Кстати исходники на Алгоритм Билдере — пойдет?

  14. ZagZag

    @GetChiper
    Думаю под ATTiny26 адаптировать не сложно будет. Ядра ведь похожие.
    Заодно и с билдером поразбираюсь.

  15. GetChiper Автор записи

    Нашел и добавил в конец статьи.

  16. PAV52

    [quote=»GetChiper»]В блоге описан COM программатор Громова

    Вопрос? Можно ли отладочную плату закрепить прямо на корпус разъёма DB-9-F, а на этой плате произвести монтаж всех деталей COM программатора Громова и панельку для прошивки MK ATtiny13 чтобы избавиться от длинных шлейф проводов.
    На плату будет подаваться только питание 5v от отдельного блока питания. Вся конструкция будет подключаться к ПК с задней стороны для рошивки МК. Анатолий.

  17. GetChiper Автор записи

    Конечно можно.

  18. kasp

    При тестировании МК-ов можно ли нагрузить светодиодами сразу все порты и как они будут загораться синхронно или хаотично? Ну просто полно светодиодов и текстолита.

  19. GetChiper Автор записи

    В принципе можно, но нужно поставить к каждому светодиоду последовательно сопротивление побольше (до 1кОм) дабы не перегрузить микроконтроллер.

    Светодиоды будут мигать так как они мигают на картинках, то есть синхронно.

  20. Viatka61

    А можно ли также проверить Mega8,по выводам совпадает с Mega48

  21. GetChiper Автор записи

    Можно попробовать

  22. ajwarden

    Хотелось бы вариант прошивок для проверки всех портов МК и тактированием от внутреенего генератора.
    Заранее благодарен.

  23. GetChiper Автор записи

    Кроме тех, что идут на кварц, проверяются все. Как Вы установите фьюзы, от того генератора и будет работать прошивка (в статье приведены фьюзы для работы с внутренним задающим генератором).

  24. ajwarden

    Про фьюзы я знаю, но в устройствах без кварца порты XTAL пожечь можно, а данными прошивками проверить нельзя. Так что чотелось бы вариант прошивок для проверки всех портов МК. Это просьба/пожелание. За проделанную работу всеравно спасибо. Альтернативы пока не нашел.

  25. GetChiper Автор записи

    По свободе сделаю чего нибудь такого.

  26. thesame

    После прошивки достаточно просто подать питание на контроллер? А то я новую atmega8a прошил, а светодиоды не мигают. Фьюзы не трогал, оставил как были с завода.

  27. GetChiper Автор записи

    Для ATmega8 прошивка этой статьи (ATmega48/88/168) не подходит.

  28. soud

    Не могли бы вы и для mega8 сделать тестовую прошивку?

  29. GetChiper Автор записи

    Прошивку для мега88 пробовали прошить в мегу8? Может заработает?

  30. pashok1990

    Прошил tiny2313 тестовой прошивкой через СОМ …фьюзы выставил как надо, но на ножках +5 нету….есть 0,05-0,15 В в чём может быть причина?

  31. GetChiper Автор записи

    И нет никаких изменений на ножках? МК новый?

  32. pashok1990

    @GetChiper
    МК новый…унипроф его нормально видит…показания на ножках 2,3, 6-9, 11-19 сначала 0,05В и через 1-2сек 0,15В…На всех приблизительно равные показания….

  33. pashok1990

    @pashok1990
    сейчас еще раз мерял, 17 ножка выдает 5,5 В… при входе 5,1

  34. GetChiper Автор записи

    Чет совсем странно…
    а с мультиметром все в порядке?

  35. pashok1990

    @GetChiper
    ДА…Проверил ним еще несколько источников питания показания точные…

  36. GetChiper Автор записи

    Если прошить в МК какую либо заведомо исправную прошивку?

  37. pashok1990

    @GetChiper
    Может посоветуете какую то прошивку и какие ноги после прошивки звонить?

  38. GetChiper Автор записи

    Поищите в блоге/сети любое устройство — особо разницы нет. Прошейте и посмотрите как функционирует.

  39. pashok1990

    @GetChiper
    Устройство немного тяжеловато будет сделать, нет возможности за составляющими сганять)
    Буду искать устройства и звонить ноги как нибуть судя по его работе)

  40. GetChiper Автор записи

    Главное чтобы МК ногами дрыгал предсказуемо — периферию можно и не собирать.

  41. kewa74

    какую прошивку бросить в восьмую мегу?????

  42. GetChiper Автор записи

    Для восьмой попробуйте ATMega48, но не факт что заработает. Для остальных — без вариантов.

  43. galionver

    есть прошивка для 8 меги!22-светодиода!

  44. xorkrus

    А для 328 меги есть? Чтобы точно установить, хана моим уартовским портам или нет %)

  45. GetChiper Автор записи

    Нет для 328 не будет работать. Как-то руки не дошли…

Добавить комментарий