BRT Community

General Category => Discussion - EVE => Topic started by: FocusPaul on August 09, 2021, 01:34:01 PM

Title: REG_CMDB_WRITE bulk transfer
Post by: FocusPaul on August 09, 2021, 01:34:01 PM
Hello!

I've used EVE 1 and 2 in projects before. Now I'd like to take advantage of REG_CMDB_WRITE command.

If understood correctly, REG_CMDB_WRITE takes one 32-bit command. Do I have to send a total of 7 bytes (3 byte address + 4 byte data) over SPI per 32 bit display list command?
Or is there a way to send multiple commands at once as a real bulk transfer? Something like: 3 byte address -> 32 bit command -> 32 bit command -> 32 bit command ...

The address overhead seems to high when sending big amounts of data.

Best regards,
Paul
Title: Re: REG_CMDB_WRITE bulk transfer
Post by: Rudolph on August 09, 2021, 04:26:42 PM
You can send as many bytes as you like after the initial address, the limit is only in where you write to.
So in this case when writing to REG_CMDB_WRITE the limit would be obviously 4k for the size of the FIFO after which at least caution is advised.

Take a peak at my implementation: https://github.com/RudolphRiedel/FT800-FT813

Title: Re: REG_CMDB_WRITE bulk transfer
Post by: FocusPaul on August 10, 2021, 01:31:13 PM
Hello Rudolph,

thank you for the link. Found it in EVE_start_cmd_burst(). Actually, it's not very clear to me reading the manual that it is working that way.

That's making life a lot easier now, because I don't have to keep track of the write position in FIFO buffer anymore.

Best regards,
Paul
Title: Re: REG_CMDB_WRITE bulk transfer
Post by: BRT Community on August 10, 2021, 04:51:12 PM
Hi Paul,

Yes, you can also use burst writes on other areas of memory too as Rudolph mentioned (e.g. to write image data to RAM_G) which helps to speed this up a lot,

Best Regards, BRT Community