FX3 unique ID readout and interpretation

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
gedi
Level 1
Level 1
First reply posted First question asked Welcome!

Hi,

I'm working with a product that will have multiple FX3 based devices connected and we need to distinguish between them reliably. I understand that every chip has a unique 64 bit ID at address 0xE0055010 and that the correct order to read the two registers is 0xE0055014 and then 0xE0055010. I have found this much info in the forum.

So I can read the ID like

uint64_t id;
CyU3PReadDeviceRegisters((uint32_t*)0xe0055010, 2, (uint32_t*)&id);

And I have two questions regarding this;

  1. Will CyU3PReadDeviceRegisters() read the data in the correct order as stated above, or will I need to flip the 32-bit values around?
  2. Is there a preferred interpretation of this 64 bit ID? Is it an ascii string? A unicode string? An integer? Signed? Hex characters? Does it have an expected format?

Regards,
Georgios

0 Likes
1 Solution
4 Replies
JiangJing
Moderator
Moderator
Moderator
First like given 250 sign-ins 250 replies posted

Hi,

    Q1: it is lower DWORD in 0xE0055010 and upper DWORD in 0xE0055014. You don't need to flip the 32-bit values around.

Q2: Hex characters

0 Likes
gedi
Level 1
Level 1
First reply posted First question asked Welcome!

Hi,

Thanks for the reply! I got the idea that they need to be read in reverse order from a moderator response to another thread. This simplifies it a little. Thanks.

If they're characters, what encoding?

0 Likes
JiangJing
Moderator
Moderator
Moderator
First like given 250 sign-ins 250 replies posted
0 Likes
gedi
Level 1
Level 1
First reply posted First question asked Welcome!

Thanks!

 

0 Likes