Data transmission using Octal SPI

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Data transmission using Octal SPI

1,986 次查看
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?
标签 (1)
0 项奖励
回复
8 回复数

1,867 次查看
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 项奖励
回复

1,855 次查看
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 项奖励
回复

1,847 次查看
jingpan
NXP TechSupport
NXP TechSupport

Hi @Muthyam ,

Please read section 27.3.6 in RT1160 reference manual.

 

Regards,

Jing

0 项奖励
回复

1,839 次查看
Muthyam
Contributor I
I have not found that section in RT1160RM and we are using RT1064 not RT1160.
0 项奖励
回复

1,814 次查看
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 项奖励
回复

1,802 次查看
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 项奖励
回复

1,792 次查看
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 项奖励
回复

1,699 次查看
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 项奖励
回复