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

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

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

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

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

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

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

 
Опции темы
Непрочитано 02.04.2013, 16:04  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию Нет записи\чтения из 25АА512

Добрый день. Собрал схемку Mega8 и микруха памяти 25АА512, никак не получается запустить в протезе шоб и писалось и читалось. Картинка на осциле вроде нормальная, а записи нет Программа писана на АВ 5,44, Может у кого есть макет рабочий подобного обмена по SPI, или подскажите где накосячил
Вложения:
Тип файла: zip TestMemSPI.zip (37.0 Кб, 33 просмотров)
Реклама:
Faworit вне форума  
Непрочитано 02.04.2013, 17:38  
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию 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 высокий.
mimuh64 вне форума  
Непрочитано 02.04.2013, 19:27  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию Re: Нет записи\чтения из 25АА512

mimuh64, действительно пункт №1 не делал читать статус регистр пытался, но получал результат $00. Спасибо, завтра попробую исправить.
Faworit вне форума  
Непрочитано 02.04.2013, 20:13  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию 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
ut1wpr вне форума  
Непрочитано 03.04.2013, 14:19  
Faworit
Прописка
 
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
Faworit на пути к лучшему
По умолчанию Re: Нет записи\чтения из 25АА512

Спасибо за помощь, все заработало! Немного не понятно, почему в таблице Internal Memory не хотят отображаться внесенные данные, хотя при чтении все чтется ОК! И еще, почему пропадает сигнал в бите WEL? Как писал ut1wpr, не достаточно ли один раз разрешили и на все время работы схемы(или пока не поступил запрет), а так получается записал, прочитал и WEL=0. Может это токо в протэзе, интересно в "железе" как будет работать?
Faworit вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита от чтения delay AVR 5 15.11.2012 13:01
Скорость чтения в контроллер Vallav Микроконтроллеры, АЦП, память и т.д 10 13.01.2011 22:00
RSTDSBL в Attiny26 – защита от чтения? dima777 Микроконтроллеры, АЦП, память и т.д 3 10.03.2008 21:08
Устройства для записи/чтения на TLCS-47 (Toshiba)??? seruj Микроконтроллеры, АЦП, память и т.д 0 30.11.2006 11:18
USB Флэш память: помогите подобрать контроллер чтения/записи Vaicartana Микроконтроллеры, АЦП, память и т.д 0 30.01.2005 06:30


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


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