This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TRF7970EVM GUI transmision code

Other Parts Discussed in Thread: TRF7970A, MSP430F2370

Hi, Anyone who knows TRF7970A well,

I'm looking at GUI behavier, how it works.

When I place the button of "Set protocol" in the 14443A tab with Anticollision and full power selected, the GUI transmits several commands to EVM.

Among the commands, I wonder what following code transmitted from GUI to EVM works for TRF7970A.

 --> 01090003040AFF0000

If anyone knows what this host comannds does, please let me know.

 

Thank you,

Masahiro

  • Masahiro - 

    if you have a look in host.c, when this string is sent from the host (PC) to the EVM MCU (MSP430F2370) it kicks it out of the standalone mode.

    case 0xFF: // check COM port number
    phello = "TRF7970A EVM \r\n";
    UartSendCString(phello);
    break;

    you can also see this described graphically in the FW flow ==> page 5 ==> http://www.ti.com/litv/pdf/sloa157 

  • Josh,

    Thank you for your response.

    I have already looked at host.c and known the buffer switch code you gave me.

    I was thinking the code for case 0xFF is corresponding to "0108000304FF0000" sent from GUI when it starts up.

    And Felica and 14443B transmit similar code "01090003040BFF0000" when "Set protocol" is selected as 14443A Set protocol transmits "01090003040AFF0000".

     

    Start-up code transmitted brfore COM port is found: 0108000304FF0000

    and

    Code sent out at Set protocol: 01090003040BFF0000, 01090003040AFF0000

    are almost same which makes EVM into Remote mode: although code in Set protocol has the command "0A" or "0B" brefore "FF"?

     

    Thank you

    Masahiro

  • Hey Masahiro,

    Could you possible just copy and paste what your seeing in the log window of the GUI and maybe also attach a screen capture of the GUI?  I want to see exactly when this command it being sent and what responses your getting.

    Thanks,

    JD 

  • Hi, J.D.,

    Thank you for stopping by my question.

    Here is the refid log that is created by my GUI.

    09:41:44.796	COM12
    09:41:44.796	COM11
    09:41:44.806	COM10
    09:41:44.806	COM9
    09:41:44.806	COM8
    09:41:44.806	COM7
    09:41:44.806	COM6
    09:41:44.806	COM5
    09:41:44.806	COM4
    09:41:44.899	--> 0108000304FF0000
    09:41:44.912	<-- 0108000304FF0000
    09:41:44.944	COM3
    09:41:44.974	--> 0108000304FF0000
    09:41:47.084	*** Read TIMEOUT ***
    09:41:47.124	COM2
    09:41:47.134	--> 0108000304FF0000
    09:41:47.164	<-- D
    
    TRF7970A EVM 
    
    
    09:41:47.264	**** COM Port found! ****
    09:41:58.024	--> 010A0003041001210000
    09:41:58.024	COM2
    09:41:58.174	<-- 10A0003041001210000
    
    Register write request.
    
    
    09:41:58.174	--> 01090003040AFF0000
    09:41:58.294	--> 010C00030410002101090000
    09:41:58.294	COM2
    09:41:58.424	<-- 010C00030410002101090000
    
    Register write request.
    
    
    09:41:58.424	--> 0109000304F0000000
    09:41:58.544	<-- 0109000304F0000000
    
    
    09:41:58.544	--> 0109000304F1FF0000
    09:41:58.664	<-- 0109000304F1FF0000
    
    
    09:42:26.344	--> 010A0003041000010000
    09:42:26.474	<-- 010A0003041000010000
    
    Register write request.
    
    
    09:42:27.824	--> 010A0003041001210000
    09:42:27.944	<-- 010A0003041001210000
    
    Register write request.
    
    
    09:42:27.944	--> 01090003040BFF0000
    09:42:28.044	--> 010C000304100021011A0000
    09:42:28.044	COM2
    09:42:28.184	<-- 010C000304100021011A0000
    
    Register write request.
    
    
    09:42:28.184	--> 0109000304F0000000
    09:42:28.314	<-- 0109000304F0000000
    
    
    09:42:28.314	--> 0109000304F1FF0000
    09:42:28.434	<-- 0109000304F1FF0000
    
    
    09:54:18.192	--> 010A0003041001210000
    09:54:18.332	<-- 010A0003041001210000
    
    Register write request.
    
    
    09:54:18.342	--> 01090003040AFF0000
    09:54:18.452	--> 010C00030410002101090000
    09:54:18.462	COM2
    09:54:18.602	<-- 010C00030410002101090000
    
    Register write request.
    
    
    09:54:18.612	--> 0109000304F0000000
    09:54:18.732	<-- 0109000304F0000000
    
    
    09:54:18.742	--> 0109000304F1FF0000
    09:54:18.872	<-- 0109000304F1FF0000
    
    
    10:03:57.464	--> 010A0003041000010000
    10:03:57.604	<-- 010A0003041000010000
    
    Register write request.
    
    
    10:03:59.404	--> 010A0003041001210000
    10:03:59.534	<-- 010A0003041001210000
    
    Register write request.
    
    
    10:03:59.544	--> 01090003040BFF0000
    10:03:59.674	--> 010C000304100021011A0000
    10:03:59.684	COM2
    10:03:59.824	<-- 010C000304100021011A0000
    
    Register write request.
    
    
    10:03:59.834	--> 0109000304F0000000
    10:03:59.964	<-- 0109000304F0000000
    
    
    10:03:59.974	--> 0109000304F1FF0000
    10:04:00.114	<-- 0109000304F1FF0000
    
    
    

    And these are screenshots of my GUI.

    If I need anything to prepare for to get more critical advice from you, please let me know.

    Thank you a lot.

    Masahiro

  • Hey Masahiro,

    Thanks for the addition information and here is the short answer.  I looked into this further, and these comands don't actually do anything (and in this case they can be ignored).  The EVM should send back a "Unknown Command" but I suspect some there might be timing reasons for why this is not happening.  There are 2 commands to ignore:

    01090003040AFF0000
    01090003040BFF0000

    I'm not exactly sure what the GUI was trying to accomplish by sending these out.  This GUI has been know to be a little buggy and we're currently looking at paths of re-working and fixing the GUI.  In the mean time, here is a windows 7 version of the GUI (attached) that does not send out these commands.     

     

    Also I just wanted to highlight the packet structure a little bit, to help your understanding and how it flows through the MSP430 Firmware loaded on the EVM.   

    Packet: 010A0003041001210000  ;  Orange = Packet Length     Blue = Data

     

    Let me know if this helps or if you have any further questions.

    Thanks,

    JD

    Win7_GUI_.zip
  • Thank you a lot, J.D..

    Your advise is so nice for my understanding regarding EVM GUI.

    I have one more question about code transimitted from GUI at NFC tab.

    My question is on the code marked above.

    As my understanding,

     0115000304|D4|0DD4|0C|0123456789ABCDEF01230000

    Amber = host command setting EVM in NFC mode(host.c), Yellow = NFC command: EVM set as Target(nfc.c), Aqua = Data/ this case: UID

    I think this is correct.

    However, there are 2 bytes "0DD4" between commands D4 and 0C.

    What these 2 bytes affect in the sample C code?

    Thank you,

    Masahiro

  • Hey Masahiro,

    You are correct, that 0DD4 is ignored and it doesn't have an effect in the Firmware. 

    The Firmware currently takes some minor shortcuts instead of flowing exactly like the spec.  I suspect that the "0DD4" can be assumed in our setup and therefore the firmware just jumps over 3 bytes for the "0C".

    Hope this helps!

    Thanks,

    JD  

  • Dear J.D:

    Your released .exe can work fine.
    Would you like to share us your modified source code ?

  • Hey Richard,

    Attached should be the Visual Studio source files you were requesting.   

    If you find and/or fix any issues, please post updates to the forums!

    Thanks!

    JD

    TI_GUI_TRF7970A_Win7_VisualStudio2008.zip