RTC DS3231 пин SQW

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Nodit, 22 май 2014.

  1. Nodit

    Nodit Нуб

    Приветствую, уважаемые!

    Вопрос возник по RTC DS3231. Устройство имеет 6 пинов GND, VCC, SDA, SCL, SQW, 32K.

    С подключением первых четырех пинов особых вопросов не возникло. Время выставляется, температура измеряется, все пишется и в консоль и на LCD.

    Выставляются будильники (их в RTC две штуки), срабатывают, поднимаются при этом регистры A1F и A2F (адрес 0x0F).

    Поковырялся около пинов SQW и 32K. Кроме ежесекундного мигания светодиодом, подвешенным на пин SQW при выставленных вручную регистрах RS1 (0), RS2 (0) (по адресу 0x0E) от пина SQW не смог ничего добиться. Пин 32K дает постоянный высокочастотный сигнал, с которым тоже непонятно что делать.

    Возникло три вопроса:

    1. Можно ли как-то, по наличию сигнала на пине определять срабатывание аларма и только потом уже лезть в регистры смотреть, какой именно из будильников сработал?

    2. Как можно использовать пины 32K и SQW?

    3. Как инициировать выставление регистов A1IE, A2IE (адрес 0x0E) при наступлении события для аларма? Или они только вручную поднимаются в 1?
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    32K - согласно даташиту это вывод тактовой частоты наружу.

    SQW может выдавать меандр, частота которого задается разрядами RS2 и RS1 регистра 0xE при условии, что разряд INTCN того же регистра установлен в ноль. Т.е. это выход делителя тактовой частоты.
    На странице 13 даташита есть табличка:
    RS2 RS1 SQUARE-WAVE OUTPUT FREQUENCY
    0 0 1Hz
    0 1 1.024kHz
    1 0 4.096kHz
    1 1 8.192kHz

    Правильно будет сказать "поднимаются разряды (биты) A1F и A2F регистра 0xE". Регистр состоит из разрядов.
     
  3. Megakoteyka

    Megakoteyka Оракул Модератор

    Tomasina нравится это.
  4. ANV

    ANV Гуру

    SQW можно сконфигурировать в режим прерывания (INTCN=1), тогда он будет выдавать импульс при совпадении текущего времени и будильника