Например TDA7294

Форум РадиоКот • Просмотр темы - Не могу запустить RTC DS1307 на Atmega8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 15:45:10

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 97 ]  1, , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Не могу запустить RTC DS1307 на Atmega8
СообщениеДобавлено: Пт дек 25, 2009 05:05:28 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Доброго дня всем. Контроллеры AVR изучаю пару месяцев. Застрял на модуле TWI. Написал программу (WinAVR GCC) для работы с ds1307 и вывод данных на четырех сегментный индикатор. Создал модель в протеусе. Запускаю - все работает отменно (пока нужны только азы - инициализация и чтение времени), кроме кнопки выбора индикации (часы-минуты или минуты-секунды), но проблема в другом - прошиваю мегу и в итоге на индикаторах 2.1.2.1 Экспериментально выяснил, что причина в фунции read_rtc () (проверяю - на ноге SDA - 0) если убрать эту функцию, после init_rtc() на SDA высокий уровень. Интуитивно чувствую что проблема в задержках, но опыта не достаточно, что бы определить где конкретно "собака порылась". Посему надеюсь на Вашу помощь.
Заранее благодарен.


Вложения:
Комментарий к файлу: Архив проекта. Компилятор - WinAVR
i2c.rar [86.22 KiB]
Скачиваний: 1678
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 25, 2009 11:00:41 
Встал на лапы

Зарегистрирован: Пн май 05, 2008 14:36:30
Сообщений: 94
Откуда: г. Челябинск
Рейтинг сообщения: 0
могу выложить кусок программы на асме по работе DS1307 с АВР с использованием модуля TWI


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 25, 2009 12:08:19 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Я в асме пока не силен. Мне бы на С... а точнее именно этот код разобрать. Я тут определил, что вся проблема именно в чтении данных. В TWSR после каждой операции проверял по кодам - все в норме (АСК передается нормально), а в место данных - белеберда...Блин даже не знаю что думать


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб дек 26, 2009 10:17:29 
Встал на лапы

Зарегистрирован: Пн май 05, 2008 14:36:30
Сообщений: 94
Откуда: г. Челябинск
Рейтинг сообщения: 0
все равно, посмотришь как хоть с ней правильно "общаться", там много подводных камней ))


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 28, 2009 13:04:40 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Буду благодарен...Заодно наверное подниму уровень знаний по асму


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 29, 2009 14:35:26 
Встал на лапы

Зарегистрирован: Пн май 05, 2008 14:36:30
Сообщений: 94
Откуда: г. Челябинск
Рейтинг сообщения: 0
Вот на, держи. Вопросы будут - пиши.


Вложения:
DS1307.txt [13.06 KiB]
Скачиваний: 1183
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 29, 2009 21:39:42 
Электрический кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 2
Зарегистрирован: Вт окт 21, 2008 11:46:23
Сообщений: 1051
Откуда: Барнаул
Рейтинг сообщения: 0
Подобное случается при переносе из шпротеуса на железо. В железе обязательны резисторы подтяжки на +5В на сигналы SCL и SDA. Они у вас есть???

_________________
Цапу крутить надо!!! Ку или не ку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 30, 2009 00:05:53 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Резисторы есть. Сегодня достал осц и немного поигрался. Получил кучу вопросов:
1. Кто может, померяйте осцилограмму на ногах кварца (на rtc). У меня в упор там постоянка порядка вольта, может меньше (на второй ноге). Должны ли присутствовать импульсы на первом, втором выводах rtc?
2. Отключил rtc вообще от контроллера и тут у меня начались чудеса...Инициализация проходит нормально, а вот когда программа заходит в основной цикл (я для простоты добавил задержку в 500 мс между функциями read_rtc и shou_clock:
read_rtc ();
_delay_ms (500);
shou_clock ();
)
При этом на осцилограмме наблюдаеться следующая картина:
Если развертку сузить около секунды - то на SDA и SCL просто меандр с периодом около секунды!!! Если растянуть до значения порядка сотни мкс - тогда видно что при спаде имульса идет передача байта, потом линия лежит все время приблизительно те же 500 мс, потом снова передача и линия прыгает в единицу...снова заержка (где-то около 500 мс и в это время sda и scl = "1") и все повторяеться занова.

