PN7160: Abnormal output TX waveform

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

PN7160: Abnormal output TX waveform

Jump to solution
250 Views
raghib
Contributor I

Hello,

I'm having trouble getting the PN7160 to produce a valid RF field when transmitting. I'm trying to set up the chip to work as a tag reader by sending NCI commands directly over I2C, as my system is baremetal. I am using an external 32MHz clock source, and I am also using an external 5.4V supply connected to VDD(UP), with no connection to DCDC_EN on the PN7160.

This is the sequence of commands I am sending, and their responses: 

CORE_RESET_CMD

W: [20, 00, 01, 01]  

R: [40, 00, 01, 00]

R: [60, 00, 09, 02, 01, 20, 04, 04, 61, 12, 50, 05]

CORE_INIT_CMD

W: [20, 01, 00] 

R: [40, 01, 1e, 00, 1a, 7e, 06, 02, 01, d0, 02, ff, ff, 01, ff, 00, 08, 00, 00, 01, 00, 02, 00, 03, 00, 80, 00, 82, 00, 83, 00, 84, 00]

CORE_SET_POWER_MODE_CMD (disable standby)

W: [2f, 00, 01, 00] 

R: [4f, 00, 01, 00]

CORE_SET_CONFIG_CMD (TOTAL_DURATION)

W: [20, 02, 05, 01, 00, 02, fe, 01] 

R: [40, 02, 02, 00, 00]

CORE_SET_CONFIG_CMD (TAG_DETECTOR_CFG, CLOCK_SEL_CFG, PLL_SETTING, DPLL_SETTING, CLOCK_TO_CFG)

W: [20, 02, 23, 05,

a0, 40, 01, 00,

a0, 03, 01, 00,

a0, 20, 08, 82, a3, 51, b8, 02, f0, f1, 88,

a0, 26, 08, 82, a3, 01, b0, 02, e2, 01, 88,

a0, 04, 01, 01] 

R: [40, 02, 02, 00, 00]

CORE_SET_CONFIG_CMD (PMU_CFG)

W: [20, 02, 0f, 01, a0, 0e, 0b, 11, 01, 02, 02, 00, 00, 1e, ff, 00, 10, 0c]

R: [40, 02, 02, 00, 00]

CORE_RESET_CMD

W: [20, 00, 01, 01]

R: [40, 00, 01, 00]

R: [60, 00, 09, 02, 01, 20, 04, 04, 61, 12, 50, 05]

CORE_INIT_CMD

W:  [20, 01, 00]

R: [40, 01, 1e, 00, 1a, 7e, 06, 02, 01, d0, 02, ff, ff, 01, ff, 00, 08, 00, 00, 01, 00, 02, 00, 03, 00, 80, 00, 82, 00, 83, 00, 84, 00]

NCI_PROPRIETARY_ACT_CMD

W: [2f, 02, 00]

R: [4f, 02, 05, 00, 00, 01, aa, dd]

RF_DISCOVER_MAP_CMD

W: [21, 00, 04, 01, 02, 01, 01]

R: [41, 00, 01, 00]

CORE_SET_CONFIG_CMD (PA_BAIL_OUT, RF_FIELD_INFO)

W: [20, 02, 06, 02, 08, 00, 80, 01, 01]

R: [40, 02, 02, 00, 00]

RF_DISCOVER_CMD

W: [21, 03, 03, 01, 00, 01]

R: [41, 03, 01, 00]

CORE_GENERIC_ERROR_NTF (DISCOVERY_TARGET_ACTIVATION_FAILED)

R: [60, 07, 01, a1]

That same CORE_GENERIC_ERROR_NTF is continuously sent after starting discovery, and the reader is unable to activate tags passed by the antenna. After troubleshooting the the clock hardware, we probed the TX path before the first inductor in the matching circuit to see if there was at least a carrier being generated. We found that there's a square waveform with a frequency between ~4-6 MHz.

This is one test, where we saw a 5.07MHz wave:

6ed6450025d288f39e93dc050e63782_720.jpg

This is another test, where we saw 4.42MHz:

img_20240327_124104_720.jpg

I'm sure there's something wrong in the settings I'm writing to the chip, but I can't seem to figure it out. Could someone please take a look at this and let me know if I'm missing something? Thank you.

Raghib

0 Kudos
1 Solution
201 Views
raghib
Contributor I

Hi Daniel, 

I found the problem: my settings for PLL_SETTING and DPLL_SETTING were incorrect. I was entering them in big-endian order (e.g. for 32MHz, sending 0x82 first). After changing this to little-endian (e.g. for 32MHz, sending 0x88 first) I got the expected TX waveform out.

Regards,

Raghib 

View solution in original post

0 Kudos
2 Replies
214 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi @raghib 

 

CORE_GENERIC_ERROR_NTF "6007A1" interrupts the presence check procedure.  This is usually observed when noise is catch on RF.  To limit this, RX sensitivity must be adapted to the customer integration.

For more details, please look into the PN7160 RF settings guide.

danielchen_0-1712033589362.png

 

The RX gain must be adjusted for each technology

danielchen_1-1712033655624.png

 

 

Regards

Daniel

0 Kudos
202 Views
raghib
Contributor I

Hi Daniel, 

I found the problem: my settings for PLL_SETTING and DPLL_SETTING were incorrect. I was entering them in big-endian order (e.g. for 32MHz, sending 0x82 first). After changing this to little-endian (e.g. for 32MHz, sending 0x88 first) I got the expected TX waveform out.

Regards,

Raghib 

0 Kudos