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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 09.08.2007, 10:07  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию I2C подскажите.

Добрый день, кто хорошо знает шину I2C подскажите нормальным русским языком.
Вопрос вот в чём, при записи байта после каждого пакета проверяем ask. Если ask=0 продолжаем, если нет, повторяем только последний байт или с самого начала, начиная со стартового условия?
Если повторяем только последний байт делаем ли паузу, после того как убедились что ask не 0?

При записи одного байта проблем нет, можно повторить весь цикл, а при страничной записи как?

Дата шиты читал, в Help CodeVision смотрел, указанном примере при записи ask не проверяется.
Реклама:
Andrewg вне форума  
Непрочитано 09.08.2007, 10:43  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

в microchip.com даташите 24с256 нарисованы диаграммы и для страничной записи.

Как нарисовано - так и сделайте. будет работать.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 09.08.2007, 13:22  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию

Всё так и делаю, но при страничной записи не всегда после каждого байта память выставляет ask.
Симулирую в Proteus.
Andrewg вне форума  
Непрочитано 09.08.2007, 13:49  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Как я помню если нет потверждения на получении приемником последнего байта считается что это конец передачи и выставляется условие стоп.И почему не должно быть потверждение? если схема собрана правельно то никаких неприятностей не должно быть.Но про повторную передачу слышал тоже,надо просто посмотреть описание МК с шиной I2C.Если что найду посмотрю.Выложи проект если что не получится посмотрю и то только с пиком
CERGEI1982 вне форума  
Непрочитано 09.08.2007, 14:32  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Если пишеш на ассеме для пиков,то надо самому программно отслеживать бит потверждения и если его нет то вновь посылать байт,все зависит сколько должно передано байт.Но я так понял сам пик не будет заново передавать байт если нет потверждения с шины i2c,просто будет сброшен бит ACKSTAT регистра SSPCON2 .
CERGEI1982 вне форума  
Непрочитано 09.08.2007, 14:45  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию

Сообщение от CERGEI1982
Если пишеш на ассеме для пиков,то надо самому программно отслеживать бит потверждения и если его нет то вновь посылать байт,все зависит сколько должно передано байт.Но я так понял сам пик не будет заново передавать байт если нет потверждения с шины i2c,просто будет сброшен бит ACKSTAT регистра SSPCON2 .
Делаю на AVR, реализую протокол программно.
получается что при страничной записи если после очередного байта не выставляется ask, то потом хоть до упора передавай его повторно ask уже не выставится.
Пока не дашь стоп, потом цикл записи начинаешь сначала, тогда идёт пока опять не спотыкнётся.
Хотя везде написанно, что если нет потверждения передаём повторно байт.

На логическом анализаторе картинка в точности соответствует тому, что с даташите.
Может быть модель в Proteus не совсем точно моделирует данную память, надо попробовать в железе.

В принципе вопрос уже не горящий. Пока буду писать побайтно, износостойкости памяти по расчётам хватит на два с половиной года активной работы.
Andrewg вне форума  
Непрочитано 09.08.2007, 15:03  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

PROTEUS любит "поприкалываться". Проверяйте в железе.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 09.08.2007, 15:05  
Slava1355
Прописка
 
Аватар для Slava1355
 
Регистрация: 13.06.2004
Адрес: Москва
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 32 раз(а) в 18 сообщении(ях)
Slava1355 на пути к лучшему
По умолчанию Re: I2C подскажите.

Сообщение от Andrewg
Добрый день, кто хорошо знает шину I2C подскажите нормальным русским языком.
Вопрос вот в чём, при записи байта после каждого пакета проверяем ask. Если ask=0 продолжаем, если нет, повторяем только последний байт или с самого начала, начиная со стартового условия?
Если повторяем только последний байт делаем ли паузу, после того как убедились что ask не 0?

При записи одного байта проблем нет, можно повторить весь цикл, а при страничной записи как?

Дата шиты читал, в Help CodeVision смотрел, указанном примере при записи ask не проверяется.
Насколько я помню aсk (acknowledge bit) - подтверждение приема ведомым устройством. Отсутствие ответа от ведомого устройства not acknowledge bit (NAK) при записи говорит о сбое обмена и требует повтора всего цикла передачи.
Slava1355 вне форума  
Непрочитано 09.08.2007, 15:08  
TEHb
Почётный гражданин KAZUS.RU
 
Аватар для TEHb
 
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
TEHb на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
PROTEUS любит "поприкалываться". Проверяйте в железе.
А кто не любит?
Но если делать всё по датащитам - всё (скорее всего) будет работать нормально как в симуляции, так и в железе.
TEHb вне форума  
Непрочитано 09.08.2007, 15:19  
Andrewg
Прописка
 
Регистрация: 08.06.2006
Сообщений: 215
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
Andrewg на пути к лучшему
По умолчанию Re: I2C подскажите.

Сообщение от Slava1355
Насколько я помню aсk (acknowledge bit) - подтверждение приема ведомым устройством. Отсутствие ответа от ведомого устройства not acknowledge bit (NAK) при записи говорит о сбое обмена и требует повтора всего цикла передачи.
Наверно так и есть. В симуляции так и не смог записать страницу.
Страница 128 байт, где нибуть, да не выставляет ask.
попробую в железе, потом сообщю результат.
Proteus ни в коем случае не ругаю.
Здорово облегчает отладку.
Andrewg вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
i2c и atmega ams666 Микроконтроллеры, АЦП, память и т.д 3 29.11.2007 06:12
Помогите с I2C mdn_tec Микроконтроллеры, АЦП, память и т.д 27 27.04.2007 17:56
Подскажите,плиз, ЖКИ с управлением по I2C lisergin Микроконтроллеры, АЦП, память и т.д 3 18.07.2005 16:21
I2C chipic128 Микроконтроллеры, АЦП, память и т.д 4 23.02.2005 02:19
I2C zevs Микроконтроллеры, АЦП, память и т.д 0 11.01.2005 16:11


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


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