Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 27.10.2010, 18:49  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Неправильно симулируется DS1307

Написал программу чтения по I2C DS1307 (мк at89c2051), но программа никак не хочет правильно симулироватся в Протеусе (7.6 SP0), как ни странно микросхема инициализируется (галочка автоматической инициализации не поставлена), но не позволяет выбрать адрес чтения (записи тоже), с сигналом стоп читает циклически всю память (реальные данные читает правильно), без этого сигнала, хотя, реально там повторный старт, читает до бесконечного адреса!, т.е. несуществующие ячейки памяти (адрес ›3F). Глюк Протеуса или ...?
Реклама:

Последний раз редактировалось nonamedov; 27.10.2010 в 19:52.
nonamedov вне форума  
Непрочитано 27.10.2010, 19:49  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Сообщение от nonamedov Посмотреть сообщение
или ...?
Точно или... Я эту модель в свое время проштудировал и вдоль и поперек, был глюк с импульсным выходом, но к версии 7.6 он уже давно исправлен. И еще глазки выше поднимаем - там есть подветка (если непонятно смотри приложенный рисунок).
Миниатюры:
Нажмите на изображение для увеличения
Название: Vhod.gif
Просмотров: 176
Размер:	35.7 Кб
ID:	14080  
Halex07 вне форума  
Непрочитано 27.10.2010, 20:07  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Сейчас не имею возможности посмотреть (дорогой моб. инет.), если можно напишите конкретно, из-за чего может быть. Повторяю, DS1307 инициализируется, читается пишется, но ..., как я уже писал ..., с чужим кодом (программа чтения AT24Cxx) протеус вообще отказался симулировать, сославший на чрезмерную нагрузку
вот старт и стоп код

Цитата:
I2C_START:
SETB CLK
SETB SDA
CALL DELAY
CLR SDA
CALL DELAY
RET

I2C_STOP:
SETB CLK
CLR SDA
NOP
NOP
NOP
SETB SDA
CALL DELAY1
RET
nonamedov вне форума  
Непрочитано 27.10.2010, 22:08  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Свел программу только к обмену по I2C, стало ясно, что повторный старт не работает, подпрограмма "стоп" тоже работает своеобразно, если она вызывается, то память читается циклически, если нет, до бесконечного адреса, в остальном не заметил ничего подозрительного. Если это не ошибка протеуса, то даже не знаю что думать?
nonamedov вне форума  
Непрочитано 27.10.2010, 22:13  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

1. Ссылку на подветку Протеуса я Вам указал не только к тому, чтобы посмотреть, а к тому, что вопросы, касающиеся конкретно Протеуса, задаются там!!! Не забивайте общую ветку CADов вопросами по программе, имеющей свой раздел!!!
2. Да, Чехов сказал: "Краткость - сестра таланта", но ... не настолько. Моих "телепатических способностей" хватает только предсказать, что поскольку DELAY=1год, а тактовая частота МК 1 ГГц вы имеете то, что имеете. В таких случаях здесь (а точнее там, куда показано стрелкой на картинке в моем посте выше) принято выкладывать зазипованный проект Протеуса с неработающей микропрограммой, а также указать версию Протеуса (ну до этого Вы додумались раньше) и чем компилировали. А гадать по десятку строчек кода из которых половина НОПы - можно до окончания 21 века. Еще добавлю, что поскольку 89-я серия тихо уходит в прошлое, то те глюки модели, которые в ней имели место остались без исправлений разработчиком со старых версий.
Halex07 вне форума  
Непрочитано 27.10.2010, 23:24  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

1. Постараюсь непременно сделать так, как Вы сказали. Спутало меня название раздела.
2.
Цитата:
Моих "телепатических способностей" хватает только предсказать, что поскольку DELAY=1год, а тактовая частота МК 1 ГГц вы имеете то, что имеете.
Сомневаетесь в моей вменяемости, если нет, то зачем писать такое?!

Цитата:
(ну до этого Вы додумались раньше)
спасибо, что не исключаете у меня хотя бы какой-то мыслительной способности.

