cancel
Showing results for 
Search instead for 
Did you mean: 

How to enable single ended mode and disable AAT for X-CUBE-NFC6?

william44
Associate

Hello,

I was wondering how to edit the analogConfigTbl_NFC08A1.c file in order to change the chip's operation from differential to single ended. I have looked at datasheets and it is very confusing what register-mask-value should be used to enable single ended operation for the antenna.

Also, how would I go about removing AAT from the chip's operation. Do I just delete the AAT entries in the analog configuration file?

 

Regards,

William

1 ACCEPTED SOLUTION

Accepted Solutions

Hi,

as a software guy I will immediately suspect the issue to be in your hardware! 

*JOKING OFF*: Did you follow the Antenna Matching guide? Have you verified your matching, smith chart, output power, etc... It can be due to so many things.

Also in our default demos, if you misdrive the differential antenna in single-ended mode you should still get considerable range. Meaning you can verify your software settings using our default demos.

If your software is then verified I think you will need to continue the hardware track...

Ulysses

View solution in original post

3 REPLIES 3
Ulysses HERNIOSUS
ST Employee

Hi William,

 

When not having varicaps it would be sufficient to just change the aat_en to 0. Additionally you can also remove the manual DAC settings. For using single ended (on RFO1/RFI1) you need to set the single bit. I performed the changes as below - untested, just to give you the idea.

BR, Ulysses

 

--- a/Projects/STM32L476RG-Nucleo/Applications/X-NUCLEO-NFC08A1/ap2p_proprietary/Src/analogConfigTbl_NFC08A1.c
+++ b/Projects/STM32L476RG-Nucleo/Applications/X-NUCLEO-NFC08A1/ap2p_proprietary/Src/analogConfigTbl_NFC08A1.c
@@ -344,10 +344,11 @@
 const uint8_t rfalAnalogConfigCustomSettings[] = {

     /* Mode Name: CHIP_INIT, Mode ID: 0x0000 */
-    MODE_ENTRY_20_REG(0x0000,
+    MODE_ENTRY_19_REG(0x0000,
         0x0000,0x07,0x07, /* User Defined ; Disable MCU_CLK */
+        0x0000,0x80,0x80, /* User Defined ; single=1 */
         0x0001,0x18,0x18, /* User Defined ; SPI Pull downs */
-        0x0001,0x20,0x20, /* User Defined ; Enable AAT */
+        0x0001,0x20,0x00, /* User Defined ; Disable AAT */
         0x0028,0x0f,0x00, /* RFO driver resistance Active transmission (d_res) : 1.00 ; Set RFO resistance Active Tx */
         0x006a,0x80,0x80, /* User Defined ; Use minimum non-overlap */
         0x002a,0x70,0x10, /* Activation Peer Detection Threshold (trg_lNa) ; Lower activation threshold (higher than deactivation) */
@@ -359,8 +360,6 @@ const uint8_t rfalAnalogConfigCustomSettings[] = {
         0x0008,0xf0,0x50, /* PCD to PICC FDT compensation (fdel) ; Adjust the FDT to be aligned with the bitgrid */
         0x0029,0xff,0x2f, /* User Defined ; Card Mode LMA */
         0x0045,0x40,0x40, /* User Defined ; Enable start on first 4 bits */
-        0x0026,0xff,0x40, /* User Defined ; Set Antenna Tuning (Poller) */
-        0x0027,0xff,0x58, /* User Defined ; Set Antenna Tuning (Poller) */
         0x0068,0x04,0x04, /* AWS regulator shaped AM mod (rgs_am) ; Enable new AWS */
         0x006e,0x01,0x01, /* AWS field transition shape (rgs_txonoff) : Enabled ; Use AWS for field transition */
         0x0068,0x80,0x80, /* User Defined ; Set am_mode */
@@ -368,9 +367,7 @@ const uint8_t rfalAnalogConfigCustomSettings[] = {
     ),

     /* Mode Name: POLL_COMMON, Mode ID: 0x0008 */
-    MODE_ENTRY_8_REG(0x0008,
-        0x0026,0xff,0x40, /* User Defined ; AAT Setting for R/W mode */
-        0x0027,0xff,0x58, /* User Defined ; AAT Setting for R/W mode */
+    MODE_ENTRY_6_REG(0x0008,
         0x0005,0x1e,0x00, /* Modulation Pulse Width (p_len) ; p_len set to default */
         0x0068,0x04,0x04, /* AWS regulator shaped AM mod (rgs_am) ; Enable AWS */
         0x0074,0x0f,0x01, /* User Defined ; tmodsw1 */
@@ -564,16 +561,12 @@ const uint8_t rfalAnalogConfigCustomSettings[] = {
     ),

     /* Mode Name: LISTEN_ON, Mode ID: 0x0006 */
-    MODE_ENTRY_3_REG(0x0006,
-        0x0026,0xff,0x00, /* User Defined ; Set Antenna Tuning (Listener) */
-        0x0027,0xff,0xff, /* User Defined ; Set Antenna Tuning (Listener) */
+    MODE_ENTRY_1_REG(0x0006,
         0x0068,0x04,0x00  /* AWS regulator shaped AM mod (rgs_am) : Disabled ; Disable AWS in Listen mode */
     ),

     /* Mode Name: LISTEN_AP2P_COMMON_TX, Mode ID: 0x8801 */
-    MODE_ENTRY_3_REG(0x8801,
-        0x0026,0xff,0x40, /* User Defined ; Set Antenna Tuning (Poller) */
-        0x0027,0xff,0x58, /* User Defined ; Set Antenna Tuning (Poller) */
+    MODE_ENTRY_1_REG(0x8801,
         0x0068,0x04,0x04  /* AWS regulator shaped AM mod (rgs_am) ; Enable AWS for AP2P */
     ),

 

william44
Associate

Thanks for the reply. I made these changes and various tags still aren't being detected by my custom reader. The only difference between my design and the X-NUCLEO-NFC08A1 design is that my design uses a single ended antenna through a cable so I'm confused as to why it doesn't work. 

Hi,

as a software guy I will immediately suspect the issue to be in your hardware! 

*JOKING OFF*: Did you follow the Antenna Matching guide? Have you verified your matching, smith chart, output power, etc... It can be due to so many things.

Also in our default demos, if you misdrive the differential antenna in single-ended mode you should still get considerable range. Meaning you can verify your software settings using our default demos.

If your software is then verified I think you will need to continue the hardware track...

Ulysses