22.12.2011, 13:47
|
|
Прохожий
Регистрация: 17.12.2011
Сообщений: 8
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
по результатам курения даташита и всех исходников на протяжении 2х дней, обрисовалась следующая картина:
DS-ка живая и нормальная, при обращении к ней с по адресу 0х68, в результате побитового сдвига получаем на выход D0, т.е. схемка в режиме приема. в нее можно передать при желании все, что нравится, и реакция схемки нормальная. включение/выключение герератора тоже проходит на ура.
самое интересное начинается при желании перевести ее в режим передачи: при разборе i2c дебаггера получаем следущую картину: отправляется старт-бит S, потом сдвинутый адрес (т.е. D0), потом автоматом получаем бит А (acknowledge) и типа пакет передался. вопрос заключается в том, как всунуть перед А единичку, переводящую схему в режим передачи? перебрал все комбинации сдвинутых адресов D1 ну никак не получается, т.к. сдвинутое число полюбому четное, а передать надо нечетное. после А передать нельзя, тк передача уже приниматеся в 00Н регистр, т.е. секундный.
друзья, есть ли простое решение проблемы или таки придется потрошить twi библиотеку на предмет оптимизации на эту тему?
спасибо.
|
|
|
|
22.12.2011, 19:21
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
Сообщение от mausUA
|
таки придется потрошить twi библиотеку
|
Угу, все ж таки промелькнуло, что аппаратный.
Ну так ее выпотрошил сам Atmel. Тут не даташит, свернутый в трубочку надо курить, а апнот, в частности AVR315. На Гаврюше есть в русском исполнении:
http://www.gaw.ru/html.cgi/txt/app/m...avr/AVR315.htm
|
|
|
|
22.12.2011, 19:32
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
Вам уже готовый код выложили. Нет там никакой передачи. Микросхема может работать только в режиме slave. То, что вы называете передачей есть ответ на запрос мастера. Адрес Д0 инитиализирует запись. Д1 - чтение. Тут какой-то тяжелый случай одурманивания даташитом.
|
|
|
|
23.12.2011, 01:37
|
|
Вид на жительство
Регистрация: 13.08.2007
Адрес: Kiev, UA
Сообщений: 431
Сказал спасибо: 423
Сказали Спасибо 214 раз(а) в 94 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
Сообщение от Easyrider83
|
А в чем такая категоричность использовать внешние часы? Средствами таймера1 с внешним резонатором можно запросто календарь соорудить.
|
Можно и не только календарь, но по включению питания каждый раз его выставлять в системном плане не всегда оптимально.
For examle, система с полным астрономическим временем работы до года и более, в активном режиме кушающая амперы, поэтому элементы питания силовухи раз в 1-2-3месяца менять-заряжать. На фоне этого нет смысла и в uPower MCU - Mega128, находящаяся большую часть времени в спячке, просыпающаяся по 1с прерываниям от DS1307, кушает 0.5-0.8мА вместе со всем устройством, мониторя контекст задачи, уровни питания и ведя логгинг в eeprom, выдавая управляющие воздействия.
Резервное питание DS1307 (SRAM, пока не задействована) позволяет без потери контекста задачи простым отключением питания блокировать управление или менять элем. питания силовухи.
|
|
|
|
07.03.2012, 11:19
|
|
Прохожий
Регистрация: 17.12.2011
Сообщений: 8
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
народ, всем спасибо за посильную помощь ...
все заработало, во всем разобрался.
по итогу оказалось, что глючит протеус. в "металле" все работает и в одну и в другую сторону ...
|
|
|
|
26.06.2012, 13:51
|
|
Прописка
Регистрация: 11.06.2005
Сообщений: 266
Сказал спасибо: 9
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
Кстати, не наступайте на следующие грабли с DS1307 - если создать SUBCIRCUIT и положить туда контроллер с часами - симуляция не запустится.
Видимо также происходит и с другими программными моделями, лежащими на дочерних листах.
__________________
Канал в Telegram об МК AVR @EasyAVR
|
|
|
|
26.06.2012, 18:51
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: PROTEUS+DS1307 помощь
Сообщение от Prime
|
Видимо также происходит и с другими программными моделями, лежащими на дочерних листах.
|
Не программными, а АКТИВНЫМИ. Как шутил очень-очень давно у нас в школе военрук -"Не путайте Гоголя с Гегелем...". DS1307 имеет всплывающее окно, показывающее дату и время, поэтому ее и невозможно засунуть на дочерний лист. Есть, например, программная модель HD44780 (именно контроллера, а не дисплея на нем) суньте ее на дочерний лист и она прекрасно будет работать. Именно так построены дисплеи с двумя контроллерами. Я об этом уже писал в FAQ.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:39.
|
|