Easyelectronics.ru • Просмотр темы - SPI флеш память S25FL256S - неверный ID?

Easyelectronics.ru

Электроника для всех
Текущее время: 15 авг 2018, 22:06

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: SPI флеш память S25FL256S - неверный ID?
СообщениеДобавлено: 01 июн 2018, 18:35 
Только пришел

Зарегистрирован: 14 фев 2018, 14:56
Сообщения: 5
Доброго времени суток.

Имеется внешняя SPI флеш память S25FL256S от Spansion.
Соединена она стандартным (не дуал/квад) SPI с внешним контроллером (nrf52840):
Show часть схемы


Для начального этапа хочу вычитать ID (REMS).
Cудя по даташиту, идентификатор должен быть 0x01 0x18:

Show Datasheet


Но на деле я получаю какие-то другие цифры (0x20 0x10).

Логический анализатор показывает следующее:
Show Лог


Правильно ли я понял из документации, что нужно послать 0x90 и затем 3 байта:
0x00 0x00 0x00 - manuf ID
0x00 0x00 0x01 - device ID

Частота шины 125кГц, SPI режим 0 (CPOL = 0, CPHA = 0). С другим поддерживаемым режимом (CPOL = 1, CPHA = 1) аналогичные данные получаю.

По коду грубо говоря так.

Конфигурация:
Код:
  nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
  spi_config.ss_pin   = S25FL_SS;
  spi_config.miso_pin = S25FL_MISO;
  spi_config.mosi_pin = S25FL_MOSI;
  spi_config.sck_pin  = S25FL_SCK;
  spi_config.frequency = NRF_DRV_SPI_FREQ_125K;
  spi_config.mode = NRF_DRV_SPI_MODE_0;

  APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, NULL, NULL));


Считывание ID(REMS):
Код:
U32 S25FL_ReadID(void)
{
  S25FL.TxBuf[0] = FLASH_CMD_READ_ID; //0x90XXXXXXXXXX - Command
  S25FL.TxBuf[1] = 0;                 //0xXX000000XXXX - Address
  S25FL.TxBuf[2] = 0;
  S25FL.TxBuf[3] = 0;
  S25FL.TxBuf[4] = 0;                 //0xXXXXXXXX01XX - Manufacture ID
  S25FL.TxBuf[5] = 0;                 //0xXXXXXXXXXXYY - Device ID

  APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, S25FL.TxBuf, 6, S25FL.RxBuf, 6));
 

  S25FL.TxBuf[0] = FLASH_CMD_READ_ID; //0x90XXXXXXXXXX - Command
  S25FL.TxBuf[1] = 0;                 //0xXX000000XXXX - Address
  S25FL.TxBuf[2] = 0;
  S25FL.TxBuf[3] = 0x01;
 
  APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, S25FL.TxBuf, 6, S25FL.RxBuf, 6));
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI флеш память S25FL256S - неверный ID?
СообщениеДобавлено: 01 июн 2018, 23:30 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 473
michlvl писал(а):
Имеется внешняя SPI флеш память S25FL256S от Spansion.

Для 25-той памяти чтение выполняется за одно обращение к чипу, CS поднимать не нужно, второй раз отправлять 0x90 не нужно.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI флеш память S25FL256S - неверный ID?
СообщениеДобавлено: 02 июн 2018, 01:50 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3480
Откуда: Кемеровская область, Киселевск
В анализаторе SPI настраивается, изменяли настройки? Если не поможет, тогда разбираться дальше.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI флеш память S25FL256S - неверный ID?
СообщениеДобавлено: 02 июн 2018, 23:55 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2491
Откуда: Москва
У Вас же русским языком в DS написано опустить СS 0x90 0x00 поднять CS -> 0xff 0xff - послать и посля двух FFFF принять, Если всбредёт в голову послать add 0x01 то ID-ы поменяются местами


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB