Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 19.12.2008, 19:15   #1
sergo
Junior Member
 
Регистрация: 18.12.2008
Сообщений: 8
Вес репутации: 104/0
sergo will become famous soon enoughsergo will become famous soon enough
По умолчанию PIC16F873+DS1307=есть вопросы

Коллеги, пытаюсь состыковать 2 этих чипа, пока не удается, может кто знает, подскажите - имхо, есть противоречия в документациях этих чипов:
1) в DS1307 64x8 Serial Real Time Clock стр.3 (из 11) абзац CLOCK AND CALENDAR указано, что бит СН=1 блокирует тактовый генератор (или весь чип?) , логично подумать, что для первоначальной инициализации и дальнейшей коррекции времени и даты, но об этом не написано, хотя это требуется делать, чуть ниже по тексту datasheet абзац, говорящий о том, что при инициализации бит СН д.б. =0, но ведь при этом генератор включен и идет счет времени.Если последнее считать за истину, то вообще зачем нужно стопорить генератор (CН=1), ведь при этом время собьется..Где же правильно? Сам изготовитель об этом мне не ответил, к сожалению...
2)И еще, частота работы шины I2C любого ведомого чипа , как я понял, аппаратно заложена изготовителем в его адресе (DAtasheet DS30292C на PIC16F873 стр.66 биты SSPM3:SSPM0) и ее не изменить программно. Правильно?
О проблемах с DS1307, изложенных ранее на этом форуме ознакомлен, этой инфы я там не нашел.
3) по PIC16F873: в DAtasheet DS30292C стр. 67 указано, что бит 5 ACKDT при 0 НЕТ подтверждения, на стр.85 далее читаем, что этот бит при чтении из ведомого чипа по шине I2C ДЛЯ подтверждения д.б. =0.Где истина?
Очень бы хотелось узнать, а то методом тыка, т.е. многократного перепрограммирования пока результата из-за этих непонятных моментов не добился. При этом априори считаю сами чипы и кварцы исправными.
sergo вне форума   Ответить с цитированием
Старый 19.12.2008, 21:30   #2
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 48
Сообщений: 1,820
Вес репутации: 2217/85
petrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond repute
Отправить сообщение для petrd с помощью ICQ
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

Цитата:
Сообщение от sergo Посмотреть сообщение
Коллеги, пытаюсь состыковать 2 этих чипа, пока не удается, может кто знает, подскажите - имхо, есть противоречия в документациях этих чипов:
1) в DS1307 64x8 Serial Real Time Clock стр.3 (из 11) абзац CLOCK AND CALENDAR указано, что бит СН=1 блокирует тактовый генератор (или весь чип?) , логично подумать, что для первоначальной инициализации и дальнейшей коррекции времени и даты, но об этом не написано, хотя это требуется делать, чуть ниже по тексту datasheet абзац, говорящий о том, что при инициализации бит СН д.б. =0, но ведь при этом генератор включен и идет счет времени.Если последнее считать за истину, то вообще зачем нужно стопорить генератор (CН=1), ведь при этом время собьется..Где же правильно? Сам изготовитель об этом мне не ответил, к сожалению...
"Please note that the initial power-on state of all registers is not defined. Therefore, it is important to enable the oscillator (CH bit = 0) during initial configuration."
Вы просто не верно поняли - в DS говорится о том, что в связи с тем, что при подаче питания значения регистров неопределны, поэтому в процессе инициализации программа пользователя должна сбросить в 0 бит CH, тем самым гарантируя запуск генератора RTC. Вот здесь http://www.mikroe.com/forum/viewtopi...ghlight=ds1307обсуждение недавних примеров для работы с DS1307 на MikroC.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 20.12.2008, 09:44   #3
timday
Senior Member
 
Регистрация: 07.03.2007
Адрес: Саратов
Возраст: 40
Сообщений: 385
Вес репутации: 308/54
timday is a jewel in the roughtimday is a jewel in the roughtimday is a jewel in the roughtimday is a jewel in the rough
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

1. CH один раз делается = 0 и далее часы сами уже тикают от батарейки. Я только при чтении все время проверяю этот бит, просто на всякий случай. если он = 1 - корректирую.
2. скорость никак не заложена. она зависит от SSPADD у контроллера. а для DS1307 - ему все равно с какой частотой вы его будете опрашивать. точнее в описании вроде было написано что от 0 до 100кГц.
3. по поводу аск... он =0 при чтении и записи. только в конце чтения он =1. и его устанавливает контроллер. В общем-то я все делал по описанию на DS1307 (там есть диаграмки для чтения и записи) один в один, заработало с первого раза, проблем никогда не было.
timday вне форума   Ответить с цитированием
Старый 20.12.2008, 17:54   #4
sergo
Junior Member
 
Регистрация: 18.12.2008
Сообщений: 8
Вес репутации: 104/0
sergo will become famous soon enoughsergo will become famous soon enough
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