Цитата:
Еще добавлю, что поскольку 89-я серия тихо уходит в прошлое, то те глюки модели, которые в ней имели место остались без исправлений разработчиком со старых версий.
Очень даже вероятно, с кодом я уже сделал все мыслимые и немыслимые изменения, а проблема повторного старта так и осталась ((((((.
nonamedov вне форума  
Непрочитано 28.10.2010, 00:34  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Сообщение от nonamedov Посмотреть сообщение
Сомневаетесь в моей вменяемости
Угадали, зачем выкладывать "огрызки" кода, если по ним ничего нельзя определить. Ваши три NOP чему равны? А DELAY? Если для Вас тайминги не имеют значения, то незачем было и вообще поднимать тему - парьтесь самостоятельно со своими глюками. А то, что модель RTC рабочая, вот - любуйтесь, причем это было сделано более двух лет назад еще в какой то старой версии, с Пиками я уже давно не работаю, равно как и с DS1307 (есть более новые и качественные RTC):
Миниатюры:
Нажмите на изображение для увеличения
Название: 1307.gif
Просмотров: 115
Размер:	14.9 Кб
ID:	14100  
Halex07 вне форума  
Непрочитано 28.10.2010, 02:09  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Просто не стоит спрашивать слишком уж очевидные вещи, это оскорбительно( нет, я не придирчивый, скорее самоироничный).
Цитата:
Если для Вас тайминги не имеют значения
Я этого не говорил,
а если конкретно, то
NOP=1мкс(кварц на 12МГц), а
Цитата:
DELAY:
MOV R3, #4
DJNZ R3, $
RET
Заранее предупреждаю, что с тем же (не)успехом вместо нопов использовалась и delay.
nonamedov вне форума  
Непрочитано 28.10.2010, 22:08  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Ну в общем вот, дальше сами. Я не спец по 89-й серии, поэтому "тихо умыкнул" готовую разработку отсюда:
http://www.atomlink.ru/~courier/ds1307/ds1307.htm
Загнал в Протеус и проверил. С I2C все пучком, а вот с One-wire у автора разработки где-то накладочка. До 10 градусов показывает ничего, а дальше лажа. Копаться в чужом коде, да еще для 89-х у меня нет ни времени, ни желания.
Миниатюры:
Нажмите на изображение для увеличения
Название: AT89.png
Просмотров: 87
Размер:	13.0 Кб
ID:	14138  
Вложения:
Тип файла: rar NEW_CLOCK.rar (24.1 Кб, 79 просмотров)
Halex07 вне форума  
Непрочитано 29.10.2010, 01:22  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Неправильно симулируется DS1307

Проблема была на более высоком уровне, т.е. не в подпрограммах чтения, записи, стоп , старт и пр., и даже не в таймингах, к которым I2C более чем толерантен, для чтения с произвольного адреса надо было применять процедуру “random read” (т.е |start|write_device_address+WriteBit+Ack| write_data_addressstart+ack|start|write_device_add ress+ReadBit+ack|read_data+nack|stop|), а у меня получалось последовательное чтение всей памяти. Вывод: не читать убогие переводы даташитов на русском (ответ нашел в даташите на AT24CXX), а протеус тут не причем.

Спасибо Halex07, эту ссылку я уже рассматривал, но хотелось свое (вот с 1Wire будут большие проблемы!).
nonamedov вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATmega64 и DS1307 sersne Микроконтроллеры, АЦП, память и т.д 1 08.06.2010 21:54
ATmega128 + DS1307 alberio Микроконтроллеры, АЦП, память и т.д 0 24.05.2010 03:16
Не симулируется генератор kr11507 Proteus, KiCAD и другие ECAD 29 11.01.2010 10:04
RTC DS1307, контроллер, LCD... какая идеология работы? chapa Микроконтроллеры, АЦП, память и т.д 4 24.11.2009 18:28
DS1307 не запускается shaggyone Микроконтроллеры, АЦП, память и т.д 9 09.10.2009 07:18


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


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