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

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

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

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

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

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


 
Опции темы
Непрочитано 11.03.2016, 17:47  
Lexil
Частый гость
 
Регистрация: 06.12.2008
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 8 сообщении(ях)
Lexil на пути к лучшему
По умолчанию Симуляция eeprom I2C

Добрый день!

Проект содержит atmega2560 и 24FC512.

При считывании большого объёма информации (около 2000 байтов) в процессе симуляции выскакивает 5 -7 предупреждений:
[i2cmem timing] Repeated start setup time violated. Clock positive edge was at
114.0660977m, setup time is 300.p. min. setup time is 250.n ).

Если очистить память и запустить процесс чтение/запись то количество предупреждений увеличивается до 50.

Возникло несколько вопросов:
1. Как остановить выполнение симуляции после возникновения предупреждения?
2. Что не нравится программе симуляции?
3. Что означают значения 300.p и 250.n ?
Реклама:
Lexil вне форума  
Непрочитано 11.03.2016, 22:00  
Lexil
Частый гость
 
Регистрация: 06.12.2008
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 8 сообщении(ях)
Lexil на пути к лучшему
По умолчанию Re: Симуляция eeprom I2C

Дополнение.

//Ошибка возникает в функции SoftI2CWriteByte400 в момент передачи //байта выбора ОЗУ:

unsigned char SoftI2CWriteByte400(unsigned char data)
{
unsigned char i,ack;
for(i=0;i‹8;i++)
{
SOFT_I2C_SCL_LOW;
Q_DEL_250ns;
if(data & 0x80)
SOFT_I2C_SDA_HIGH;
else
SOFT_I2C_SDA_LOW;
// Следующая задержка (H_DEL_250ns по непонятной причине не //выполняется.
// смена данных и установление SCL (SOFT_I2C_SCL_HIGH происходит //одновременно,
// что и фиксирует симулятор. Микросхема соответственно не
// выбирается - нет ack.
H_DEL_250ns;
SOFT_I2C_SCL_HIGH;
H_DEL_250ns;
while((SCLPIN & (1‹‹SCL))==0);
data=data‹‹1;
}
//The 9th clock (ACK Phase)
SOFT_I2C_SCL_LOW;
Q_DEL_250ns;
Q_DEL_250ns;
SOFT_I2C_SDA_HIGH;
H_DEL_250ns;
H_DEL_250ns;
SOFT_I2C_SCL_HIGH;
H_DEL_250ns;
H_DEL_250ns;
ack=!(SDAPIN & (1‹‹SDA));
SOFT_I2C_SCL_LOW;
H_DEL_250ns;
//H_DEL_250ns;
return ack;
}
//Приложил картинку с осциллографа - справа мелкий масштаб с //корректным запросом и начало запроса с ошибкой. Слева вверху //увеличил с ошибкой, внизу без ошибки.

//Ошибка 5 штук на 2000 операций.
//Загадка.

//Если использовать TWI такое не наблюдается, но есть другие проблемы // (в каких-то конкретных условиях происходит зависание в TWI, //прерывания от портов перестают обслуживаться на 40 мс).
//По этой причине от него отказываюсь от TWI.
Миниатюры:
Нажмите на изображение для увеличения
Название: I2CwriteByte.JPG
Просмотров: 39
Размер:	227.4 Кб
ID:	89441  
Lexil вне форума  
Непрочитано 11.03.2016, 22:10  
Lexil
Частый гость
 
Регистрация: 06.12.2008
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 8 сообщении(ях)
Lexil на пути к лучшему
По умолчанию Re: Симуляция eeprom I2C

Дополнение.

Пропал SCL - схлопнулся.
Миниатюры:
Нажмите на изображение для увеличения
Название: I2CwriteByte2.JPG
Просмотров: 39
Размер:	88.7 Кб
ID:	89443  
Lexil вне форума  
Непрочитано 13.03.2016, 09:55  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 401
Сказали Спасибо 2,212 раз(а) в 1,311 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Симуляция eeprom I2C

Согласно спецификации I2С, смена сигналов на линии данных (SDA) возможна при низком уровне на линии тактирования (SCL). У вас просто не выдержаны требования протокола. Предупреждения были о несоответствии таймингов сигналов. И почему бы вам не использовать аппаратный модуль для I2C?
NewWriter вне форума  
Непрочитано 13.03.2016, 15:22  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,939 раз(а) в 2,369 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Симуляция eeprom I2C

Сообщение от NewWriter Посмотреть сообщение
почему бы вам не использовать аппаратный модуль
на реальных
Сообщение от Lexil Посмотреть сообщение
atmega2560 и 24FC512
и проверять в железе? а то ведь минздрав предупреждает - онанизм с симуляторами плохо отражается на интеллекте программиста
jump вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
I2C EEPROM. Нужно отследить факт передачи данных. ArtemKolesnikov Микроконтроллеры, АЦП, память и т.д 3 19.02.2013 14:42
Протеус и система зажигания после симуляции не сохраняет настройки cfif11 Proteus 23 04.02.2012 01:26
Загрузка прошивок в I2C EEPROM в Proteus Dok_Alex Proteus 1 21.08.2010 10:19
Запись в I2C EEPROM yel Микроконтроллеры, АЦП, память и т.д 8 07.03.2007 16:08
24c256 i2c CVAVR и симуляция в PROTEUS сделал пример avr123-nm-ru Микроконтроллеры, АЦП, память и т.д 1 09.06.2006 09:29


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


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