SPI_EEPROM INTERFAZ CON LPC2114

P

pavan_85

Guest
Hola a todos,
¿Alguno de U tienen esquemático para la interfaz de EEPROM SPI (como la 25C160 o cualquier otro IC) con LPC 2114 ......

si s pleaz post it ......

gracias por adelantado ...
Pavan

 
Hola

Para la interfaz SPI es un poco fácil todo lo que necesitas es conectar a 4 hilos

CLK (LPC21xx) -> CLK (25xx)
CS (LPC21xx) (puede ser cualquier I / O -> CS (25xx)
MOSI (LPC21xx) -> MOSI (25xx)
MISO (LPC21xx) <- MISO (25xx)

También es necesario contactar VCC y GND para el chip 25xx y añadir algunos 100nF CAP cerca de la pin 25xx VCC

Para el software tendrá que utilizar el controlador de protocolo SPI (se puede encontrar en el sitio ON o buscar SPI y el LPC en Google) y una capa de software de protocolo para el 25xxx (25xx y el código de búsqueda en google)

All the best

Bobi
El especialista en microcontrolador
 
Hola a todos,
Yo estaba tratando de simular la interfaz SPI con protues;
memoria - AT25F512A
UC - LPC 2141

Mi problema es que el registro S0SPDR no está recibiendo actualizado .......
aquí está mi código .. por favor vaya a través de ella y el comentario que hice mal .....

la espera de sus respuestas ......
Pavan.

Código:# include <lpc21xx.h>pll_init (void);

RD extern unsigned char [5];

int main ()

(/ / Inicializar el PLL y SET CCLK pclk = = 12MHz

pll_init ();/ / SPI RUTINAS

spi_init ();

spi_write ( "Lucky");

)pll_init (void)

(

PLLCFG = 0x00000060;

PLLCON = 0x00000001;

PLLFEED = 0X000000AA;

PLLFEED = 0X00000055;while (! (PLLSTAT & 0x00000400));PLLCON = 0x00000003;PLLFEED = 0X000000AA;

PLLFEED = 0X00000055;VPBDIV = 0x09;

)

-------------------------------------------------- ----------------

SPI CÓDIGO

-------------------------------------------------- ----------------

# include <lpc21xx.h># include "spi.h"# define LEER 0x03 / / Escribir LATCH ENABLE

# define WRITE 0x02 / / Escribir datos (PROGRAM)

# define WRDI 0x04 / / Reset modo escritura

# define WREN 0x06 / / leer datos de la memoria

# define RDSR 0x05 / / leer el estado del REGISTRO

# define WRSR 0x01 / / Escribir ESTADO REGISTRO

# define SPIF 1 <<7RD unsigned char [5];spi_init (void)

(

PINSEL0 = 0x00005500 / / SELECCIÓN DE MODO SPI

S0SPCCR = 0x78; / / 100KHZ

S0SPCR = 0x20; / / MASTER MODO CON 8-bits por transferencia

/ / IODIR0 = 0x00000080 / / DECLARANDO SSEL0 como una salida

)unsigned char spi_tx_rx (Val unsigned char)

(S0SPDR = val;

while ((S0SPSR & SPIF) == 0);

S0SPDR retorno;)spi_write void (unsigned char * val)

(

spi_tx_rx (WREN);

spi_tx_rx (escribir);

BYTE spi_tx_rx (0x00); / / Dirección: SUPERIOR

BYTE spi_tx_rx (0x00); / / Dirección: Lower

spi_tx_rx (0x00);

while (* val)

(

spi_tx_rx (* val );

)wait ();

)spi_read void ()

(

int i;spi_tx_rx (LEA);

BYTE spi_tx_rx (0x00); / / Dirección: SUPERIOR

BYTE spi_tx_rx (0x00); / / Dirección: Lower

for (i = 0; i <5; i )

(

RD = spi_tx_rx (0x00);

wait ();

))

/ *

void write (unsigned char * dataa)

(

while (* dataa)

spi_write (* dataa );

)void leer (void)

(

int i;

spi_read ();

for (i = 0; i <5; i )

(

RD = spi_read ();

wait ();

)

)

* /

esperar void ()

(

int j;

for (j = 0; j <50000; j );

)
 

Welcome to EDABoard.com

Sponsor

Back
Top