Topic: PN512's registers not getting configured using SPI

Hi,


I made a custom board for using pn512 with a SPI interface to SPI master. All the connections for SPI are correct according to the pn512 datasheet,I have also checked the voltage levels on pins and data being transmitted on all the lines using a Logic analyser.

The issue:

I am able to read the contents of the registers in pn512 (I mean the reset values only).
But I am not able to write anything to those registers and so, not able to test the working of the board.

My first reaction was, that maybe the reset pin is low, but I checked, it was high.
I am following proper SPI protocol and also the timing is fine (Also evident from the fact that SPI read is happening).

To test the board I am following this guide, but to my hard luck I have't even cleared the first step due to this issue;
http://www.nxp.com/documents/applicatio … N11038.pdf

I was not able to find any other forum on web where I could post this hardware related/pn512 related issue, maybe someone here can help (although I know, this is not what this forum is for exactly). Also not sure if the above information is sufficient for anyone to help me, in that case please ask for more info from my side.

Thanks in advance,
Ujjwal

Re: PN512's registers not getting configured using SPI

Well, I am guessing that the information provided by me was not sufficient.
So here is are the xml scripts I am using to read and write the data for pn512.
For SPI write, please note that this is not tha exact script used, since to write we need to give burst inputs. Just for your easy reference I have written like this, first write is address then data and so on...

SPI Write:

<aardvark>

    <configure i2c="0" spi="1" gpio="0" tpower="0" pullups="0"/>

    <spi_bitrate khz="10000"/>
    
    <spi_config polarity="rising/falling" 
            phase="sample/setup"
            bitorder="msb" 
            ss="active_low"/>


    <spi_write count="1" radix="16">18</spi_write>

    <spi_write count="1" radix="16">50</spi_write>

    

    <spi_write count="1" radix="16">18</spi_write>

    <spi_write count="1" radix="16">50</spi_write>

    
    <spi_write count="1" radix="16">24</spi_write>

    <spi_write count="1" radix="16">00</spi_write>

        
    <spi_write count="1" radix="16">26</spi_write>

    <spi_write count="1" radix="16">00</spi_write>

    
    <spi_write count="1" radix="16">28</spi_write>

    <spi_write count="1" radix="16">8A</spi_write>

 
    <spi_write count="1" radix="16">2A</spi_write>

    <spi_write count="1" radix="16">66</spi_write>


    <spi_write count="1" radix="16">30</spi_write>

    <spi_write count="1" radix="16">75</spi_write>




    <spi_write count="1" radix="16">32</spi_write>

    <spi_write count="1" radix="16">4D</spi_write>




    <spi_write count="1" radix="16">48</spi_write>

    <spi_write count="1" radix="16">26</spi_write>




    <spi_write count="1" radix="16">4C</spi_write>

    <spi_write count="1" radix="16">F9</spi_write>


    <spi_write count="1" radix="16">4E</spi_write>

    <spi_write count="1" radix="16">F4</spi_write>




    <spi_write count="1" radix="16">50</spi_write>

    <spi_write count="1" radix="16">3F</spi_write>




    <spi_write count="1" radix="16">52</spi_write>

    <spi_write count="1" radix="16">03</spi_write>






</aardvark>

SPI read:

<aardvark>

    <configure i2c="0" spi="1" gpio="0" tpower="0" pullups="0"/>

    <spi_bitrate khz="10000"/>
    
    <spi_config polarity="rising/falling" 
            phase="sample/setup"
            bitorder="msb" 
            ss="active_low"/>
    <!-- SPI Read -->
   
    <spi_write count="1" radix="16">98</spi_write>
    <spi_write count="1" radix="16">98</spi_write>

    <spi_write count="1" radix="16">A4</spi_write>
    <spi_write count="1" radix="16">A6</spi_write>

    <spi_write count="1" radix="16">A8</spi_write>
    <spi_write count="1" radix="16">AA</spi_write>

    <spi_write count="1" radix="16">B0</spi_write>
    <spi_write count="1" radix="16">B2</spi_write>

    <spi_write count="1" radix="16">C8</spi_write>
    <spi_write count="1" radix="16">CC</spi_write>

    <spi_write count="1" radix="16">CE</spi_write>
    <spi_write count="1" radix="16">D0</spi_write>

    <spi_write count="1" radix="16">D2</spi_write>
    <spi_write count="1" radix="16">80</spi_write>


</aardvark>

Re: PN512's registers not getting configured using SPI

Ok, if someone here doesn't know about it, or doesn't have time. Please point me to a person who know this kind of stuff!
I am doing this project, as it looks interesting and since I have already put a lot of time and money into this, I don't want to back down.
Please moderators, help me solve this issue!

Thanks,
Ujjwal

Re: PN512's registers not getting configured using SPI

Hi,
did you get any further on this subject? I am working on a similar problem with SPI and the PN512.

Br,

Lrz