cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R3911B SPI and ST25R3911B Discovery GUI has no commincatin

DAbba
Associate II

Hi everybody 

I am using st25r3911 in my own pcb and I still have a problem in the first step :

rfalInitialize() does not return ERR_NONE

in fact I see the MOSI and CLK and CS signal but there is not anything in MISO !!

pin28 in st25r3911b (mcu_clk) is ok so i think the chip is working .

23 REPLIES 23
Ulysses HERNIOSUS
ST Employee

Hi Dariush,

The GUI uses USB VID and PID to identify the boards. Please carefully review the USB descriptors.

Ulysses

DAbba
Associate II

Dear Ulysses

Thank you for your reply

Would you please tell me more about that ?

What I have to do in my own project ?

Ulysses HERNIOSUS
ST Employee

usbd_desc.c

Dear Ulysses

I have compared mu usbd_desc.c in my project to ST25R3911B_DISCO_FW_v1_2_00 , it seems the same !

Ulysses HERNIOSUS
ST Employee

Hi Dariush,

with your changes I expect that the GUI has slightly changed its behavior - it should now detect a board. If not the please check VID and PID as they appear in the DeviceManager -> Hardware Ids.

Probably communication will then break. Getting a USB communication to work is somewhat tedious work. You will also need to review usbd_customhid.c inside STM32_USB_Device_Library.

It may also be necessary for you to get a USB tool to analyze on the PC side any differences in the USB descriptors which the PC sees.

Regards, Ulysses.

Thanks a lot for your attention .

I have done everything , but still I have problem :0690X000006CP9QQAW.jpg0690X000006CP9LQAW.jpg0690X000006CP9GQAW.jpg

could you please help me more to fix it ?

I have tried it by another PC also

Ulysses HERNIOSUS
ST Employee

Hi Dariush,

porting USB is effort. You will need to debug using various techniques (USB traces, debugger on the firmware, maybe debugger on the PC) the communication. What the firmware tries to send, what ends up on the PC, if the descriptors are similar/the same, etc.

I gave you all the tips I have.

Regards, Ulysses

DAbba
Associate II

I really appreciate you for your attention ,Ulysses

I decided to not try to it more .

but can I check the st25r3911b directly (without usb) in my code ?

I mean read an iso1443a card or ..

It seems difficult to do it directly in ST25R3911B_DISCO_FW_v1_2_00 functions and I could not find out a solution for it.

  Best Regards, Dariush

Ulysses HERNIOSUS
ST Employee

Hi Dariush,

for actually developing your own firmware you should have a look at xnucleo-nfc05a1 and X-CUBE-NFC5. This firmware is limited to NFC communication only and should give you all necessary hints.

Also in the firmware package you got you should find and rfal.chm with some explanations.

Ulysses

DAbba
Associate II

Dear Ulysses

Thank you again ,

In stm8_nfc05 I have a problem :

it can not pass the loop :

  ReturnCode ret;
        
    do{
        rfalWorker();
    }
    while( ((ret = rfalGetTransceiveStatus() ) == ERR_BUSY) && rfalIsTransceiveInTx() );

and gRFAL.state is all the time RFAL_STATE_TXRX

if you have an idea that can help me , I will appreciate you.

I think for me iso1443a will be esaier to start ( I am a newer in this issue)

is there any simple code to find out that a card (for example a Mifare ) is in the antenna vicinity or not at the moment?