CLRC663 NFC Reader Library

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

CLRC663 NFC Reader Library

5,228 Views
1299457179
Contributor II

666666.png

CLRC663 hardware connection mode is SPI 

88888888.png

The code in the red box as shown in the figure has encountered a problem.
The code provided by NXP.Hello, the problem is this: the original solution
was STM32+RC663. All functions are normal.
Now it is changed to the solution of CC2640+RC663, which can be used as a
card reader to read data of a TAG and write data to the tag. There is a
problem with calling the activation card function:

       / / activate card function
       status = phpalSli15693_ActivateCard(&palSli, bOption, bFlags,
                                                                    bAfi, pMask, bMaskLength,
                                                                    &bDsfid, pUid, &bMoreCardsAvaliable);

Every time this function is called, CC2640 (Microcontrollers) will crash, it doesn’t work.
If this function of the activation card is blocked, there will be no problem.
because the UID of the tag must be obtained by activating this function of the card,
this function of the activation card directly calls the code of NXP,  I don't know how

to solve this problem.              

1.Find only the script in serial mode, and want the simple operation register in SPI mode

to get the reference code of UID.

2. Want to know if NXP has a simple protocol command document for registers, so you

can write your own code to get the UID of the tag.
3, whether this activation function takes up memory and has a large array, causing the
Microcontrollers(CC2640) to crash, or it can be solved by modifying the code in this function.
Look forward to your reply.

每次调用这个函数就会导致CC2640(单片机)死机,屏蔽掉这个激活卡的函数,
就没有问题,但是必须通过激活卡这个函数,来获取标签的UID,因为这个激
活卡的函数是直接调用NXP的代码,所以现在不知道这块可能需要怎么解决。
1,只找到串口通信方式的脚本,想要SPI方式的简单操作寄存器来获取UID的参考代码。

2,想知道NXP有没有寄存器的简单的协议命令文档,这样可以自己写代码,
来获取标签的UID。

3,这个激活函数是不是占用了内存,有大数组之内的,
导致单片机死机,或者就在这个函数里面修改代码能解决。

16 Replies

4,104 Views
1299457179
Contributor II

您好:

简单来说,现在的硬件是SPI模式的,需要在SPI模式下的,寄存器直接操作的方式,来获取UID。

RS232的脚本以前使用过,脚本文件,已经看过了。有没有SPI模式下的,直接操作寄存器的方式,

来获取UID,以及读取和写入数据的例子。

期待你的回复。

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

The SPI and RS232 are just host interfaces which can be selected by the pins of IFSEL0 and IFSEL1, so it doesn't affect the register settings, you may still use the same process like what you have done.

Hope that makes sense,


Have a great day,
Kan

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

4,104 Views
1299457179
Contributor II

RS232模式下操作寄存器和SPI模式下操作寄存器,不是一样的。我们当做一样的处理,完全不行。查看RC663库函数的代码,发现了如下的区别。

pastedImage_3.png

按照这个区别,我们修改了代码,在SPI模式下,直接操作寄存器,如下图所以。目前只能打出场,也获取不到标签的UID。

pastedImage_4.png

现在不知道如何做了。有没有正确的在SPI模式下的,直接操作寄存器的方法来读取15693协议标签的UID和读写指定地址数据。

期待你的回答。

0 Kudos

4,104 Views
592646690
Contributor I

请问,后来解决了么?如果解决了,是如何解决的呢?

0 Kudos

4,104 Views
1299457179
Contributor II

Thank you for your reply.

I will try to write code and experiment.

0 Kudos

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

We have script files working with CLRC663 based on PC serial tool, and there is an example for ISO15693, please kindly refer to https://www.nxp.com/downloads/en/software/210910.zip  for details.

pastedImage_2.png

Hope that helps,


Have a great day,
Kan

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

4,104 Views
1299457179
Contributor II

Thank you for your reply

Now the activation function is not working properly, other normal.
Data can be written and read by SPI normally.
So I don't know what to do now.
Because the RC663 library is transplanted on CC2640 and the development environment compiles the code.
There was no prompt for insufficient SRAM.
So I'm not sure if CC2640 (microcontroller) is running out of SRAM.
In addition, I need SPI mode, directly using registers to write code.
So you don't need too much SRAM. The script in RS232 mode is not applicable.
It should be noted that, as shown in the figure, the tag can be read normally by removing the part of the activation function.
Data, and write data to labels. But you can't get the UID of the tag.

Look forward to your reply.

pastedImage_1.png

0 Kudos

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

If the same code can run on your original solution, the problem should not be in the software, I think the difference between STM32 and CC2640 is the root cause if you only replace STM32 with CC2640 in the hardware.


Have a great day,
Kan

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

4,104 Views
1299457179
Contributor II

The RAM sizes of STM32 and CC2640 are both 20KB.
Under the STM32 project, the compiler shows that the RAM used is 2.5KB.
Under the CC2640 project, the compiler shows that the RAM used is 9.5KB.
How much RAM does RC663 need?

Look forward to your reply.

0 Kudos

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Actually it depends on the compiler and optimization level. Did you use the highest optimization? What is the IDE tool you use? Is it MCUXpresso? Please clarify.

Have a great day,
Kan

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

4,104 Views
1299457179
Contributor II

We used the highest level of optimization, and the development environment was IAR. 

0 Kudos

4,104 Views
1299457179
Contributor II

In SPI mode, the UID of the label is obtained by directly manipulating the register.
Is there a reference in SPI mode?

Look forward to your reply.

0 Kudos

4,104 Views
1299457179
Contributor II

If it is caused by the difference between STM32 and CC2640.
Now we need to solve how to get the UID. We want to get the UID by directly manipulating the registers. Is there any reference in SPI mode?

0 Kudos

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Did you ever download the script file I mentioned above? It is just the reference you are looking for. Please refer to the following for details.

pastedImage_2.png

Have a great day,
Kan

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

4,104 Views
1299457179
Contributor II

Previously, scripts were used in RS232 mode. 

pastedImage_1.png

pastedImage_2.png

Now, we need the way registers operate in SPI mode. 

0 Kudos

4,104 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi,

CC2640 has not been supported by the latest NFC reader library, so I think it should be some porting issue, maybe due to the memory resource is not enough to run the library. For LPC1769, it has 64KSRAM, but CC2640 seems just has 28K. That might be the root cause.


Have a great day,
Kan

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos