Data transmission using Octal SPI

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Data transmission using Octal SPI

1,984 Views
Muthyam
Contributor I
We are working on FlexSPI in IMXRT1064 processor, we want to use FlexSPI in octal mode. Our requirement is to transfer 6 bits of data for single clock cycle. For that we took flexspi_hyper_flash_polling_transfer as a reference sdk example. In that example without making much changes, in the function flexspi_nor_hyperflash_write we just changed data.
Firstly we sent 0xFF in as data, and we captured the wave forms(1.PNG) of clock and data0 signals , in second, third and fourth graph data we sent is 0x11,0x88,0x00 respectively, here yellow color is CLOCK and blue one is DATA0.
And we are not sure why four clock cycles are generating to transmit single bit of data. Can we use FlexSPI in octal mode to transmit six distinct data bits on six distinct signals? If so how to initialize FlexSPI in octal mode for data transmission?
Labels (1)
0 Kudos
Reply
8 Replies

1,865 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @Muthyam ,

I guess the device what you want to write to is not a hyperflash. Have you modified LUT table? To write something to hyperflash, it must send command and address and even dummy cycle. If you didn't change LUT, you can't have it send only 1 byte.

 

Regards,

Jing

0 Kudos
Reply

1,853 Views
Muthyam
Contributor I

Hello @jingpan,
Yeah you are correct, the device that i want to write is not a hyperflash. I am not modified LUT table. My device will have six data lines and a clock, it will take data for every clock cycle. For that i want to use FlexSPI because it has flexibility of sending eight data bits using single clock cycle. Can you suggest what I should exactly modify to meet my requirement? Because I am unaware of LUT table.
Regards,
Muthyam

0 Kudos
Reply

1,845 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @Muthyam ,

Please read section 27.3.6 in RT1160 reference manual.

 

Regards,

Jing

0 Kudos
Reply

1,837 Views
Muthyam
Contributor I
I have not found that section in RT1160RM and we are using RT1064 not RT1160.
0 Kudos
Reply

1,812 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @Muthyam ,

Sorry, it's 27.3.6 in RT1064 RM. It is about Look Up Table.

 

Regards,

Jing

0 Kudos
Reply

1,800 Views
Muthyam
Contributor I

I gone through that and understood a little, In hyperflash example also they are updating LUT table while initializing the octal_spi, in that they are updating LUT. My doubt at the end we are using FlexSPI_TransferBlocking is to send and receive data, Can't i use flexspi_transfer_blocking function directly to send my data? While trying so i am getting four clock cycles to transmit single bit of data and the data i am getting on the data lines is also not what i am intended . How can i overcome this issue.

0 Kudos
Reply

1,790 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @Muthyam ,

Yes, you can use FlexSPI_TransferBlocking. When the data is not correct, you should check the command address in LUT table and command parameter.

 

Regards,

Jing

0 Kudos
Reply

1,697 Views
Muthyam
Contributor I
I am unable to understand the format of LUT table, i just wanted to write data, just data itself. I don't want to perform any other operations like read data, read status, write enable, erase sector, erase chip and program page . I want the LUT table only for write data, in that data also i don't want to send any command format or any dummy data, i just wanted to send data. Can I achieve this functionality using flexspi, if yes, please provide the LUT configuration.
0 Kudos
Reply