cancel
Showing results for 
Search instead for 
Did you mean: 

I'm trying to port the NFC06A1 demo from controller STM32L476RG to controller STM32F767ZI, but having trouble. Is there an existing demo I could use to get this working?

ASmit.2
Associate II

Using a known working project created by STM32CubeIDE for the F767ZI, I'm incorporating the NFC06A1 demo. When run, it fails to initialise RFAL.

The problem appears when I execute demoIni(). It calls rfalNfcInitialize(), which calls rfalInitialize, which calls st25r3916Initialize(), and at line 136 st25r3916CheckChipID(NULL) is called.

It appears the chip ID is not being obtained, so st25r3916CheckChipID returns False, and consequently st25r3916Initialize() returns ERR_HW_MISMATCH.

I've spent a few weeks on this project, and now I'm getting into NFC driver details, when the problem is actually much more likely to be an environment/configuration issue with the F767.

It's getting in the way of evaluating whether the 3916 will suit my project, so it would be really great to short-cut the pain and use a pre-created Cube project. So, does anyone have a F767-NFC06A1 project I could use?

5 REPLIES 5

You can either wait for this, which I don't think will ever happen, or you can debug the the given software; I presume you have it in source form.

What's your hardware? How exactly did you connect the NFC06A1 to your board? What you describe sounds awful lot like that there's not even a basic communication established, so debug that first - observe with oscilloscope/LA, compare waveforms/levels to the ST25R3916 datasheet. Check if I2C_EN is set according to your required iterface (I personally would try to avoid I2C for initial experiments).

JW

Based on the names I'd guess NUCLEO boards, one would need to double check the pin usage/assignments as they may be quite different.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

The hardware is two Nucleo boards, the STM32F767ZI and the X_NUCLEO_NFC06A1. I have the source - I am using 2 working source project demos provided by STM. All compiles (finally) and runs but when debugging I see the request for the 3916 ID fails. It comes back with /0. Tracing deeper into the driver code I see the ERR_HW_MISMATCH generated.

On whether there's basic communication, I am seeing one LED change state on demand, on the NFC expansion board. This is not going via the ST25R3916 though, as indicated in the datasheet. The other LEDs are not switching on as expected. So I guess this does suggest pin usage/assignment is a problem. So I should check the pin usage as shown in the .ioc ?

Check pins, check the communication channel, observe using oscilloscope/LA the communication to the ST25' etc.

In other words, debug as usually.

JW

ASmit.2
Associate II

Thanks both for the replies.

Unfortunately these are not usual circumstances. I'm at home in lockdown so I don't have access to test equipment and electronics engineers, so I'm pretty much reliant on code tracing/analysis, and observations from running the code on the boards.

I'll have another look this morning, but not holding out much hope for getting this working soon, to be honest.