Forum: Mikrocontroller und Digitale Elektronik Bascom und IrDA


von Niel (Gast)


Lesenswert?

Hallo!

Ich möchte mir eine eigene RCU für den VDR (www.cadsoft.de/vdr) mit
einem AT90S2313 bauen.

Alles funktioniert soweit, nur die Kommunikation zwischen PC und dem µC
nicht, da der VDR mit dem IrDA-Protokoll zu arbeiten scheint.

Die Befehle werden zwischen PC und µC über dein IrDA-Port übertragen.
DAfür besitzt Bascom aber keine Routinen. In C sieht das für einen PIC
so aus:

// --- IrDA interface:

char ch;
bool ByteReceived = FALSE;

#int_rb
void GetIrdaByte(void)
{
  int i;

  if (port_b.rxd) {
     ch = 0x00;
     for (i = 8; i--;) {
         // detect one bit:
         delay_us(99); // actually it's 104us, but the rest is loop
overhead
         ch >>= 1;
         if (!port_b.rxd)
            ch |= 0x80; // lsb comes in first
         }
     delay_us(100); // wait for stop bit
     if (!port_b.rxd)  // must be '1' (i.e. low signal)
        ByteReceived = TRUE;
     }
}

void PutIrdaByte(char ch)
{
  int i;

  disable_interrupts(RB_CHANGE);
  port_b.txd = 1;
  delay_us(20); // start bit
  port_b.txd = 0;
  for (i = 8; i--;) {
      delay_us(77); // actually it's 84us, but the rest is loop
overhead
      port_b.txd = ~ch & 1;
      delay_us(20);
      port_b.txd = 0;
      ch >>= 1;
      }
  enable_interrupts(RB_CHANGE);
  delay_us(124); // stop bit
}


Kann das jemand auf Bascom übertragen oder mir einen Tipp geben?

Ich habe die genaue Spezifikation des Protokolls mit low/high und
Zeitangaben nirgends gefunden.

Danke für Eure Hilfe im voraus.

Grüße

Niel

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der VDR muss kein IrDA nutzen, dank LIRC kennt der auch normalen
RC5-Code. Dazu muss ein Infrarotempfänger an der seriellen
Schnittstelle des VDR-PCs angeschlossen werden oder aber ein zur
Sat-Karte gehörender Infrarotempfänger (wie bei einer Hauppauge
Nexus-S) verwendet werden.

Ich vermute jedenfalls mal, daß "RCU" ein Akronym für Fernbedienung
sein soll ...

von Niel (Gast)


Lesenswert?

Hallo Rufus!

RCU ist kein Akronym für Fernbedienung. RCU ist eine von Klaus
Schmidinger entwickelte Schaltung mit IR-Empfänger und
7-Segment-Anzeige.

Diese kommuniziert auf Basis der IrDA-Timings mit dem VDR.

Die Schaltung habe ich auf einen AVR übertragen und um eine
Wake-Up-Funktion ergänzt.

Lirc möchte ich nicht benutzen, sondern die eingebauten Funktionen von
VDR(REMOTE=RCU).

Vielleicht hat jemand noch Infos darüber?

Grüße

Niel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.