Entwicklung

  • Funksender : On Semiconductor AX5031
    • Konfigurierbar für den Einsatz in 400-470 MHz und 800-940 MHz
      ISM-Bänder
    • -5 dBm bis +15 dBm Programmierbarer Ausgang
    • Datenraten von 1 bis 350 kbps
    • Große Auswahl an unterstützten Formmodulationen (ASK, PSK,OQPSK, MSK, FSK, GFSK, 4−FSK)
  • Funkverstärker: Mitsubishi Electric RA07H4047M
    • 7-Watt-RF-MOSFET-Verstärkermodul für 12,5-Volt-Handfunkgeräte, die im 400- bis 470-MHz-Bereich arbeitet.
  • Antenne : RAMI | AV-200
    • Frequenz: 121.5 MHz, 406 MHz
  • Mikrocontroller :  STM32L073RZ 32 Bit Mikrocontroller mit ARM Cortex M0
  • Programmieren und Debugging mittels STLink-Programmiergerät
  • Taster und LEDs als Benutzerschnittstelle
  • GPS-Modul :  SAM-M8Q auf eigener Platine wegen großer Massefläche
    • Antenne im Modul integriert
  • BM70BLES1FC2 Bluetooth Low Energy Modul
  • Akku: 4s Li-Ion Akku, auf der Platine ist dafür eine
    • Schutzschaltung mit
      • Überstromschutz
      • Über/Untertemperaturschutz
      • Über/Unterspannungsschutz
      • Kurzschlussschutz
    • und Ladeschaltung
      • Step-Up-Schaltregler versorgt über USB
    • sowie Linearregler zur Versorgung mit den benötigten Spannungen
      • 12,5V für den Funkverstärker
      • 3,3V für alles andere

Gegliedert wird die Firmware des Projektes in die folgenden 5 Ebenen

  •  Ebene 1: System Driver Layer
    • STM32L073 HAL
    • STM32L073 CMSIS
    • STM32L073 LL-Driver
    • kein direkter Registerzugriff um Fehler zu vermeiden
  • Ebene 2: User Driver Layer
    • Treiberimplementierung Microkontroller eigener Peripherals
      • ADC: zur Digitalisierung des Batteriestatuses
      • DMA: ermöglicht nicht blockierende Verwendung des UARTS
      • Force Feedback: Vibrationsmotor
      • Key: Taster
      • Led: Led-Treiber
      • Watchdog: Um Livelocks zu vermeiden
      • Sysclock: ermöglicht Sleepmode
      •  SPI: Kommunikation mit externen Geräten
      • UART: Kommunikation mit externen Geräten
  • Ebene 3: Protocol Layer
    • Treiberimplementierung für Protokolle für externe Kommunikation
      • USB: ermöglicht Logging/ Echtzeit Debugging
      • BLE: zur Übertragung vom Daten
      • GPS: Standortermittlung
      • PLB: Kommunikation mit Sendechip
  • Ebene 4: Application Subsystem Layer
    • LOG Funktion (communication module)
    • Location module: Ermittlung und Aufbereitung der Standortdaten
    • Emergency call: Senden des Notrufs
    • User Interface: Handhabung der Nutzereingaben
  • Ebene 5:  Main Application Layer
    • Aufruf und Verwendung aller Subsysteme
    • das eigentliche Programm

Die ersten 24 übertragenen Bits, Positionen 1 bis 24, sind Systembits; sie werden für die Bit- und Framesynchronisation verwendet.

Die folgenden 61 Bits, Positionen 25 bis 85, sind Datenbits. Diese Bitgruppe wird als erstes geschütztes Datenfeld bezeichnet (PDF-1). Das erste Datenbit (Position 25) zeigt an, ob die Nachricht kurz oder lang ist: „0“ = kurze Nachricht, „1“ = lange Nachricht.

Die folgenden 21 Bits, die Positionen 86 bis 106, sind ein Bose-Chaudhuri-Hocquenhem oder BCH (82,61) Fehlerkorrekturcode. Diese Bitgruppe wird als erstes BCH-Fehlerkorrekturfeld (BCH-1) bezeichnet. Dieser Code ist eine Kurzform eines BCH (127.106) dreifach fehlerkorrigierenden Codes. Dieser Code kann bis zu drei Bitfehler in den 82 Bit von (PDF-1 + BCH-1) erkennen und korrigieren. Die Kombination von PDF-1 und BCH-1 wird als erstes Schutzfeld bezeichnet.

Die folgende Gruppe besteht aus Datenbits, die Anzahl und Definition dieser Bits hängt vom Nachrichtenformat ab, wie folgt:
Kurznachricht: die letzten 6 Bit der Nachricht in den Positionen 107 bis 112, diese Datenbits sind nicht geschützt. Diese Bitgruppe wird als ungeschütztes Datenfeld bezeichnet;
Lange Nachricht: die folgenden 26 Bit der Nachricht an den Positionen 107 bis 132. Diese Bitgruppe wird als zweites geschütztes Datenfeld bezeichnet (PDF-2).

Die letzten 12 Bits der Long Message, die Positionen 133 bis 144, sind ein Bose-Chaudhuri- Hocquenhem oder BCH (38,26) Fehlerkorrekturcode. Diese Bitgruppe wird als zweites BCH-Fehlerkorrekturfeld (BCH-2) bezeichnet. Dieser Code ist eine Kurzform eines BCH (63,51) Double Error Correction Codes. Dieser Code kann bis zu 2 Bitfehler in den 38 Bit von (PDF-2 + BCH-2) erkennen und korrigieren. Die Kombination von PDF-2 und BCH-2 wird als zweites Schutzfeld bezeichnet.

Die Positionsdaten der Beacon, die von einem Navigationsgerät innerhalb oder außerhalb der Beacon erhalten werden, können in der Beacon-Nachricht kodiert werden. Positionsdaten können entweder im PDF-2-Teil der Nachricht kodiert werden.

Drei Stufen der Positionsauflösung können in der Beacon Nachricht kodiert werden:

  • Positionsdaten mit einer Auflösung von 4 Sekunden in PDF-2, angegeben als Offset der in PDF-1 bereitgestellten Positionsdaten mit einer Auflösung von entweder 15 Minuten oder 2 Minuten;
  • Positionsdaten mit einer Auflösung von 4 Minuten in PDF-2, zusammen mit einem der in PDF-1 verwendeten Benutzerprotokoll-Identifikationsverfahren.
  • Positionsdaten in der Kurznachricht mit einer Auflösung von entweder 15 Minuten oder 2 Minuten, zusammen mit einer Teilmenge der Beacon-Identifikationsverfahren (d.h. mit verkürzten Identifikationsdaten).

Folgendes Bild zeigt den Verlauf des Signals durch einen IQ-Modulator mit OQPSK Modulation.

Die erste Waveform zeigt die Inphase Komponente des IQ-Modulators.

Die zweite Waveform zeigt die Quadrature Komponente des IQ-Modulators.

Die dritte Waveform zeigt das Output Signal aus dem IQ-Modulator (Summe von Inphase und Quadrature Komponenten)