The hardware is our custom board which is based on the reference designs in NXP documentation and an ARM cortex.
We are looking at migrating to the PN5180 in a product which we have been using MFRC522 in for a long time.
The software that I was developing was pretty minimal and it was based on the documentation about the SPI protocol (in PN5180 v2.2 document) and the NFCReaderLibrary source (v4.010.00.001602_R1).
I had the following seemingly working:
Reading and writing of PN5180 registers
Reading eeprom but I didn't write eeprom
Loading rf config
Turning on and off RF field
Sending WUPA and getting ATQA from cards
I was running my SPI at 2M.
The steps of my testing were:
Attach scope to SPI lines and a test line that was reflecting the state of BUSY line in my SPI layer
Read registers
Write and read back registers
Turn on and off the RF field
Send WUPA repeatedly, checked with proxmark
Send WUPA repeatedly with card in field, checked with proxmark
This is as far as I got before it totally stopped working.
To investigate this problem I tried reducing interaction with the chip to just my init of it and not doing any of the RF stuff
WriteRegisterAndMask(IRQ_ENABLE, ~IRQ_SET_CLEAR_IDLE_IRQ_CLR_MASK))
WriteRegister(IRQ_SET_CLEAR, PHHAL_HW_PN5180_IRQ_SET_CLEAR_ALL_MASK))
ReadRegister(IRQ_STATUS, ®))
By watching the SPI lines I saw this sequence seemed to be able to fail on each of the steps.
The BUSY line seemed to not go low when I thought it should.
Do you need any more information?
Cheers