Изложу несколько по другому вопросы:
1)Если бит СН=0, как вводить данные в регистры, если в них в этот момент идет реальный подсчет? Зачем тогда блокировать через СН=1 генератор?
2)на стр. 66 PIC16f87х битами SSPM3:SSPM0 (значение 1000) задается режим работы модуля MSSP как ведущего I2C по формуле "тактовый сигнал=Fosc/(4*(SSPADD+1))", где тактовый сигнал имеется ввиду SCL шины I2C, а в SSPADD заносится первоначально аппаратный заводской адрес ведомого чипа, подключенного по I2C к PICу, соответственно частота, заданная адресом напр. для DS1307=D0/1), неизменна. Или не так?
3)То же самое.
Так есть в документациях ошибки или нет?
sergo вне форума   Ответить с цитированием
Старый 20.12.2008, 18:14   #5
CERGEI1982
Senior Member
 
Регистрация: 02.03.2007
Возраст: 37
Сообщений: 345
Вес репутации: 151/52
CERGEI1982 has a spectacular aura aboutCERGEI1982 has a spectacular aura about
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

Цитата:
Сообщение от sergo Посмотреть сообщение
Изложу несколько по другому вопросы:
1)Если бит СН=0, как вводить данные в регистры, если в них в этот момент идет реальный подсчет? Зачем тогда блокировать через СН=1 генератор?
2)на стр. 66 PIC16f87х битами SSPM3:SSPM0 (значение 1000) задается режим работы модуля MSSP как ведущего I2C по формуле "тактовый сигнал=Fosc/(4*(SSPADD+1))", где тактовый сигнал имеется ввиду SCL шины I2C, а в SSPADD заносится первоначально аппаратный заводской адрес ведомого чипа, подключенного по I2C к PICу, соответственно частота, заданная адресом напр. для DS1307=D0/1), неизменна. Или не так?
3)То же самое.
Так есть в документациях ошибки или нет?
Чего паришся,остановил генератор,выставил значения и запустил,попробуй в протеусе.
Если все не забыл,то SSPADD настраиваеш частоту шины для DS1307 100 кгц,и в путь.
Миниатюры
i2c.JPG  
CERGEI1982 вне форума   Ответить с цитированием
Старый 20.12.2008, 18:15   #6
timday
Senior Member
 
Регистрация: 07.03.2007
Адрес: Саратов
Возраст: 40
Сообщений: 385
Вес репутации: 308/54
timday is a jewel in the roughtimday is a jewel in the roughtimday is a jewel in the roughtimday is a jewel in the rough
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

я никогда не останавливаю часы. один раз ch=0 и все. все регистры меняются находу. может это и не правильно, но работает.
насчет 66стр... SSPADD - простой регистр. в режиме ведущего i2c туда заносится значение для расчета частоты на ножке SCL. частоту можно менять. не совсем понял в чем тут загвоздка? лучше сразу читать со страницы где i2c master mode начинают описывать. там все более понятно написано.
в описании на дс1307 вроде все нормально. по крайней мере у меня все работает по описанию
timday вне форума   Ответить с цитированием
Старый 20.12.2008, 18:31   #7
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 48
Сообщений: 1,820
Вес репутации: 2217/85
petrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond reputepetrd has a reputation beyond repute
Отправить сообщение для petrd с помощью ICQ
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

Внимательней читайте datasheet. Регистр SSPAD используется в режиме Slave для задания адреса (но это не Ваш случай), у Вас режим Master, поэтому SSPAD используется для задания скорости работы и к адресу никакого отношения не имеет.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 27.12.2008, 20:08   #8
sergo
Junior Member
 
Регистрация: 18.12.2008
Сообщений: 8
Вес репутации: 104/0
sergo will become famous soon enoughsergo will become famous soon enough
По умолчанию Ответ: PIC16F873+DS1307=есть вопросы

Конкретные ответы на конкретные вопросы так и не получил, но всем написавшим спасибо! Разобрался сам путем экспериментов.
1)Состояние бита СН на процедуру коррекции и первоначальной инсталляции не влияет.
2)Этот момент я понял правильно, как описал выше
3)Бит ACKDT=0 - подтверждение и наоборот
P.S. Всех с Новым годом и побольше времени и денег на интересные и полезные разработки!
sergo вне форума   Ответить с цитированием
Ответ

Метки
ds1307, i2c


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шим + pic16f873 flax Продукция MICROCHIP 12 22.08.2008 18:03
Вопросы по Си Picvan Продукция MICROCHIP 35 09.05.2008 22:39
pic16f873 и счетчик на TMRO Timoshka Продукция MICROCHIP 13 06.05.2008 18:20
Юзаю MPLAB и PROTEUS, есть вопросы. Dimakv Продукция MICROCHIP 7 17.10.2007 18:11
Вопросы по MPLAB C30 SergeyKN Продукция MICROCHIP 4 08.10.2007 12:48


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


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot