|
Проблемы с часами DS1307, Не читается, пишется или нет непонятно . |
|
|
|
Aug 26 2005, 09:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Привет всем. Не работают часы DS1307, подключенные к аппратному TWI МК ATMega8535. Точнее сказать, я даже не знаю, работают они или нет. При считывании любого регистра получаю какой-то случайный мусор. Впрочем также как и при отсутствующей микросхеме часов (ыдергиваю из колодки). Даю ссылку на архив с полным текстом микрокода (на cvAVR). http://hd44780.narod.ru/DS1307-8535.ZIPМК работает на частоте 4 MHz, внутренний генератор. Схема подключена к COM-порту компа. Параметры связи и протокол обмена - см. файл DS1307.txt в архиве. Регистры DS считываются по командам компьютера. Считанные данные тоже перегоняются в комп. Обе линии TWI имеют pull-up резисторы 10k, согласно доке по микроконтроллеру. Между выходом OUT и +5в подключен светодиод через 1k резистор. Резервная батарейка есть, напряжение на 3 ноге DS1307 - +3.06в. Кварц припаян непосредственно к ногам 1 и 2 микросхемы. Корпус кварца не заземлен. При подаче команды CI часы запускаются (бит CH:=0), в упр. регистр DS вписывается 10h - светодиод должен мигать с частотой 1 Hz. Но он не мигает, как и при включении питания, а просто светится. Инициализация TWI - в конце функции setPeriferals, ds1307.c. Считывание регистра DS - ds1307readRegister, ds1307lib.c запись - ds1307writeRegister, ds1307lib.c TWI на частоте 50 kHz. Может я неправильно с TWI работаю, посмотрите пожалуйста. Спасибо.
|
|
|
|
|
 |
Ответов
|
Aug 26 2005, 13:23
|
Участник

Группа: Свой
Сообщений: 47
Регистрация: 12-07-05
Пользователь №: 6 725

|
Внутренняя схема генератора DS1307 рассчитана на работу с кристаллом,имеющего номинальную емкость (CL) 12,5pF. Проверяли с другими емкостями,не хочет работать. Но в партиях кварца всегда попадались битые.И когда не работала ,сразу меняли.Работали и на частотах 50кГц и 100кГц.
|
|
|
|
|
Aug 26 2005, 14:10
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
2 damir2: Я кварцы на радиобазаре брал, тип не знаю. У нас в Донецке есть контора одна, всякими детальками торгует, на след. неделе позвоню, спрошу, есть у них такое или нет. 2 janus: это сгенерил CVavr, я всего лишь инициализацию в отдельную функцию вытянул. А с TWI я нормально работаю. ПЗУ-шки у меня нема  .
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Aug 26 2005, 14:26
|

Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 6-12-04
Пользователь №: 1 357

|
Цитата(hd44780 @ Aug 26 2005, 18:10) это сгенерил CVavr, я всего лишь инициализацию в отдельную функцию вытянул. А с TWI я нормально работаю. ПЗУ-шки у меня нема  . По-поводу кварцев - прекрасно работает кварц на 32768 выпаянный из старой 386 матери...=) А епромку можно добыть из старого сотового...) нокии какой-нить, к примеру 1610...24С02 вполне подойдет.... CodeVision у меня отсутствует, так что ничего не скажу...но в принципе, работать и так должно....
|
|
|
|
|
Aug 27 2005, 08:02
|

Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 6-12-04
Пользователь №: 1 357

|
Цитата(hd44780 @ Aug 26 2005, 19:38) Кстати тут идея промелькнула - проверить жив ли ds1307 вообще - пустить на него частоту (эти самые 32768 Гц) с микроконтроллера (как я понял, у ds есть такой режим) и посмотреть - заведется схема или нет. Тоже можно....Кстати, я попробовал прогнать твой код у себя, на заведомо рабочем 1307, правда под мегой16, поправил только UART и TWI чуток - может не так поправил...  - хрень какая-то...Похож, надо копаться где-то в районе TWI... А вообще - не в качестве рекламы, а так...=) переползай на gcc+avrlib, я как раз на этой связке свой 1307 очнь быстро запустил...)
|
|
|
|
|
Aug 27 2005, 09:44
|

Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 6-12-04
Пользователь №: 1 357

|
Цитата(hd44780 @ Aug 27 2005, 12:45) janus, а можешь дать кусок кода работы с DS1307, хоть для mega16, я раньше с TWI не работал. хоть почтой, хоть в ящик на этом форуме. Могу, только оно вряд ли тебе чем поможет...gcc+avrlib, вся работа с TWI из avrlib, я только обмен с 1307 делал.... Кстати, посмотрел в ДШ на меги, там одно отличие от того что у тебя, после TWIwait должно быть вот такое: /*Check value of TWI Status Register. Mask prescaler bits. If status different from MT_SLA_ACK go to ERROR. */ if ((TWSR & 0xF8) != MT_SLA_ACK) ERROR(); Посмотри повнимательней обмен по I2C в даташите....
|
|
|
|
Сообщений в этой теме
hd44780 Проблемы с часами DS1307 Aug 26 2005, 09:40 BVU По всей видимости у Вас нет тактирования часов, ес... Aug 26 2005, 10:05 hd44780 Спасибо, посмотрю. Aug 26 2005, 10:19 kalinka16 Цитата(hd44780 @ Aug 26 2005, 12:40)Привет вс... Aug 26 2005, 10:47 BVU Немного невнимательно первый раз прочитал Ваше изл... Aug 26 2005, 10:57 kalinka16 Цитата(BVU @ Aug 26 2005, 13:57)Немного невни... Aug 26 2005, 11:05  BVU Цитата(kalinka16 @ Aug 26 2005, 15:05)Цитата(... Aug 26 2005, 11:12   hd44780 UART подключен к компу через MAX232 и прекрасно ра... Aug 26 2005, 11:48    BVU Цитата(hd44780 @ Aug 26 2005, 15:48)UART подк... Aug 26 2005, 12:13     janus Цитата(hd44780 @ Aug 26 2005, 15:48)2 janus:
... Aug 26 2005, 12:34      hd44780 поставил частоту TWI 100 khz - ничего не изменилос... Aug 26 2005, 12:55       janus Цитатанасчет частоты 0-100 это я взял из таблицы н... Aug 26 2005, 13:20 janus Цитата(hd44780 @ Aug 26 2005, 13:40)Привет вс... Aug 26 2005, 11:10         hd44780 Посмотрю, мож прозевал чего.
Спасибо. Aug 27 2005, 10:00 damir2 Оптимальный тип кварца для DS1307 DT-38T. Aug 26 2005, 13:59 damir2 Выглядит кварц DT-38T как маленький полярный конде... Aug 26 2005, 14:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|