This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

S3C2440 spi :how to transfer&recieve continuously

Hello everyone ,I am working with a board based on S3C2440A .

I am trying to transmit datas & commands from S3C2440A to a FRAM_CHIP hang on the S3C2440A' SPI_bus.
I find that S3C2440 only have 8 bit spi_bus_width.
But in fact I need the flow of bits to be continuously at least in a 32 bits.
I know that some chips such as S5PC100 have 8-32 spi_bus_width,how can I make it with S3C2440?

The follow is the code I did,and there was a interval between each flow of 8bit when I observe the SPIMOSI0 & SPICLK signal with oscilloscope.


extern void inline TxSPI0_Byte(U8 data)
{
        rSPTDAT0=data;
        while(!(rSPSTA0&0x01));//wait until Tx/Rx ready
}

extern void WrMemStatReg(unsigned char data) //CMD to operate FRAM
{
        SPICS_LOW;            //FRAM CS ON
        TxSPI0_Byte(WRSR_CMD);//wave A --8bit
        TxSPI0_Byte(data);    //wave B --8bit
        SPICS_HIGH;
}
wave A and wave B are not continuously

Parents
  • "I have tried polling,I failed to write and read the fram,so I just cannot eliminate the possibility that fram need "continuous" bits."

    The FRAM communication doesn't see time other than as changes to the SPI clock flanks. So it doesn't care if the clock signal freezes for a while. But it is important that the clock and MOSI signals doesn't go tristate while the slave select is activated.

Reply
  • "I have tried polling,I failed to write and read the fram,so I just cannot eliminate the possibility that fram need "continuous" bits."

    The FRAM communication doesn't see time other than as changes to the SPI clock flanks. So it doesn't care if the clock signal freezes for a while. But it is important that the clock and MOSI signals doesn't go tristate while the slave select is activated.

Children
No data