cancel
Showing results for 
Search instead for 
Did you mean: 

Framing error when attempting fast-read-mailbox-dynamic-control

TimLong
Associate II

Dear all,

I'm attempting to use fast transfer mode with a ST25RDV04K type 5 tag and the STEVAL board for 3916B. I know this theoretically works because I have some Java code that is able to do it successfully, but I'm porting the code and I keep running into this issue and I can't see wht.

I've enabled mailbox mode;

I've send the mailbox message;

I'm trying to check the mailbox control register to see if the remote device has posted a response. I'm using the iso15693TxRxNBytes() call with the Fast Read Dynamic Configuration command, register 0D (Mailbox Control Dynamic). This operation appears to not receive any data and results in the FramingError error code.

I would appreciate any suggestions. Here's my diagnostic log:

NFC|INFO |                | Waiting for beacon...
NFC|INFO |                | Got beacon UID=[E0,02,24,01,F6,05,84,8F] BlockSize=4 Blocks=128 TotalMemory=512 Flags=0000111b 0Fx 15d
NFC|INFO |                | Mailbox/"ConnectState".OnEnter
NFC|DEBUG|                | Starting Ocean Protocol transaction: "&00:<CR><LF>"
NFC|INFO |                | Mailbox/"ConnectState".Run
NFC|TRACE|                | Present password {passwordNumber} as 0000000b 00x 0d
NFC|TRACE|                | Transceive 20 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: NoError
NFC|DEBUG|                | NFC Transceive "[20]: 22 b3 02 8f 84 05 f6 01 24 02 e0 00 00 00 00 00 00 00 00 00" <=> "[3]: 00 78 f0"
NFC|DEBUG|                | Disable Mailbox Mode
NFC|TRACE|                | Disable Mailbox
NFC|TRACE|                | Write Dynamic Config 0000110b 0Dx 13d
NFC|TRACE|                | Transceive 13 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: NoError
NFC|DEBUG|                | NFC Transceive "[13]: 22 ae 02 8f 84 05 f6 01 24 02 e0 0d 00" <=> "[3]: 00 78 f0"
NFC|DEBUG|                | Enable Mailbox Mode
NFC|TRACE|                | Enable Mailbox
NFC|TRACE|                | Write Dynamic Config 0000110b 0Dx 13d
NFC|TRACE|                | Transceive 13 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: NoError
NFC|DEBUG|                | NFC Transceive "[13]: 22 ae 02 8f 84 05 f6 01 24 02 e0 0d 01" <=> "[3]: 00 78 f0"
NFC|TRACE|                | Read Mailbox Control
NFC|TRACE|                | Read Dynamic Config 0000110b 0Dx 13d
NFC|TRACE|                | Transceive 12 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: NoError
NFC|DEBUG|                | NFC Transceive "[12]: 22 ad 02 8f 84 05 f6 01 24 02 e0 0d" <=> "[4]: 00 01 ce 1e"
NFC|INFO |                | NFC Entered mailbox mode
NFC|INFO |                | Mailbox/"ConnectState".OnExit
NFC|INFO |                | Mailbox/"ReadyState".OnEnter
NFC|INFO |                | Mailbox/"ReadyState".Run
NFC|INFO |                | Mailbox/"ReadyState".BeginMailboxExchange: "[11]: 03 00 00 00 06 26 30 30 3a 0d 0a"
NFC|TRACE|                | Write Mailbox Message "[11]: 03 00 00 00 06 26 30 30 3a 0d 0a"
NFC|TRACE|                | Transceive 23 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: NoError
NFC|DEBUG|                | NFC Transceive "[23]: 22 aa 02 8f 84 05 f6 01 24 02 e0 0a 03 00 00 00 06 26 30 30 3a 0d 0a" <=> "[3]: 00 78 f0"
NFC|INFO |                | Mailbox/"ReadyState".OnExit
NFC|INFO |                | Mailbox/"ReceiveCrcState".OnEnter
NFC|INFO |                | Mailbox/"ReceiveCrcState".Run
NFC|TRACE|                | Fast Read Mailbox Control
NFC|TRACE|                | Fast Read Dynamic Config 0000110b 0Dx 13d
NFC|TRACE|                | Transceive 12 bytes, timeout 1000
NFC|TRACE|                | Transceive error code: FramingError
NFC|DEBUG|                | NFC Transceive "[12]: 22 cd 02 8f 84 05 f6 01 24 02 e0 0d" <=> "[0]:"
NFC|ERROR|                | NFC error: "NFC: framing error"
1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi

Fast Commands reply at 53kbps (vs. 26kbps for normal commands). Therefore, the Rx bitrate needs to be configured to 53kbps before issuing the iso15693TxRxNBytes(). rfalSetBitrate can be used with RFAL_BR_KEEP for the txRate and RFAL_BR_52p97 for the rxRate.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
Brian TIDAL
ST Employee

Hi

Fast Commands reply at 53kbps (vs. 26kbps for normal commands). Therefore, the Rx bitrate needs to be configured to 53kbps before issuing the iso15693TxRxNBytes(). rfalSetBitrate can be used with RFAL_BR_KEEP for the txRate and RFAL_BR_52p97 for the rxRate.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

That did it - thank you Brian 👍