Side 1 af 1

Dekoder til mfx adresser

: 26 dec 2024, 16:46
af PerR

Hej alle der interesserer sig for detaljer i mfx protokollen.

Her på det sidste har jeg fulgt en tråd på Märklin Users forummet, og der er ret meget god information.

Der er blandt andet en der har bygget en mfx sniffer, der er i stand til at dekode mfx beskeder med hastigheds information.

mfx snifferen er baseret på en Arduino Mega med et stort farve display, og jeg havde heldigvis sådan et sæt liggende. Arduino koden til mfx snifferen ligger tilgængelig i tråden, og alt jeg behøvede var blot at tilføje et nyt bibliotek, så kunne koden oversættes og downloades i Arduinoen.

Jeg har testet mfx snifferen på min CS2 og med et standard Märklin lokomotiv af typen MY1142 (37670).
Under indstillinger for lokomotivet på CS2 vises "40" som Lokomotiv adresse, og mfx snifferen viser også adresse 40 :-)

Jeg har også testet mfx snifferen på min CS3 og med et samme lokomotiv.
Under indstillinger for lokomotivet på CS6 vises "56" som Lokomotivadresse, og mfx snifferen viser også adresse 56 :-)

Hvis der er andre der er interesseret i mfx snifferen, så kan informationer findes på følgende adresse:
https://www.marklin-users.net/forum/pos ... -addresses

Desuden er der en reference til Stefan Krauss's hjemmeside, hvor han blandt andet har lavet en beskrivelse af hvordan han mener at mfx beskederne sendes på skinnerne.

https://www.skrauss.de/modellbahn/mdigital.html

Det er interessant læsning, og det viser at det er nogle ret dygtige folk Märklin har brugt til at udvikle mfx protokollen.

Jeg håber at der er andre der kunne finde denne information interessant, og som måske stadig har tid i resten af juleferien til at se på det.

Fortsat God Jul og Godt Nytår til alle på Baneforum.

Mvh Per


Re: Dekoder til mfx adresser

: 27 dec 2024, 07:57
af Søren

Desuden er der en reference til Stefan Krauss's hjemmeside

"das neue Schienenformat"

Hehe! Taget i betragtning at mfx-protokollen snart er 20 år gammel, så er det vist at strække den en anelse.

Det gode ved mfx er, at adresserne er komplet ligegyldige. Jeg forstår ikke helt hvorfor det er så vigtigt at kende adressen på sit mfx-lokomotiv, når man alligevel ikke kan bruge den til noget som helst.


Re: Dekoder til mfx adresser

: 27 dec 2024, 08:54
af PerR

jeg er ikke enig i at mfx Lokomotiv adressen ikke kan bruges til noget som helst.

Faktisk bruges denne adresse blandt andet til at sende information om hvilken hastighed og retning et lokomotiv skal køre, og dette vises på skærmen af mfx snifferen.

Den bruges også til aktivering af funktioner på lokomotiverne, men det kan snifferen ikke vise.

Hvis man læser Märklins eget dokument om CAN bussen, så kan man læse hvilke typer beskeder det drejer sig om.

Hvis mfx Lokomotiv adressen ikke kan bruges til noget som helst, så ville der nok ikke være et felt på CS3 der viser den.

I vores klub bruger vi iTrain til at styre væres anlæg, og jeg har derfor også investeret i iTrain hjemme.

Når mfx lokomotiverne læses fra CS3's Lokomotiv liste over i lokomotivlisten på iTrain, så overføres også mfx Lokomotiv adressen, og det er denne der bliver brugt til at sende information om hastighed, retning og aktivering af funktioner videre til lokomotiverne.

Så i vores tilfælde har vi stor gavn af at kunne aflæse mfx Lokomotiv adressen på CS3.

Mvh Per


Re: Dekoder til mfx adresser

: 28 dec 2024, 18:22
af Søren

Ja, for din computer og for iTrain er den relevant.

Men for dig som person, når du kun har din CS3 er den komplet irrelevant.


Re: Dekoder til mfx adresser

