Forum: Mikrocontroller und Digitale Elektronik erste Platinen was meint ihr?


von André M. (killroymenzel)



Lesenswert?

Hallo...

So meine ersten Platinen meines "Projekts" sind fertig.
Im Grunde sind das Module meines 19" Messparks.

Daher gibt es auch keine Anzeigen sondern eine 485er Verbindung zur
Masterplatine, die dann die Steuerung und Anzeige übernimmt.
(Diese ist aber leider noch nicht fertig)

von Rene H. (Gast)


Lesenswert?

Hallo André

Lese das mal durch und Pflege das ein.

Richtiges Designen von Platinenlayouts

Dann stell es hier nochmals rein.

Grüsse,
René

von André M. (killroymenzel)


Lesenswert?

Zugegeben, die Progammierung ist noch gar nicht fertig.

Bei dem Kmponententester werde ich mich an die Software vom 
"Transistortester" anlehnen, wobei ich diese Software in Assembler 
konvertieren möchte.

Der Counter wird wohl am einfachten zu programmieren sein.. erst den 
Teiler einstellein und dann den Frequenzeingang berechnen.

Der LogicAnalyzer wird da schon etwas sportlicher.....
1. Triggern und den Zähler laufen lassen, der dann auf der aufsteckbaren 
Memoryboard vollschreibt.

2.Bei vollem Memory den Inhalt vom µC auslesen und an den Master 
schicken.

Das ganze möchte ich in Assembler programmieren.

Wenn jemand passende Assemblermodule hat, würde ich diese gerne 
verwenden und in mein Konstrukt einbauen.

Allerdings wird das noch eine Weile dauern bis ich zum programmieren 
komme.

Was noch in den Startlöchern liegt ist ein DDS als Funktionsgenertor mit 
einem AD9850/51
Aber der ist noch nicht ganz fertig.


Über Kritik und/oder Anregungen würde ich mich freuen.


André Menzel

von André M. (killroymenzel)


Lesenswert?

Rene H. schrieb:
> Lese das mal durch und Pflege das ein.
>
> Richtiges Designen von Platinenlayouts
>
> Dann stell es hier nochmals rein.

Im groben dachte ich eigentlich dass ich nicht ganz so viele Fehler 
habe.

Zumindestens u.a. die Leiterbahnbreite sollte stimmen.
Die Blockkondensatoren habe ich auch....(es sei denn ich habe irgendwo 
einen vergessen)

Analoge Anteile habe ich auch nicht....

Das was ich gar nicht habe sind die Masseflächen...(ganz ehrlich- das 
habe ich nicht richtig hinbekommen)

Wenn Du natürlich konkrete "grobe" Fehler gesehen hast, bitte ich dich 
darum, diese mir zu aufzuzeigen.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

André Menzel schrieb:
> Wenn Du natürlich konkrete "grobe" Fehler gesehen hast, bitte ich dich
> darum, diese mir zu aufzuzeigen.

Ganz ehrlich: die gesamten Platinen sind nen grober Fehler...
Machs nochmal komplett neu un beherzige den Link.
Die Leiterbahnen bitte breiter machen und eine Leiterbahn durch 2 Pads 
vom SO8 muss jetz auch ned sein.
Sternförmige Stromverteilung ist garnicht zu erkennen.

Viele Durchkontaktierungen sind zu nah an den Pads.
Eagle hat nen DRC Check, der wird die um die Ohren fliegen bei der 
Platine.

von André M. (killroymenzel)


Lesenswert?

Ok...Verstanden.... ich werde es nochmal machen.....

Ich werde allerdings ein paar Tage brauchen, da ich nicht allzu viel 
Zeit habe.

Danke fürs rüberschauen.......


André

von Martin (Firma: Angestellt) (herki)


Lesenswert?

Hallo  André

Mir ist bei den Schaltplänen aufgefallen, dass die RS-422 (vollduplex) 
immer auf den gleichen Pins liegt. So wie ich Dein Thread gelesen habe 
ist das aber ein ganzes System welches in ein 19"-Rack (mit Backplane) 
kommt. In dem System kann aber aktuell immer nur ein Modul neben Deinem 
Basismodul gesteckt werden (die Drive-Leitungen der Erweiterungsmodule 
sind kurzgeschlossen).
Außerdem fehlen die Abschlusswiderstände am Empfänger.

Für den Quarz sep. GND-Fläche. Ansonsten strahlt der überall hin.

VG

Martin

von Markus (Gast)


Lesenswert?

Und auf dem Stecker X1 genügend GND vorsehen und gut verteilen damit es 
als Schirm wirkt. (Je nach dem was sonst noch darauf kommt.) Und sicher 
mal für 5V und 12V separat zuführen.

von André M. (killroymenzel)


Lesenswert?

Martin R. schrieb:
> (die Drive-Leitungen der Erweiterungsmodule
> sind kurzgeschlossen).
> Außerdem fehlen die Abschlusswiderstände am Empfänger.

Stimmt......Vielleicht sollte ich doch ich Simplex RS485 nehmen, so dass 
ich den Treiber nur dann einschalte wenn ich es brauche.

Was die Kommunikation angeht wolte ich den "Master" für die 
Kommunikation "verantwortlich" machen.

D.h. der Master beginnt eine Kommunikation mit einem Teilnehmer, sendet 
die Adresse und nur dieser Slave wird am Datenverkehr teilnehmen, bis 
eine Schluss sequenz das Ende der Kommunikation bekannt gibt.

Erst habe ich auch an eine SPI Verbindung gedacht, aber das wäre ein 
etwas höherer Aufwand wegen der /SS Leitungen. Da hatte ich an ein BCD 
Bus gedacht der auf dem Slave dann einen Vergleich mit einer 
voreingestellten Adresse macht.

