RFID module timing diagram question

Status
Not open for further replies.

ssylee

New Member
I have a question regarding figure 1 in the pdf that I have attached. I have a confusion on what I should set t_ch to be. According to page 14, I have to set it at least 15 ms before toggling TXCT pin back to high, while delaying 3 ms for the delay between end of charge and start of transponder data Tx on SCIO.
 

Attachments

  • tms3705a.pdf
    251.7 KB · Views: 326
That looks correct to me, although according to the timing diagrams you need to add in the Mode Control Write time if you didn't transmit a byte, and TxCT should go high before the 3ms tR wait.
 
My TxCT pin is high before the 3ms tR wait. For the mode control write, are you referring to Figure 3? I'm trying to implement the simplest operation of the reader module, which is Figure 1. From looking at the outputs with an oscilloscope, I am receiving the diagnosis byte, but not the rest.
 
Sounds like you're halfway there, you're getting the diagnostic byte. Does it read AF or FF on the scope?
 
I'm not sure if it reads AF or FF. I'm reading the byte in asynchronous mode right now, which is Figure 6. I think you're implying that I should read both diagnosis and the data bytes, which implies that I should be using the synchronous mode. I just have the interrupt connected to TxCT. Once the interrupt is triggered, then I get ready to read the data bytes. How would you suggest me to read the diagnosis byte as a first start otherwise?
 
I'm implying that maybe the antenna isn't working. That's what the diagnosis byte is for, and would explain the lack of data.

You can actually read it on a scope, an "AF" will have a series of four up-down transitions for the "A" that the "F" won't have.
 
The thing is I don't even know if I'm reading the byte properly. For the diagnosis byte, I'm reading a 7. For the data byte, I'm reading 0xFE, which implies that the real case is reading 0xFF. I checked the output on the microcontroller in the debug mode, but haven't checked on the oscilloscope other than there is no transition between high and low. So that should imply that the diagnosis byte is 0xFF.
 
It doesn't transmit a 7 for diagnosis... could be the logic is inverted, the SCIO data is inverted from the transponder, and an upside down "AF" might read as a "7".

Or maybe the timing is off - it has a fixed 15,625 baud rate, one start bit, one stop bit, no parity. Got your com port set to read it that way?
 
It could be b/c my timing was off. I can check what the module chip outputs on the oscilloscope. Are you suggesting that I use the microcontroller's built-in baud rate features to read the bits?
 
Didn't you set the baud rate and stop bit registers for the UART in the microcontroller? You need to do that.
 
I didn't set the baud rate and the stop bit registers (or anything) for the UART in the microcontroller. Thanks for pointing that out. I would look into that on my microcontroller's datasheet.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…