Forum: Projekte & Code ATZ-Modul Serie


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Alfred T. (atererus)



Lesenswert?

Hier steht der erster Beitrag zu “ATZ-Modul” Serie.

Die letzten Jahren verfolge ich eine Idee wie Man Module bauen kann, die 
generell einsetzbar und zum Wiedergebrauch in ein anderes Projekt 
geeignet sind. Als Einführung in das Modul Konzept zeige ich einige 
Experimenten. Diese Bilder sind gemeint um Fragen zum Modul Konzept zu 
erregen.

Hier fing es an in Mehre Module zu denken:

atz_2021-04-08_1s.jpg

hi-res: http://www.customdesign.nl/external-content/atz_2021-04-08_1.jpg

Platine 1 ist ein frei stehendes Bleiakku-Ladegerät aus 2004. Mit dieses 
„Modul“ ist die Idee entstanden. Nur für Debuggen gab es nähmlich den 
Wunsch auch ein LCD an zu schließen. Weil der “In System Programming” 
(ISP) Anschluss im Run-Modus “Serial Peripheral Interface” (SPI) führt 
wurde ein SPI nach Display Konverter gebaut. Später wurde das LCD 
optional ein Status-Display ohne die Programmierung vom  Ladegerät zu 
ändern wenn es wohl, oder nicht, dran hing.

Platine 3 ist nicht nur ein SPI nach LCD Signal-Konverter, aber ein 
komplett ausgerüstet mit ein ASCII nach LCD Terminal-Treiber. Damals 
Entstand auch Platine 4. Diese hat, neben den mittlerweile 
Modul-Standard 10-poligen Atmel-ISP/SPI Anschluss, ein 
Tastatur-Anschluss (PS/2), RS232, TWI, und ist somit auch ein frei 
stehendes Terminal/Console fähiges Modul. Diese war auch gedacht für das 
Programmieren und das Debuggen.

Hier sieht man gut die Basis : genau eine Funktion, das „laden“, oder 
das „displayen“, in ein separates Modul zu implementieren. Von dieser 
basis entstanden viele Ideen für Funktionen. Um nun mehre Funktionen 
(Module) kombinieren zu können entstand Platine 2 : ein 4-port ISP/SPI 
Hub Modul mit RS232 Anschluss zum PC.

Und als frei stehendes Programmierer/Debugger mit USB Anschluss gab es 
ein Experiment mit Platine 5: mit Master- und Slave-Anschluss und 8-bit 
parallel Anschluss zu Platine 6 : ein USB Adapter. Die aufwendige 
USB-stack progammierung rechtfertigt alleine schon ein separates Modul.

Danach Entstanden auch neue Ideen zum Mechanischem teil vom das Modul 
Konzept : die Form soll in ein 72 mm Standard DIN-rail Platinen-Träger 
in 12.25 mm Raster passen. In das Folgende Bild sieht Man die 72mm x 
N*12.25 mm Gehäuse-Teile rechts neben Platine 8, und darüber die 
DIN-rail Klammer. Auch sollen die Module Anständige 
ESD/Kurzschlussfeste/Mechanisch robuste Klemmleisten (Platine 7) oder 
wahlweise Steckerleisten bekommen. (Platine 8, mit Links davon der 
Stecker). Die Löcher an die vier Ecken blieben erhalten, ein Modul kann 
auch konventionell festgeschraubt werden.

atz_2021-04-08_2s.jpg

hi-res: http://www.customdesign.nl/external-content/atz_2021-04-08_2.jpg

Platine 7 zeigt eine Entwickelung auf Anfrage von einen Motorbiker: er 
wollte ein programmierbares LED-Steuergerät, es soll einfach sein es 
selber zu bauen, daher kein „Vogelfutter“. Es soll mit viele Farbige LED 
leuchten ein GoldWing zur ein Kirmes-Attraktion umwandeln und sich 
eignen zum Gebrauch mit einer 12V Batterie. Die Platine enthält neben 
die Funktion-spezifische 12V-I/O auch ein Master- und Slave-SPI/ISP Bus. 
Dadurch können mehre Module miteinander verkettet werden.

Platine 8 ist  ein generelles 2x 3-Phasen push-pull treiber, mit noch 8 
PIO gedacht fur 6 ... 24V. Es hat ein USB slave und ein 
SPI/ISP-Anschluss.

Damit waren dass die Letzten Platinen mit 10-poligen Atmel-SPI/ISP 
Anschluss. Danach entstand die Idee das die Module ein Vorbild Projekt 
brauchen, ein Ziel. Da entstand die Idee vom Audio Modul Project, in 
diesem thread hier :

Beitrag "Re: Suche Mitwirkende für Universal-FPGA board"

Da ging die Modul Idee Richtung PC ähnliches konfigurierbare Hardware 
mit steckbare I/O-Platinen und Plug-and-Play. Durch unter anderen die 
Idee das es Atmel (AVR) unabhänglich sein muss, entstand nun auch ein 
generelles Modul-Bus Konzept, flexibel und PnP. Neben die Module die 
dort im Audio Projekt Abgebildet sind, gehören dazu auch die in die 
nächsten 2 Bilder:

atz_2021-04-08_3s.jpg

hi-res: http://www.customdesign.nl/external-content/atz_2021-04-08_3.jpg

atz_2021-04-08_4s.jpg

hi-res: http://www.customdesign.nl/external-content/atz_2021-04-08_4.jpg

Platine 9 zeigt den  TFT touch-screen Modul als generelle eingabe und 
status Modul gedacht, aber noch universeller : und als Arduino-Shield 
interface gebaut wurde. Es hat ein Master und ein Slave Modul-Anschluss

Platine 10 ist ein noch nicht gebautes USB-OTG interface Modul. Es hat 
neben den 14-pin Master und Slave Anschlüsse auch noch ein 64-pin Master 
Anschluss.

Es steckt viel mehr dahinter, 20 Jahre denken und Ideen sind nicht so 
ganz einfach auf zu schreiben. Ich bitte um Fragen was ihr gerne wissen 
wollt.

Ein zweiter Beitrag folgt nächste Woche.
Bis dann, Alfred Terwindt-Zhao.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hätte eher in "Zeigt her eure Kunstwerke" gepasst.

Das hier ist bisserl aus dem Kontext gerissen und sieht nach show-off 
aus.

Wofür gibt es den Thread hier nochmal? 🤔

von Alfred T. (atererus)


Lesenswert?

Mampf F. schrieb:
> Wofür gibt es den Thread hier nochmal?

Dass alles soll Open Source werden. Da muss es jemanden dienen. 
Diejenigen sollen Einspruch bekommen.

Meister E. schrieb:
> Wow, das klingt wirklich interessant, Alfred. Wäre toll mehr zu
> erfahren.

Weltbester FPGA-Pongo schrieb im Beitrag #6643196:
> - ich finde es lobenswert, wenn jemand seine Zeit in der Weise
> investiert, um soziales Engagement auf das Anschubsen von
> Bastler-Interessen zu projizieren
>
> - ich empfehle aber, die Anforderungen
> "Multifunktions-High-Speed-FPGA-System" (worum es ursprünglich mal ging)
> von dem "FPGA-Adapter für Arduino-Einsteiger" (worum es offenbar
> inzwischen geht) zu trennen, weil man sich sonst nicht einig werden wird
>
> - und ich denke nach wie vor, dass man Module, die es schon gibt, nicht
> bauen muss. Ein VGA-Ausgang und Serial OUT braucht kein feedback

Es ist hier auf Wunsch von Forumer.

> Hätte eher in "Zeigt her eure Kunstwerke" gepasst.

Das ganze Konzept ist weit weit weg von Fertig. Vieleicht dort wen es 
fertig ist? Bitte Fragen, Anregungen und Discussion wie das Kunstwerk 
aussehen soll?

Die Discussion über den Bus ist vielleicht das Wichtigste. Aber geht 
wohl nicht so ohne weiteres ohne die Hintergründe, die Historie, zu 
kennen.

Gustl B. schrieb:
> Was willst du schaffen?
> - FPGA Board
> - Module für verschiedene Anwendungen
> - Beides, also ein ganzes Ökosystem
>
> Und dann finde ich es sehr schade, dass hier für die Zusatzmodule kein
> üblicher Standard verwendet wurden. Das sieht zwar aus wie CRUVI Low
> Speed, ist es aber glaube ich nicht wenn man die Befestigungslöcher
> anguckt.
> Mit einem Standard wie PMOD oder CRUVI wäre eben möglich dass:
> - Leute die Module an anderen FPGA Boards nutzen
> - Leute andere Module an deinem FPGA Board nutzen.

Die beste Antwort auf die frage van Gustl B. ist : "ein ganzes 
Ökosystem", aber PMOD, Arduino, Raspberry Pi, und die Chinesischen 
Quellen inclusieve. Kein "neu erfundeness Rad, diesmal vier-eckig".

Obwohl vielleicht 八-eckig ?
(https://blog.chinatours.de/2012/08/28/chinesische-zahlensymbolik)

Gruss, Alfred.

: Bearbeitet durch User
von Alfred T. (atererus)


Lesenswert?

Hier steht der zweite Beitrag zu „ATZ-Modul“ Serie.

Was dieser Beitrag Deutlich machen soll ist was das Ziel ist. Das Ziel 
ist ein ganzes Ökosystem zu erschaffen. Ein System wobei eine nicht 
technische unterrichtete Person sich einfach bei einem für nur seine 
Anlegen eine passende Lösung erstellen kann. Das, was nicht gelingen 
würde wenn ein herbeigerufener Techniker zu teuer ist, und wenn es keine 
(bezahlbare) Fertig-Lösung gibt. Jedenfalls ein System das ein Techniker 
die Arbeit um vieles erleichtern wird. Dieses Ökosystem muss auch 
Umwelt-freundlich sein. „Umwelt“ im weitesten sinne des Wortes, zum 
Beispiel auch humanitär. Freiheit ist hier ein nicht wegzunehmendes 
Prinzip.

Technik für alle. Mikrocontroller sind heutezutag billig (ab 0.25 Euro). 
So kann man nun nur eine Funktion, wie zum Beispiel ein ASCII nach 16x2 
LCD Treiber, kosten günstig darin unterbringen. Mann braucht also nicht 
unbedingt alle Funktion in einem Mikrocontroller unter zu bringen.

So braucht man nicht alle Funktionen in nur eine vielseitiges 
Mikrocontroller Platine unter zu bringen. Und wenn das klappt, probieren 
alle unterschiedliche I/O mit einzelnen Drähte an dieses zu verbinden. 
Das letzte wird ein nicht-Techniker noch schaffen können, aber ein 
komplexes Multi Task System ohne O.S. wird sogar manchen Techniker 
schwer fallen. Da ist es besser man bringt die Funktionen, wie zum 
Beispiel ein Empfänger, eine Uhr, und ein LED Matrixdisplay in drei 
separaten Modulen unter. Das verringert den (bare metal) 
Programmieraufwand, und macht Systemänderungen einfacher durch ein Modul 
auszuwechseln. Ein DCF77-Uhr-Display wird dann auch nicht schnell 
weggeworfen wenn es DCF77 nicht mehr geben würde. Das Empfänger Modul 
kann herausgenommen und wiedergebraucht werden, und ein neues Wi-Fi 
Modul mit Zeitprotokoll kann anstatt gesteckt werden. Kein Teil 
verschwindet auf dem Abfallberg.

Alles in allem, rechtfertigt ein generelles Mikrocontroller Platine mit 
vielen generelle I/O sich nicht mehr ohne weiteres. Wenn Module gut 
durchdacht sind, flexibel und einfach in Anpassung, werden diese 
schneller wiedergebraucht werden. Kleine generelle Modulen mit nur einer 
einzigen Funktion können sehr kostengünstig fabriziert werden. Besser 
man stapelt genau die vielen kleine I/O die wirklich benötigt werden, 
dann versuchen eine generell brauchbare Platine zu bauen wovon die 
Hälfte nie gebraucht wird. Das ist eine Verschwendung von Materialien 
als auch Energie. Die (kleine) Funktion unterbringen in ein Controller 
auf die I/O Platine, ändert nicht wesentlich den Energieverbrauch, 
könnte diese sogar verringern durch genau auf diese Funktion abgestimmte 
Maßnahmen. Es ist auch wahrscheinlicher das solche tatsächlich geschehen 
auf dem I/O Platine, im Gegensatz wenn untergebracht in ein großes 
Programm auf den Zentralprozessor. Wenn nicht sogar Unmöglich ohne 
eigene Taktfrequenz für die I/O.

Eine (große) Platine mit Mikrocontroller und Applikation spezifisches 
I/O hat dieses Problem nicht so schnell. Dagegen verschwindet es schon 
schnell auf dem Abfallberg, wenn die Applikation mehr verlangt oder 
überhaupt nicht mehr benötigt wird.

Dieses Projekt soll sogar so werden dass Jemand ohne technisch 
Erkenntnisse nur Module aneinander steckt und in ein GUI konfiguriert 
was gewünscht ist. Nehmen wir die hier vor genannte DCF77 Uhr wieder als 
Beispiel. (hypothetische Zukunft) Der Gebraucher startet ein neues 
Systemprojekt. Aus der Bibliothek werden Empfänger, Uhrwerk, und LED 
Matrixdisplay Module auf die lehre Systemfläche hinzugefügt. Der 
Empfangsstrom durch ein DCF77 Decoder geleitet und am Uhrwerk 
Synchronisation angeschlossen. Der Uhrwerkausgang am Textcoder 
angeschlossen und diese am Displayeingang. Weiter werden Parameter 
eingestellt, so wie die Empfängerfrequenz, 24-stunden Zähler mit 
Mitteleuropäischen Sommerzeit, und Roman Schriftzeichen auf 
Matrixdisplay. Dann werden die Module mit IDC Kabelverbunden und am 
Programmiergerät angeschlossen. Die PC Analysiert durch Plug-and-Play 
info die Module und die Struktur. Die Funktionen werden allociert, 
Firmware wird generiert und hochgeladen zu jedes Modul. Fertig, ohne ein 
Programm dazu zu schreiben. Zukunft Musik. Aber der Weg dahin ist der 
Weg dieses Projekt gehen sollte.

Wichtig hierbei ist aber das es ein (oder mehr) Standard Anschluss gibt, 
den „Modul Bus“. Wobei man die verschiedenste I/O anschließen kann, wie 
bei die I/O-Karten im Rechner. Aber auch die Funktionen, sowie 
Algorithmen auf eine 3D Grafikkarte selber laufen, oder das Floppydisk 
und Drucker beim früheren Commodore 64. Ein zentraler Prozessor als 
Modul macht in komplexen Situationen als Rechner Sinn und das 
betreffende Modul könnte dazu ein Operating System und Interpreter 
anbieten.

Das sind die treibenden Gedanken hinter dem ganzen Projekt. Es 
unterscheidet sich wesentlich von dem was es heutzutage zum Beispiel die 
Arduinos treibt. Diese Projektidee ist sogar möglich auf ein Arduino, 
aber dann auf einem höheren Level als das was gänglich ist. Aber auch 
dann fehlt noch die Busstruktur mit Plug-und-Play Informationen. Letztes 
soll ja ermöglichen mehrere Modulen mit ihren Funktionen bequem für 
nicht-Techniker zu einem System zusammen zu bauen.

Freiheit für alle. Hier können wir kurz sein. Dieses ganze Projekt ist 
Frei in diesem Universum. Keine Lizenz, keine Gebrauchsrechte. Wenn Sie 
auf einen kleinen Planeten wohnen wo die Affen aus den Bäumen 
heruntergekommen sind, und kleine farbige Scheine verlangen für den 
Gebrauch von Wissen, oder sogar für die Weisheit selbst, dann wird Sie 
wahrscheinlich diese Freiheit „zu wissen“ und Weisheit zu gebrauchen 
durch diese Affen entnommen. Weiteres zu diesem Thema nicht in diesem 
Topic, aber in ein separates Topic „ATZ-Ethos“.

Wer zweifelt an den Sinn der austauschbaren einheitlichen Modulen, 
sollte sich vielleicht fragen warum Deutschland so schnell 
wirtschaftlich stark geworden war Anfang 1900? Vielleicht den Einfluss 
von Austauschbau und Einheitsbau der Deutschen Eisenbahnen studieren. 
Die Freiheit, die Offenheit dieser technischen Dokumenten hat sicherlich 
auch beigetragen an den gewaltigen Wachstum von Dampflokomotiven und 
Wagen.

Im nächsten Beitrag werde ich die Projekt und Modul Ziele weiter 
konkretisieren.
Der dritte Beitrag folgt nächste Woche.
Biss dann, Alfred.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

tl;dr: wayne 🤔

Viel geblubber und ein paar Bilder. Wo sind die Projekt-Files?

: Bearbeitet durch User
von Experte (Gast)


Lesenswert?

Gibt's schon längst, und sehr erfolgreich. Nennt sich Arduino.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Experte schrieb:
> Gibt's schon längst, und sehr erfolgreich. Nennt sich Arduino.

Ich warte nur darauf, dass er zum jammern anfängt, weil Arduino seine 
Idee gestohlen hat und reich geworden ist^^

von Alfred T. (atererus)


Lesenswert?

Mampf F. schrieb:
> Wo sind die Projekt-Files?

Die stelle ich euch gerne zusammen. Welches Projekt zuerst?

von Alfred T. (atererus)


Lesenswert?

Mampf F. schrieb:
> Experte schrieb:
>> Gibt's schon längst, und sehr erfolgreich. Nennt sich Arduino.
> Ich warte nur darauf, dass er zum jammern anfängt, weil Arduino seine
> Idee gestohlen hat und reich geworden ist^^

Arduino ist gut. So wie ihr beiden bestimmt gelesen habt is Platine 9 
ein von Arduino "gestohlen" Modul, also ein Arduino erweitert MIT 
Plug-'N-Play Bus Konzept.

Das reich werden andere ist genau das Projektziel. Mampf kann gerne 
weiter die banantwortung in Finanzierungs Angelegenheiten übernemen, ich 
binn nicht damit bekannt.

Euer PR in Sachen dieses Projekt muss vielleicht ein bischen besser? Das 
erscheint mir ja noch slechter als mein eignes PR schon ist?

von Alfred T. (atererus)


Lesenswert?

Hier steht der dritte Beitrag zu „ATZ-Modul“ Serie.

Der erste Beitrag schildert die Historie, wie es so weit gekommen ist.
Der zweite Beitrag soll deutlich machen was das Ziel ist.
Dieser dritte Beitrag soll die Projekt und Modul Ziele weiter 
konkretisieren.

Diese Serie Beitrage hat als Ziel die Kommunikation zu erregen was 
konkret erwünscht ist und letztendlich alle Gebraucher dienen soll. Das 
soll dazu führen das ein „Freie“ Dokumentation Entsteht wie man Module 
entwickeln kann. Diese Modulen sollen wie I/O Platinen im PC durch 
Anschluss auf ein universellem Bus mit zu einem gesamtes System führen. 
Der Zusammenbau soll letztendlich so einfach werden das auch nicht 
technische Gebraucher sich ein System erstellen können.


Konkrete Gebrauchs Bedingungen

Alles (vorgehende Experimente inklusive) ist frei, und muss frei 
bleiben. Wirklich „frei“ so wie in „libre“ wie Richard M. Stallmann 
(RMS) und Free Software Foundation (FSF) verkündigen. Die (zukünftige) 
Autoren, erklären diese folgende Ideologie immer zu folgen :

„Information“ kann man „Besitzen“ ist aber niemals „Eigentum“. Nicht von 
jemanden, noch von einer Gruppe. Mann erkennt daher keine 
Lizenzwürdigkeit. Eine Lizenz kann nicht gegeben werden, weil niemand 
ist dazu ermächtigt ist. Die einstehende Information ist frei, aber das 
gibt jemanden nicht das recht unanständiges zu tun oder anständiges zu 
lassen.  Kein Staat oder Behörde ist in diese Sachen anerkannt.

Daraus folgt : „Diebstahl“ ist unmöglich. Kopieren, ändern, vertreib und 
Gebrauch sind ausdrücklich erwünscht. Es gibt Pflichten zu befolgen. 
Behandlung davon sprengt der Rahmen diesem Beitrag. Im großen zusammen 
gefasst : die Pflicht ist Universal „Gutes“ zu tun.


Konkrete Namen - Autor und Publik

Das „ATZ“ Präfix ist lediglich ein Autoren Kennzeichnung für seine 
eigene Experimente und Software Kontext. Für das Projekt ist es 
erwünscht eine eigene Kennzeichnung, unabhängig vom Autor, zu bekommen. 
Auch dass soll diskutiert werden. Anfangs kann „UFO“ für „Universal Free 
Open“ dienen.  Zum Beispiel „UFO-RFC“ dient als „Request For Comments“ 
zu Diskussion von ein Standard „UFO-STD“. UFO gefällt mir : jetzt noch 
unbekannt und schwebend in der Luft. Hoffentlich landet es und eröffnet 
uns eine Welt neuer Möglichkeiten.


Konkrete Ziele.

Umwelt. Die Module sollen :
    • Umweltfreundlich sein. Im erstellen, Gebrauch, als auch die 
Beseitigung.
    • Die Freiheit von Wissen (Entwurf und Gebrauch) sicher machen. Sich 
nicht verfangen in Netze von Unfreiheit.
    • Für alle Leute erreichbar sein, nicht nur diejenigen die genug 
(technische) Kenntnisse oder Geld besitzen.

Projekt Ziele
    • Humanitär Lebensstandard verbessern
    • Gesundes Umwelt befördern,
    • Mehre „Open“ (Freie) Standard Entwickeln
    • Tests die die Qualität von ein Produkt beurteilen in Bezug auf 
erreichte Projektziele
    • Module, Software, Kenntnisse Entwickeln


Modul Ziele. Dazu soll ein Modul folgendes :
    • Leute ohne technisches Wissen, soll es möglich gemacht werden ein 
System mit Module zu erstellen durch einfache Bauelemente.
    • Plug-und-Play ähnliche Funktionen bekommen.
    • Die Hardware soll, wo sinnvoll, programmierbar und konfigurierbar 
sein.
    • Eine deutliche Gebrauchsanleitung (Spezifikationen, Bedienung) 
haben.
    • Austauschbar sein. So das ein System an sich ändernde Bedürfnisse 
angepasst werden oder repariert werden kann.
    • Darf funktions- Spezifisch sein, aber Generalität zu Applikationen 
in acht nehmen.
    • Ohne hohe Aufwand zu ändern zu reparieren sein. Und dazu 
ausreichend dokumentiert sein.
    • Standard, generelle Signal Bus Anschluss und hardware Montage 
gebrauchen oder Unterstützen.
    • Bei den Entwurf soll acht gegeben auf Qualität (Fehlerrate, 
Schutzmaßnahmen, langlebig, testbar)


Konkret : der nächster schritt.

Die vorgehende Experimente haben eine Sache ganz deutlich gemacht : Egal 
was, der erste schritt ist sich der Systembus aus zu denken, ein 
Bus-Master und Bus-Slave realisieren, und mit ein bus 
Programmer/Debugger die ganze Sache zu evaluieren, und in einem Standard 
fest legen.

Jetzt soll dass ganze nicht in ein nicht nützendes Projekt des Projekt 
willens Selbstbefriedigung werden. Da hab ich aber ein nützliches 
Projekt schon laufen dass auch im Modul-Prinzip gebaut werden soll : ein 
1:160 Schattenbahnhof, mit virtuellem Sp Dr S60 Stellwerk (Spurplan 
Drucktasten Siemens 1960 Stellwerk). Die Loks sind nicht digital und 
sollen so bleiben. Der Wunsch ist PWM DC-Motor-Antrieb mit Voltage-Sense 
und Gleis-Besetzt-Meldung. Dazu auch Servo und LED antriebe fur Weichen 
und Signale.

Dazu mussen folgende Module entwickelt werde werden:
    1. Raspberry Pi Zero wireless Träger-Modul (wireless web server & 
Modul-Bus programmer/master/debugger)
    2. Billiges Streckenabschnitt Motor-treiber (1x PWM mit 3x Gleis 
teil Besetzt-Meldung. Platine mit mehre Streckenabschnitte, oder 
einzelne stapelbare Module.)
    3. Adapter Modul um billige (in diesem fall PWM-)Module Chinesische 
Herkunft zu treiben, vielleicht PMOD interface.

Doch erst soll der Systembus im vierten Beitrag zur Diskussion 
vorgestellt werden. Dies wird dann auch zugleich die erste „request for 
comments“  (UFO-RFC-1) sein.

Bis nächste Woche, Alfred.

von Paul (Gast)


Lesenswert?

Finde dein Projekt einfach Toll.
An die blöden Kommentare muss man sich wohl gewöhnen.
Siehe PN.
LG Paul

von Alfred T. (atererus)


Lesenswert?

Hier steht der vierte Beitrag zu „ATZ-Modul“ Serie.

Bitte lesen sie erst die drei vorgehende Beitrage.

Dieser Beitrag soll der Systembus zur Diskussion vorgestellt werden. 
Diese wird dann auch zugleich der erste Ansatz zum sogenannten „request 
for comments“ (RFC) sein.

Der Systembus soll letztendlich dafür sorgen das Menschen ohne viel 
Umständen Modulen aneinander stecken und dass man dass entstandene 
System einfach gebrauchen können. Wenn ein zukünftiges integrated 
development environment (IDE) oder operating system (OS) etwas 
intelligentes mit die (noch) unbekannte Modulen anstellen soll, so 
bedarf es an Information. Ein ähnliches verfahren findet man wie heute 
zu tage im PC. Solche Informationen werden im PC mittels 
Two-Wire-Interface (TWI) aus, auf ein Komponente befindlichem EEPROM, 
ausgelesen. Wichtige Schnittstellen Parameter Grenzen die immer gleich 
sind, sind auch irgendwo festgelegt, zum Beispiel in einem Standard. Das 
gleiche strebt diese, zu Diskussion stehendes Standard an. Nicht die 
1001-ste Schnittstellen Standard, aber eins dass bestimmte 
Randbedingungen gibt wenn es zu „Plug-And-Play“ kommen soll, wenn die 
nun folgende Problemen in einem bestehende Schnittstelle behoben werden 
sollen, oder es kommt Not bedürftig zu einem neuen Standard.

Wer heute zu tage sich beschäftigt mit mini Computer (z.b. Raspberry 
Pi), Mikrocontroller (z.b. Arduino), oder reconfigurierbare IC‘s 
(CPLD/FPGA, z.b. MAX1000) und die unterschiedlichsten Peripherie, 
derjenige wird schon schnell feststellen das das hier oben genanntes 
Ideal noch nicht erreicht ist. Dabei kommen folgende Probleme ans licht 
:
    • Verschiedene Pin belegungen bei die unterschiedlichsten 
Schnittstellen.
    • Teure Connectoren wo sie nicht unbedingt nötig sind.
    • Keine Plug-and-Play Informationen, oft sogar nicht in die 
Pinbelegung von Peripherie Connector vorgesehen.
    • Slechte Signalbedingungen : EMI vom Nachtbar Signal, Ungenügend 
Dämpfung von Signalschwung, slechte Signalrückführung, slechte 
gleichzeitig schaltende Signale (SSO) Bedingungen - was letztendlich 
führt zu falsche Datenübetragung.
    • Unterschiedliche Signalpegel zwischen zwei Module.
    • „In-system programmierbar“ (ISP) meistens nur mit extra 
Verkabelung und Programmiergeräte (PC-USB), selten aber richtig „im 
System“ also ohne das Modul heraus nehmen zu müssen.
    • Falsh anstecken der Stecker ist möglich weil ein polarisierendes 
Gehäuse weggelassen wurde.
    • Schnittstelle hat Keine „freie“ „open“ Dokumentation, oder hat 
dies wohl, ist aber noch immer „Eigentum“ von jemanden. Da lassen 
Änderungen die jeden dienen sollen sich slecht durchführen.

Fakt : Ein header mit polarisierendes Gehäuse ist kostenfreundlich und 
kann bis zu Signale bis 10 .. 20 MHz weitergeben. Bei 1000 Stück kostet 
6-pin $0.091, 10-pin $0.13, und 14-pin $0.15. Dies ist ein Billige 
lösung und man kan vielleicht alte PC Sachen wieder gebrauchen was die 
Umwellt dient. Da sind im besonderen die 10-, 34-, und 40-Polige 
Varianten intressant.

Bei dem Flat-cable kan man es so einrichten das jedes Signal getrennt 
ist durch ein nicht schaltendes Signal. Zum Beispiel ein 0V-Masse oder 
Speisespannung. Zugleich dient dieses auch als Signalrückführung. Bei 
Speisespannungleitungen kann der AC-Strom nach Masse geführt werden. 
Wird so jedes 2-pin Pärchen beim Connector belegt, schafft man bessere 
Signal Bedingungen, genau so wie am altem 34-pin Floppy-Kabel Signal 
Belegung. Weiter soll zum Dämpfung vom Signalschwung jedes Signal mit 
korrekt Impedanz abgeschlossen werden. Dass kann man erreichen indem 
jedes Signal ein kleines Serien-Widerstand gibt. Da bei diese Verfahren 
alle Speisespannung an einer Seite kommen soll diese Seite so gewählt 
werden das beim gewinkeltem Header diese an der Außenseiten zum 
Platinrand befindet. Der kleinste Stecker (4-pin) soll die Plug-Und-Play 
information und deren Speisespannungen führen. Und bei breiteren Stecker 
sollen Speisespannungen und Signale hinzugefügt werden. So kann, nach 
Vereinbarung, Information-Austausch stattfinden, auch wenn die 
Connectoren-Breite am Master und Slave unterschiedlich sind. Die 
Plug-Und-Play information besagt die signal Belegung am Connector, die 
Master und Slave durch PnP verfahren vereinbaren können, doch beim 
Systemstart muss es eine immer eine Kompatible Basis gegeben sein. Diese 
Basis dient auch den Fall das ein umständliches PnP verfahren kein Sinn 
hat.

Bitte reagieren. Im nächsten Beitrag werde ich die Reaktionen 
verarbeiten und ein erstes RFC schreiben. Dass soll zu einem Standard 
führen was das Publikum gehört, und daher nach belieben Form gegeben 
werden kann, und gebracht werden kann auf jeder weise wie es jemanden 
passt. Das RFC wird in Englisch geschrieben, denn es soll ein größeres 
Publikum ansprechen.

Bis nächste Woche, Alfred.

: Bearbeitet durch User
Beitrag #6676147 wurde vom Autor gelöscht.
Beitrag #6676152 wurde vom Autor gelöscht.
von Experte (Gast)


Lesenswert?

Alfred T. schrieb:
> Projekt Ziele
>     • Humanitär Lebensstandard verbessern
>     • Gesundes Umwelt befördern,
>     • Mehre „Open“ (Freie) Standard Entwickeln


warum, Warum, WARUM kein  *W E L T F R I E D E N  ! ! !*

von Alfred T. (atererus)


Lesenswert?

UND WELTFRIEDEN JA !
Eh ...

(warte mal, es sind doch universale Regeln?)

...

UNIVERSUMFRIEDEN inclusief weltfrieden. Ich werde dies zuküftig 
expliciet bei den anderen Ethische Gedanken dabei schreiben. Danke.

Leider habe ich ungenügend Zeit reserviert um den neuen Beitrag zu 
schreiben. Ich bitte höflichst um Entschuldigung.

Bis nächste Woche, Alfred.

: Bearbeitet durch User
von Alfred T. (atererus)


Lesenswert?

Hier steht der fünfte Beitrag zu „ATZ-Modul“ Serie.

Dieser Beitrag soll der Systembus zur Diskussion vorstellen. Diese ist 
auch zugleich die erste request for comments Entwickelung im „UFO“ 
Projekt. Die Tekste sind noch unzufriedenstellend, wer sie sich dennoch 
ansehen möchte findet diese hier : 
https://www.customdesign.nl/external-content/ufo.tar.gz. Reaktionen und 
Hilfe sind sehr willkommen.

Entwurf:

    • Connector :  Header mit 2 reihen Stifte im Abstand von 2.54 mm
    • Quadrat förmige Stifte
    • Stift-Leistung : minimal 3A
    • Polung gesichert durch 4-wall shrouding
    • Der Gebrauch von Billigen Connectoren mit gute Lieferbedingungen 
ist zu bevorzugen. Diese sind (heute) die 6-poligen, 10-poligen, und 
14-poligen.

    • Jedes Paar (1-2), (3-4), ist ein Signal mit Signal Rück-Strom.
    • Das Rück-Strom ist AC gekoppelt nach GND und kann ein DC 
Speisespannung führen.
    • Im IDC-Kabel hat das Rück-Strom Signal auch eine Funktion als 
Isolation zwischen benachbarte Signal.
    • Die seite der Rück-Strom Signale ist so gewählt das beim führende 
Hersteller von gewinkeltem Connectoren diese Seite nach außen zum 
Platinenrand geneigt ist. Daher sind die Rück-Strom Signale den 
Gradzahlige Positionen (2, 4, und so weiter) zugeordnet.
    • Die Zahl der Stifte ist Grade aber weiter beliebig zu wählen.
    • Die Zahl der Stifte können am Master und Slave unterschiedlich 
sein, solange die angeschlossene Stifte dieselben Positionsnummer 
betreffen. Wenn eine Vereinbarung zwischen Master und Slave möglich ist, 
soll die Kommunikation Funktionieren.
    • Wenn die Zahl der Stifte gleich 2 ist, dann ist das Protokoll 
undefiniert und reserviert für ein 1-draht „Plug-and-Play“ Protokoll mit 
power over data signal.
    • Stift 1 ist serial data (SDA)
    • Stift 2 ist GND.
    • Wenn die Zahl der Stifte 4 oder mehr ist, dann ist das Protokoll 
TWI. Ein separates Dokument beschreibt die hier zu betreibendes 
„Plug-and-Play“ Protokoll.
    • Andere serielle funktionen neben das „Plug-and-Play“ Protokoll 
sind Zulässig.
    • Stift 3 ist serial clock (SDC)
    • Stift 4 ist eine unregulierte Speisespannung (Vsup), die in 
Operationsmodus zwischen 3.3V und 5V nominal sein darf. (Beispiele : 3x 
1,2V, USB Speisespannung, 4,7V LiPo, 5V stabilisiert)
    • Stifte auf Positionen 5 und höher können durch das Plug-and-Play 
Protokoll vereinbart werden. Eine Vereinbarung soll jedoch nie zu 
Fatalen Fehler oder Gefahr leiten können.
    • Nach einen Power-up, System-Reset, System Fehler, oder dergleichen 
ist die Kompatibilität zu die Standard Stift Ordnung (Mode 1) zu 
gewährleisten.
    • Mode 1 Stift 5 : Signal vom Slave zum Master „data input“ (DI).
    • Mode 1 Stift 6 : Speise Spannung für die I/O Signale die sich 
nicht auf die erste 4 Stiftpositionen befinden. 1,8V bis 5V (Vio)
    • Mode 1 Stift 7 : Signal vom Master zum Slave „data output“ (DO).
    • Mode 1 Stift 8 : GND
    • Mode 1 Stift 9 : Signal vom Master zum Slave „clock“ (CK).
    • Mode 1 Stift 10 : stabilisiertes 5V Speisespannung. (+5V
    • Mode 1 Stift 11 : Signal vom Master zum Slave „select“ (SEL).
    • Mode 1 Stift 12 : GND
    • Mode 1 Stift 13 : Signal vom Master zum Slave „not reset“ (NRST).
    • Mode 1 Stift 14 : stabilisiertes 3,3V Speisespannung (+3V3).
    • Weiter Stifte sind undefiniert, MODE 1 master output 0V/GND.
    • Signalen sollen auf beiden Seiten Signal-Technisch korrekt 
abgeschlossen sein sodass Reflexionen auf ein gangbares Minimum begrenzt 
sind.
    • Der Master bestimmt und liefert die I/O speisespannung.
    • Der Slave hat die sorge für die richtige Signal Pegel vom/zum 
Master.
    • Sowohl Master als auch Slave sollen einen nicht aktiven (power 
down) zustand der anderen Seite, als auch eine nicht Angeschlossen 
zustand, auf gute weise unterstützen.

    • Ein LED in unmittelbare nähe vom connector soll eine einfaches 
Status Signal abgeben.
    • LED dunkel : keine Speisespannung, nicht angeschlossen, korrektes 
Funktionieren
    • LED rot : Fehler im Anschluss, Inkompatibilität zwischen Master 
und Slave, hardware Fehler.
    • optionales LED grün : korrektes Funktionieren. Anzeige immer im 
test modus, aber nie im power save modus.
    • optionales LED gelb : korrektes Funktionieren, aber keine optimale 
Master - Slave vereinbarung möglich auf diese Connectoren. Anzeige immer 
im test modus, aber nie im power save modus.

Eine besondere Anwendung vom einem 14 poligen Verbindung ist die In 
System Programmierung mittels JTAG (6=TDI, 8=TDO, 10=TCK, 12=TMODE, 
14=TRST) oder gleichartige Lösungen.

Die nächste Beiträge werden dies weiter spezifizieren. Dazu werden 
Schaltungen (Module) Entwickelt als Prototypen. Diese Prototypen sind 
keine pure Testobjekte, sonder widmen sich eine konkrete Aufgabe : eine 
Modell Eisenbahn Steuerung. Alles fängt an mit einem Master. Dieser soll 
bereits auf dem Markt befindlichen Module anstreben.

Das Modell Eisenbahn Projekt benötigt eine Raspberry Pi Zero wireless. 
Als erstes Modul für den Master selbst wird ein Raspberry Pi-Hat 
Entwickelt werden mit zwei dieser „UFO“ Systembusse, ein Master und ein 
Slave. Als nächste Module werden Konverter Module zu den auf dem Markt 
befindlichen Unterschiedliche Platinen und Module. Ganz Konkret benötigt 
das Modell Eisenbahn Projekt verschieden 16-channel PWM Module mit TWI, 
und ein Fahrstromregler mit Freimeldeanlage. Eine genaue Vorstellung zum 
Fahrstromregler mit Freimeldeanlage fehlt im diesem Moment. Anregungen 
sind willkommen.

Bis nächste Woche, Alfred.

von Alfred T. (atererus)


Lesenswert?

Liebe leute, ihr koennt mir gerne E-mailen : atererus@customdesign.nl

Ein PM Abschiken antwortet hier [rot] wrong answer [/rot]. Da ich kein 
Google vom proxy bekomme kann es sein das captcha nicht funktioniert. 
Tut mir leid aber Google kommt hier nicht im haus. Punkt.



Paul schrieb:

> Finde dein Projekt einfach Toll.
Danke Paul, ich deins auch ;-)

> Siehe PN.
Danke fuer die E-mail, leider konnte ich dir die Antwort noch immer 
nicht senden.

LG Alfred.

von Paul (Gast)


Lesenswert?

Alfred T. schrieb:
> https://www.customdesign.nl/external-content/ufo.tar.gz.
Hallo
Konnte leider die Datei nicht öffnen

von Alfred T. (atererus)


Lesenswert?

Paul schrieb:
> Konnte leider die Datei nicht öffnen

Danke. Der Fehler is nun behoben. Auch gibt es nun als Alternative :

https://www.customdesign.nl/external-content/ufo.zip

von Alfred T. (atererus)


Lesenswert?

Neuigkeiten zu „ATZ-Modul“ Serie.

Im letzten Beitrag schrieb ich das als erstes Modul für den Master 
selbst wird ein Raspberry Pi-Hat
entwickelt werden sollte mit zwei dieser „UFO“ Systembusse.

Nach was forschen stellt sich heraus das das Raspberry Pi Interface, im 
besonderem das TWI, das SPI wobei das Raspberry Pi als Slave 
funktioniert, und die Linux Treiber schreiben mehr Probleme bringt als 
das sie in diesem Fall (Modelleisenbahn) löst. Dabei würde das Ganze 
dann auch nur für den Raspberry Pi brauchbar sein. Ein weiteres 
wichtiges ist das wegen I/O Mangel im Raspberry Pi sehr wahrscheinlich 
noch immer ein extra Mikrocontroller benötigt wird um die Interface gut 
funktionieren zu lassen. Würde allerdings vielleicht auch für so eins 
Projekt sprechen, aber es sprengt den Rahmen des Eisenbahn Projekts. 
Vielleicht Später, oder wenn jemanden sich wirklich für so ein Projekt 
ausspricht.

Da hab ich mich entschieden die Sache mit noch was mehr Arbeit zu lösen 
durch ein USB Interface zu gebrauchen. Dann muss der Server nicht mehr 
unbedingt ein Raspberry Pi sein, aber kann jedes USB-Master Apparat 
sein. Im Augenblick ist mir noch nicht ganz klar welcher Weg ich da 
gehen möchte. Es stehen mir verschieden Optionen zum Wahl die ich noch 
immer untersuche. Am wahrscheinlichsten ist es um ein Arduino als USB 
Interface gebrauchen, und den erste UFO-bus auf ein 
Arduino-Experiment-Shield  zu bauen.

Die paar Stunden in der Woche reichen jetzt nicht mehr um jede Woche 
etwas neues von mich zu geben daher werde ich von nun an berichten wenn 
wieder ein kleiner Schritt gemacht ist.

Bis nächstes mal, Alfred.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.