mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
chg cotag operates on 132kHz. textual
This commit is contained in:
parent
b62e4dfa36
commit
49caa7f962
1 changed files with 27 additions and 8 deletions
|
@ -2411,18 +2411,37 @@ void EM4xWriteWord(uint8_t addr, uint32_t data, uint32_t pwd, uint8_t usepwd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Reading a COTAG.
|
Reading COTAG.
|
||||||
|
|
||||||
COTAG needs the reader to send a startsequence and the card has an extreme slow datarate.
|
COTAG needs the reader to send a startsequence and the card has an extreme slow datarate.
|
||||||
because of this, we can "sample" the data signal but we interpreate it to Manchester direct.
|
because of this, we can "sample" the data signal but we interpreate it to Manchester direct.
|
||||||
|
|
||||||
READER START SEQUENCE:
|
This behavior looks very similar to old ancient Motorola Flexpass
|
||||||
burst 800 us, gap 2.2 msecs
|
|
||||||
burst 3.6 msecs gap 2.2 msecs
|
-----------------------------------------------------------------------
|
||||||
burst 800 us gap 2.2 msecs
|
According to patent:
|
||||||
pulse 3.6 msecs
|
Operating freq
|
||||||
|
reader 132 kHz
|
||||||
|
tag 66 kHz
|
||||||
|
|
||||||
|
Divide by 384 counter
|
||||||
|
|
||||||
|
PULSE repetition 5.82ms
|
||||||
|
LOW 2.91 ms
|
||||||
|
HIGH 2.91 ms
|
||||||
|
|
||||||
|
Also references to a half-bit format and leading zero.
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
READER START SEQUENCE:
|
||||||
|
|
||||||
|
burst 800 us gap 2.2 ms
|
||||||
|
burst 3.6 ms gap 2.2 ms
|
||||||
|
burst 800 us gap 2.2 ms
|
||||||
|
pulse 3.6 ms
|
||||||
|
|
||||||
|
This triggers COTAG tag to response
|
||||||
|
|
||||||
This triggers a COTAG tag to response
|
|
||||||
*/
|
*/
|
||||||
void Cotag(uint32_t arg0) {
|
void Cotag(uint32_t arg0) {
|
||||||
#ifndef OFF
|
#ifndef OFF
|
||||||
|
@ -2435,7 +2454,7 @@ void Cotag(uint32_t arg0) {
|
||||||
|
|
||||||
LED_A_ON();
|
LED_A_ON();
|
||||||
|
|
||||||
LFSetupFPGAForADC(LF_DIVISOR_134, true);
|
LFSetupFPGAForADC(LF_DIVISOR(132), true);
|
||||||
|
|
||||||
//clear buffer now so it does not interfere with timing later
|
//clear buffer now so it does not interfere with timing later
|
||||||
BigBuf_Clear_ext(false);
|
BigBuf_Clear_ext(false);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue