Аналоговый компаратор AVR + внутреннее усилие?

Я имею то, что я надеюсь, простой вопрос, имеющий отношение к микроконтроллерам AVR Atmel. Таким образом, я хочу использовать Аналоговый Компаратор ATTINY85, чтобы определить, ли сигнал выше или ниже порога. Этот сигнал обычно "плавает" и вытянутый к земле, когда "активный" (т.е. это - активный минимум - открытый сигнал коллектора). Если я включаю усилие на входном контакте (который является также входом компаратора) путем выполнения:

DDRB  = 0x00; // DDRB.1  = 0 = input 
PORTB = 0xFF; // PORTB.1 = 1 = internal pullup enabled

Если я использую аналоговый компаратор и выбираю PORTB.1, поскольку AIN1 будет внутреннее усилие применяться к моему входному сигналу? Я надеюсь, что у кого-то есть личный опыт для проверки этого поведения. Надеюсь, что этот вопрос не слишком 'ориентирован на аппаратные средства' для переполнения стека.Спасибо!

РЕДАКТИРОВАНИЕ В ответ на некоторые комментарии ниже к эффекту, "почему бы не рассматривать его digitially", это - потому что мой "сигнал" сгенерирован датчиком (а именно, оптический датчик IR). Меня нельзя уверить, что это будет выпадающий "достаточно трудно", чтобы быть интерпретированным как нуль в цифровой форме, таким образом, я соберусь использовать внутреннюю 2.56-вольтовую ссылку в качестве своего порога переключения. Я просто пытаюсь взять "событие IR", таким образом, это казалось самым простым путем ко мне.

Кроме того, при помощи аналогового компаратора я могу обнаружить событие "асинхронно" с помощью ISR. Предоставленный некоторые контакты может вызвать прерывание на цифровой край, но тот не хочет полагаться на ответ для погружения ниже V_IL.

5
задан vicatcu 8 April 2010 в 17:11
поделиться

3 ответа

Из datasheet рис. 10-5 видно, что на вход аналогового каскада влияет подтяжка.

Таким образом, вы можете использовать внутреннюю подтяжку вместе с компаратором. Как указано в техническом описании, вы можете отключить каскад цифрового ввода этого порта для снижения энергопотребления - конечно, только если вы не используете его для цифрового ввода.

Примечание: Плавающие выводы могут вызвать большой ток потребления для каскада цифрового ввода. Старайтесь избегать их.

4
ответ дан 14 December 2019 в 04:33
поделиться

Я не могу точно сказать, что это будет работать (я никогда не рассматривал случай, который вы описываете), но говоря электронным языком ваши рассуждения верны. Когда переключатель разомкнут, AIN1 будет видеть VCC через внутреннюю подтяжку, а когда переключатель замкнут, они оба будут видеть 0V.

VCC
|
100k(?)
|
AIN1
|
 /
|
GND

Фактически не читая таблицу для этого процессора, есть шанс, что вы не сможете использовать внутреннее подтягивание на выводе, настроенном для аналогового входа; в этом случае вы можете использовать другой вывод на микросхеме, сконфигурированный как цифровой вход, для подтягивания:

VCC
|
100k(?)
|
Other---AIN1
        |
        /
        |
        GND

Но если напряжение на AIN1 постоянно находится в диапазоне «ни высокий логический уровень, ни низкий логический уровень», это может привести к тому, что ваше текущее потребление будет довольно высоким.

2
ответ дан 14 December 2019 в 04:33
поделиться

Обычно вы используете цифровой вход с подтягиванием, поскольку кажется, что у вас есть цифровой входной сигнал.

Есть ли причина использовать аналоговый вход?

2
ответ дан 14 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: