Testgerät Funk
Inhaltsverzeichnis:
4.1 Serieller Ein-und Ausgang. 6
5.1 RFM12B extern (Stecker X6) 6
5.3 SPI-Programmierschnittstelle (Stecker X8) 7
Versionsverfolgung
Version | Datum | Bemerkung |
|
V1.0 | 07.04.2020 | Initialversion |
|
V2.0 | 17.05.2020 | Zeilennummern im Display geändert und ergänzt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Das Testgerät Funk dient zur Darstellung der Funktelegramme. Es ist dazu mit einem RFM12B bestückt. Weiter besteht die Möglichkeit intern einen ESP8266 anzuschliessen. Auf der Leiterplatte sind noch 2 RJ45-Stecker vorgesehen; diese sind jedoch nicht bestückt.
Als Anzeige dient ein grafisches Display mit einer Auflösung von 480x320 Pixeln. Als Speisung ist 230VAC vorhanden.
Für Tests steht ein serieller TTL-Ein-/Ausgang zur Verfügung. Dieser dient ebenfalls der Ansteuerung des ESP8266, sofern dieser vorhanden ist.
Mit den 4 Tasten wird der gewünschte Slot gewählt; dabei wird mit den 2 oberen Tasten der nächste resp. der vorhergehende Slot gewählt. Mit den nächsten 2 Tasten kann 10 Slots vor- resp. zurückgesprungen werden.
Mit kurzem Betätigen der grünen Taste wechselt man in das Einstellmenü, mit einem langen Druck schaltet man den Empfang ein/aus. Im Einstellmenü sind folgende Möglichkeiten vorhanden:
1. Taste: Ein- Ausschalten des Empfangs. Der momentane Zustand wird in der Normalanzeige auf der ersten Zeile rechts angezeigt; 2. Taste: Puffer löschen. Damit wird der Puffer gelöscht. 3. Taste: Buzzer ein/aus. Damit wird der Summer ein- resp. ausgeschaltet. 4. Taste: Zeit einstellen. Damit wird in ein weiteres Untermenue gesprungen. In diesem kann das aktuelle Datum und die Uhrzeit eingestellt werden. Die interne Uhr ist mit einem Kondensator gepuffert. 5. Taste: Mit der grünen 5. Taste wird wieder zurück in die normale Anzeige gesprungen. |
|
DIP-Schalter 1: mit diesem Schalter wird die serielle Ausgabe der empfangen Daten über den seriellen TTL-Ausgang ein- resp. ausgeschaltet.
ON = log.0 = eingeschaltet
OFF = log. 1 = ausgeschaltet
DIP-Schalter 2: mit diesem Schalter wird der Debugg-Modus über den seriellen TTL-Ausgang ein- resp. ausgeschaltet.
ON = log.0 = eingeschaltet
OFF = log. 1 = ausgeschaltet
ß----- Uhrzeit -----à | ß---------------------------T0 max. Sendezeit mit 60 Datenbytes ---------------------------------à | <------------------------------ T2 max. Wartezeit auf Quittung -------------------------> |
|
| ||||||||||||||||||||||||||||
| hAA | hAA | h2D | hD4 | hxx | Zent | Send |
| <-max. 60 Datenbytes-> |
|
| <---- T1 ---> |
|
|
|
|
|
|
|
|
|
| ||||||||||
h | min | sec | Pre | Pre | Syn | Syn | LEN | DAB | SAB | CDB | D1 | D2 | …… | Dx | CRC | CRC | Transfer- & Auswertezeit E à Logger à S | <------------------------------ T3 -----------------------------> |
|
| ||||||||||||
|
|
|
|
|
| <----------------- für LEN massgebend ------------------> |
|
|
| Sens | Zent |
|
|
|
|
| ||||||||||||||||
|
|
|
|
| <----------------- für CRC massgebend --------------------------> |
|
| Pre | Pre | Syn | Syn | LEN | DAB | SAB | CDB |
|
| |||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| hAA |
|
| hD4 | h03 |
| h55 | hxx=ACK | ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Hxx=NACK | ||||||
Zeit = Zeitpunkt des Empfangs (h, min, sec)
LEN = Telegrammlänge wird hellrot dargestellt
DAB = Empfänger wird hellblau dargestellt
SAB = Sender wird grün dargestellt
CDB = Kommandobyte wird gelb dargestellt
D1 ..Dx = Daten werden grau dargestellt; max. 8 Bytes. Bei > 8 Bytes steht xy, bei < 8 Bytes mit … aufgefüllt.
CRC = Check wird pink dargestellt und steht immer am Zeilenende
max. Empfangslänge
|<----------------------------->|
| |
| Uhrzeit Empfangslänge |
|<---------><-------------->| |
| | | |
+---+---+---+---+---+---+---+ |
empfangener Datensatz | 1 | 2 | 3 | 1 | |...|CRC| |
+---+---+---+---+---+---+---+ |
| | |
| | |
Datenpuffer = max. empfangener Datensatz x Anzahl Datensätze | v |
|<-------- Datensatz 1 -------->|<-------- Datensatz 2 -------->v<-------- Datensatz 3 -------->|<----
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---
| 1 | 2 | 3 | 1 | 2 | . |CRC| | 1 | 2 | 3 | 1 | 2 |...|CRC| | 1 | 2 | 3 | 1 | 2 |...|CRC| | 1 | 2 | .
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---
| |
| |
v Uhrzeit | Empfang v
+---+---+---+---+---+---+---+ --+
Anzeigepuffer | 1 | 2 | 3 | 1 | 2 |...|CRC| |
+---+---+---+---+---+---+---+ -+
Die empfangenen Telegramme werden in Speicherslots gespeichert. Es sind total 32 Slots vorhanden. Die Telegramme werden ab der 4. Position gespeichert. Die ersten 3 Positionen werden mit der Empfangszeit gefüllt.
Es werden mit dem Display 480x320 bei einer Zeichenmatrix von 12x16 40 Zeichen in 16 Zeilen dargestellt. Total werden 64 Telegramme im Ringpuffer gespeichert, 10 (oder 4) werden auf dem Display dargestellt.
Auf der ersten Zeile wird die Nummer des momentan empfangenen Telegramms, die aktuelle Zeit und eine Anzeige ob der Empfang eingeschaltet ist. Danach folgt ein Trennstrich.
Im nächsten Teil des Displays wird im Klartext das gewählte Telegramm dargestellt. Mit den Cursortasten up und down kann die anzuzeigende Empfangsnummer gewählt werden.
Nach einem Trennstrich werden im unteren Teil des Displays die empfangenen Telegramme dargestellt. Es werden max. 8 Byte Daten dargestellt, bei > 8 Bytes steht xy an 8. Stelle. Es werden max. 11 Zeilen dargestellt wobei 1 Zeile für das nächste Telegramm frei bleibt; danach wird wieder von vorne begonnen. Die 2 Bytes des empfangenen CRC‘s werden immer am Ende der Zeile eingetragen.
Darstellungsaufbau:
Für 12x16 Matrix | 1 | 12 | 24 | 36 | 48 | 60 | 72 | 84 | 96 | 108 | 120 | 132 | 144 | 156 | 168 | 180 | 192 | 204 | 216 | 228 | 240 | 252 | 264 | 276 | 288 | 300 | 312 | 324 | 336 | 348 | 360 | 372 | 384 | 396 | 408 | 420 | 432 | 444 | 456 | 468 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 4 |
1 | a | k | t | . |
| E | m | p | f | . | N | r | : |
| 2 | 4 |
|
| 2 | 1 | : | 3 | 5 | : | 5 | 6 |
|
|
| E | m | p | f | a | n | g | : | O | N |
|
28 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
2 | 1 | 1 |
|
| 1 | 0 | : | 1 | 2 | : | 3 | 7 |
|
| 2 | 1 | 5 | 2 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B | B | 5 | . | . | E | 3 | 8 | 6 |
3 | V | O | N | : |
| 7 | F |
| E | l | t | e | r | n | Z | i |
|
|
| A | N | : |
| 5 | 2 |
| Z | e | n | t | r | a | l | e |
|
|
| N | O | K |
4 | L | a | e | n | g | e | : |
| 2 | 1 |
|
|
|
| 0 | F | = | N | A | C | K |
|
| P | N | = | 1 | 2 |
|
|
| g | e | r | . | = | E | 3 | 2 | A |
5 | D | a | t | e | n | : |
| 1 | 2 | - | A | D | - | 7 | 4 | - | 8 | A | - | F | B | - | B | 5 | - | 9 | D | - | C | 8 | - | D | 3 | - | 2 | E |
|
|
|
|
6 |
|
|
|
|
|
|
| A | 6 | - | 4 | 5 | - | B | 2 | - | 6 | E | - | 3 | B | - | C | 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
7 | 1 | 1 |
| 1 | 0 | : | 1 | 4 | : | 2 | 3 |
| 0 | C | 5 | 2 | 1 | 2 | 0 | F | 1 | 2 | A | B | 3 | 4 | C | D | 5 | 6 | E | F | 7 | 8 | x | y | E | 1 | D | 7 |
8 | 1 | 2 |
| 1 | 0 | : | 1 | 4 | : | 2 | 5 |
| 0 | C | 5 | 2 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B | B | 5 |
|
|
|
| C | 8 | D | 3 |
9 | 1 | 3 |
| 1 | 0 | : | 1 | 4 | : | 2 | 5 |
| 0 | C | 7 | F | 5 | C | 0 | B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 | 1 | 4 |
| 1 | 0 | : | 1 | 4 | : | 2 | 7 |
| 0 | C | 5 | 3 | 5 | 3 | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B | B | 5 | 9 | D | x | y | C | 8 | D | 3 |
11 | 1 | 5 |
| 1 | 0 | : | 1 | 5 | : | 2 | 3 |
| 0 | C | 5 | 4 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B | B | 5 |
|
|
|
| 9 | D | C | 8 |
12 | 1 | 6 |
| 1 | 0 | : | 1 | 5 | : | 3 | 6 |
| 0 | C | 5 | 5 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B | B | 5 | 9 | D | 5 | 2 | C | 5 | D | 3 |
13 | 1 | 7 |
| 1 | 0 | : | 1 | 5 | : | 3 | 6 |
| 0 | C | 7 | F | 5 | 5 | 0 | A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 | 1 | 8 |
| 1 | 0 | : | 1 | 7 | : | 2 | 3 |
| 0 | C | 5 | 3 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | A | B | 5 | 9 | D | x | y | 2 | 8 | D | 3 |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 | 0 | 9 |
| 1 | 0 | : | 1 | 3 | : | 2 | 9 |
| 0 | C | 5 | 4 | 7 | F | 0 | F | 1 | 2 | A | D | 7 | 4 | 8 | A | F | B |
|
|
|
|
|
| 9 | 6 | C | 8 |
17 | 1 | 0 |
| 1 | 0 | : | 1 | 3 | : | 5 | 2 |
| 0 | C | 5 | 4 | 2 | 7 | 0 | F | 1 | 2 | A | D | 7 | 4 | 5 | A | F | 2 | B | 3 | 7 | C | x | y | 9 | 6 | C | 8 |
Es steht 1 serieller Ein/Ausgang zur Verfügung. Er führt TTL-Pegel. Die TTL-Pegel sind so angepasst dass sie direkt mit der 3.3V-Logik des Universalsenders verbunden werden können.
Prinzip:
Sender (Tx des internen uP) | Empfänger (Rx des internen uP) |
| |
|
Pin | Signal | Pin | Signal |
1 | 3.3V | 2 | SDI / MOSI (PB.5) |
3 | SDO /MISO (PB.6) | 4 | SCK / SCK (PB.7) |
5 | /IRQ / INT0 | 6 | /SEL / PB.3 |
7 | Codierung | 8 | GND |
Pin | Signal | Kabelfarbe | Pin | Signal | Kabelfarbe |
1 | Taste UP | bn | 2 | Taste DOWN | pink |
3 | Taste LINKS | gb | 4 | Taste RECHTS | gn |
5 | Taste OK | w | 6 | GND | gu |
7 | /Reset | gb | 8 | Codierung | --- |
Stecker: Flachbandstecker 2x3-polig
Pin | Signal | Port | Pin | Signal | Port |
1 | SDO / MISO | PB6 | 2 | VDD |
|
3 | SCK | PB7 | 4 | SDI / MOSI | PB5 |
5 | /Reset |
| 6 | GND | GND |