Easyelectronics.ru

Электроника для всех
Текущее время: 11 июл 2020, 04:46

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 06 май 2012, 05:42 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 331
Откуда: Энергодар, Нижневартовск, Екатеринбург
Модуль mikroBUS: RTC (PCF8523TS) Версия 0.0.0.1

Real-Time Clock (RTC) and calendar PCF8523TS является частью Industrial applications sample kit.

Примечания:
1. Для ЛУТ-метода с фольгой.
2. Площадки для (0805):
- подтягивающих резисторов (для PBII не нужны);
- 0,1 мкФ конденсатора между +5 В и землёй;
- светодиода с токоограничивающим резистором;
3. Держатель батарейки FH-3 CR2032. Выводы загибаем с обратной стороны и припаиваем к перемычкам рядом.

Модуль был спроектирован для целей:
- изучение программной модели устройства;
- изучение поведения устройства при изменения режима питания (сохранение регистров);
- изучения точности хода в лабораторных условиях;
- работы в составе модульной системы на PBII.

Ограничения при использовании на PBII:
- условия работы устройства отличается от возможной реальной помеховой обстановки в случае работы на реальной нагруженной системе, поэтому использовать модуль рекомендуется только на этапе прототипирования (или макетирования);

Литература

Документация: Поиск в Гугл
Технология ЛУТ с фольгой: Фольга спасет мир.
Переходный модуль: Переходный модуль (x2 mikroBUS)
Где взять сэмплы: Бесплатные образцы

Код

Существуют некоторые проблемы, связанные с поддержкой реального времени во встраиваемых системах (см. к примеру: Проблема 2038 года). В виду ограниченности разрядности и малых ресурсов не так просто реализовать 64-битную поддержку целочисленных операций со счётчиком времени. При использовании компилятора GNU из WinAVR-20100110 и прямой реализации 64-битных целочисленных операций общий объём кода может вырасти довольно значительно (в разы).
Я использую аналогию из unix-систем, где существует два времени: реальное (RTC) и текущее системное (программное), т.е. программно реализованы часы реального времени в самом контроллере (AVR семейства mega).

Алгоритм работы такой: При загрузке системы внутренние программные часы инициализируются значением 0, т.е. 1 Янв 1970 г. На этапе инициализации периферии опрашивается RTC. Если внешнее время доступно, то считываем и синхронизируемся с ним. Счётчик внутренних часов инкрементируется каждую секунду. Т.о., если что-то случится с внешним RTC, то у нас остаётся внутреннее время, относительно которого можно осуществлять работу. Это лучше, чем отсутствие данных о времени.

С++
Класс для работы с внутренним временем: SystemTime.cpp
Класс для работы с внешними часами реального времени (RTC): RTC.cpp

Примечания: Используется TWI. Пока поддерживаются только: DS1307, VS1307 (это одно и то же). Код очень черновой и будет сильно переделываться до поддержки 64-разрядов и подсчётов миллисекунд (с ходу не получилось влезть в ATmega16).

Дополнительно

Обращаю внимание на некоторые тонкости ЛУТа с фольгой (внимательно читаем оригинальную доку по ссылке выше):
1. Дорожки и зазоры 0,2 мм x 0,2 мм получаются запросто с первого раза, только не нужно забывать разглаживать всё ногтём, чтобы на фольге проступила фактура изображения.
2. В принципе, если есть где зазор 0,1 мм, то ничего страшного, но лучше этого избегать. На фотке у меня окаймление платы сделано линией 0,1 мм.
3. Я печатаю на матовой стороне фольги. Фольга обычная бытовая, очень тонкая зараза. Не жалеем ни фольги, ни чистого листка А4, иначе долго будете выковыривать остатки фольги из всех внутренностей принтера, а учитывая её толщину, то не факт, что удалите полностью. Я хотел один раз сэкономить наполовину, зажевало только так, принтер в ступоре и целый час выковыривал фольгу из внутренностей. Когда фольга "натянута" на весь лист А4, то всё нормально всегда. Разделывается фольга ножичком по резке бумаги под линейку на твёрдой поверхности (никакие ножницы и пр. не катят :) )
4. Нужно потренироваться накладывать фольгу в небольшой натяг, чтобы было меньше вмятин, когда её протаскивает через внутренности принтера.
5. Автор рекомендует печатать на плёнке обратной проекции для проекторов (продаются в пачках как листы), но я не пробовал. Это нужно для того, чтобы фольга не мялась из-за деформации подложки при нагреве. Иначе нельзя будет распечатать большую плату и тем более совместить двухстороннюю.

П.С. В отличие от предыдущего модуля (VS1307), эти часики завести с полпинка пока не получилось. Имейте в виду, что тут в разводке я пробросил между выводов 13 и 14 сигнал CLKOUT (8 вывод), в результате чего появилось узкое место и узкая дорожка. На обеих платках у меня зазор 0,1 мм нормально протравился, но этот выход не обязателен и можно убрать эту дорожку, если сомневаетесь в результате. Также надо было опустить на пару мм ниже всю нижнюю половину платки, чтобы кварц не упирался прямо в держатель батарейки.


