Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
07.04.2013, 20:54
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
i2c и 24LC512
Здесь в пункте "4.5 Подтверждение" http://piclist.ru/D-MC-24LC512-RUS/D...LC512-RUS.html написано что во время записи подтверждение от памяти не требуется. А на "Рис. 6-1. Запись байта" везде имеется запрос на ASK. Поправьте, если кто сталкивался с этим!
|
|
|
|
07.04.2013, 21:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: i2c и 24LC512
Во время записи подтверждение генерирует память. Если его нет - контроллер должен дать СТОП и начать повторно запись с начала
|
|
|
|
07.04.2013, 21:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: i2c и 24LC512
Вам же русским по белому написали - во время записи страницы кристалл не генерирует ACK, что совершенно не противоречит протоколу IIC, так как является последним байтом пакета.
|
|
|
|
08.04.2013, 01:05
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: i2c и 24LC512
Тут дело в следующем. При общении с контроллером при операциях записи память всегда генерирует АСК сигнал, кроме коротких периодов времени, когда память занята внутренней работой.
Как это происходит при записи байта, например: контроллер посылает управляющий байт, потом два байта адреса и байт данных. И каждый раз после каждого байта память исправно отвечает АСК. После получения последнего АСК контроллер формирует СТОП. И вот тут память начинает внутреннюю процедуру записи только что полученного байта в свою внутреннюю флешь. Отливает байт в граните, так сказать. Эта процедура длится 5мс, и в это время память ни на что не реагирует, типа, занята, отвяжитесь. Чтобы узнать, когда память освободится для записи следующего байта можно периодически посылать управляющий байт. Сначала никакого АСК в ответ не получите. Ну и ладно. Посылаем контрольный байт ещё и ещё. В конце концов память освобождается и отвечает АСК. Вот тут-то и можно начинать запись следующего байта.
Последний раз редактировалось Yurkin2007; 08.04.2013 в 01:21.
|
|
|
Сказали "Спасибо" Yurkin2007
|
|
|
08.04.2013, 05:36
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: i2c и 24LC512
Понял в итоге АСК нужна, но только после оканчания всех внутренних процедур. Могли же еще более русским языком написать, а то вводят в заблуждение. Хотел спросить в протеусе возникали трудности. Скажем запустили play и прога записывает только один байт. Затем нажимаем stop, могу ли я посмотреть записанный байт с другого hex-редактора? Вроде все так просто, но ни получалось ведь, щас просто решил добить эту тему!!!
|
|
|
|
08.04.2013, 05:49
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: i2c и 24LC512
Сообщение от Yurkin2007
|
После получения последнего АСК контроллер формирует СТОП.
|
Если я правильно понял 4-ое АСК приходит без тормозов, после "стоп" начинается внутренняя процедура записи на которые память не отвечает?
|
|
|
|
08.04.2013, 08:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: i2c и 24LC512
Да, после СТОП память перестает реагировать на любые команды, пока не освободится
Некоторые чипы при этом (когда заняты) удерживают SCL в нуле, поэтому эту ножку контроллера нельзя делать push-pull, только с открытым коллектором. Но к памяти не относится, т.к. они будут сильно вешать всю шину
|
|
|
|
08.04.2013, 14:37
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: i2c и 24LC512
|
|
|
|
09.04.2013, 05:41
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: i2c и 24LC512
Что подразумевается под выражением "Случайное чтение", там же конкретно выдается адрес из двух байтов, а каких случайностях идет речь?
|
|
|
|
09.04.2013, 05:48
|
|
Временная регистрация
Регистрация: 22.10.2012
Адрес: Россия, р.Башкортостан
Сообщений: 94
Сказал спасибо: 23
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: i2c и 24LC512
И еще один вопросик, почему в процессе случайного чтения в начале указывается запись, а потом только чтение. На счет текущего адреса вроде понятно, там последний кусочек случайного чтения
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:33.
|
|