Работа с DS1682 (моточасы)

Обсуждаем цифровые устройства...
Ответить
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

Здравствуйте! Кто-нибудь разрабатывал моточасы на специализированной микросхеме DS1682. Интересует именно сброс счётчика. Ну ни как не удаётся.
Помагите, а! Документацию в 2-х даташитах на всякий случай приложил.
http://depositfiles.com/files/5pzjvtkf6 второй даташит
Вложения
DS1682.pdf
(118.79 КБ) 459 скачиваний
Контактная информация:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

на сколько я понял из даташита, если была выполнена команда защиты от записи, то сбросить счетчик невозможно в принципе.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

Если записать слово F0 по адрессу 1F, то нельзя будет перезаписать память пользовательскую (адреса от 0x0B до 0х14).
Если записать слова АА по адресу 1E, то нельзя будет перезаписать всю память.
Я этого не делал.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

Вообще проблема следующая, ме могу установить бит RE по адресу 00h. Причём в пользовательскую память получается записывать байты.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

The DS1682 can only be reset when the Reset Enable bit is set to a one or the AoR bit is set to a one with
the Alarm# pin held high, and the Reset command is sent via the 2-wire bus by writing 55h into memory
location 1Dh. With the Reset Enable bit set to a 0, the AoR bit set to a 0 or the AoR bit set to a 1 and the
Alarm# pin held low, the Reset command is ignored by the DS1682. With the Write Disable flag set to a
1, the contents of the Alarm Trip Point and the Configuration register that are protected/locked by this bit
can not be written to or erased, even if the Reset Enable bit is set to a 1. The Reset command when the
Reset Enable bit is set to a one or the AoR bit set to a 1 and Alarm# held high, will erase the contents of
the Elapsed Time Counter, Total Time Accumulator, and Event Counter.

сброс возможен только в том случае, если: RE=1 или (AoR=1 и Alarm# подтянут к питанию). если RE=0 и AoR=0 или (AoR=1 и Alarm# на корпусе), то сброс игнорируется. если WDF=1, то нельзя поменять Configuration register.

если проблема с самой командой сброса, то см. выше. а если не удается установить RE, то единственное возможное - установлен WDF.
Реклама
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

Переводил. Это я понял. Бит WDF я не устанавливал. Значение конфигурационного байта равно 0. Даже установить бит A0R также не удаётся. При этом по любому другому адресу байты записываются.
Что то мне здаётся, что перезаписать возможно всего лишь один раз. Далее конфигурационный байт доступен только для чтения и читается нулём.
Короче использовать только как моточасы на 32 года непрерывного счёта. А сброс только програмно в контроллере. (Как я понял из моего опыта).
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

innovator_king писал(а):Переводил. Это я понял. Бит WDF я не устанавливал. Значение конфигурационного байта равно 0. Даже установить бит A0R также не удаётся. При этом по любому другому адресу байты записываются.
Что то мне здаётся, что перезаписать возможно всего лишь один раз. Далее конфигурационный байт доступен только для чтения и читается нулём.
Короче использовать только как моточасы на 32 года непрерывного счёта. А сброс только програмно в контроллере. (Как я понял из моего опыта).
т.е. Configuration register==0? может, что-то с обменом (по нулевому адресу)?
на event# вообще реагирует?
микросхема новая?
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

ДА, RE = 0;
Микросхема новая, но возможно один раз был сброшен.
На EVENT реагирует. (считываю всю память, счётчик событий и временной счётчик инкрементируются).
Передача нулевого адреса после слейв адреса происходит (смотрю осциллографом), бит подтверждения происходит.
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

innovator_king, пробовали смотреть AN506, там есть пример сброса в init().
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт фев 12, 2010 14:15:28

Сообщение innovator_king »

asteroid7, Вот спасибо Вам большое! Этого файла я ещё не видел. С интересом его поизучаю.
Контактная информация:
Ответить

Вернуться в «Цифровая техника»