FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - zabuailah

Pages: [1]
1
Discussion - Hardware / Re: SPI Slave
« on: April 05, 2023, 07:36:35 AM »
Hi,

I have started using FT_Write() to send data to the master.

I have observed that when I call FT_Write() once to send the data, the master receives it correctly. However, in some cases, I have to call FT_Write() multiple times to send the complete data. In such scenarios, the master only receives the first chunk of data correctly since it receives the whole data in one transaction by activating Slave Select once.

I have realized that the master needs to receive each chunk of data in a separate transaction to receive the complete data correctly. By a chunk, I mean the data sent by a call of FT_Write().

Therefore, I would like to inquire if there is a specific configuration that can resolve this issue, or if there is an alternative API that I can use. If neither is possible, could you please suggest another chip that could be used instead of FT4222H?

Thank you for your assistance.

Best regards,
Zakaria

2
Discussion - Hardware / SPI Slave
« on: March 03, 2023, 05:39:09 PM »
Hi,

I am using FT4222H-SPI-Slave to send data to an SPI-Master. As you know FT4222H-SPI-Slave appends a dummy byte (0x00) at the first byte automatically.

The master word size is 32-bit, so first I send 3 dummy bytes (0x000000), and then I send the actual data (I want the master to receive first a whole dummy word and then receive the actual data).

So I use FT4222_SPISlave_Write() twice and then notify the master to receive the data, as follows:
1. Call FT4222_SPISlave_Write() to buffer the 3 dummy bytes
2. Call FT4222_SPISlave_Write() again to buffer the actual data (two words: 0xAAAAAAAA, 0xBBBBBBBB)
3. Notify the master to receive the data

Results:
1. If the master receives the 3 words from FT4222H-SPI-Slave in one transaction, then it receives { 0x00000000, 0x00000000, 0x00000000 }
2. But if I modified the master code to receive each word in a separate transaction, then it receives { 0x00000000, 0x00AAAAAA, 0xAABBBBBB }

Question-1: Why FT4222H-SPI-Slave doesn't send the data correctly in the one transaction manner?
Question-2: Why FT4222H-SPI-Slave appends a dummy byte in the second word (0x00AAAAAA) in the multiple transactions manner?

Kindly, find attached the analyzer screenshots.

Pages: [1]