ATmega48: питание от USART0

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
antonydublin
Родился
Сообщения: 9
Зарегистрирован: Вт фев 09, 2010 18:25:45

ATmega48: питание от USART0

Сообщение antonydublin »

Привет всем.
Нужен совет: использую в связке несколько микроконтроллеров.
Обмен - по последовательному каналу. Снимаю + питания с ATmega48 (всё: VCC, AVCC, AREF), а он остаётся запитанным и работает. Выяснил - от ножки PD0 (RXD). На этой линии высокий уровень, что понятно. В datasheet ничего нашёл.
Подскажите в чём дело.

Может, в инициализации:

Код: Выделить всё

UBRR0H=(unsigned char)(UBRR_value>>8);
UBRR0L=(unsigned char)UBRR_value;
UCSR0B=(1<<RXEN0)|(1<<TXEN0)|(0<<UCSZ02)|(1<<RXCIE0);
UCSR0C=(0<<USBS0)|(0<<UMSEL01)|(0<<UMSEL00)|(1<<UCSZ00)|(1<<UCSZ01);   
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Сообщение DrWatson »

Это называется паразитное питание - через защитный диод на входе RXD плюс попадает на шину питания МК - смотри в даташите эквивалентную схему порта стр 51.
Чтобы предотвратить это, вместе с питанием, в простейшем случае, разрывай цепь RXD.
Кстати, это будет наблюдаться и с любыми другими портами (кроме входа RESET), если источники сигнала на порты не отключаются при отключении питания МК, и выдают лог. "1" (т.е. на них присутствует некоторое напряжение, достаточное для питания МК).
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
antonydublin
Родился
Сообщения: 9
Зарегистрирован: Вт фев 09, 2010 18:25:45

Сообщение antonydublin »

Спасибо. Буду внимательнее.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»