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)
Hallo André Lese das mal durch und Pflege das ein. Richtiges Designen von Platinenlayouts Dann stell es hier nochmals rein. Grüsse, René
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
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.
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.
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é
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
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.
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.?
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.
> 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
>> 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.
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.
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?
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..?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.