Показать сообщение отдельно
Старый 09.12.2007, 02:44   #31
fol
Senior Member
 
Аватар для fol
 
Регистрация: 04.05.2007
Возраст: 42
Сообщений: 267
Вес репутации: 264/43
fol is a jewel in the roughfol is a jewel in the roughfol is a jewel in the rough
Smile Теперь знаем чем лыжи мазать.

Всем спасибо.
Проблема решилась.
В кратце все дело в том, что по видимому эти DSки изготовлены то ли по разной технологии, то ли на разных станках. Но факт в том что если ранее используемые мной датчики прекрасно (адекватно) реагировали на команду [44h] (01000100) (запуск преобразования), то этот новый выкидывает примерно такой зехер. Как только он получает команду (ИМЕННО ЭТУ) [44h] (говорю о паразитном способе включения), сразу после нее датчик выдает в сеть какую то ерунду. Примерно похоже на ударные колебания в контуре, или на "дребезг" контактов. По этой причине датчик по сути не получает правильной команды [44h] и естественно преобразование не запускается.
Таким образом сам датчик ломает "хвост" команды, и естественно не выполняет ее.
Решилось довольно просто.
Все команды отправляемые в датчик строятся так: если нужно "посадить" линию, то включается транзюк на выходе порта и сажает линию на землю. Подача на линию высокого уровня, это перевод вывода порта на вход, и на линии за счет резистора подтяжки устанавливается высокий уровень. Это я говорю о способе формирования команд. Я НАЗЫВАЮ ЭТО МЯГКОЙ ПЕРЕДАЧЕЙ КОМАНДЫ. Мягкой потому что высокий уровень устанавливается за счет резистора. Естественно что после передачи команды [44h], примерно через 8 мкс, вывод порта переключается на выход, и включается верхний транзистор обеспечивающий активную подтяжку.
Все это прекрасно работало и работает. Но вот для этого, нового, капризного датчика пришлось сделать передачу команды [44h] в особом, ЖЕСТКОМ РЕЖИМЕ.
Это значит что формирование как 0 так и 1 на линии, происходит транзисторами порта, включенного на выход. Но зато при такой передаче команды [44h], нехороший датчик не может пересилить порт контроллера, и как следствие не ломает "хвост" команды. Поэтому команда проходит четко, и все работает.
Все остальные команды, отправляемые в датчик, я предпочел оставить как и были. То есть передача в МЯГКОМ РЕЖИМЕ.
Вот такие пироги, если коротко.
Не знаю как на самом деле охарактеризовать такое поведение датчика, плохо, хорошо. Для етого надо еще много наблюдать за этими DS-ками. Ну типа, есть ли разница по току потребления, возможные допуски на разброс временных режимов и все такое. Насколько они отличаются от других.
Но снова повторю, отличия есть. Надо изучать, если конечно желание будет.
Еще раз, спасибо всем.
Извиняйте ежели че не так.

Прилагаю схемку по которой обычно подключаю DSки.
Миниатюры
0_ДРАЙВЕР.jpg   0_ДРАЙВЕР2.jpg  
fol вне форума   Ответить с цитированием