Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.12.2014, 09:27
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Atmega16+24c128
Доброго времени суток. Прикрутил к Atmega16 последовательную память 24c128 и вроде все хорошо, но есть одно неудобство. Я использую станичную запись. Пишу пакеты по 4 байта и АСК проверяю и стоп бит посылаю, а после записи требуется 4 мсек. что бы записался следующий пакет. Что-то в датише я про такой таймаут ничего не нашел. Кто нить может мне разъяснить что не так сделано?
|
|
|
|
02.12.2014, 09:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
|
Re: Atmega16+24c128
Write Cycle Time 5ms
|
|
|
|
02.12.2014, 10:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 16.02.2010
Сообщений: 1,413
Сказал спасибо: 0
Сказали Спасибо 128 раз(а) в 114 сообщении(ях)
|
Re: Atmega16+24c128
Сообщение от wlad773
|
Доброго времени суток. Прикрутил к Atmega16 последовательную память 24c128 и вроде все хорошо, но есть одно неудобство. Я использую станичную запись. Пишу пакеты по 4 байта и АСК проверяю и стоп бит посылаю, а после записи требуется 4 мсек. что бы записался следующий пакет. Что-то в датише я про такой таймаут ничего не нашел. Кто нить может мне разъяснить что не так сделано?
|
Это тайм-аут для записи информации в память 24Схх.
Правильно отметили, он для этой памяти должен быть равен 5 mS.
А для некоторых разновидностей 24Схх бывает и больше - 10 mS ....
Последний раз редактировалось petr5555; 02.12.2014 в 10:37.
|
|
|
|
04.12.2014, 00:41
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Atmega16+24c128
Сообщение от wlad773
|
после записи требуется 4 мсек. что бы записался следующий пакет.
|
Может быть и больше.
В моём даташите, например, Automatic Page write Operation (он же twc) = maximum 10 ms.
Сообщение от wlad773
|
Что-то в датише я про такой таймаут ничего не нашел.
|
Да вообще-то, и так понятно, наверное, что EEPROM имеет длинный цикл записи.
Опять же, по даташиту, в разделе "PAGE WRITE OPERATION" читаем: "All inputs are disabled until the completion of the write cycle."
Т.е. устройство не будет реагировать на Ваши команды, пока идёт цикл записи.
Сообщение от wlad773
|
Кто нить может мне разъяснить что не так сделано?
|
Неправильно в данном случае делать задержку по таймеру.
Правильнее так: после старта записи циклически пытаетесь обращаться к своей EEPROM. Пока она занята записью, она не будет отвечать на эти запросы битом ACK. Как только цикл записи закончится, EEPROM ответит на очередное обращение битом ACK=0.
|
|
|
|
19.12.2014, 09:47
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Atmega16+24c128
Ага. Понял. Плохо когда плохо с английским. Был уверен, что контролирую АСК, а на самом деле проверял прерывание TWI. А если применить не пакетную запись, а побайтную? Все равно понадобится время в 5-10 мСек.? Вообще странно, при скорости в 1 мГц требуется 10мС для завершения записи .
Последний раз редактировалось wlad773; 19.12.2014 в 09:49.
|
|
|
|
19.12.2014, 13:37
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Atmega16+24c128
|
|
|
|
31.01.2015, 19:44
|
|
Прописка
Регистрация: 06.05.2008
Адрес: Пятигорск
Сообщений: 222
Сказал спасибо: 11
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
|
Re: Atmega16+24c128
RECTO, Подскажи, после записи и передачи СТОП. Я отправляю СТАРТ+адрес устр.+чтение. Как я узнаю что АСК в 1? Использую аппаратные средства.
|
|
|
|
31.01.2015, 23:37
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,686
Сказал спасибо: 74
Сказали Спасибо 1,807 раз(а) в 654 сообщении(ях)
|
Re: Atmega16+24c128
Сообщение от wlad773
|
RECTO, Подскажи, после записи и передачи СТОП. Я отправляю СТАРТ+адрес устр.+чтение. Как я узнаю что АСК в 1? Использую аппаратные средства.
|
Аппаратные - в смысле, встроенный I2C?
По Атмеге не подскажу, не знаю...
Да и для ПИКов я убедился уже, что аппаратный I2C для реализации только ведущего использовать нерационально получается. Программным "ногодрыгом" получилось проще и короче. Чего и Вам желаю.
|
|
|
|
01.02.2015, 01:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,016
Сказал спасибо: 0
Сказали Спасибо 4,954 раз(а) в 2,378 сообщении(ях)
|
Re: Atmega16+24c128
ипать-колотить, ну почему никто не хочет читать ДШ? хотя бы наискось, квадратно-гнездовым методом, хоть как-то...
Status Codes for Master Receiver Mode для чего придуманы? зачем примеры в ДШ и аппнотах писАны?
|
|
|
|
01.02.2015, 02:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.11.2011
Адрес: Анапа
Сообщений: 1,620
Сказал спасибо: 284
Сказали Спасибо 129 раз(а) в 111 сообщении(ях)
|
Re: Atmega16+24c128
Я квадратно-гнездовым бухаю читаю
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:51.
|
|