Ich plane eine Art tragbares Gerät mit mehreren Schnittstellen und G-LCD (Beitrag "Display mit Touchscreen bei Pollin?"). Im Anhang mal eine Schaltung (ist das erste mal, dass ich mit Eagle arbeite). USB soll in Software erfolgen (s. Elektor März 2007), wie auch PS/2 für eine Tastatur. Ebenso ist ein Erweiterungs-Port vorhanden (ich verwende hierzu gerne 15pol Sub-D), wegen der Knappheit an Pins sind einige mehrfach verwendet. Sollt eich besser Schieberegister einsetzen? Sind irgendwelche groben Fehler drin? Allgemein: Glaubt ihr, dass der ATMega32 mit den Ganzen Aufgaben überfordert ist? Sollte ich z.B. noch einen zweite Controller nur fürs Display einbauen und diesen dann über I2C/SPI/etc. ansteuern? Brauche ich für USB bzw. PS/2 eigene Abblockkondensatoren? grüssse g.
Hi Nur auf den ersten Blick: - 100nF an VCC/AVCC fehlen - deine Busleitung ist nicht verbunden - dein ISP-Anschluss ist mit Datanleitungen vom LCD verbunden. Die sollten mit Widerständen entkoppelt werden (LCD). MfG Spess
>Sind irgendwelche groben Fehler drin?
Auf Anhieb sehe ich nur, dass das Netzteil keine Verbindung zu GND hat.
100nF sind da (oben). Intern sind die Busleitungen alle verbunden, würde wahrscheinlich schrecklich aussehen, wenn ich die so verbinden würde... Widerstände vor dem ISP oder vor dem LCD? Mir kommen langsam Zweifel, ob der ATMega das alles packt...
Äh ... Sollte EXT9 / EXT10 gebrückt werden können, um als RS232-Loop dienen, so sollte der Ausgang Pin 12 des IC1 ev. noch ein paar hundert Ohm als Serienwiderstand erhalten.
Hallo, Fragen über Fragen... Baue doch deine Schaltung Stück für Stück auf einem Steckbrett auf. Ein Stück Hardware zusammenstecken, die Software dafür entwerfen, ausprobieren und weiter. 1. Controller und ISP 2. RS232 3. Display 4. USB 5. Touch + PS2 usw... Ein MEGA32 wird die Aufgabenstellung sicherlich schaffen, allerdings nicht alles gleichzeitig. MfG
und mir fällt noch auf: - ISP ist etwas ungewöhnlich belegt. (nicht ganz der Standard von den üblichen Programmer) - bei der RS232-Schnittstelle ist doch "GND" normalerweise der PIN 5
Steckbrett ist gerade ziemlich belegt, muss erstmal Platz schaffen ;-)... So werd' ichs auch machen. RXD/TXD auf dem EXT-Port sind nur gedacht, um Zugriff auf die TTL-Pegel zu haben. Ich hätte wahrscheinlich etwas mehr Spielraum, wenn ich Display-Ansteuerung+Touch auslagern würde, oder? Welchen Controller würdet ihr dafür nehmen und wie sollte dieser am besten mit dem Mega32 zusammenarbeiten (d.h. welches Protokoll)? Dann hätte ich auch ein paar Pins mehr frei und müsste keine mehrfach belegen. grüssse g.
@A.K. D.h. D1 und den Elko weglassen? @Andreas: Ja, ISP ist ungewöhnlich. Mich hat es nur gewundert, dass die üblichen Stecker nicht wirklich verpolsicher sind, der Stecker ist in echt auch etwas unförmiger und hat 7 Pole (GND ist doppelt). GND dürfte ja an Pin 5 sein, die Nummerierung ist hier nur irgendwie anders.
gadgaet schrieb:
> @A.K. D.h. D1 und den Elko weglassen?
Elko drinlassen, Diode überflüssig. Die ist nur sinnvoll, wenn in
grösserem Umfang Strom rückwärts durch den Regler fliessen könnte.
Die Diode war drin, falls versehentlich mal die Betriebsspannung falschrum angelegt wird (kann bei 9V-Clip ja leicht mal passieren). Brauchen VCC und AVCC wirklich beiden einen eigenen C? Auch wenn sie verbunden werden?
Dann sage ich nur mal Vorsicht :-) Sicherheitshalber solltest Du dann im Board nochmal kontrollieren, ob die Signale auch am richtigen Pin liegen. Ich würde mich auf jeden Fall immer nach der Pin-Nummerierung richten wie sie von Eagle vergeben wird (ausser Du hast das Bauteil selbst angelegt), denn für das Layout ist nur die Pin-Nummerierung relevant, da die grafische Anordnung der Pins im Schaltplan nichts mit der wirklichen Positionierung der Pins im Board zu tun hat.
Wenn präzise Analogmessung gewünscht, dann ist ein L/C-Filter vor AVCC sinnvoll, wie in Datasheet empfohlen.
Board wird's sowieso keins geben... Hab vor, das ganze auf Lochraster aufzubauen. Erstens kommt es billiger und zweitens habe ich noch etwas Spielraum, wenn ich noch was einbauen will bzw. noch was ändern will. @A.K.: Ich glaube, so präzise muss es nicht sein.
gadgaet schrieb:
> Widerstände vor dem ISP oder vor dem LCD?
vor dem LCD.
Da es aber nur Eingänge sind, wird es wahrscheinlich auch ohne
Widerstände funktionieren (mit bist du auf der sicheren Seite :-) )
Wie bewegt man in Eagle eigentlich ganze Gruppen? Habe bis jetzt nur rausgefunden, wie man einzelne Bauteile bewegt...
group symbol anklicken (viereck) Bereich markieren dann move anklicken danach mit rechter maus taste die gruppe anklicken und verschieben.
> Doch da kommst Du auch drauf. Steht in der Hilfe.
Andere Programme funktionieren intuitiv....
Gut, habe mich jetzt doch für eine 2-Controller-Lösung entschieden. Anbindung erfolgt über I²C, dürfte das von der Geschwindigkeit reichen? Ich kann ja immer noch auf SPI umsteigen, falls nicht. Die Leitungen für SPI sind die selben, die auch bei ISP benutzt werden?
Hallo, gadgaet schrieb: > Steckbrett ist gerade ziemlich belegt, muss erstmal Platz schaffen > ;-)... So werd' ichs auch machen. Dann leiste Dir ein zweites... ;-))) > RXD/TXD auf dem EXT-Port sind nur gedacht, um Zugriff auf die TTL-Pegel > zu haben. GND RS232 wurde schon mehrfach erwähnt, ist Pin5, nicht Pin1. Ich halte es nicht für sinnvoll, eine eigene Belegung für den ISP zu benutzen, wenn es nicht zwingende Gründe wie z.B. spezieller Steckverbinder aus Platzgründen usw., gibt. Bei 2x3 ist man mit der üblichen immer gut bedient, selbst wenn der Steckverbinder z.B. kein 2,54mm Raster hat, ist ein 1;1 Adapter schneller gebaut, als jedesmal erst rätseln zu müssen, wo welches Pin gelandet ist. > Ich hätte wahrscheinlich etwas mehr Spielraum, wenn ich > Display-Ansteuerung+Touch auslagern würde, oder? Welchen Controller > würdet ihr dafür nehmen und wie sollte dieser am besten mit dem Mega32 > zusammenarbeiten (d.h. welches Protokoll)? Dann hätte ich auch ein paar > Pins mehr frei und müsste keine mehrfach belegen. Man kann auch 5 AVR nehmen, um etwas Nachdenken im Vorfeld einzusparen... Mehrfachbelegungen sind überhaupt kein Problem, wenn man jederzeit darüber nachdenkt, was die Komponenten machen. ISP-Pins als Ausgang stören nicht, wenn die Komponente sich nicht daran stört, daß da ISP-Daten anliegen. Displaydaten z.B sind egal, solange E oder /CS bei Reset = L und damit TriState der AVR-Leitungen nicht aktiv sind. AVR als Eingang darf eben in diesem Zustand kein anderes ICs aktive Ausgänge haben. Das ist mit einem passenden PullUp/PullDown Widerstand an /CS, E, oder was auch immer, kein Problem. Zum "schafft das ein Mega32": was soll er denn machen? Erstmal abschätzen, was zeitkritisch werden wird. Hier sicher USB. Muß also, während eine USB-Übertragung läuft, "gleichzeitig" was anderes passieren? Display? Uninteressant, kann man sowieso nicht so schnell ablesen, läßt sich also vermutlich irgendwie einschachteln. Sensoren einlesen? Sind wirklich welche dabei, die sehr häufig bearbeitet werden müssen und Zeit kosten? Tastatur: so schnell tippt keiner, wie sind die möglichen Reaktionszeiten des PS/2, beißt sich das, wenn jemand während einer USB-Übertragung eine Taste drückt oder ist die Zeit, bis USB den Kram freigeben kann, immer so kurz, daß man die Tastatur zwischenschieben kann? Sowas kann man im Vorfeld zumindest abschätzen und eben die als kritisch vermuteten Kombinationen mit Softwareteilen auf dem Steckbrett durchspielen. Nur was man nicht in Assembler programmieren kann, das muß man Löten. ;-)) Gruß aus Berlin Michael
Hm... also USB direkt am Mega32? Was willst Du denn da machen? Wenn das zuverlaessig funktionieren soll waerst Du mit einem FT232 besser beraten. Und eine Batterie in Verbindung mit einem 7805 ist keine so gute Idee, der saugt die Dir ziemlich schnell leer, selbst wenn die Schaltung unbelastet ist. Da braeuchtest einen etwas effizienteren Wandler. Michael
USB war eigentlich nur als Spielerei gedacht, aber, da hast du recht Michael, einen wirklichen Nutzen bring das nicht... Kann ich ja auch ein andermal ausprobieren. Wegen der seriellen Schnittstelle bin ich jetzt etwas verwirrt: Muss ich TXD des µC an RXD von SUB-D-9 anschließen und umgekehrt? Also praktisch ein Nullmodemkabel machen?
gadgaet schrieb: > USB war eigentlich nur als Spielerei gedacht, aber, da hast du recht > Michael, einen wirklichen Nutzen bring das nicht... Kann ich ja auch ein > andermal ausprobieren. > Wegen der seriellen Schnittstelle bin ich jetzt etwas verwirrt: Muss ich > TXD des µC an RXD von SUB-D-9 anschließen und umgekehrt? Also praktisch > ein Nullmodemkabel machen? Mach es vor aqllen Dingen richtig. Hier zb. hat Hilde ganz gut beschrieben, wie es sein sollte (und in der Praxis oft nicht ist) Beitrag "Re: RS232 funktioniert nicht!" Ist dein RS232 ein männlicher Anschluss oder ein weiblicher? (Beachte: Auch im Tutorial ist das falsch. Eigentlich sollte auf so eine µC Platine ein männlicher Anschluss. Ein µC als eigenständiger Rechenknecht ist schliesslich ein DTE)
Ich dachte erst an einen weiblichen Anschluss, damit sich das Teil problemlos an einen PC anschließen lässt. Männlich wäre auch denkbar, um andere Geräte mit µC "kontrollieren" zu können. Ich tendiere aber zu einem weiblichen. Aber es gibt ja Gender Changer... Oder ist da noch etwas anderes zu berücksichtigen?
Ah, OK. Hätte den Beitrag gleich lesen müssen. Habe weder eine Stiftleiste noch ein Nullmodemkabel da...
Muss ich die nicht benutzten Eingänge des ADM232LJN auch ein bestimmtes Potential legen oder kann ich sie offen lassen?
gadgaet schrieb: > Wäre eine Schaltung mit einem LM317 sparsamer? Den hätte ich nämlich > noch da... Pekuniär ja, physikalisch nein.
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.