roboforum.ru

Технический форум по робототехнике.

 

[Решено] AT45DB проблема чтения/записи

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

[Решено] AT45DB проблема чтения/записи

Сообщение Сергей » 21 авг 2010, 21:50

Есть SPI DataFlash AT45DB321. Проблема заключается в том, что читается значение 0xB4 из памяти, независимо от того что писалось туда.
Теперь более конкретно.
- У SPI частота 5МГц
- Чтение байта статуса проходит нормально, все биты правильные.
- Запись производиться командой PROGRAM_MAIN_THROUGH_BUFFER1 (0x82), то есть напрямую, без буффера.
- Запись проходит корректно, смотрел осциллом.
- Для проверки код взял отсюда
Который без DMA, и начинается с AT45DB_
- После записи жду бит READY в статус байте, через некоторое время он появляется, не похоже чтобы ложно срабатывал.
- Чтение тоже корректно отрабатывает, но флеш отправляет байты 0xB4, проверял осциллом, странно.

Может кто сталкивался? Есть идеи?

В функции ожидания статуса READY, при возврате не отпускался chip select, поэтому следующий процесс чтения читал только статус регистр.
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: AT45DB проблема чтения/записи

Сообщение avr123.nm.ru » 21 авг 2010, 22:05

Проверить правильность сигналов SPI. Можно в PROTEUS осцилограммы посмотреть и сравниь с даташитом.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AT45DB проблема чтения/записи

Сообщение Сергей » 21 авг 2010, 22:10

Проверял, осциллом, в живую. И статус байт читается нормально, когда пишет в память флаг BUSY есть, и на команды откликается соответственно. Все указывает на то, что живой чип и общение нормально.
У кого-нибудь есть простой пример записи\чтения страницы (без буффера) для этого чипа? Просто я дошел до кондиции, когда не вижу своих ошибок, нужен другой код, в интернете в основном все наворочено под микро ОС, мусора выкидывать много.
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: AT45DB проблема чтения/записи

Сообщение Michael_K » 21 авг 2010, 22:12

B4 - похоже на статусный байт...
(а WP не стоит случаем?)
Аватара пользователя
Michael_K
 
Сообщения: 6034
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: AT45DB проблема чтения/записи

Сообщение Сергей » 21 авг 2010, 22:18

Да, действительно, это значение статус регистра, в нормальном состоянии..
WP в единице подвешен.
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: AT45DB проблема чтения/записи

Сообщение Michael_K » 21 авг 2010, 22:29

значит или команды попутали (где-то в чтении, скорее всего) или где-то между ними ЦС не сняли...
или что-то в таком духе...
как обычно, будете смеяться какая тупая ошибка БЫЛА :) но только после того, как найдете.
Аватара пользователя
Michael_K
 
Сообщения: 6034
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: [Решено] AT45DB проблема чтения/записи

Сообщение Сергей » 23 авг 2010, 15:49

Спасибо Michael_K
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: [Решено] AT45DB проблема чтения/записи

Сообщение avr123.nm.ru » 23 авг 2010, 16:00

А что было то не скажете ?
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: [Решено] AT45DB проблема чтения/записи

Сообщение Сергей » 23 авг 2010, 16:19

Добавил в первый пост жирным текстом
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: [Решено] AT45DB проблема чтения/записи

Сообщение avr123.nm.ru » 23 авг 2010, 16:35

Сергей писал(а):не отпускался chip select


Это можно было увидеть в PROTEUS в логическом анализаторе без модели памяти. Только проц и прога.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: [Решено] AT45DB проблема чтения/записи

Сообщение Сергей » 23 авг 2010, 16:45

Я не хотел переносить код на AVR или PIC, потому что давно уже их не использовал.
Сергей
 
Сообщения: 3741
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: [Решено] AT45DB проблема чтения/записи

Сообщение avr123.nm.ru » 23 авг 2010, 17:27

В PROTEUS и ARM есть. :D

Если ARM то в лог анализаторе KEIL тоже отлично смотреть трассы сигналов.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron
Mail.ru counter