3. Когда я убрал из фунции read_rtc все после первого стопа (передача sla_r и чтение данных), то осцилограмма преодбрела нормальных вид - передача байта - лини в "1" - снова передача и сразу в единицу.


Кто-что может посоветовать??? Рисунков нету (мерял на работе) если что не понятно, постараюсь обьяснить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 30, 2009 06:35:24 
Встал на лапы

Зарегистрирован: Пн май 05, 2008 14:36:30
Сообщений: 94
Откуда: г. Челябинск
Рейтинг сообщения: 0
На одной ноге кварца постоянка порядка 0,8...1 В, на второй синусоида 32768 Гц размах порядка 100мВ с постоянной составляющей 0,8...1 В. Для запуска генератора бит СН регистра SECONDS должен быть равен 0. Хоть и пишут в даташите что значения регистров при включении питания может быть любым, у меня в 90% случаев требовалось запустить генератор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 30, 2009 11:51:32 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Так я прописал в функции:
void init_rtc (void)
{
twi_start ();
twi_sla_w (0xa0);
twi_transmite (0x00); //Адресс первой ячейки для записи (0x00)
twi_transmite (0x00); //Установка секунд и запуск часов
............
Так что запуск вроде бы как осуществляю


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 03, 2010 19:00:25 
Опытный кот
Аватар пользователя

Карма: 31
Рейтинг сообщений: 149
Зарегистрирован: Пн ноя 02, 2009 18:00:05
Сообщений: 793
Откуда: Украина Николаев
Рейтинг сообщения: 0
NiceMAN писал(а):
Для запуска генератора бит СН регистра SECONDS должен быть равен 0. Хоть и пишут в даташите что значения регистров при включении питания может быть любым, у меня в 90% случаев требовалось запустить генератор.

Это точно. Долго я перечитывал DataSheet и на русском и на английском. Вся фишка в том, что надо сначала прочесть нулевой байт, а потом обнулить старший бит. Вот мой кусочек кода в CAVR:

// Ds1307 Real Time Clock initialization
// Squre wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_init(0,0,0);
a=rtc_read(0); // прочесть нулевой байт
rtc_write(0,(a&=0b01111111)); // обнулить старший бит(СН) и запустить внутренний генератор


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 07, 2010 14:48:22 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт окт 23, 2008 19:35:08
Сообщений: 23
Рейтинг сообщения: 0
без батарейки тоже работать не будет


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 07, 2010 17:59:32 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вс янв 07, 2007 01:45:48
Сообщений: 491
Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения: 0
Ivanchik писал(а):
без батарейки тоже работать не будет


Откуда это, интересно, такая уверенность. Вы хоть попробовали бы перед тем как строчить пост, а то дезинформация получается, не хорошо!

Это вот если питание ниже, чем 1,25*Vbat (по моему), тогда виснуть будет на опросе, т.к. при этом DSка переключается на питание от батарейки, и шина не активна, работает только схема счёта времени.

_________________
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 07, 2010 19:52:24 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт окт 23, 2008 19:35:08
Сообщений: 23
Рейтинг сообщения: 0
а каков тогда смысл реальных часов , если не подключать батарейку?
Сталкиваюсь с ними постоянно, думаю поболее ваших навыков и не судите по кол-ву сообщений в профиле, чаще просто читаю форум,- как результат меньше флуда..


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 07, 2010 23:09:24 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вс янв 07, 2007 01:45:48
Сообщений: 491
Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения: 0
Во первых, убедительно прошу Вас не хамить.

По сути:
Я ни в коем разе не сужу о человеке по "кол-ву сообщений в профиле", я сужу по его конкретному посту, да и вообще, я не сужу, не судья я, просто читаю пост, вижу чушь, нет, ПОЛНУЮ НЕ ОБОСНОВАННУЮ ЧУШЬ, и знаете, так хочется рассказать миру правду, прям не могу...

Вам я посоветовал бы почаще не читать форумы, плодя чушь и распространяя мнения ничего не имеющие с реальной жизнью, а раз уж Вы так часто сталкиваетесь с подобными вещами, просто попробовать в "железе", а не просто пересказывать чужие утверждения, этим Вы показываете не самые лучшие свои стороны (хотя, как знать).

Да, и по поводу "навыков". Я думаю, что Вам о них судить не стоит. Мы с Вами за руку не знакомы, да честно говоря и не хотелось бы.

_________________
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 07, 2010 23:50:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 40
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Прикольно получилось с 25 декабря файл с проектом скачали больше 1000 раз, а ответов по делу не больше ... (лень считать).

Прикол №2: при этом ветку просмотрели не более 500 раз. :))