Martin R. schrieb:
> Für den Quarz sep. GND-Fläche. Ansonsten strahlt der überall hin.
Hast du ein Beispiel für mich.?

von André M. (killroymenzel)


Lesenswert?

Markus schrieb:
> Und auf dem Stecker X1 genügend GND vorsehen und gut verteilen damit es
> als Schirm wirkt. (Je nach dem was sonst noch darauf kommt.) Und sicher
> mal für 5V und 12V separat zuführen.

Ok, das kann ich noch machen.
Die anderen Pins werden wahrscheinlich ein 8BitBus werden und noch 4 
Leitungen die eine AC Spannung führen. (12Veff)

Aber der Datenbus ist nur Reserve. Bis auf die Spannungen 12V/DC 5V/DC 
2x12V/AC und die serielle Datenverbindung (ob 485/422 oder SPI ist noch 
offen)

Wie gesagt, sind das die ersten Versuche.

von Markus (Gast)


Lesenswert?

> Für den Quarz sep. GND-Fläche. Ansonsten strahlt der überall hin.
> Hast du ein Beispiel für mich.?

Hier wird es sehr gut erklärt:
http://www.lothar-miller.de/s9y/categories/33-Quarz

von Markus (Gast)


Lesenswert?

>> Und auf dem Stecker X1 genügend GND vorsehen und gut verteilen damit es
>> als Schirm wirkt. (Je nach dem was sonst noch darauf kommt.) Und sicher
>> mal für 5V und 12V separat zuführen.

... und je auf dem äussersten Pin würde ich jedenfalls GND vorsehen.

von Harry L. (mysth)


Lesenswert?

André Menzel schrieb:
> Bei dem Kmponententester werde ich mich an die Software vom
> "Transistortester" anlehnen, wobei ich diese Software in Assembler
> konvertieren möchte.

Das erledigt jeder C-Compiler in weniger als 1s und ist Bestandteil des 
make-Prozess. (und der macht das i.d.R. besser als du das je 
hinbekommst!)

Kann mir mal jemand erklären, worin der besondere "Kick" liegt, alles um 
jeden Preis in Assembler machen zu wollen? (technische Gründe kann ich 
hier nicht erkennen.)
Assembler mag ja in begründeten Einzelfällen immer noch seine 
Berechtigung haben, aber der imense Vorteil von C ist doch gerade die 
Wiederverwendbarkeit und Portabilität.

von Martin (Firma: Angestellt) (herki)


Lesenswert?

Was möchtest Du denn für eine Datenrate fahren?
Eventuell reicht ein Widerstand. Oder aber du platzierst den auf dem 
Backplane.

Ich mag SPI.
Für ein CS zu jedem Port.
Auf der Tochterplatine hast Du einen Pullup (1k)
Auf der Controller-Platinen hast Du hochohmige Pullup (100k).
So kannst Du erkennen welche Ports belegt sind.

In der Controller-Platine-FW fragst Du dann jeden belegten Port mal ab.
Die FW der Tochterplatinen gibt dann eine Wert zurück welcher aussagt, 
welches Modul es ist.
Dann ist der Port quasi egal wo die Karte gesteckt wird.
Verstehst Du?

von André M. (killroymenzel)


Lesenswert?

Harry L. schrieb:
> Kann mir mal jemand erklären, worin der besondere "Kick" liegt, alles um
> jeden Preis in Assembler machen zu wollen? (technische Gründe kann ich
> hier nicht erkennen.)

Naja, da geht es eigentlich nur darum dass ich Assembler kann und mag, 
wobei ich C beim lesen meistens verstehe, aber nicht wirklich 
beherrsche.

Martin R. schrieb:
> Was möchtest Du denn für eine Datenrate fahren?
> Eventuell reicht ein Widerstand. Oder aber du platzierst den auf dem
> Backplane.

Die Datenrate muss nicht unbedingt schnell sein, zur Not reicht auch 1k2 
oder so etwas..... aber ich denke ich werde 9k6 verwenden.

Martin R. schrieb:
> In der Controller-Platine-FW fragst Du dann jeden belegten Port mal ab.
> Die FW der Tochterplatinen gibt dann eine Wert zurück welcher aussagt,
> welches Modul es ist.
> Dann ist der Port quasi egal wo die Karte gesteckt wird.
> Verstehst Du?

Aber wenn ich das richtig verstehe muss ich den verwendeten Port mit ADC 
auslesen, oder wie meinst du das..?

von Martin (Firma: Angestellt) (herki)


Lesenswert?

André Menzel schrieb:
> Martin R. schrieb:
>> In der Controller-Platine-FW fragst Du dann jeden belegten Port mal ab.
>> Die FW der Tochterplatinen gibt dann eine Wert zurück welcher aussagt,
>> welches Modul es ist.
>> Dann ist der Port quasi egal wo die Karte gesteckt wird.
>> Verstehst Du?
>
> Aber wenn ich das richtig verstehe muss ich den verwendeten Port mit ADC
> auslesen, oder wie meinst du das..?

Nein. Nach dem Power On definiertst Du die CS-Ausgänge der 
Controllerplatine als Eingang. Liest den Wert ein.
Wenn ein Modul an dem Port angeschossen ist wird der Wert über den 1k 
(Tochterplatine) auf 4,95V gezogen.
Wenn kein Modul dem Port angeschossen ist wird der Wert über den 100k 
(Controllerplatine) auf GND gezogen.
Das kannst Du auch ohne ADC herausfinden

von André M. (killroymenzel)


Lesenswert?

Stimmt.... das ist eine gute Idee....Danke....

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.