DS18x20 и DS1821 - братья, но не близнецы! |
Автор ARV | |||||||||||||||||||||
05.02.2008 г. | |||||||||||||||||||||
Мне не раз приходилось давать разъяснения по поводу совместимости двух микросхем, имеющих отношение к термоконтролю - DS18x20 и DS1821. То ли многие путают их, то ли и вправду уверены, что это совместимые изделия... Наконец, я решил все-таки на эту тему высказаться через сайт. Не уверен, что это как-то изменит ситуацию, ведь публикаций на эту тему предостаточно... Но, видимо, из разных статей сделать выводы сложно, потому я кратко резюмирую все выводы в одной статье. Прежде всего - это абсолютно несовместимые приборы! Их объединяет только 2 вещи: способ физической реализации шины и контроль температуры. Теперь подробности.
Как видите, по трем важным параметрам разница существенная. Шина 1-Wire тем уникальна тем. что позволяет большому количеству устройств работать с ведущим контроллером, не мешая друг другу. Именно для реализации этого все устройства 1-Wire снабжены записываемым при производстве уникальным идентификатором (кодом, адресом). Однако, DS1821 не имеет такого идентификатора, и потому не может работать вместе с другими устройствами. Он должен быть только один на линии.
Все устройства 1-Wire в нормальном режиме "молчат" и "слушают" шину, ожидая команды, в ответ на которую выполняют какие-то действия, например, передают измеренную температуру. Если команд от управляющего контроллера не поступает - устройства полностью "мертвые", никаких действий не могут выполнять. Но DS1821 может быть запрограммирован в автономный режим, при котором он прекрасно будет работать в качестве простого терморегулятора без микроконтроллера. Именно такая его возможность использована в моей схеме простейшего термостата. В сущности, эта микросхема разработана именно для работы в режиме автономного термостата, а интерфейс 1-Wire введен в нее лишь для того, чтобы запрограммировать ее. Т.е. функция "датчика" температуры у этого устройства вторичная, в то время как у DS18x20 именно функция измерения температуры первичная. Справедливости ради отмечу, что некая пародия на режим термостата имеется и в DS18x20, т.е. они так же имеют возможность автоматически контролировать выход температуры за заранее заданные пороги, однако при этом они самостоятельно ничего не делают, а лишь переключаются в состояние тревоги (Alarm). Управляющий контроллер может отправить в сеть 1-Wire специальную команду поиска устройств, находящихся в состоянии Alarm, и тогда ему станут отвечать только такие датчики. Процедура поиска "встревоженных" датчиков весьма сложная, аналогичная процедуре поиска всех имеющихся устройств вообще. Таким образом, практическая ценность этого режима невелика. Из-за того, что DS1821 не может работать в коллективе себе подобных 1-Wire устройств, протокол связи с ним сокращен до минимума, и отличается от общепринятого для остальных. Поэтому DS1821 никогда не сможет заменить в конкретных схемах термометров датчики DS18x20! Да и вообще, действительно совместимых, т.е. полностью взаимозаменяемых, датчиков из всего семейства существует только два: снятый с производства DS1820 и заменивший его DS18S20. Другие датчики (DS18B20, DS1822 и т.п.) имеют уже другие возможности и являются несовместимыми "один к одному" между собой и с другими.
Очень рекомендую дополнительно почитать мою статью про 1-Wire, а так же другие статьи на эту тему, которых немало в интернете. Упомянутее ранее мои статьи и разработки, а так же другие материалы на эту тему, вы можете найти внизу страницы, после комментариев (врезка "Еще по этой теме"). Надеюсь, что сумел немного пролить свет на проблему взаимозаменяемости датчиков температуры от Maxim-Dallas. Добавить в любимые (0) | Просмотров: 29398
Только зарегистрированные пользователи могут оставлять коментарии. |
« Пред. | След. » |
---|