problem RFID-EM4095-EM4100

Go To Last Post
13 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi there,

I am on the design state of a project uses the EM4095 ic and EM4100 cards. My problem is that reading data from the card I see that each bit from DEMOD_OUT is level inverted. I cannot explain this.
As the datasheet says each 64 bit fram starts with 9 logic ones and each logic '1' consists of 1/2 logic '0' and 1/2 logic '1', with the logic '0' comes fefore.
Waiting 9 logic '1' the loop is infinit, but 9 logic '0' it always valid. In theory there can't be 9 logic '0' in series in this type of card.

That's why it seems that manchester coded data are inverted.

Do you have any idea??

Michael.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I did something more. By saying that it is true that data are coming polarity inverted, I check the lines and columns parity bits. The result tells me that data incoming data are inverted.

I could finish the project just saying that Ok, finaly the data come polarity inverted and the datasheet is wrong. But this is wrong and dangerous, because I don't know why is this hapens???????

Does anybody have any IIIIIIIIDDDDDDDDEEEEEEEEAAAAAAAA???

Thanks for your time.

Michael.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There is a FAQ sheet from EM marin includes exactly my question (question number 5):
http://www.emmicroelectronic.com...

For this problem EM marin refer me to another data sheet:
http://www.emmicroelectronic.com...

I cannot find an answer to my question.

I am sure that my cards send their data in manchester format, because after reading them, by saying that bits are polarity inverted (for an unknown reason), the result is valid (after checking lines and columns parity bits).

What can I do??????

Michael.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We didn't solve the problem yet. There are 2 weeks now, we asked EM marin for a help on our problem there is no reply neither after a remind.

If anybody have an idea it is greatfully accepted.

Michael.

Michael.

User of:
IAR Embedded Workbench C/C++ Compiler
Altium Designer

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

is it solved finally after than 6 years ??lol

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi!
I have the same problem with the inverted output bit from EM4095, what was your solution?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello there, glad to see I'm not the only one facing this issue.

 

I've spot another curious thing while playing with a logic analyzer. When a card is presented to the reader for the first time, a few communication frames are sent normally, but then magic happens and output is inverted for the rest of the communication.

 

I don't have another RFID reader to test what the truck, so I think we (EM4095 users) should adapt our software to detect inverted communication as well.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can you post a schematic of your reader and connections to the AVR and a link to the EM4095 datasheet?

 

Jim

 

 

 

(Possum Lodge oath) Quando omni flunkus, moritati.

"I thought growing old would take longer"

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hitag does the same thing. I'd suggest going to HF tags as 125kHz is old skool and the likes of MiFare have a degree of encryption.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

 

I am working with EM4095. I want to use it as a transmitter. How can we send data from Arduino to EM4095 ? Can you please help ? 

MOD ? SHD ? 

 

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Waking up more old threads:

 

https://www.avrfreaks.net/commen...

 

hunaid3 wrote:
I am working with EM4095.

Have you found its datasheet?

 

Have you checked the manufacturer's website for application notes, examples, etc?

 

As it's Arduino, have you searched for existing libraries?

 

Github is a good place to search when trying to find source code ...

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you found its datasheet?

Yes, but there is not much information on how to write the data on 125kHz 

 

As it's Arduino, have you searched for existing libraries?

I have found some, but not usefull, all talk about reading RFID and NOT writing.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

https://www.emmicroelectronic.co...

 

When you say 'write the data' do you mean in such a way as to write data to a programmable remote (but in close range) chip?

 

Reading the datasheet (actually, the app note, which has a lot more info in it), it looks as if what is sent to the chip is what is sent as a binary signal on MOD from the processor. You need to ensure that the signal you are sending matches *exactly* the protocol expected by the receiving chip - or it won't do anything. You also need to make sure the data is in a suitable format; the most common formats are usually some variation on Manchester or biphase mark encoding.

 

When you're receiving data, all the chip is doing, once it's recovered sufficient power from the EM field, is putting a short across a tuned circuit. That changes the impedance into which the activating signal is driving and results in a few millivolts of signal superimposed on the 125kHz 130v antenna drive - which is what is filtered off and demodulated to provide the output to the processor. Again, what gets demodulated is down to the spec of the chip, not the decoder; the decoder is just looking for those tiny changes and converting them to the output signal.

 

http://priority1design.com.au/t5... gives a brief explanation of how to program programmable chips (the T5577 seems common) and I recall seeing a more exhaustive discussion in a Microchip application note which I can't currently find.

 

I usually work (day job) with FDX-B, FDX-A, Trovan, and CollarTag encoded signals - which work at slightly different frequencies and have significantly different encodings - though (I don't have the datasheets to hand, so working from memory here) they pull some clever tricks... some use a constant number of cycles of the carrier to mark their bit length, but some change the bit length depending on the carrier strength. Some (e.g. collar tag) have much stronger signals than an internal FDXA or B tag. All use Manchester or biphase mark encoding, I think, but we have to do a lot of clever (and patented!) tricks to get the range we do... well over 50cm for a collar tag and nearly 40cm for FDXB.

 

As a comparison, our company door tags require the tag to be in contact with the reader for several seconds before the system recognises them; we can get a useful signal from the same tag, and decode it (it's yet another Manchester code), at better than 30cm.

 

Neil