esaulenka 7 7 сентября, 2012 Опубликовано 7 сентября, 2012 · Жалоба Свалилась тут такая задачка. Есть у нас изделие на w78e516. Продаётся оно уже лет 5, а автор года три как работает в совсем другом месте. Есть у этой штуки датчик, подключенный напрямую на P2.7 контроллера: низкий уровень - нормальная работа, высокий - ошибка. Недавно датчики поменялись, и выход у них стал очень слабый. И вылезла крайне неприятная особенность - после срабатывания датчика 0 -> 1 -> 0 на ноге контроллера появляется подтяжка (?!). Раньше датчик успешно её "перетягивал", всё было хорошо. Теперь его просто не хватает, чтобы установить на ноге устойчивый ноль. Токи не померял, теперь только в понедельник... Вопросы: - как устроен этот вывод ? В даташите только указание, что он двунаправленный с подтяжками, а также может быть верхней частью шины адреса. Я правильно понимаю, что у него есть только один регистр управления (даташит об этом умалчивает, подразумевая, что порт - стадартный для семейства) ? - в даташите есть опечатка - Source current для P2 упоминается дважды - как для push-pull (до 20 мА), так и как для открытого коллектора с подтяжкой (до 0.25 мА). Кто прав? - как переключается этот вывод? Только setb p2.7 и mov p2 .. ? Чтобы понять, что искать в исходниках. - и вообще, возможно ли включение-выключение этой подтяжки в принципе? На практике я её видел, а вот почитал теорию, и начал сомневаться... PS за вопросы прошу не пинать. Железяка эта существовала по принципу "работает - не трогай", и представление о её внутренностях у меня ещё вчера было весьма смутным. Более того, я с 51-м ядром и не работал никогда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 10 сентября, 2012 Опубликовано 10 сентября, 2012 · Жалоба - как переключается этот вывод? Только setb p2.7 и mov p2 .. ? Оба варианта, Первый управляет конкретным битом, второй всем портом. - и вообще, возможно ли включение-выключение этой подтяжки в принципе? В классике нет, в разновидностях возможно все. В классике запись 1 в порт "настраивала" вывод на вход. Source current для P2 упоминается дважды - как для push-pull (до 20 мА), так и как для открытого коллектора с подтяжкой (до 0.25 мА). Кто прав? Возможно, правы оба. push-pull - до 20 мА из-за внутреннего ограничения (сопротивления). для открытого коллектора с подтяжкой - до 0.25 мА - ограничение непосредственно самого драйвера. Схемотехника входных-выходных каскадов обычно есть в описании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 10 сентября, 2012 Опубликовано 10 сентября, 2012 · Жалоба Спасибо. Оба варианта, Первый управляет конкретным битом, второй всем портом. Вопрос был в другом - существуют ли третий (четвёртый и т.д.) варианты? Чтобы поискать в софте.. Первые два варианта подозрений не вызывают - их в исходниках банально нет :-) С пуш-пулом и открытым коллектором более-менее разобрался: в режиме обычного порта работает открытый коллектор, в режиме внешней шины подключается верхний транзистор. Схемы нет, но в табличке уровней выходных напряжений это явно прописано. В связи с этим вопрос: каким образом тут включается внешняя шина? Из-за того, что это в даташите не прописано, делаю вывод, что механизм стандартный для всех 51-х. PS если кому-то интересно, документация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 10 10 сентября, 2012 Опубликовано 10 сентября, 2012 · Жалоба Вопрос был в другом - существуют ли третий (четвёртый и т.д.) варианты? Чтобы поискать в софте.. Э-э-э... Существует много команд измененяющих бит Р2.7 Смотрите таблицу в разделе 10: все команды с "direct". И не обязательно с Р2/Р2.7 в первом операнде. Например, "XCH A, P2" - тоже поменяет Р2... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 10 сентября, 2012 Опубликовано 10 сентября, 2012 · Жалоба С программными ошибками я погорячился. Тут всплыла следующая... особенность контроллера: при переходе сигнала на входе из 1 в 0 необходимо "высосать" из ножки 0.65 мА тока. Если источник сигнала такой ток не обеспечивает, ножка подвисает "промежуточном" состоянии с уровнем 2 вольта. Это чудо официально документировано - Logical 1-to-0 transition current (Ports 1..4) max -650uA Дальше в статическом режиме всё работает нормально, нужно всего 50 мкА. Привык уже к CMOS, у которых входные токи сильно меньше 1 мкА. И, видимо, не только я привык... :-) Будем разбираться, как приделать туда какой-нибудь триггер шмидта... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться