Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Atmega32, DS1307 и 20Мгц

Непрочитано 24.01.2009, 20:46  
sliam
Частый гость
 
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
sliam на пути к лучшему
По умолчанию Atmega32, DS1307 и 20Мгц

Коллеги, приветствую!
Подскажите, пожалуйста.
Решил заняться оверклокингом, т.к. использую LCD дисплей Siemens S65 и хочется чтобы пошустрее все работало. Поставил кварц на 20 мгц. Все вроде работает, но, Перестал работать календарь DS1307. Выводит 165:165:165. Ставлю обратно 16 Мгц все работает.
В чем проблема ?
При переходе с 8 на 16 мгц никаких изменений в коде для календаря не делал.
При переходе с 16 на 20 все "умерло". Чую что нужно изменить что то в настройках шины I2C. Но где, не знаю.
Реклама:
sliam вне форума  
Непрочитано 25.01.2009, 00:03  
Cyber_RAT
Прописка
 
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
Cyber_RAT на пути к лучшему
По умолчанию

гляньте то место где выставляется скорость i2c шины... часики максимум до 100кгц пашут, возможно превысили (второй вариант если пауза после STOP написана в тактах - может не хватает).
а вообще выложите кусок кода в архиве - быстрее будет.
Cyber_RAT вне форума  
Непрочитано 25.01.2009, 00:33  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию

Скорость шины выставляется в регистрах TWBR + TWSR.
kison вне форума  
Непрочитано 25.01.2009, 11:55  
leonidk
Частый гость
 
Регистрация: 02.11.2006
Сообщений: 33
Сказал спасибо: 1
Сказали Спасибо 14 раз(а) в 5 сообщении(ях)
leonidk на пути к лучшему
По умолчанию

А может все проще. В даташит гарантируется 16 МГц. На 20 МГц работает тактовый генератор, но не факт что работает остальная аппаратная часть микроконтроллера.
И из чистого любопытства. А что должно шустрее работать, часы, календарь?
leonidk вне форума  
Непрочитано 25.01.2009, 12:01  
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Atmega32, DS1307 и 20Мгц

Сообщение от sliam
Чую что нужно изменить что то в настройках шины I2C.
Попробуйте для начала уменьшить подтягивающие резисторы вплоть до 1.5 кОм. Щас у вас какие установлены ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 25.01.2009, 12:55  
sliam
Частый гость
 
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
sliam на пути к лучшему
По умолчанию

Всем спасибо за советы и ответы!

Долго курил даташиты и пр.
Понял, что в CVAVR, во встроенных библиотеках используется софтовый I2C. В этом случае регистры TWBR и TWSR не имеют никакой силы.

Сейчас сделаю аппаратный TWI и напишу свою библиотеку. Благо календарь у меня подключен к выводам аппаратного TWI.

По результатам отпишусь.

Резисторы у меня на 4,7к, сейчас попробую поменять на 1,5к.
sliam вне форума  
Непрочитано 28.01.2009, 12:40  
sliam
Частый гость
 
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
sliam на пути к лучшему
По умолчанию

Так, все. Я разобрался. Все чудненько работает на аппаратном TWI.

DS1307 даже на 125Кгц шине работает, но это так ради эксперимента. Естественно, я битрейт поставил потом нормальный, чтобы SCL была 100Кгц как этого требует даташит на DS1307.

Выкладываю библиотечки для CodeVision AVR, может кому пригодятся. Библиотека twi.h - 4 процедуры (Старт,Стоп,Чтение,Запись) и библиотека ds1307_twi.h - 5 процедур (Инит,СетДата, СетТайм, гетДата, ГетТайм), все как в стандартной библиотеке от CVAVR.

Инициализация TWI выглядит следующим образом:

// 2 Wire Bus initialization
// Generate Acknowledge Pulse: On
// 2 Wire Bus Slave Address: 68h
// General Call Recognition: Off
// Bit Rate: 100,000 kHz
TWSR=0x00;
TWBR=0x5C; // Для 20Мгц. TWBR=0x48 - Для 16Мгц.
TWAR=0xD0;
TWCR=0x44;

Прикрепленный файл: 7765755.rar
sliam вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потенциометр AD5245 и ATmega32 ivainc Микроконтроллеры, АЦП, память и т.д 0 19.07.2009 21:07
Проблема с EEPROM в atmega32 tosha81k Микроконтроллеры, АЦП, память и т.д 16 28.04.2007 07:04
ATmega32 NCy Микроконтроллеры, АЦП, память и т.д 20 28.04.2007 00:44
Внутренее АЦП в ATmega32 Ztman Микроконтроллеры, АЦП, память и т.д 0 25.04.2007 22:51
Как в ATmega32 отключить JTAG? dpc1818 Микроконтроллеры, АЦП, память и т.д 2 29.03.2005 14:19


Часовой пояс GMT +4, время: 11:32.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.