С. Гриневский, С. Дрозд, В. Емельянов, В. Переверзев, С. Шведов
КМОП-таймер с ОЗУ и управлением по I2C-шине INA8583N
В 1999 году в НИКТП "Белмикросиcтемы" разработана микросхема INA8583N - таймер с ОЗУ 256x8 бит и управлением по I²C-шине. Данная микросхема предназначена для использования в аппаратуре, имеющей I²C-шину, в качестве часов/календаря/таймера/будильника/счётчика внешних событий с включением каких-либо функций аппаратуры в определённое время или по происшествии какого-либо события, а также для хранения какой-либо информации в свободных ячейках ОЗУ. Может использоваться в радиоаппаратуре и изделиях бытовой электроники.
Отличительные особенности INA8583N:
- рабочее напряжение питания интерфейса I²C-шины 2,5–6 В;
- рабочее напряжение питания часов (070ºС) 1,0–6 В;
- рабочий ток потребления (fSCL= 0 Гц) 50 мкА;
- температурный диапазон -20 – +70ºС;
- часы функционируют с четырёхгодичным циклом календаря;
- 24- или 12-часовой формат;
- работа часов от 32,768 кГц или 50 Гц;
- последовательная шина (I²C);
- автоматическая инкрементация адреса передаваемого слова данных;
- рограммирование функций будильника, таймера и прерывания.
Назначение выводов микросхемы приведено в табл. 1. Структурная схема приведена на рис. 1.
Таблица 1. Назначение выводов микросхемы INА8583N
Обозначение
|
Вывод
|
Назначение
|
OSCI
|
1
|
вход генератора, 50 Гц или событий
|
OSCO
|
2
|
выход генератора
|
A0
|
3
|
вход адреса
|
GND
|
4
|
общий вывод
|
SDA
|
5
|
данные для I²C-шины
|
SCL
|
6
|
тактовые импульсы для I²C-шины
|
INT
|
7
|
выход прерывания с открытым стоком
|
Ucc
|
8
|
напряжение питания
|
Рисунок 1. Структурная схема микросхемы INA8583N
INA8583N содержит 256x8 ОЗУ с 8-бит автоинкрементируемым адресным регистром, встроенную схему генератора на 32,768 кГц, делитель частоты, интерфейс двунаправленной, двухпроводной последовательной шины (I2C) и схему сброса по питанию.
Первые 8 бит ОЗУ (адреса 00÷07) разработаны как адресуемые 8-бит параллельные регистры. Первый регистр (адрес 00) используется как регистр управления/статуса. Ячейки памяти с адресами 01÷07 используются как счётчики для функции часов. Ячейки памяти с адресами 08÷0F - свободные ячейки ОЗУ или могут быть запрограммированы как регистры будильника. Размещение регистров в различных режимах приведено на рис. 2.
Рисунок 2. Размещение регистров в различных режимах
При загрузке регистра управления/статуса можно выбрать следующие режимы:
- режим часов от частоты 32,768 кГц;
- режим часов от 50 Гц;
- режим счётчика событий.
В режиме часов сотые секунды, секунды, минуты, часы, число, месяц (четырёхлетний календарь) и день недели хранятся в двоично-десятичном формате (BCD). Регистр таймера, в зависимости от выбранного режима, может считать до значения 99 дней. Режим счётчика событий используется для счёта импульсов, поступающих на вход генератора (OSCO остаётся не подключенным). Счётчик событий может работать до 6 цифр данных в BCD-формате.
При установке бита разрешения будильника в регистре управления/статуса активизируется регистр управления будильником (адрес 08).
При загрузке регистра управления будильником может быть запрограммирован один из следующих режимов:
- будильник по числу;
- будильник по дню недели;
- будильник по времени (ежедневно в одно и то же время);
- будильник по таймеру.
В режиме часов регистр таймера (адрес 07) может быть запрограммирован для счёта: сотых секунды, секунд, минут, часов или дней. Дни считаются, когда будильник не запрограммирован.
Всегда, когда достигается условие будильника, устанавливается флаг будильника в регистре управления/статуса. При достижении условия будильника по таймеру будет устанавливаться флаг будильника, а при переполнении таймера установится флаг таймера.
Выход прерывания (с открытым стоком) включается (активный "низкий") когда установится флаг будильника или таймера. Флаги остаются в установленном состоянии до непосредственного сброса при выполнении записи в регистр по адресу 00.
Когда задана функция таймера без функций будильника, оставшиеся регистры будильника (адреса 09÷0F) могут быть использованы как свободные ячейки ОЗУ.
24- или 12-часовой формат в режиме часов может быть выбран при установке старшего значащего бита счётного регистра часов (адрес 04).
Год и число размещены в регистре 05. Дни недели и месяцы находятся в ячейке памяти 06. Когда читаются эти ячейки памяти, год и день недели могут быть замаскированы установкой флага маскирования в регистре управления/статуса. Это позволяет читать только значение числа и месяца.
В режиме счётчика событий данные записываются в BCD-формате. D5 является старшей значащей цифрой, а D0 - младшей. В этом режиме внутренний делитель отключен.
Когда установлен бит разрешения будильника в регистре управления/статуса, то активизируется регистр управления будильником (адрес 08). Все функции будильника, таймера, внешнего выхода прерывания управляются содержимым регистра управления будильником.
Все регистры будильника располагаются начиная с адреса 08.
Будильник срабатывает, когда содержимое регистров будильника побитно совпадает с содержимым соответствующих регистров счётчиков. Биты года и дня недели игнорируются при активизации режима будильника по числу. В режиме ежедневного будильника игнорируются биты месяца и числа. Когда выбран будильник по дню недели для сравнения будет выбираться бит из регистра будильника по дню недели (адрес 0Е), соответствующий дню недели, по которому активизируется будильник.
Выход прерывания (с открытым стоком) программируется установкой регистра управления будильником. Он включается (активный низкий), когда устанавливается флаг будильника или флаг таймера.
Кварцевый резонатор на 32,768 кГц может быть подключен к выводам OSCI (вывод1) и OSCO (вывод 2). Сигнал 100 Гц для счётчиков получается с генератора через делитель в режиме часов.
В режиме часов от 50 Гц или в режиме счётчика событий генератор запрещается и выход генератора переключается в высокоимпедансное состояние. Это позволяет пользователю подавать частоту 50 Гц или внешний высокоскоростной сигнал событий на вход OSCI.
Когда включается питание, то генерируется внутренний сигнал сброса, который очищает интерфейс I²C-шины, регистр управления/статуса и все счётчики часов. После этого устройство начинает работу в режиме часов от 32,768 кГц в 24-часовом формате с 1 января 0 года с времени 0.00.00:00. На выходе прерывания будет сигнал с частотой 1 Гц (начинается с "высокого" уровня). Это можно запретить установкой бита разрешения будильника в регистре управления/статуса.
Если напряжение питания падает ниже уровня сброса интерфейса I²C-шины, то вырабатывается второй внутренний сигнал сброса, который запрещает работу I²C-шины. Этот сигнал сброса не влияет на регистры счётчика часов и регистр управления/статуса.
Рекомендуется устанавливать флаг остановки счёта в регистре управления/статуса перед загрузкой истинного времени в счётчики. Загрузка неверного состояния будет приводить к сбою часов, но не будет нарушать работу устройства.
I²C-шина двунаправленная - двухпроводная связь между различными микросхемами или модулями. Имеется две линии, по которым осуществляется связь: линия последовательных данных (SDA) и линия последовательных тактовых импульсов (SCL). Обе линии должны соединяться с положительным полюсом источника питания через резистор, так как в микросхеме эти выходы выполняются по схеме с "открытым стоком". Передача данных может инициироваться только когда шина не занята.
Один бит данных передаётся за один тактовый импульс. Данные на линии SDA должны быть стабильны в течение "высокого" периода тактового импульса, так как изменение на линии данных в это время будет интерпретироваться как управляющий сигнал.
Перед любой передачей по I²C-шине вначале передаётся адрес вызываемого устройства. Адресация всегда выдаётся с первым передаваемым байтом после процедуры старта. Формат адреса микросхемы представлен на рис. 3.
Рисунок 3. Адрес INA8583N
Схема включения микросхемы приведена на рис. 4.
Рисунок 4. Схема применения
По всем вопросам, связанным с использованием описанной микросхемы, обращаться по тел.: (017) 277-9552, 278-3198. Факс (017) 278-2822. E-mail: belms@belms.belpak.minsk.by.
|