Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

lpc1114 и память m95m01

Вт июн 12, 2012 09:17:52

Добрый день!
Работал ли кто с такой связкой. Никак не получается общаться с микросхемкой. Основная проблема в том, что разрядность регистра шины spi у lpc1114 16 бит, а микросхемке нужно передавать либо 8(команда) либо 32 бита(команда + адрес). Я пробовал програмно эмулировать работу вывода SSEL. Но что-то не получается. Есть идеи?

Re: lpc1114 и память m95m01

Вт июн 12, 2012 20:50:47

изучайте матчасть! (datasheet)

"для SPI размер фрейма можно настроить от 4 до 16 бит..."

Если в настройках SPI для соответствующей ноги выбран режим SPI - то хрен ты ее программно "дернешь" (предварительно в настройках переключи режим SPI на I/O)...

удачи!

Re: lpc1114 и память m95m01

Ср июн 13, 2012 10:27:54

Да собственно так и делаю...
SSEL у меня как GPIO выход. Дергаю записью 1 или 0. Разрядность настроил. 8 бит.
Есть сомнения в правильности настройки частоты шины. Во всех примерах предделитель отличный от нуля, я оставил 0. Частота по формуле из даташита получается 6 МГц. Вот кусок кода инициализации:

// spi0 init
LPC_IOCON->SWCLK_PIO0_10 = 0xC2;
LPC_IOCON->PIO0_9 = 0xD1;
LPC_IOCON->PIO0_8 = 0xD1;
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<11);
LPC_SYSCON->SSP0CLKDIV = 0x01;
LPC_SYSCON->PRESETCTRL |= 0x01;
LPC_SSP0->CR0 = 0x07; // предделитель 0 режим SPI 8-bit
LPC_SSP0->CR1 = 0x02;
LPC_SSP0->CPSR = 0x02; // делитель 2
// init additional gpio for spi0
LPC_GPIO0->DIR |= (1<<1)|(1<<2)|(1<<3)|(1<<6)|(1<<7);

Re: lpc1114 и память m95m01

Ср июн 13, 2012 19:00:23

... я сильно не заморачиваюсь сам бадаться с аппаратной переферией кристалла - беру кейловские примеры, они на 99.99 % рабочие...

сейчас извини не буду перелапачивать твой код, посмотри рабочие примеры, хотябы из того же кейла...

удачи!
Тема закрыта