: 29 dec 2024, 18:17
af PerR

årsagen til at jeg valgte at bringe denne information, er da der tidligere på Baneforum har været en diskussion om netop dette emne, og desuden har der blandt brugere af CS3 og CS2 hersket tvivl om hvad "Lokomotivadresse" for et mfx lokomotiv på en CS3 og CS2 egentlig betyder, og hvad den bruges til.

Udover at bidrage med mere information, vil jeg også dele min begejstring over hvor genialt Märklin har lavet mfx protokollen.

Da transmissionskanalen mellem digital styreenhed til lokomotivdekoderne er gennem skinnerne, og har en meget begrænset båndbredde, så har designerne hos Märklin valgt at udnytte denne båndbredde på en effektiv måde.

Inden man har startet, må man have analyseret antallet af de forskelle typer telegrammer der har været behov for at sende, og så optimeret de telegrammer der bliver sendt hyppigst, for at udnytte båndbredden bedst muligt.

Blandt de hyppigste telegrammer, hører telegrammer til ændring af hastighed og retning på lokomotiver, så derfor bliver disse telegrammer ikke sendt med den 32 bit lange mfxuid adresse, men en anden dynamisk allokeret adresse der forhandles mellem den digitale styreenhed og mfx lokomotiv dekoderen.

Denne dynamiske allokerede adresse kendes som "Lokomotivadresse" for et mfx lokomotiv på en CS3.

Når man tilmelder et mfx lokomotiv på en helt frisk CS3 (tom lokomotivliste), så vil Lokomotivadressen være 5, og efterfølgende mfx lokomotiver vil få stigende Lokomotivadresse numre, uafhængig af dekoderens mfxuid.

Hvis man flytter et mfx lokomotiv over på en anden digital styreenhed (CS3, CS2), så vil det sandsynligvis få tildelt en anden Lokomotivadresse, afhængig af hvor mange mfx lokomotiver der er i forvejen på denne enhed. Normalt behøver man ikke spekulere over værdien af mfx "Lokomotivadresse", på samme måde som adresser for MM og DCC adresser, da det er den digitale styreenhed der holder styr på dem.
Da de første informationer om CS3 kom frem, blev der nævnt et teoretisk maksimum for mfx enheder på lidt over 16000, hvilket kunne indikere en begrænsning på 14 bit, og dette kan man se når man graver i hvordan data for MM, DCC og mfx dekodere bliver gemt internt i CS3, ved at læse i backup filen, samt se om Loc-ID i Märklins CAN bus dokument v 2.0 på side 8.

Hvad der er endnu mere smart end at anvende denne "Lokomotivadresse" til adressering af mfx lokomotiver ved ændring af hastighed m.m., så har Märklin set at de har en enestående mulighed, ved at disse adresser starter fra 5 og går opefter, og dette har de udnyttet til at lave endnu kortere telegrammer for de laveste adresser.

Der anvendes følgende typer adresse format:
7 bit Op til Lokomotivadresse 127
9 bit Op til Lokomotivadresse 511
11 bit Op til Lokomotivadresse 2047
14 bit Op til Lokomotivadresse 16383

De fleste kan nok klare sig med 7 bits adresser i telegrammerne, og 9 bits for de lokomotivadresser der er fra 128 til 511.

Jeg kan se på mfx snifferen, når den er tilsluttet CS3 eller CS2, at der også kan optræde adresserne 1 og 2, men jeg ved ikke hvad disse bruges til. Måske til et eller andet generel information.

Jeg tolker Märklins CAN bus dokument v 2.0 som at følgende CAN bus telegrammer anvender adressering via "Loc-ID" feltet (0x4000 - 0x7FFF for mfx på side 8):

3.4 Befehl: Lok Geschwindigkeit (Lokomotiv hastighed)
3.5 Befehl: Lok Richtung (Lokomotiv retning)
3.6 Befehl: Lok Funktion (Lokomotiv funktion)

Jeg håber at ovenstående kan skabe klarhed over brug af "Lokomotivadresse" for et mfx lokomotiv som vises på en CS3.

Mvh Per