2010-04-08 4 views
5

У меня есть то, на что я надеюсь, это простой вопрос, касающийся микроконтроллеров Atmel AVR. Поэтому я хочу использовать аналоговый компаратор ATTiny85 для определения того, находится ли сигнал выше или ниже порогового значения. Этот сигнал обычно «плавающий» и тянут к земле, когда «активен» (т. Е. Это активный сигнал с низким открытым коллектором). Если я включить подтяжку на входном выводе (который также является вход компаратора), выполнив:AVR Analog Comparator + Внутренняя выдержка?

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

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

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

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

ответ

4

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

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

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

+0

+1 для направления его в таблицу; всегда первое место, чтобы посмотреть. – Clifford

+0

Да, вот что я думал, спасибо! – vicatcu

+0

К сожалению, я принял этот ответ, прежде чем проверять его. Оказывается (несмотря на вывод из таблицы), что внутренний pullup * должен быть отключен, чтобы использовать штырь в качестве входа аналогового компаратора. – vicatcu

2

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

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

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

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

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

+0

Если нет, то что-то еще происходит здесь, используйте цифровой входной штырь с подтягиванием для этого, нет причин использовать компаратор. С тяговым усилием использование сигнала открытого коллектора не должно быть плохим. Когда штифт плавает, он должен быть очень близок к 0. – Mark

+0

отредактировал мой вопрос в свете этого ответа, спасибо! – vicatcu

+0

@Mark отредактировал мой вопрос в свете этого ответа, спасибо! – vicatcu

2

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

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

+1

+1 для того, чтобы задать очевидный вопрос: «для чего нужен аналоговый вход, когда есть только два состояния, представляющие интерес?». Звучит как кандидат для цифрового ввода ко мне. – Clifford

+0

отредактировал мой вопрос в свете этого ответа, спасибо! – vicatcu

+0

@ Michael отредактировал мой вопрос в свете этого ответа, спасибо! – vicatcu

 Смежные вопросы

  • Нет связанных вопросов^_^