Adsw писал(а):В программаторе от prottoss
1. ATmega8 гоняется на 12Mhz при питании около 3х вольт, хотя в даташите указано max 10Mhz. При этом 3 вольта получены с помощью двух диодов (сугубо имхо - решение просто безобразное, эти ~3.6 вольта несколько нестабильны, тогда уж надо ставить соответствующий low-drop регулятор или на крайняк стабилитрон)
Во первых, питание МК не "около 3-х вольт", а около 3,6 вольт (см. мою статью про программатор). Согласен с тем, что решение не лучшее - понижать питание с помощью диодов. НО, упор был сделан на дешивизну конструкции при максимуме надежности. Естественно, кто то поставил low-drop. Ставить же стабилитрон - решение еще более безобразнейшее, чем мое (ИМХО).
Во вторых, могли бы привести номер страницы даташита, или номер таблицы, откуда Вы подчерпнули информацию про 10 МГц. Я приведу конкретные данные: Даташит на ATmega8:
ATmega8 Typical Characteristic->Active Supply Current: Page 247; Figure 119: И что мы видим? 3,3 Вольта - 14 МГц
Adsw писал(а):2. Какую функцию выполняет резистор R5? Признаюсь, так и не смог разобраться.
Резистор R5 служит для предотвращения ложных срабатываний прерывания INT0 МК, т.к. внутренние pull-up resistors на INT0 и INT1 отключенны
Adsw писал(а):1. Что делать с согласованием уровней, если уровни target Отличаются от уровней программатора. Здесь, выше, prottoss писал: "резисторы до таргета можете поставить любые - они защищают МК программатора, т.к. он от 3,6 вольт питается". Как эти резисторы защищают МК программатора? Если с target идут уровни с сигналами в 5В, то на МК даже через резисторы придет 5В (входное сопротивление порта весьма велико)
В том посте, где я говорил, что "резисторы можете поставить любые" я, конечно, был не прав. Но там решалась несколько другая проблема, и я по моему спешил
На самом деле резисторы желательно поставить еще большего номинала - 470 Ом. Объясняю почему.
Кроме того, что пин МК, ежели рассматривать его как вход, имеет большое входное сопротивление, есть еще так называемые защитные диоды. Нас интересует верхний из них (тот, который анодом к выводу МК, а катодом к VCC МК). Так вот именно этот диод не дает попасть потенциалу выше напряжения питания + падение напряжения на этом диоде на вывод МК. Резистор нужен именно для этого диода, дабы ограничить ток через него. При номинале резисторов R10 - R13 330 Ом, этот ток будет примерно равен 4 мА. Честно говоря, значение допустимого тока через защитные диоды в даташитах на МК AVR я не нашел, но слышал, что около 2-4 мА диоды держат. Так что, пока напряжение таргета превышает питание МК программатора, его защищают резисторы, если же напряжение питания таргета ниже напряжения питания МК программатора все наоборот - резисторы предохраняют таргет
Adsw писал(а):2. В состоянии suspend требования по энергопотреблению не будут удовлетворены.
Это чисто программная фича, и реализовать ее нет больших проблем