По делу:
В апреле 2008 я под CVAVR писал TWI библиотеку для DS1308. Так вот в железе она работает, а в протеусе нет.

По поводу библиотеки автора поста:
у меня на компе программа автора запускается но через время комп вылетает (перезагружается), а такое у меня происходит при симуляции программы с ошибкой т.е. могу сказать, что и в протеусе программа работает некорректно. При этом моя программа со стандартной библиотекой из CVAVR работает и протеус не вылетает.

Небольшое замечание автору поста: к проекту в протеусе параллельно выкладывайте схему ту которую вы собираете в железе это упростит задачу желающим Вам помочь и избавит от пустой помощи (типа "без батарейки работать не будет", "подтягивающие резисторы поставь"), а ведь это все в железе имеется.

В протеусе много чего работает, то что в железе не работает и наоборот.

Например у автора кварц стоит на 32768kHz и ничего в протеусе работает.

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб янв 09, 2010 22:31:14 
Открыл глаза
Аватар пользователя

Зарегистрирован: Сб июн 06, 2009 11:13:56
Сообщений: 54
Рейтинг сообщения: 0
Если еще актуально могу скинуть исходники для работы с i2c для gcc avr (winavr) (icq/skype в профиле)
с DS1307 наступил на грабли с резервной батарейкой - вход батарейки сравнивается со входом питания и если на батарейке больше скольких-то процентов (в даташите есть, оклоко 75%) интерфейсы отключаются и часы на внешние раздражители реагировать перестают.
Короче, если оставить болтаться или притянуть к питанию - работать не будет, выход или притягивать к земле или вешать батарейку.

_________________
После нас - хоть потоп (с) Лойсо


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 10, 2010 21:30:18 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вс янв 07, 2007 01:45:48
Сообщений: 491
Откуда: Российская Федерация, будь она неладна...
Рейтинг сообщения: 0
Ну я же писал только что, при не подключенном выводе батареи часы РАБОТАЮТ!!!!!!!! ПРОВЕРЬТЕ!!!!!!!!!!

_________________
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 11, 2010 18:14:58 
Открыл глаза
Аватар пользователя

Зарегистрирован: Сб июн 06, 2009 11:13:56
Сообщений: 54
Рейтинг сообщения: 0
Pooher писал(а):
Ну я же писал только что, при не подключенном выводе батареи часы РАБОТАЮТ!!!!!!!! ПРОВЕРЬТЕ!!!!!!!!!!

DS1307 не далее как вчера собирал на них игрушку - не работают, уходят в глухую спячку. На помеху не похоже, там наводкам есть куда стечь

_________________
После нас - хоть потоп (с) Лойсо


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 12, 2010 01:20:05 
Родился

Зарегистрирован: Пт дек 25, 2009 04:44:14
Сообщений: 17
Откуда: Украина, Киев
Рейтинг сообщения: 0
Так чем дальше в лес...
Сами часики вроде в норме. Проблема с контроллером (точнее с программой). Я отключил контроллер от часиков, далее запускаю и проверяю осцом что у меня на SDA и SCL. В итоге вообще запутался - идет передача данных, а в перерывах шина лежит в нуле. Почему проц может не отпускать шину???? (чтение данных спецом отрубил, а также индикацию и прерывания - контроллер в режиме мастер-передатчик). Может кто-то что-то поможет…А то беда - контроллер весь учу всего пару месяцев, а тут на одной шине i2c зависнул уже на две недели.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 97 ]  1, , , ,  

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y