Skip to main content Link Menu Expand (external link) Document Search Copy Copied

14-Bit-Pseudo-Rausch-Binär-Signal mit Arduino-Board

Die normalen Arduino-Boards verfügen über 14 digitale Ein- bzw. Ausgänge. Auf Basis eines solchen Mikrocontrollerboards wurde ein Pseudo-Rausch-Binär-Signal (PRBS) durch linear rückgekoppelte Schieberegister erzeugt. Für eine maximale Periodendauer $N=2^{14}-1=16383$ wurden die Bits 14, 13, 12 und 2 mit der XOR-Funktion verknüpft und rückgeführt.

Aufbauschema mit Fritzing

Zur Anzeige wurden LEDs mit Pull-Up-Widerstand gegen +5V angeschlossen. Der Widerstandswert dieser Pull-Up-Widerstände sollte nicht zu niedrig gewählt werden. Bei 330 Ω gab es mit dem Datenanschluss 0, auf dem auch das Signal RX zur Kommunikation mit dem PC liegt, Probleme. Mit 1 kΩ funktioniert die Schaltung ohne Probleme.

Aufbauschema

Programmcode

Aller 100 ms erfolgt ein Schritt, so dass die Schieberegisterkette mit einer Frequenz von 10 Hz angesteuert wird. Eine volle Periode wird somit in 1638,3 Sekunden bzw. ca. 27 Minuten durchlaufen.

// Pseudo-Rausch-Binär-Signal-Generator
// 14 Bit-PRBS mit Schieberegister
// Written 2013 Klaus Röbenack

// Alle Digitalbits auf Ausgabe
void setup()
{
  for (short i=0; i<=13; i++)
    pinMode(i, OUTPUT);
}

void byte_output(word w)
{
  for (short i=0; i<=13; i++) {
    if (w & bit(i))
      digitalWrite(i,LOW);
    else  digitalWrite(i,HIGH);
  }
}

void loop()
{
  word state=1;
  while(true) {
    byte_output(state);
    //  Verschiebung und XOR-Verknüpfung mit Bit 14, 13, 12, 2
    state=(state<<1 | (((state>>13)&1) ^ ((state>>12)&1) ^ ((state>>11)&1) ^ ((state>>1)&1)) );
    delay(100);
  }

Praktischer Aufbau

Der Aufbau erfolgte mit einem Seeeduino-Board.

Praktischer Aufbau

Praktischer Aufbau