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.

DLP-RFID2 Basic Setup / UART protocol

Other Parts Discussed in Thread: DLP-7970ABP, TRF7970A, MSP430F2370

Hello everyone!

I have been working on a project using the DLP-7970ABP, and finally want to put my design onto a PCB, so I bought the DLP-RFID2. Using the DLP-7970ABP I write to the TRF7970 chip's registers through SPI, but upon receiving the DLP-RFID2 I noticed that it only does UART communication. That's totally fine with me, except I tried writing to the TRF7970's registers, but can't get any communication from the chip. I tried baud rates 9600, and 115200, but I get nothing from reading it. What baud rate does it operate on? Is the protocol for writing and reading a register the same? Please, any help would be greatly appreciated. DLP's documentation is very very poor. Thanks!

  • Hey devWarrior,

    The DLP-RFID2 module has a micro-controller built in that is driving the TRF7970A, and it's with this micro-controller that you can communicate with via UART.   

    There are a series of commands that are based off our original GUI.  It's described briefly on page 4 of DLP's datasheet and in further detail in section 6.1 of our original reference firmware guide.  You can't interface directly to the TRF7970A, so the software interface is going to be quite different.  

     

    Your other option is to just layout the TRF7970A  and circuitry directly on you board.  

    We have some examples TI Designs (see my signature) I can point you to, if you'd like to go this route.  

    Thanks,

    JD

  • Thanks! That makes a lot more sense. I would like to use the TRF7970A directly on my PCB, but the problem was that I don't know the physics of the antenna and exactly how to make that built into my PCB, so that's why I bought the RFID2. I thought it was just the smaller surface mount version of the DLP-7970ABP. Do you have any info/links on how to implement the TRF7970A directly on my board and specs on the antenna? Thanks a ton!
  • Hey devWarrior,

    Honestly, the antenna side isn't that difficult to layout, it's the tuning that's important.  This is done with some caps and resistors, and we can help you adjust/choose the right values.  I'll also reach out to Eddie, because I think we have an antenna guide.  

    We have this Reader TI design, which includes eagle layout and gerbers.  Maybe you can include this into your PCB.  

    You can use our EVM schematic as a reference, you can lay it out on your own board.  For the RF side, just use the exact values we have specified, to get you to the RF test point (50 ohm point).  Then you can just connect an external antenna or layout your own on the PCB.  

    For external antennas, Taoglas has several 50 ohm impedance antennas that can interface with the TRF7970a's 50 ohm point.

    Good luck!

    JD

  • the DLP-RFID2 has onboard antenna, too - so make sure you disconnect it before attempting to connect an external one up.
    see pages 9 & 10 here ==> www.dlpdesign.com/dlp-rfid2-ds-v113.pdf
  • Thanks again for your help! I found the reference guide very helpful, and I re-wrote my code to use the GUI provided. The only thing I can't seem to figure out is how to read bytes from the UART. I've read and written to a zigbee device through UART, but when I try reading the value of a register on the RFID2, I get no response. There's a section in DLP's datasheet that says,

    "If using a microcontroller as the host, interrupts must be used with the UART (115,200 baud, 8, N, 1) to capture data that is returned from the DLP-RFID2."

    I'm still a beginner at UART, but how do I get interrupts without an interrupt line? I understand that I need to use a 115200 baud rate, but what does the "8, N, 1" mean?

    Thanks again for helping a beginner!
  • UART for this is same as the MSP430F2370 code on our EVM.

    8N1 refers to eight (8) data bits, no (N) parity and one (1) stop bit
  • Sorry for so many questions, but I believe these are the last ones.

    For some reason, I can’t get correct data from the RFID2 when I write to a register and then read from it. According to DLP’s data sheet, if I want to write a value of 0x31 to register 0x09, I need to send this across the UART:

    010A0003041009310000

    But, the thing I can’t figure out is how the RFID2 is expecting the data to come across the UART. In their data sheet DLP says 01 = 0x01, 03 = 0x03, …. in other words those are hex values above. But then they have a small note below that says:

    Note that each character is sent as a binary value. For example, 0108000304FF0000 is sent to the RFID2 as 16 8-bit bytes: 0x30, 0x31, 0x30, 0x38, 0x30, etc...

    I tried sending the array of bytes both ways…..first sending them as the bytes they represent:
    tx(0x01)
    tx(0x0A)
    tx(0x00)
    tx(0x03)
    ........

    and second I tried splitting the byte, and sending the ascii value of each nibble like it shows in the note, but I can’t seem to read the correct value I stored in the register. Please help! Which way is it?

    Also….the data sheet mentions using baud rates 9600, and 115200, but doesn’t say which to use. Which baud rate does it expect me to use?

    Lastly, there is a reset pin (pin 3), but the data sheet doesn’t say if I need to reset the RFID2 at the beginning of my routine to initialize anything. Is the reset pin high or low enabled?

    Thanks again for all the help! I really appreciate it!