Hi,
can you share some details about your HW setup:
- do you use the X-NUCLEO-NFC03A1 shield or a custom board?
- for the MCU part, do you use a NUCLEO-L476RG or another STM32 MC or a not ST MCU?
- how is the ST25R95 connected to the MCU: wire jumper or PCB?
Can you confirm SSI_0=3V3 and SSI_1=0V? Can you probe SSI_0, SSI_1 and nIRQ_IN at power up/startup sequence so that we can check the timings? can you probe XIN and XOUT to make sure the cristal is oscillating after t3 (HFO setup time)? Can you check that the SPI is properly configured (Motorola format, 8 bits data, MSB first, clock polarity low, clock phase 1 edge. For the baud rate, the driver in X-CUBE-NFC3 uses 1.5 Mbits/s)
Regarding your questions, after the completion of the startup sequence, there is no need to toggle nIRQ_IN (except when Idle mode is used). The ST25R95 cannot work without proper nSPI_SS management: ‘Sending’, ‘Polling’ and ‘Reading’ commands must be separated by a high level of the SPI_SS line as per the ST25R95 datasheet § 4.1.1.
In order to check that the SPI is functional, you can send a 0x03: Poll command; the reply should have flag bit #2 equals to 1 (Data can be sent to the ST25R95 when set).
Note: X-CUBE-NFC3 provides a a hardware independent scalable NFC communication stack on top of a driver for the ST25R95/CR95HF. I would recommend to use this FW that provides the communication protocol on top of SPI.
Rgds
BT