Hi, I'm wondering what makes the difference between FlexSPI and a traditional SPI controller.
From what I understand, the FlexSPI automatically creates transactions on the SPI bus, depending on the LUT configuration that is programmed by a driver.
I've read that this driver is designed to work mainly with SPI memories like SPI NOR memory but would also work e.g. with FPGA devices.
As I understand the typical write transaction on the SPI bus triggered by FlexSPI (when communicating with SPI NOR Flash) would look like this:
[ 1 byte: CMD ] [ 2-3 bytes ADDR] [ opt: DUMMY ] [ DATA ]
However, I would like to use this FlexSPI to communicate with something different than SPI memory, namely Hilsher netX90.
The problem is that the netX90 expects a slightly different protocol which basically looks like this (write registers):
[ 1 byte CMD ] [ 2 bytes ADDR ] [ DATA ] *
Can I configure FlexSPI to send data in this format?
As the name (Flex) suggests it should be possible but I'm still not sure.
I would appreciate any information that will help me to understand how it works.
* In fact the protocol is a bit different:
[ 1 byte CMD + part of ADDR(4 bits) ] [ 2 bytes: ADDR ] [ DATA ]
but I think I would be able to encode part of the address (4 bits) in the CMD.
Hello,
You will have to change the flex spi current driver to support this fpga.
Regards