Доброй ночи, уважаемые.
Вопрос следующий:
пытаюсь понять как работает 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)?
непонятности работы SPI с M95640 (симулирую в Proteus)
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: непонятности работы SPI с M95640 (симулирую в Proteus)
Зачем такой изврат с PATTERN GENERATOR, если есть нормальный SPI дебаггер?mvm писал(а): согласно даташита делаю следующее (в PATTERN GENERATOR):
1) считываю статус (RDSR 0000 0101)
[...]
на выходе 0.
Видимо просто нарисовали лишние такты чтобы продемонстрировать что статус можно считывать в любое время, хоть друг за другом.mvm писал(а): зачем при чтении статуса (в даташите нарисована диаграмма) надо дважды получать значение статуса (16 тактов после команды RDSR)?
