Разделы сайта

Поддержка ОС

§ В Linux поддержка I²C обеспечивается специальным модулем для каждого устройства, совместимого с этим стандартом. Файл заголовков для написания клиента I²C - /usr/include/linux/i2c.h. В OpenBSD также добавлена поддержка основных микроконтроллеров и сенсоров I2C;

§ В Sinclair QDOS и Minerva QL поддержка осуществляется через набор расширений фирмы TF Services;

§ В AmigaOS доступ к устройствам I²C осуществляется с помощью библиотеки i2c.library, написанной Вильгельмом Нойкером;

§ eCos поддерживает I²C для нескольких архитектур.

§ Материнские платы EPIA-M поддерживают I²C на уровне форм-фактора .

Производственные технологи

I²C является основой ACCESS.bus , дисплейного интерфейсного канала данных (DDC) VESA , шины управления системными функциями SMBus , шины интеллектуального управления системой IPMB (вариант протокола IPMI <http://ru.wikipedia.org/wiki/IPMI>). В этих технологиях возможно использование различных напряжений, частоты тактирования и наличия линийпрерываний .(Two Wire Interface) или TWSI (Two Wire Serial Interface) по сути та же самая шина I²C, но использует другое название по лицензионным причинам. (Патенты на I²C уже отменены.)

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

Рисунок 3 - модуль

Часы состоят из микросхемы DS1307, кварца на 32,768Кгц, батарейки и 2-х подтягивающих резисторов на линии SDA и SLC. Благодаря батарейке они продолжают идти при отключении внешнего питания. Также у DS1307 есть свободные 56 байтов энергозависимой статической ОЗУ, которые можно использовать в своих целях.

Рисунок 4 - Типовая схема включения

Линии SCL и SDA - это I2C. На линии SQW - находиться тактовый импульс с частотой от 1 Гц до 32,768 Кгц, обычно она не используется.

Рисунок 5 - Выводы микросхемы

У часов есть пара особенностей:

. что бы они работали, в них должна быть батарейка или на крайний случай резистор на 4-10кОм, иначе они не будут работать и отвечать всяким мусором.

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

Хронометр имеет фиксированный адрес 68h, в 7 битовом адресе + 1 бит указывает на действие - чтение/запись.

Для записи используется следующий алгоритм:

Первый байт - адрес часов 68h + 0 бит указывающий на запись, итого D0h. После получения подтверждения передаётся адрес регистра. Это установит регистровый указатель. Затем начинается передача байтов данных, чтобы остановить его - генерируется условие окончания.

Для чтения:

Первый байт - адрес часов 68h + 1 бит указывающий на запись, итого D1h. После декодирования адреса и выдачи подтверждения устройство начинает передавать данные с указанного адреса (храниться в регистре указателя). Если перед началом чтения указатель регистра не записан, то первый читаемый адрес - это адрес, который был сохранён в нём последним. DS1307 должен принять «неподтверждение» для окончания чтения.

Рисунок 6 - Регистры хронометра DS1307

Для включения часов следует установить бит CH в ноль, это следует сделать принудительно, т.к. часы после включения по умолчанию выключены.

Часы хранят информацию в двоично-десятичном виде - для получения данных достаточно прочитать соответствующий им регистр.может работать как в 24, так и в 12 часовом режиме - за это отвечает бит 12/24 (02h 6 бит). При 24 часовом режиме 5 и 4 биты регистра 02h соответствуют текущему десятку часа, при 12 часовом режиме 4 бит хранит десяток, а 5 признак до полудня / после полудня.

регистр отвечает за выходной тактовый генератор часов, SQW вывод. Бит OUT инвертирует выходной сигнал, бит SQWE включает тактовый генеретор, а биты RS0 и RS1 устанавливают частоту тактового импульса.

Практика

Был изготовлен небольшой модуль часов реального времени. На макетке были собраны часы с использованием микроконтроллера PIC16F628A, знакогенерирующего дисплея 2×16, одной кнопки для задания времени, модуля часов реального времени и с небольшим количеством обвязки.

Рисунок 7 - Макетируемые часы

Рисунок 8 - Схема

Рисунок 9 - Печатка модуля

Плата содержит микросхему DS1307 в SMD исполнении. К ней подпаян кварц на 32,768 КГц, в корпусе DT-38, вокруг кварца должно быть кольцо земли и корпус самого кварц тоже стоит подключить к земле, для этого рядом с ним предусмотрено специальное отверстие. Для работы часов в автономном режиме предусмотрена батарейка на 3В CR120. Также для индикации работы модуля можно установить SMD светодиод с резистором на 470 Ом в корпусе типоразмера 0805.F628A не содержит аппаратного I2C, поэтому он был реализован программно. Программный I2C был написан с нуля, он немного отличается от стандартного протокола, тем, что не ждёт подтверждения от слейва. Программный I2C будет рассмотрен в одной из следующих статей. На основе функций работы с I2C были реализованы следующие функции управления DS1307:

Перейти на страницу: 1 2 3

Самое читаемое:

Конструкторско-технологическое проектирование печатной платы
печатная плата Проектирование печатных плат (ПП) представляет трудоемкий, но очень важный процесс. Для того, чтобы обеспечить функционирование электронной аппаратуры (ЭА) необходимы не только схемотехнические решения, функциональная точность, надежность, но и учет влияния внешней среды, конструктивных, эксплуатационных требований, пр ...

www.techstages.ru : Все права защищены! 2026