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
"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.