Свалилась тут такая задачка.
Есть у нас изделие на w78e516. Продаётся оно уже лет 5, а автор года три как работает в совсем другом месте.
Есть у этой штуки датчик, подключенный напрямую на P2.7 контроллера: низкий уровень - нормальная работа, высокий - ошибка. Недавно датчики поменялись, и выход у них стал очень слабый.
И вылезла крайне неприятная особенность - после срабатывания датчика 0 -> 1 -> 0 на ноге контроллера появляется подтяжка (?!). Раньше датчик успешно её "перетягивал", всё было хорошо. Теперь его просто не хватает, чтобы установить на ноге устойчивый ноль. Токи не померял, теперь только в понедельник...
Вопросы: - как устроен этот вывод ? В даташите только указание, что он двунаправленный с подтяжками, а также может быть верхней частью шины адреса. Я правильно понимаю, что у него есть только один регистр управления (даташит об этом умалчивает, подразумевая, что порт - стадартный для семейства) ? - в даташите есть опечатка - Source current для P2 упоминается дважды - как для push-pull (до 20 мА), так и как для открытого коллектора с подтяжкой (до 0.25 мА). Кто прав? - как переключается этот вывод? Только setb p2.7 и mov p2 .. ? Чтобы понять, что искать в исходниках. - и вообще, возможно ли включение-выключение этой подтяжки в принципе? На практике я её видел, а вот почитал теорию, и начал сомневаться...
PS за вопросы прошу не пинать. Железяка эта существовала по принципу "работает - не трогай", и представление о её внутренностях у меня ещё вчера было весьма смутным. Более того, я с 51-м ядром и не работал никогда...
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|