SPI por firmware

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

SPI por firmware

Mensagempor hemasc » 14 Out 2013 16:25

Pessoal, estou tentando comunicar com uma RAM externa através de SPI, mas as portas que utilizarei não são próprias para SPI, ou seja, farei a SPI no braço...
Estou ciente que devo iniciar a RAM e abaixo os comandos:

READ - 0x03 Read data from memory array beginning at selected address
WRITE - 0x02 Write data to memory array beginning at selected address
RSTIO - 0xFF Reset Dual and Quad I/O access
RDMR - 0x05 Read Mode Register
WRMR - 0x01 Write Mode Register


cpp code
////////////////////////////////////////////

#define SPI3_SELECT PIN_B0
#define SPI3_DI PIN_B1
#define SPI3_DO PIN_B2
#define SPI3_CLK PIN_B3

//abaixo um exemplo de como eu enviarei um dado para a RAM externa
void escreve_spi_3(int8 dado)
{
int8 indice_dac;
SPI3_DO = 0;
indice_dac = 8;
while (indice_dac--)
{
if (bit_test(dado,indice_dac))
{
SPI3_DO = 1;
}
else
{
SPI3_DO = 0;
}
delay_us(5);
SPI3_CLK = 1;
delay_us(5);

SPI3_CLK = 0;
SPI3_DO = 0;
delay_us(5);
}
}

/////////////////////////////////////////////////////////////////////////


Minha dúvida é, como irei receber os dados da SPI?

output_low(SPI3_SELECT);
escreve_spi_3(0x03); //comando para leitura
escreve_spi_3(addressM); //MSB
escreve_spi_3(addressL); //MSB

neste ponto, se eu colocar um if na SPI3_DI e medir o tempo de 5us por bit de high e low eu conseguirei receber os dados?

output_high(SPI3_SELECT);
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP

Re: SPI por firmware

Mensagempor xultz » 14 Out 2013 17:07

Como o PIC é mestre, é ele quem produz o clock (no causo, teu programa). Assim, se o na leitura o clock tiver 1ms, 10ms ou mais, não importa muito (a menos que o chip da RAM especifique um clock mínimo, o que acho que não existe). Assim, você clockeia, lê a porta e pega o bit, clockei, pega o próximo, e assim por diante.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: SPI por firmware

Mensagempor hemasc » 14 Out 2013 17:16

obrigado xultz... eu acabei não me atentando que posso fazer isso com o clock...
vou testar
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x