mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verzweiflung am U2270B


Autor: Pier S. (bigpier)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,
ich muss leider immer noch wegen diesem IC nerven SORY!!!
Aber da ich immer wieder vom Potenzial dieses Forum (Euch) staune 
versuch ich es nochmal!!

Also ich habe einen Testaufbau Application Circuit 3 (Datenblatt ) 
aufgebaut
und rum exprimentiert !! Auf der Antenne hab ich 125kHz und etwa 60V, 
auf dem Output Pin kommt eine sehr unregelmessige Rechteckspannung wenn 
kein Transponder in der nähe der Antenne ! Wenn hingegen ein Transponder 
in der nähe ist dann wird das rechteck signal regelmässiger (Periode ca 
500µs) aber ich kann denn anfang der Übertragung nicht erkennen !!!

Meine Fragen :

Was geschiet wenn ich den Transistor der am MC hängt ansteuere??
Was ist das für ein Protokoll empfang ich da ??
Wie erkenn ich den Anfang der Übrtragung ?



Ich bin für jeden noch so kleinen Hinweis  Dankbar !!!


Danke Grüss Pier

Autor: W. M. (thematsche)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

das hilft dir vielleicht weiter. seite 5 ist interessant.
und ein sourcefile-auszug von atmel.


// *******************************************************************************

// Routine to synchronize bit periods in a Manchester encoded stream 

// Always sync to rising edge

// ******************************************************************************/

unsigned char U2270_Manchester2TSync(void)

{

  unsigned char level;

  RFIDTimerFlag = 0;      // Clear Timer Flag

  while(!RFIDTimerFlag);     // Wait for next edge 

  

  level = (PIND & 0x10);    // Check logic level of data line

  level = (PIND & 0x10);          // Redundancy check

  

  //  Make sure edge time is a Manchester long time  //

  if(RdTime > U2270_LongL && RdTime < U2270_LongH && level == 0 )

  {

    PORTF &= ~0x02;

        Timer_delay_us(2);      

    PORTF |= 0x02;

    return 1;    // Logic value of current bit

  } 

  else return SeqTermErr;    // Edge time and level error

}



// *******************************************************************************

// Routine to decode a Manchester bit 

// Pass in the previous bit logic value 

// ******************************************************************************/

unsigned char U2270_ManchesterDecode(unsigned char cBit)

{

  RFIDTimerFlag = 0;              // Clear Timer Flag           

  while(!RFIDTimerFlag);             // Wait for next edge

  

  //  Check edge time and determine next Logic value  //

  if(RdTime > U2270_LongL && RdTime < U2270_LongH && cBit == 1){return 0;}

  else if(RdTime > U2270_LongL && RdTime < U2270_LongH && cBit == 0){return 1;}

  else if(RdTime > U2270_ShortL && RdTime < U2270_ShortH)   // Next edge time is short

  {

    RFIDTimerFlag = 0;            // Clear Timer flag 

    while(!RFIDTimerFlag);           // Wait for next edge

    if(RdTime > U2270_ShortL && RdTime < U2270_ShortH && cBit == 1){return 1;}

    else if(RdTime > U2270_ShortL && RdTime < U2270_ShortH && cBit == 0){return 0;}

    else 

    {

        //PORTF &= ~0x02;      

        //PORTF |= 0x02;

                return BitErr;      // Un-paired short time between two long times 

    }          

  }

  else {return BitErr;}            // Edge time outside limits

}



// *******************************************************************************

// Routine to decode a BiPhase bit 

// ******************************************************************************/

unsigned char U2270_BiPhaseDecode(void)

{

  RFIDTimerFlag = 0;              // Clear Timer Flag           

  while(!RFIDTimerFlag);             // Wait for next edge

  

  //  Check edge time and determine next Logic value  //

  if(RdTime > U2270_LongL && RdTime < U2270_LongH){return 1;}

  else if(RdTime > U2270_ShortL && RdTime < U2270_ShortH)   // Next edge time is short

  {

    RFIDTimerFlag = 0;            // Clear Timer flag 

    while(!RFIDTimerFlag);           // Wait for next edge

    if(RdTime > U2270_ShortL && RdTime < U2270_ShortH){return 0;}

    else 

    {

                return BitErr;  // Un-paired short time between two long times 

    }          

  }

  else {return BitErr;}            // Edge time outside limits

}



// *******************************************************************************

// Routine to find Decode the Dual Pattern Bit

// ******************************************************************************/

unsigned char U2270_DualPatternDecode(void)

{

  RFIDTimerFlag = 0;              // Clear Timer Flag           

  while(!RFIDTimerFlag);             // Wait for next edge

  

  //  Check edge time and determine next Logic value  //

  if(RdTime > U2270_ShortL-30 && RdTime < U2270_ShortH+20)

  {

    RFIDTimerFlag = 0;            // Clear Timer flag 

    while(!RFIDTimerFlag);           // Wait for next edge

    if(RdTime > U2270_ShortL-20 && RdTime < U2270_ShortH+20){return 1;}

    else {return BitErr;}          // Un-paired short time between two long times 

  }

  else if(RdTime > U2270_LongL && RdTime < U2270_LongH+30)

  {

    RFIDTimerFlag = 0;            // Clear Timer flag 

    while(!RFIDTimerFlag);           // Wait for next edge

    return 0;

  }

  else {return BitErr;}            // Edge time outside limits

}




Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.