Armando47/Software: Difference between revisions

From ciapini
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
[[Category:Telecom]]
== Modem ==
== Modem ==



Revision as of 12:38, 19 January 2016

Modem

lo strato modem va dalle porte fisiche (ADC e DAC) al flusso di simboli discriminati

ogni simbolo e' definito dalla sua:

  • ampiezza
  • frequenza
  • fase

Limiti:

  • la costellazione e' di dimensione massima 16
  • il rate massimo e' di 1200 baud

Modulazione

La modulazione e' implementata con un accumulatore di fase

Demodulazione

La demodulazione è implementata con un phase detector ad arcotangente.

letture:

PLL

quando si e' riconosciuto il preambolo, un PLL deve sincronizzarsi con la portante del segnale. fatto questo l'oscillatore locale rimane fisso fino alla fine del pacchetto. praticamente lo smorzamento del loop e' basso durante il preambolo e diventa infinitamente alto durante il pacchetto.

letture:

Phy

lo strato di PHY va dal discriminatore di simbolo al buffer dei dati

sono supportate 4 modalita' phy:

  • raw (il byte in ingresso, troncato ai bit_per_simbolo, viene direttamente encodato in un simbolo)
  • ArPhy
  • Morse
  • #APRS

Net

Protocolli

armando e' in grado di parlare differenti protocolli

APRS

Automatic Packet Reporting System, e' un sistema di localizzazione a pacchetti che usa un protocollo AX.25 in modalita senza connessione su una modulazione afsk Bell 202 a 1200 bps

sarebbero utili 3 modalita APRS

  • client, che riceve dalla UART stringhe NMEA e le trasmette in aprs
  • digipeater, che ritrasmette i messaggi APRS ricevuti
  • gateway, che manda via UART i messaggi APRS ricevuti

Qui c'è vita morte e miracoli dell'aprs, con relative specifiche:

http://www.aprs.org/

la prima reference: ftp://ftp.tapr.org/aprssig/aprsspec/spec/aprs101/APRS101.pdf

sw da cui è possibile attingere: http://info.aprs.net/index.php?title=Software

Per fortuna ci sono delle bellissime librerie in c++

lib NMEA:

ANI

client e server Push-To-Talk ID e selective calling.

tipi di ANI

  • Motorola’s MDC-1200
  • Kenwood’s FleetSync
  • Harris’ G-Star (aka GE-Star)
  • DTMF
  • 5-Tone

letture:

Morse


GPIO

Armando ha 8 GPIO che possono lavorare nelle seguenti modalita'

R/C

CH porta descrizione
1 GPIO0
2 GPIO0
3 ANALOG0/PWM0
4 ANALOG1/PWM1
5 ANALOG2/PWM2
6 ANALOG3/PWM3
7
8


GPIO0 e GPIO1 sono ingressi logici

ANALOG0 - ANALOG3 sono ingressi analogici (0-vdd)

armando va in trasmissione (setta PTT_OUT alto) quando lo stato degli input cambia.

il protocollo di trasporto e' arNet

in Rx:

dai pin PWM0-3 esce un segnale pwm in standard analog servo r/c. dai pin GPIO0-1 esce un livello logico

  • frequenza: 50 Hz
  • 0 duty cycle: 1.25 ms
  • 512 duty cycle: 1.50 ms
  • 1023 duty cycle: 1.75 ms
  • VLo: Vss
  • VHi: Vdd

sintassi uart controllo

comandi configurazione

nome valore argomento descrizione
NUL 0x00 Nullo
RGR 0x01 registro Legge valore registro di configurazione
RGW 0x02 registro+valore Scrive valore nel registro
TQA 0x03 dati Appende dati nella coda TX
TQF 0x04 Termina scrittura coda TX
RQR 0x05 n Legge n bytes dalla coda RX
RST 0x06 Resetta modem

registri configurazione

nome valore dimensione (byte) descrizione
SYF 0x01 3 1 byte symbolo (00 - 15), 2 byte frequenza
SYP 0x02 3 1 byte symbolo (00 - 15), 2 byte fase
SYA 0x03 3 1 byte symbolo (00 - 15), 2 byte ampiezza
MBS 0x04 1 Bit per simbolo
MSR 0x05 2 Symbol rate