Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.01.2009, 20:46
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Atmega32, DS1307 и 20Мгц
Коллеги, приветствую!
Подскажите, пожалуйста.
Решил заняться оверклокингом, т.к. использую LCD дисплей Siemens S65 и хочется чтобы пошустрее все работало. Поставил кварц на 20 мгц. Все вроде работает, но, Перестал работать календарь DS1307. Выводит 165:165:165. Ставлю обратно 16 Мгц все работает.
В чем проблема ?
При переходе с 8 на 16 мгц никаких изменений в коде для календаря не делал.
При переходе с 16 на 20 все "умерло". Чую что нужно изменить что то в настройках шины I2C. Но где, не знаю.
|
|
|
|
25.01.2009, 00:03
|
|
Прописка
Регистрация: 29.11.2007
Адрес: Могилев. РБ.
Сообщений: 143
Сказал спасибо: 30
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
|
гляньте то место где выставляется скорость i2c шины... часики максимум до 100кгц пашут, возможно превысили (второй вариант если пауза после STOP написана в тактах - может не хватает).
а вообще выложите кусок кода в архиве - быстрее будет.
|
|
|
|
25.01.2009, 00:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Скорость шины выставляется в регистрах TWBR + TWSR.
|
|
|
|
25.01.2009, 11:55
|
|
Частый гость
Регистрация: 02.11.2006
Сообщений: 33
Сказал спасибо: 1
Сказали Спасибо 14 раз(а) в 5 сообщении(ях)
|
А может все проще. В даташит гарантируется 16 МГц. На 20 МГц работает тактовый генератор, но не факт что работает остальная аппаратная часть микроконтроллера.
И из чистого любопытства. А что должно шустрее работать, часы, календарь?
|
|
|
|
25.01.2009, 12:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: Atmega32, DS1307 и 20Мгц
Сообщение от sliam
|
Чую что нужно изменить что то в настройках шины I2C.
|
Попробуйте для начала уменьшить подтягивающие резисторы вплоть до 1.5 кОм. Щас у вас какие установлены ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
25.01.2009, 12:55
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Всем спасибо за советы и ответы!
Долго курил даташиты и пр.
Понял, что в CVAVR, во встроенных библиотеках используется софтовый I2C. В этом случае регистры TWBR и TWSR не имеют никакой силы.
Сейчас сделаю аппаратный TWI и напишу свою библиотеку. Благо календарь у меня подключен к выводам аппаратного TWI.
По результатам отпишусь.
Резисторы у меня на 4,7к, сейчас попробую поменять на 1,5к.
|
|
|
|
28.01.2009, 12:40
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Так, все. Я разобрался. Все чудненько работает на аппаратном 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
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
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, время: 15:08.
|
|