PN7150 and default address on i2c

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PN7150 and default address on i2c

5,669 Views
ssavvas
Contributor I

On manual i see that default address for PN7150 is 0x56, 0x57, but on my implementation when i run i2cdetect , i find it on 0x7c. Is this correct?

Labels (1)
Tags (1)
0 Kudos
Reply
14 Replies

5,209 Views
gottfriedwutzl
Contributor II

Hello,

I have the same Problem, but actually using only the PN7150 on that I2C bus. Address 0x48 is used by a cmera driver but camera is not connected.

ADR0, ADR1 is connected to low. Thus PN7150 should be displayed on 0x28.

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --

Best regards,

Gottfried

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

This does not seem to be a normal functionality of the I2C address being managed by 2CADR1 and I2CADR0. May I ask if you are working with the development kit? https://www.nxp.com/products/identification-security/rfid/nfc-hf/nfc-readers/development-kits-for-pn...

Thank you.

Best regards,

Ivan.

0 Kudos
Reply

5,209 Views
gottfriedwutzl
Contributor II

Just tested.

Same behavior with our processor board and eval bord for RFID and also the same behavior with raspberry PI and eval board. Only address 0x7c available.

regards,

Gottfried

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hi,

Please see below response from internal expert:

There is no way to set the PN7150 I2C address other than 0x28, 0x29, 0x2a or 0x2b (7 bits address as it should appear in i2cdetect tool) depending to PN7150 I2CADR0 and I2CADR1 pins level. This is confirmed by HW design.

 

To my mind, address 0x7C reported in i2cdetect tool doesn't relates to PN7150 but rather to another device connected on this BUS.

 

Pay attention that PN7150 will not acknowledge its I2C address (not seen on i2cdetect tool) until VEN pin is set to HIGH level. So make sure to properly drive it by GPIO or connect it directly to 3.3V level.

Hope this helps!

Best regards,

Ivan.

0 Kudos
Reply

5,209 Views
gottfriedwutzl
Contributor II

Hi Ivan,

thanks for help.

I think, PN7150 is in standby mode after turning on the supply end putting VEN to high level. PN7150 does not answer a single query.

root@ors:~# i2cdetect -y -a 0; i2cdetect -y -a 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- 28 -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --

As I have already mentioned above, only the PN7150 is connected to this I2C bus. Acknowledge on address 0x7c is only available if 0x28 is also tested.

root@ors:~# i2cdetect -y -a 0 0x40 0x7f; i2cdetect -y -a 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30:
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --

That's a strange behavior, but I can live with it.

best regards,

Gottfried

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

You are welcome, maybe it is something with the tool. It is not possible to get other addresses different than the ones mentioned above by internal apps team.

Hope you have a nice day! :-)

Best regards,

Ivan.

0 Kudos
Reply

4,263 Views
don_gunn
Contributor V

@IvanRuiz ,

I am seeing the same thing.  PN7150 is showing up at address 7C.  There is no doubt that it is the PN7150 as when I toggle the enable pin the device at 7C appears and disappears:

 

root@imx8mpddr4evk:~# i2cdetect -a -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
root@imx8mpddr4evk:~# gpioset gpiochip3 0=0
root@imx8mpddr4evk:~# i2cdetect -a -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --
root@imx8mpddr4evk:~# gpioset gpiochip3 0=1
root@imx8mpddr4evk:~# i2cdetect -a -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
root@imx8mpddr4evk:~#

 

I have the I2CADR0 pin pulled down with a 10k and I2CADR1 tied to ground.

 

There are a number of people that are seeing the same behaviour at the same I2C address so I don't think this is a coincidence.

Any information that you can provide would be helpful.

 

Don

0 Kudos
Reply

3,067 Views
mystx
Contributor I

@don_gunndid you figure this out? I have the same issue.

0 Kudos
Reply

5,209 Views
gottfriedwutzl
Contributor II

Hello Ivan,

I'm working with our own processor board and our own RFID board.

Best regards,

Gottfried

0 Kudos
Reply

5,209 Views
ssavvas
Contributor I

Hello, I use "i2cdetect -a 0" to scan i2c bus. Yes i have other devices connected at i2c bus,as a mater of fact i also have NXP's A71CH and is recognized correctly at 0x49. Respectively on address 0x40, 0x50 are Silicon Labs' Si70xx and TI's ADC081C. Also i verify that on pins 28,29,30 there is 1V8.

Output of i2cdetect

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: UU -- -- -- -- -- -- -- -- 49 -- -- -- -- -- --
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- 7c -- -- --

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

Since many slaves are in the bus, I would suggest to connect directly to the PN7150 on the I2C bus and try to make a write/read operation to the addresses mentioned above according to I2CADR1 and I2CADR0.

Best regards,

Ivan.

0 Kudos
Reply

5,209 Views
ssavvas
Contributor I

Hello Ivan,

thanks for your answer. On my setup both addresses are high with pull up resistors so i whould expect address 0x56, 0x57. So its not differenece only on the last digit, but i find it on a totaly different address 0x7c.

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

Do you have other devices connected to the I2C bus? and how are you doing to detect it on address 0x7C?

Thank you.

Best regards,

Ivan.

0 Kudos
Reply

5,209 Views
IvanRuiz
NXP Employee
NXP Employee

Hello,

The I2C address is defined by I2CADR1 and I2CADR0, please verify the state of these pins. Depending on their value, they may take the following addresses:

pastedImage_2.png

Importantly! The I2C Address will change depending if reading or writing (least significant bit).

Hope this helps.

Best regards,

Ivan.

0 Kudos
Reply