Страница 1 из 1

непонятности работы SPI с M95640 (симулирую в Proteus)

Добавлено: Чт янв 26, 2012 01:23:54
mvm
Доброй ночи, уважаемые.
Вопрос следующий:
пытаюсь понять как работает SPI EEPROM M95640 симулирую минимум:
микросхема, /W на +5, /HOLD на +5, Q на светодиод через резистор, /S подтянут к +5 через 10к. C,D,/S - подключены на PATTERN GENERATOR.
согласно даташита делаю следующее (в PATTERN GENERATOR):
1) считываю статус (RDSR 0000 0101)
/S = 1, меняю на 0, начинаю тактовать по С, перед сменой с 0 в 1 на пине С выставляю 1 на D на 5-ом и 8-ом сигнале дальше тактую 16 раз (на выходе 0 = const) ставлю /S = 1
2) разрешаю запись (WREN 0000 0110)
/S = 0, тактую С, аналогично первому пункту выставляю 1 на D на 6 и 7 сигнале такта. ставлю /S = 1
3) пишем статус WRSR 0000 0001
/S = 0, тактую С, выставляю 1 на D на 8 сигнале такта. ставлю /S = 1
4) задаем значение статуса ( например 1000 1100)
/S = 0, тактую С, выставляю 1 на D на 1,5,6 сигнале такта.ставлю /S = 1
5) считываю статус аналогично пункта 1 - и ничего. на выходе 0.

в чем ошибка?
я полагаю, что-то связанное с /S и еще один вопрос (просветите) зачем при чтении статуса (в даташите нарисована диаграмма) надо дважды получать значение статуса (16 тактов после команды RDSR)?

Re: непонятности работы SPI с M95640 (симулирую в Proteus)

Добавлено: Чт янв 26, 2012 15:46:36
Engineer_Keen
mvm писал(а): согласно даташита делаю следующее (в PATTERN GENERATOR):
1) считываю статус (RDSR 0000 0101)
[...]
на выходе 0.
Зачем такой изврат с PATTERN GENERATOR, если есть нормальный SPI дебаггер?
mvm писал(а): зачем при чтении статуса (в даташите нарисована диаграмма) надо дважды получать значение статуса (16 тактов после команды RDSR)?
Видимо просто нарисовали лишние такты чтобы продемонстрировать что статус можно считывать в любое время, хоть друг за другом.