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
Up