|
|
  |
Проблемы с отладкой, вопрос новичка |
|
|
|
Jul 8 2008, 08:53
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Petka @ Jul 8 2008, 11:49)  1) Конденсатор не только "задерживает" reset при подаче питания, но и при пропадании питания. Это может быть решено использованием BODа. 2) Ёмкость на ресете может ввести в "ступор" некоторые программаторы. 3) При пропадании питания заряженный конденсатор будет создавать потенциал на ресете больше текущего VDD больше чем на допустимое значение из "absolute maximum ratings". А оно вам надо? 4) ЗАЧЕМ? ЗАЧЕМ лишний компонент, который НИКАК не улучшает ни функционирование ни надёжность системы? Резистора от 1к до 10к вполне достаточно. Почитайте апликуху AVR040: EMC Design Considerations. Все станет ясно.
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 09:04
|
Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017

|
Цитата(Petka @ Jul 8 2008, 10:49)  2) Ёмкость на ресете может ввести в "ступор" некоторые программаторы. Нужно использовать "правильные" программаторы и не вешать на ресет 300Ом/100мкФ Цитата(Petka @ Jul 8 2008, 10:49)  3) При пропадании питания заряженный конденсатор будет создавать потенциал на ресете больше текущего VDD больше чем на допустимое значение из "absolute maximum ratings". А оно вам надо? Absolute Maximum Ratings* Voltage on RESET with respect to Ground......-0.5V to +13.0V Цитата(Petka @ Jul 8 2008, 10:49)  4) ЗАЧЕМ? ЗАЧЕМ лишний компонент, который НИКАК не улучшает ни функционирование ни надёжность системы? Резистора от 1к до 10к вполне достаточно. AVR040: EMC Design Considerations,(http://www.atmel.com/dyn/resources/prod_documents/doc1619.pdf) страница 15: To achieve the same protection (имеется ввиду защита от ESD) on Reset as on other I/O pins, an external diode should be connected from Reset to VCC. A normal small-signal diode will do. In addition, a pull-up resistor (10K typical) and a small filter capacitor (4.7 nF) should be connected as shown in Figure 4-7. All this, of course, is not needed if Reset is connected directly to VCC, but then external reset and In-System Programming (ISP) is disabled, too. If high ESD protection of Reset is not required, or is achieved by other components, the diode may be omitted. The resistor and capacitor are still recommended for optimum Reset behavior.The diode must also be omitted if In-System Programming of devices like ATtiny11, which can only be programmed using 12V, is required. Then one of the ESD protection methods described earlier may be used instead. ps пока искал/писАл, меня опередили  Цитата Может партия контроллеров какая то глючная попалась... Собственная практика показывает, что в 99,9% "глюки" в программе или печатной плате
|
|
|
|
|
Jul 8 2008, 09:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Александр Куличок @ Jul 8 2008, 13:04)  AVR040: EMC Design Considerations,(http://www.atmel.com/dyn/resources/prod_documents/doc1619.pdf) страница 15: Да Вы правильный источник привели. Там кроме конденсатора фигурирует ещё и ДИОД! Это раз. Про "absolute maximum ratings" это был вам намёк. На ресете отсутствует защитный диод на питание, для того, что бы напряжение на ресете, большее напряжения питания переводило контроллер в режим высоковольтного программирования! Итак: 1) конденсатор + резистор на ресете - плохо. 2) конденсатор + резистор + ДИОД (и не абы какой) - хорошо (ибо это самопальный внешний BOD). Но хуже чем за те-же деньги более компактный специализированный ресеттер.
|
|
|
|
|
Jul 8 2008, 09:52
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Petka @ Jul 8 2008, 13:41)  На ресете отсутствует защитный диод на питание, для того, что бы напряжение на ресете, большее напряжения питания переводило контроллер в режим высоковольтного программирования! Итак: 1) конденсатор + резистор на ресете - плохо. Да чем плохо то? Вы сами себе противоречите!: Цитата При пропадании питания заряженный конденсатор будет создавать потенциал на ресете больше текущего VDD больше чем на допустимое значение из "absolute maximum ratings". А оно вам надо? А раскажите что здесь страшного? Уж очень интересно.
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 10:04
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(SasaVitebsk @ Jul 8 2008, 13:57)  При разборе полётов была убита mega48 с помощью JTAG ICE MKII. Куда уж правильней?
При запросе непосредственно на Atmel с просьбой дать рекомендации по помехозащищённости, было рекомендовано Reset садить непосредственно на Vcc. Все замечательно, только если ресет посадить на VCC.. ведь по любому (если не серия) придется перемычку ставить для программирования последовательно? Можно поподробнее как была убита мега48, программатором JTAG ICE MKII с помощью RC цепочки.. Цитата(Petka @ Jul 8 2008, 13:57)  риск, что внутренняя логика войдёт в parallel programming. это так страшно, при условии что питание пропало.. и упадет на ресете?
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 10:29
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Petka @ Jul 8 2008, 14:12)  Вы так и не ответили зачем ставить конденсатор на ресет без диода? Какую роль он выполняет? Ссылаться на апликухи атмела не надо в них не всегда всё гладко. Вы же уже сами ответили на свой вопрос  : Цитата 1) Конденсатор не только "задерживает" reset при подаче питания, но и при пропадании питания. Это может быть решено использованием BODа. Нарекания на внутренние BOD, вачдоки & co. и их косолапую работу были не однократно... (можно поискать по форуму)
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 10:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(adc @ Jul 8 2008, 14:29)  Вы же уже сами ответили на свой вопрос  : Ещё раз: ваш самопальный BOD (конд без диода) при провалах питания НЕ сбросит контроллер. Зачем он тогда вообще нужен? Зачем? Ответа на этот вопрос я уже давно жду. Цитата(adc @ Jul 8 2008, 14:29)  Нарекания на внутренние BOD, вачдоки & co. и их косолапую работу были не однократно... (можно поискать по форуму) Как раз нарекания были когда люди не использовали BOD. приводите ссылки.
|
|
|
|
|
Jul 8 2008, 11:03
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Petka @ Jul 8 2008, 14:38)  Ещё раз: ваш самопальный BOD (конд без диода) при провалах питания НЕ сбросит контроллер. Зачем он тогда вообще нужен? Зачем? Ответа на этот вопрос я уже давно жду. При провалах может и не сбросит(нужно оговорить длительность провалов), а при первом пуске, очень даже удержит резет в состоянии сброса, до момента гарантированного запуска контроллера. Я, заметьте, не призывал отказатся от BOD!
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 11:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(adc @ Jul 8 2008, 15:03)  При провалах может и не сбросит(нужно оговорить длительность провалов), а при первом пуске, очень даже удержит резет в состоянии сброса, до момента гарантированного запуска контроллера. Я, заметьте, не призывал отказатся от BOD! 0) Как было сказано выше атмельцы рекомендуют вообще засаживать ресет на питание (т.е. никакой задержки ресета не нужно!) 1) Что значит "момент гарантированного запуска контроллера?". Когда кварц заведётся? 2) ИМХО "провалы питания" случаются гораздо чаще "первого пуска". Кому нужен автомобиль который поворачивает только налево? ------------ P.S. Пора завязывать.
|
|
|
|
|
Jul 8 2008, 11:33
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Petka @ Jul 8 2008, 15:22)  ИМХО "провалы питания" случаются гораздо чаще "первого пуска". Кому нужен автомобиль который поворачивает только налево? Еще раз повторю.. RC и BOD друг друга не исключают а дополняют! Давайте и вправду пока "завяжем" с этой дискуссией (будет время , тему можно поднять вновь). ------------ Мы совсем забыли про Gas Wilson. Что с контроллером? все тихо?
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Jul 8 2008, 17:33
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Ребята просто примите к сведению. Конденсатор не дополняет, не улучшает, а конкретно ухудшает работу устройства.
Приведу пример. 1) У вас мощное устройство с хорошим импульсным источником. Например бегущая строка с потреблением в пике 20-30А. Потребление меняется в зависимости от заполнения. Источник импульсный с соответствующими кондёрами для такой мощности. 2) У вас 5V 16МГц. BOD настроен на 4V. 3) Вы выключаете устройство. Заполнение строки такое, что питание падает достаточно медленно. 4) У вас напряжение на ноге reset выше чем на Vcc за счёт конденсатора. (Даже с диодом). 5) Напряжение на Vcc упало до 3.5V. В это время на Reset напряжение превышает ззначение BOD (4.1). 6) Всё это время процессор молотит.... старается.... и быстро так молотит, 16МГц всётаки.... Только вот беда, что ваша прога ему по барабану. Он не расчитан на работу при такой частоте с таким питанием. Он просто выполняет произвольные куски кода. Например затирает EEPROM, Flash. Ну или включает механизмы разные полезные, правда не совсем когда нужно.
Это не сценарий фильма ужаса - это реальное поведение
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|