Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.04.2013, 16:04
|
|
Прописка
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
|
Нет записи\чтения из 25АА512
Добрый день. Собрал схемку Mega8 и микруха памяти 25АА512, никак не получается запустить в протезе шоб и писалось и читалось. Картинка на осциле вроде нормальная, а записи нет Программа писана на АВ 5,44, Может у кого есть макет рабочий подобного обмена по SPI, или подскажите где накосячил
|
|
|
|
02.04.2013, 17:38
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Нет записи\чтения из 25АА512
Как делаю я... Сначала читаю Дату на чип... Затем пишу такой алгоритм.
Запись одного байта
1. СS низкий, команда РАЗРЕШИТЬ ЗАПИСЬ (WREN = 0b00000110), СS высокий.
2. СS низкий, команда ЗАПИСЬ (Write = 0b00000010), АДРЕС (Address Upper byte), АДРЕС (Address Low byte), пишем БАЙТ, СS высокий.
3. Контроль окончания записи. СS низкий, команда ЧТЕНИЕ РЕГИСТРА СТАТУСА (RDSR = 0b00000101), Цикл - читаем байт в переменную STATUS пока не выполнится условие (STATUS&WEL_WIP)=0. WEL_WIP = 0b00000011, СS высокий.
Пункт 3 можно не делать если задержка времени между циклами записи будет учитываться в вычислениях программы.
Чтение байта.
1. СS низкий, команда ЧТЕНИЕ (Read = 0b00000011), АДРЕС (Address Upper byte), АДРЕС (Address Low byte), читаем БАЙТ, СS высокий.
|
|
|
|
02.04.2013, 19:27
|
|
Прописка
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
|
Re: Нет записи\чтения из 25АА512
mimuh64, действительно пункт №1 не делал читать статус регистр пытался, но получал результат $00. Спасибо, завтра попробую исправить.
|
|
|
|
02.04.2013, 20:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Нет записи\чтения из 25АА512
Сообщение от mimuh64
|
Как делаю я... Сначала читаю Дату на чип... Затем пишу такой алгоритм.
Запись одного байта
1. СS низкий, команда РАЗРЕШИТЬ ЗАПИСЬ (WREN = 0b00000110), СS высокий.
2. СS низкий, команда ЗАПИСЬ (Write = 0b00000010), АДРЕС (Address Upper byte), АДРЕС (Address Low byte), пишем БАЙТ, СS высокий.
3. Контроль окончания записи. СS низкий, команда ЧТЕНИЕ РЕГИСТРА СТАТУСА (RDSR = 0b00000101), Цикл - читаем байт в переменную STATUS пока не выполнится условие (STATUS&WEL_WIP)=0. WEL_WIP = 0b00000011, СS высокий.
Пункт 3 можно не делать если задержка времени между циклами записи будет учитываться в вычислениях программы.
Чтение байта.
1. СS низкий, команда ЧТЕНИЕ (Read = 0b00000011), АДРЕС (Address Upper byte), АДРЕС (Address Low byte), читаем БАЙТ, СS высокий.
|
Для ТС. Не для mimuh64.А еще лучше пункт 3 выполнять ПЕРЕД записью. Тогда можно будет уходить в программу без лишней потери времени на ожидание.
Логику работы программы лучше продумать таким образом, чтобы записывалась сразу целая страница. Время на запись одного байта и целой страницы одинаковое. Если все же пишется побайтно, бессмысленно каждый раз разрешать запись, ведь после записи не было запрета. Достаточно один раз разрешить. Разве что у вас информация для записи появляется через очень длительные промежутки времени.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
03.04.2013, 14:19
|
|
Прописка
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
|
Re: Нет записи\чтения из 25АА512
Спасибо за помощь, все заработало! Немного не понятно, почему в таблице Internal Memory не хотят отображаться внесенные данные, хотя при чтении все чтется ОК! И еще, почему пропадает сигнал в бите WEL? Как писал ut1wpr, не достаточно ли один раз разрешили и на все время работы схемы(или пока не поступил запрет), а так получается записал, прочитал и WEL=0. Может это токо в протэзе, интересно в "железе" как будет работать?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:39.
|
|