AT90S8515PDIP

AVR-Microcontroller
im Ham-Shack

ATMEL Controller

deutschenglish
deutsche Seiten englisch pages

Startseite

AVR-Projekte

APRS-
Telemetrie-
Interface

APRS-
Thermometer

GPS-Simulator

AVR-Kreis

AVR-Programmierer

AVR-Megaprog

RCEN-Blower

Morsetasten     FM-Keyer
    Microbug
    Nanobug
    Picobug


Amateurfunk

DARC-OV R01

Clubstn. DL0DX

Relais DB0SJ

DL-Contest Journal


Schule

Kombiampel

     
zurück zurück
 
weiter weiter

Das APRS Telemetrie Interface

Die I2C-Bus Eingangs Kanäle

Das Interface hat einen I2C-Bus Anschluss für 8 Kanäle. Er ist über die Eingänge PB2 und PB3 des Controllers erreichbar. Er ist als Sonderfunktion der Digitaleingänge 2 und 3 der 2. Gruppe ausgeführt. Wenn der I2C-Anschluss aktiviert wird, stehen die Digitaleingänge und der Spannungsvergleicher nicht mehr zur Verfügung.

Der Anschluss PB2 bildet die SCL-Leitung des I2C-Busses und PB3 die SDA-Leitung. Beide Leitungen müssen jeweils über einen 1,8kOhm Pullup-Widerstand mit +5V verbunden werden, weil der I2C-Bus offene Kollektoren verwendet.

Die Leitungen sind über den Steckverbinder P16, I2C/Dig, zugänglich:

SCL:P16, Pin 5PB2
SDA:P16, Pin 6PB3

Um den I2C-Bus verwenden zu können muss er zunächst mit dem Befehl "MI ON" eingeschaltet werden. Weiter muss für jeden verwendeten Kanal die entsprechende I2C-Bus Adresse mit dem Befehl "MI Kanalnummer I2C-Adresse" eingestellt werden. Ein Kanal mit der Adresse 0 wird nicht ausgewertet und ergibt immer den Wert 0. Die Adressen der verschiedenen Bausteine stehen in den entsprechenden Datenblättern.

Das Interface unterstützt nur einfache I2C-Bausteine wie den Portbaustein PCF8574 mit 8 Bit Adressierung und 8 Bit Lesedaten. Der Baustein kann nicht geschrieben werden.

Adressierung

Eine Adresse auf dem I2C-Bus besteht aus zwei Teilen. Die oberen Bits sind je nach Baustein vom Hersteller vorgegeben. Darunter kommen einige Bits, die der Benutzer durch die Verdrahtung festlegen kann. Das niederwertigste Bit ist immer 0.

Beispiel für den Baustein PCF8574, einen 8 Bit Ein-/Ausgabebaustein:
Die obersten vier Bits sind vom Hersteller vorgegeben: 0100. Die nächsten drei Bits sind nach draußen an Anschlussbeine geführt. Wenn man sie mit 0 verbindet, ergibt sich 000. Das niederwertigste Bit ist 0. Daraus ergibt sich das vollständige Bitmuster: 0100000, in eine Dezimalzahl umgerechnet 64.
Mit dem Befehl "MI 1 64" wird der Baustein als I2C-Kanal 1 festgelegt. Jeder Baustein auf dem I2C-Bus muss eine andere Adresse haben.

Lesen

Nach dem Befehl "RI" wird der Wert aller 8 I2C-Kanäle im Sekundentakt über die serielle Schnittstelle ausgegeben. Kanäle mit der Adresse 0 liefern immer 0. Eingabe von "q" beednet die Ausgabe. Die Verbindung zu DIGI_NED wird durch die Ausgabe nicht gestört. Wenn der I2C-Bus nicht aktiviert ist, erfolgt keine Ausgabe von Werten sondern nur die Bemerkung "I2C-Bus off".

Konfiguration in DIGI_NED

Um den Kanal in DIGI_NED verwenden zu können, muss er noch über die Kanalmatrix mit einem DIGI_NED-Kanal verbunden werden. Der Befehl "MM DN7=I1" verbindet den DIGI_NED-Kanal 7 mit dem I2C-Kanal 1.

Der Kanal muss in der Datei zur Konfiguration von DIGI_NED, "digi_ned.ini", passend definiert werden. Z.B.

telemetry: 30 1 lpt1_8/7 DIGI_DEST

Also: Sende die Telemetriedaten alle 30 Minuten über Port 1. Quelle für die Daten ist LPT1 im 8 Bit Modus, Analogkanal 1. Der Wert wird von DIGI_NED-Kanal 7 glesen. Es wird an das in DIGI_DEST festgelegte Ziel gesendet.

Abfrage auf dem Digieater

Mit der Anfrage "tlm a1" lässt sich der Wert afragen, der an dem I2C-Baustein anliegt. Ob der Wert als Analogwert oder als Digitalwert interpretiert werden muss, hängt von der Art des Bausteins ab.

Die Auswertegleichung

Ob und wie auf einen I2C-Kanal die APRS-Auswertegleichung anwendbar ist, hängt ebenfalls von der Art des I2C-Bausteins ab.

 

zurück zurück
weiter weiter


zur Startseite Zur Startseite
nach oben nach oben
mailto Burkhard John
5.7.2006