Вложения:
Комментарий к файлу: Этапы изготовления платы
Clickboard PCF8523TS.jpg
Clickboard PCF8523TS.jpg [ 206.82 Кб | Просмотров: 6042 ]
Комментарий к файлу: Плата Sprint Layout 6
Clickboard PCF8523TS.zip [17.27 Кб]
Скачиваний: 224

_________________
git.io/vOZo0


Последний раз редактировалось уни 07 май 2012, 10:01, всего редактировалось 3 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 06 май 2012, 06:41 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:55
Сообщения: 5494
Откуда: Уругвайская АССР
Да, так лучше. Ещё вопрос: в такой разводке батарейку трудно паять. Засада получается с пайкой батарейки сверху к верхним дорожкам, особенно под пузом.
Есть предложение, подкупающее своей новизной - перетащить всё: микросхему, дорожки, кварц и рассыпуху а слой bottom, батарейку оставить в top, и подвинуть так, чтобы она накрывала собой всю верхнюю сторону. И паять легко, и плата получится вдвое меньше.

_________________
Без гнева и жестокости, сегодня Смерть взмахнёт косой, и ангел тайными дорогами мой милый Кубик унесёт с собой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 06 май 2012, 06:59 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 331
Откуда: Энергодар, Нижневартовск, Екатеринбург
Цитата:
3. Держатель батарейки FH-3 CR2032. Выводы загибаем с обратной стороны и припаиваем к перемычкам рядом.

Я не паяю выводы держателя сверху, я просовываю их в отверстия и загибаю. Перед этим впаиваю в отверстия 0,6 мм проводничок одним концом, а второй оставляю свободным с другой стороны. Потом, когда посажу держатель, я припаиваю свободные концы перемычек с загнутыми выводами держателя. Вот и весь фокус. Сверху там просто невозможно припаять.
А на счёт предложения поделить на две стороны детальки я подумаю... подумал:
1) наверху есть светодиод, сигнализирующий о наличии +5 В (его можно было бы заменить выводным, но это не так красиво уже будет);
2) что делать с PLS разъёмами? Нестандартное их использование, по-видимому, уменьшит длину штырька, пластик на топе останется? Тогда держатель не сядет между рядами.

В общем тут думать надо.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 06 май 2012, 18:24 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6286
Откуда: Челябинск
Не юзал еще? А то у меня эта PCF вела себя исключительно странно.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 06 май 2012, 19:02 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 331
Откуда: Энергодар, Нижневартовск, Екатеринбург
Нет ещё, мне нужно класс дописать, чтобы он работал одновременно с двумя типами RTC.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 09 май 2012, 07:39 
Старожил
Аватара пользователя

Зарегистрирован: 14 фев 2012, 19:11
Сообщения: 331
Откуда: Энергодар, Нижневартовск, Екатеринбург
DI HALT писал(а):
Не юзал еще? А то у меня эта PCF вела себя исключительно странно.

У меня кварц не заводится. OS бит (Oscillator stop flag, самый старший) в регистре секунд выставляется (clock integrity is not guaranteed; oscillator has stopped or been interrupted). Если один чип кое-как тикает с выставлением этого флага, то вот второй чип вообще не откликается. Пока не понял что к чему. Будем разбираться.

Я забыл на плате подтянуть к питанию три сигнала: ~INT1/CLKOUT, CLKOUT и ~INT2. Так что нужно переделывать, иначе нельзя будет ими воспользоваться.

П.С. Оба чипа работают, был непропай у одного по SDA. Осталось разобраться с OS-битом.

_________________
git.io/vOZo0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 19 янв 2013, 03:51 
Только пришел

Зарегистрирован: 24 мар 2012, 17:21
Сообщения: 21
так и не завел никто? инфы в интернетах по энному 0 прост.:(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 19 янв 2013, 06:43 
Старожил
Аватара пользователя

Зарегистрирован: 18 фев 2010, 14:42
Сообщения: 1153
Откуда: Лондон
Я заводил их. Но я хз, как вообще с ними работать. Либо время настроить, либо они идут, после настройки их не запустить и запущенные не настроить. Либо просто не идут, лиюо перестают отвечать на вопросы, пока не рестартнешь. Говно какое-то


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль mikroBUS: RTC (PCF8523TS)
СообщениеДобавлено: 19 янв 2013, 06:53 
Только пришел

Зарегистрирован: 24 мар 2012, 17:21
Сообщения: 21
Цитата:
Я заводил их. Но я хз, как вообще с ними работать. Либо время настроить, либо они идут, после настройки их не запустить и запущенные не настроить. Либо просто не идут, лиюо перестают отвечать на вопросы, пока не рестартнешь. Говно какое-то


Если не сложно,сурс выложи..я что то вообще никак=)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB