SergSit
Feb 9 2007, 20:48
У PIC16F628A RA4 имеет открытый сток на выходе. Собираюсь использорвать его как выход для опроса кнопок(4 кнопки из 16, матрица 4X4) Считывание кнопок будет осуществлять порт B, с подключенными подтягивающими резисторами. Есть ли необходимость подключать между RA4 и Vcc резистор, чтобы обеспечить назрузку открытому стоку. Что плохого, если этот резистор неставить, особенно в плане помехоустойчивости?
Цитата(SergSit @ Feb 9 2007, 20:48)

У PIC16F628A RA4 имеет открытый сток на выходе. Собираюсь использорвать его как выход для опроса кнопок(4 кнопки из 16, матрица 4X4) Считывание кнопок будет осуществлять порт B, с подключенными подтягивающими резисторами. Есть ли необходимость подключать между RA4 и Vcc резистор, чтобы обеспечить назрузку открытому стоку. Что плохого, если этот резистор неставить, особенно в плане помехоустойчивости?
Он же не только сток, но еще и вход. Соответственно, в закрытом состоянии свободно болтающийся CMOSовый вход увеличивает потребление (когда напряжение болтается вблизи половины питающего напряжения). Некрасиво. Но на помехоустойчиваости в плане реакции на кнопки не скажется. Да, если опрос непрерывный - то по крайней мере наводок-утечек не будет, транзистор будет разряжать емкость вывода.
Цитата(SergSit @ Feb 9 2007, 20:48)

У PIC16F628A RA4 имеет открытый сток на выходе. Собираюсь использорвать его как выход для опроса кнопок(4 кнопки из 16, матрица 4X4) Считывание кнопок будет осуществлять порт B, с подключенными подтягивающими резисторами. Есть ли необходимость подключать между RA4 и Vcc резистор, чтобы обеспечить назрузку открытому стоку. Что плохого, если этот резистор неставить, особенно в плане помехоустойчивости?
доктор жить буду ? а смысл ? а смысл не ставить.. обоснуйте, плиз. не ставят развязывающие диоды на клавиатуре из-за того, что сопротивление кнопки не превысимт допустимый ток.. простите, господин президент, я не танцую.. (из фильма)
Не просто лучше ставить а ставить конкретно - если вы запишите туда еденичку кто ножку подтягивать будет это же элементарная схемотехника. Кстати всю матрицу можно подключить к PORTB, а диоды нужны чтобы обезовасить ножки PIC-а от КЗ при одновременном нажатии двух и более кнопок - можно два выхода перемкнуть между собой когда на одном 1 на другом 0. Насчёт помех - внутренняя подтяжка в контроллере около 50кОм лучше навешайте сами резисторов нужно 4 штуки сопротивлением эдак 10кОм.
rx3apf
Feb 10 2007, 13:35
Цитата(VXDRV @ Feb 10 2007, 12:16)

Не просто лучше ставить а ставить конкретно - если вы запишите туда еденичку кто ножку подтягивать будет это же элементарная схемотехника. Кстати всю матрицу можно подключить к PORTB, а диоды нужны чтобы обезовасить ножки PIC-а от КЗ при одновременном нажатии двух и более кнопок - можно два выхода перемкнуть между собой когда на одном 1 на другом 0. Насчёт помех - внутренняя подтяжка в контроллере около 50кОм лучше навешайте сами резисторов нужно 4 штуки сопротивлением эдак 10кОм.
Вот с диодами - поосторожее. Если у нас pull-up на входах, то опрос производится "бегущим нулем". Т.е. если берем ширпотребные кремниевые диоды - на вроде при "0" - больше 0.6V. А у PIC16, между прочим, нормируется максимум "0" как раз 0.6V. Так что если с диодами - то надо переходить на pull-down и опрашивать "бегущей единицей". Но есть и другие варианты - развязываться последовательно включенным резистором (что дешевле, но надо помнить про уровни), либо переводом выходов опроса из приема в передачу (но резисторы утечки надо бы поставить).
SergSit
Feb 10 2007, 13:52
Забыл о важном, о алгоритие опроса матрицы. В начальном моменте порт А и порт В включены как входы(все ножки), т.е находяться в третьем состоянии. Для опроса один выход порта А конфигурируется выходом и выставляеться лог. 0 на нем и считываеться порт В. Т.е. диоды не нужны (т.к КЗ быть не может даже если нажмеш несколько кнопок). В один момент времени выходом являеться только один пин.
Что касаеться RA4. Постоянно он как вход. Когда он конфигуруеться , как выход и на нем появляеться 0, и при этом нажимаеться кнопка нагрузкой открытого стока будет являться подтягиваюший резистор порта В. Еденичку в RA4 записывать ни когда не буду. Или третье состояние как вход, или 0 как выход.
rx3apf
Feb 10 2007, 14:13
Цитата(SergSit @ Feb 10 2007, 13:52)

Забыл о важном, о алгоритие опроса матрицы. В начальном моменте порт А и порт В включены как входы(все ножки), т.е находяться в третьем состоянии. Для опроса один выход порта А конфигурируется выходом и выставляеться лог. 0 на нем и считываеться порт В. Т.е. диоды не нужны (т.к КЗ быть не может даже если нажмеш несколько кнопок). В один момент времени выходом являеться только один пин.
Что касаеться RA4. Постоянно он как вход. Когда он конфигуруеться , как выход и на нем появляеться 0, и при этом нажимаеться кнопка нагрузкой открытого стока будет являться подтягиваюший резистор порта В. Еденичку в RA4 записывать ни когда не буду. Или третье состояние как вход, или 0 как выход.
Тогда, если хочешь иметь минимальное и предсказуемое потребление, придется поставить резисторы на все ноги, которые могут стать висящим входом. В этом плане хорошо использовать PortB и для приема, и для передачи, задействовав pull-up. Но если младшие биты заняты чем-то еще - облом.
SergSit
Feb 10 2007, 18:16
Втом то и дело, что порт В все пины задействованы с подключенными резисторами. Поэтому и вынужден использовать порт А и пин 4. На сколько можен вырасти потребление?
rx3apf
Feb 10 2007, 19:23
Цитата(SergSit @ Feb 10 2007, 18:16)

Втом то и дело, что порт В все пины задействованы с подключенными резисторами. Поэтому и вынужден использовать порт А и пин 4. На сколько можен вырасти потребление?
На десятки, а то и сотни микроампер - легко. Так проверить же нетрудно - программируешь их на ввод, процессор усыпляешь и смотришь потребление. Только смотреть надо внимательно - там эффекты хитрые, вроде бы все нормально, а неудачно коснешься или руку поднесешь - и поползло. Я так, кстати, всегда проверяю свои микропотребляющие разработки, не забыл ли где чего на выход перевести. Если вдруг потребление нестабильное - ищи, где чего оставил болтаться... Но проблема-то в чем - четыре резистора ведь ничего не стоят и практически не занимают места ? А оставлять висящие входы - дурной тон, так же, как забывать поставить блокировочную керамику.
SergSit
Feb 10 2007, 20:38
Т.е. на амперы или десятки миллиампер ток не измениться))) К этому устройству требование микропотребление не предъявляеться. Значит наверно всетаки оставлю без резистора. Спасибо всем за советы.
Цитата(SergSit @ Feb 10 2007, 19:38)

Т.е. на амперы или десятки миллиампер ток не измениться))) К этому устройству требование микропотребление не предъявляеться. Значит наверно всетаки оставлю без резистора. Спасибо всем за советы.
странные Вы право...
и вывод сделали мягко говоря странный...
Этот пин просто просит подтяжку, так как он открытый...
напоминает анекдот прямо таки:
- что можеш делать: - могу копать;
а еще что? - могу не копать...
... эт Ваш случай...
SergSit
Feb 11 2007, 13:50
Это вы прям странно) На поставленный вопрос убедительного ответа не получил. Ответ сводется к одному : надо ставить подтяжку)) А почему это так критично, никто не ответил. А Ваш ответ показателен: копать или не копать. Если Вы специалист то отвечайте грамотно без подначек. Мне нужен совет а не анекдоты. Привыкли больше флудить) а не помогать. Спасибо rx3apf, за объяснения.
Вы спросили нужна ли подтяжка на вывод(пин) RA4 если он настроен на выход (первый пост). Я вам ответил в посте номер 5 там же и сказано почему.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.