Hallo zusammen!
Ich habe mir vorgenommen nach vielen kleineren AVR Projekten mal etwas
größeres zu machen: ein Messgerät auf LPC-Basis. Das ganze soll später
mal digitale und analoge Signale aufzeichnen bzw. an den PC übertragen
können.
Als µChabe ich mir einen LPC3131 ausgesucht. Der muss mit 3,3V bzw.
1,25V Spannung versorgt werden, ist an einen externen Flash-Baustein,
einen SD-Karten-Slot und einen USB2.0 Connector angeschlossen.
Zusätzlich sind ein paar LEDs, ein JTAG Anschluss und einige
Steckverbinder für digitale/analoge Ein- und Ausgänge vorgesehen.
Da dies der erste Schaltplan ist den ich nicht auf ein Stück Papier
gekritzelt habe, wäre ich froh über etwas Feedback von eurer Seite.
Bisher habe ich halt noch nie so etwas großes gemacht, daher habe ich
Angst viel Geld für eine Platine auszugeben, die dann doch in den Müll
wandert weil nix geht...
Als Autodidakt hat man es echt schwer beim Schaltungsentwurf ;-)
Vielen lieben Dank für jedes Bisschen Feedback!
Euer Rinde
Rinde schrieb:> Steckverbinder für digitale/analoge Ein- und Ausgänge vorgesehen.
Willst du deine Eingänge nicht ein wenig schützen? Wenn ich das Ding nur
mit samthänden anfassen darf, da bei jeder minimalen Spannung über
3.3Volt die Schaltung hopsgehen kann, find ich das sehr unpraktisch.
:-)
1. Reset ist aktiv high, muss daher auch nach oben gezogen werden und
nicht nach unten.
2. Bei den Stiftleisten für I2C, seriell etc spendierst Du am besten
noch je einen Pin für die Versorgungsspannung, dann kannst Du von dort
auch Bausteine direkt speisen.
3. die beiden I2Cs würde ich auf getrennte Stiftleisten legen
4. MCI_DAT3 ist sowohl nach oben als auch nach unten gezogen - das gibt
garantiert Ärger. Entferne den Pulldown!
5. Bei den I2C-Ports gehören Pullups dran - so in der Gegend von 1-10k
je nach Buslast und Treiberstärke. Ohne Pullups gibts garantiert Ärger.
6. LED1, mit welcher Spannung wird die betrieben? Ich würde die an die
3.3V Schiene hängen, dann bekommt sie immer eine konstante Spannung. Ich
weiß ja nicht, mit welcher Spannung Du speisen willst.
Das ist mir jetzt beim schnellen Drüberschauen so aufgefallen.
Vielen vielen Dank für eure Kritik.
Heute ABend werde ich mich gleich hinsetzen und alles in Ruhe
durchgehen. Da wird dann sicherlich noch die eine oder andere Rückfrage
auftauchen.. ;-)
So, ich versuche gerade eure Vorschläge umzusetzen. Was würdet ihr denn
machen um die Eingänge zu schützen?
In der Hinsicht bin ich leider noch recht unbedarft... :-(
Ein Widerstand in Reihe, damit da kein Strom fließt?
Oder irgendwas mit Dioden? (Da kenn ich mich leider garnicht aus...)
Rinde schrieb:> Ein Widerstand in Reihe, damit da kein Strom fließt?
Dann müsste es schon ein seeeeeeehr hochohmiger Widerstand (so ungefähr
unendlich) sein.
könntest du deinen Schaltplan mal auf eine passende Dateigröße
verkleinern? Hast du die Endung von BMP auf PNG umbenannt oder wie
bekommt man das mit 1,3 MB hin?
Was genau meinst du? 1,3MB sind doch nicht zu viel?
Die Auflösung finde ich angemessen, da man sonst die Bezeichner
teilweise nicht mehr richtig lesen kann... (Acrobat macht da einen ganz
schlechten Job beim PDF rendern...)
"Endlich mal einer der sich Protel leisten kann."
Hehe, keine Angst. Das Altium habe ich nicht gekauft. Wir haben hier auf
der ARbeit ein paar Rechner wo das drauf installiert ist. Nach
Feierabend/in der Mittagspause klicke ich da ab und an ein paar
Schaltungen zusammen...
- Moritz' Tip mit ZD3.3V gegen Masse und dazu 10K in Serie an allen
digitalen Eingängen, die nach außen führen. Schnell getaktete Leitungen
evtl auf 1k oder sogar 100R runtergehen. So als Grundsatztip..
- Die 100nF an den USB-Datenleitungen UNBEDINGT weg, mit denen geht
garnichts, der 100nF an VccUSB ist ok
- Die VDDE und VSSE sind sowieso alle paralell, da reicht imho je
1x100nF
Obacht bei Z-Dioden mit niedrigem Spannungswert. Die haben eine arg
miese Charakteristik. Mit 10K Serienwiderstand davor kann das auch bei
Digitaleingängen bereits eng werden (Motorola ZF-Reihe: 1mA bei 2,2V,
100µA bei 1,5V), bei Analogeingängen scheiden solche Lösungen ganz aus.
> Da dies der erste Schaltplan ist den ich nicht auf ein Stück Papier> gekritzelt habe, wäre ich froh über etwas Feedback von eurer Seite.
Ich frag mich ob dich die Sache dann nicht ueberfordert. Bei Prozessoren
aber einer gewissen Leistungklasse und da wird deiner wohl dazu gehoeren
wird das Layout immer wichtiger. Und wenn ich sehe wie du schon die
Kondensatoren in deine Schaltung gemalt hast wird mir schwindlig.
Oh...und bei dem von mir verwendeten SH7262 geht Renesas sehr dediziert
auf die Leitungsfuehrung an dem USB-Port ein. USB2.0 ist nicht so ein
Spielkram wie ein FDTDI USB-RS232 Wandler.
Ich gehe mal davon aus das auch dein Hersteller einiges an Applikationen
zum Layout geschrieben hat. Lies sie vor der Boarderstellung!
Olaf
Hi Olaf!
Könntest du etwas genauer ausführen?
"Und wenn ich sehe wie du schon die Kondensatoren in deine Schaltung
gemalt hast wird mir schwindlig."
Ich bin immer bereit dazu zu lernen ;-)
Aber du hast natürlich Recht, das ist schon eine enorme Herausforderung
für mich. Aber das gute ist: im schlimmsten Fall setze ich das Geld für
Platine & bauteile in den Sand. Mein Leben hängt zum Glück nicht davon
ab ;-)
Zum USB:
Das ist 2.0!!! Die Kondensatoren mit 100nF -->raus!. 22pf-->rein!
Kommon Mode Drossel von Würth WE CNSW-->rein! ESD-Schutz USBLC6-2SC6
-->rein!
Zum UART:
EDS-Schutz vorsehen!
Wenn Du clever bist: Stiftleiste passend für FTDI-RS232-Kabel vorsehen.
LEDs:
Bist Du Dir sicher, das der Prozessor die auch treiben kann? Ggv.
Transistor oder MOSFET (FDV303N) spendieren. Ich denke, ich hab mal was
gelesen von 1-2mA pro Portpin???
I2C:
Wo sind die Pullups?
ESD-Schutz vorsehen!
Analog Inputs:
Vorwiderstände, ESD-Schutz, Klemmdioden, ggv. Spannungsteiler
vorsehen!!!
Ggv. 150K und 10K als Spannungsteiler gibt eins zu 16, das ist fein für
die Software, da kann man dann einfach shiften...
Decoupling:
Datenblatt lesen, hier ist es nicht unbedingt mit 100nF an jedem Pin
getan!
Quarz:
39pf kommen mir auf den ersten Blick recht viel vor. Datenblatt lesen!
Rinde schrieb:> Ich habe mir vorgenommen nach vielen kleineren AVR Projekten> [...] Als µChabe ich mir einen LPC3131 ausgesucht.
Das Gehäuse schreckt dich kein bischen? Oder ist wo sich Altium findet
auch die entsprechende Fertigungstechnik nicht weit?
Da überlege ich noch. Ich habe einen Arbeitskollegen mit einem
"Pizzaofen" zu hause, der meint er hätte den Bogen mittlerweile raus.
Die alternative wäre natürlich die Bestückung gleich beim
Platinenhersteller machen zu lassen...
Aber selber löten ist bei BGA definitiv nicht drin ;-)
> Das Gehäuse schreckt dich kein bischen? Oder ist wo sich Altium findet> auch die entsprechende Fertigungstechnik nicht weit?
Das geht schon. Schau mal:
http://www.criseis.ruhr.de/haekelarbeit.jpg
Alles in Heimarbeit selber gemacht. Auch die Platine!
BTW: Das ist uebrigens mein Autoradioproject. Spielt schon WAVs von
SD-Karte. Ich implementiere gerade libmad fuer MP3s.
Also man bekommt sowas durchaus hin. Aber auch wenn man Erfahrung mit
soetwas hat, man sollte sich nicht darauf verlassen das so ein Board
beim ersten einschalten gleich laeuft. Ich meine es heisst nicht umsonst
Haekelarbeit. :-D
Olaf
> Der hier verwendete LPC hat ein BGA-Gehäuse.
Ups. Das wusste ich nicht.
BGA wuerde ich mir freiwillig nicht antun. Nicht weil ich im Loeten ein
Problem sehe. Das bekommt man schon mit seinem Buegeleisen hin. Aber
ohne Multilayer geht das nicht. Man kann die Platine also nicht selber
machen. Ausserdem ist die Wahrscheinlichkeit gross das man bei Fehlern
eben nicht mit Faedeldraht nacharbeiten kann.
Mit anderen Worten man haut vermutlich erstmal 2-3Designs in die Tonne.
Solange es also etwas vergleichbares ohne BGA gibt wuerde ich da die
Finger von lassen.
Olaf
So, ich habe mir viele eurer Vorschläge zu Herzen genommen und das
Layout überarbeitet. Einige Punkte die ihr genannt habt stehen noch aus,
aber das wird auch noch.
Was meint ihr: Sind die Eingänge jetzt einigermaßen durch die
Vorwiderstände und Z-Dioden geschützt?
Rinde schrieb:> Was meint ihr: Sind die Eingänge jetzt einigermaßen durch die> Vorwiderstände und Z-Dioden geschützt?Sehr geschützt. Direkt mit Masse verbinden schützt noch besser ;-).
Besonders süss ist die vor dem Regler.
Eine Z-Diode zieht bei 3,3V typ. 20mA (Mot. ZF). Drum heisst sie so.
Viel Vergnügen. Ganz besonders mit den Analogeingängen.
R39 hab ich aus einem Olimex-Schaltplan übernommen ;-)
Das mit den Z-Dioden versteh ich leider nicht so ganz. Der eine meint
man braucht sie, der andere behauptet das Gegenteil. Argh!?! ^^
Rinde schrieb:> Das mit den Z-Dioden versteh ich leider nicht so ganz. Der eine meint> man braucht sie, der andere behauptet das Gegenteil. Argh!?! ^^
Das Problem dabei ist, das ein gewisser Strom durch die Z-Diode fließen
muss, damit da auch die Z-Spannung abfällt. Jetzt ist aber bei Z-Dioden
mit kleiner Spannung (alles unter 5V) diese Spannung saumäßig abhängig
vom Strom, der durchfließt.
Durch den dafür benötigten Strom belastest du deine Quelle (Signal)
recht stark, was für Messgeräte eigentlich nicht zu empfehlen ist :-)
Rinde schrieb:> Machen denn wenigstens die Serienwiderstände Sinn?
Was z.B. geht ist ein recht hochohmiger Widerstand in Serie und eine
normale Diode von Signal zur Versorgungsspannung (3.3V), das nennt sich
dann Clampdiode.
:-)
Als Schutzdioden nimmt man Supressordioden.
Es gibt:
- Hohe Leistung
- Alle Spannungen
- Bidirektionel/Unidirektionel
- Kapazitätsarm
- Extra für Datenleitungen (CAN/Ethernet/USB...)
- Typen für 1, 2, 4, ... Signale in einem Chip
Nimm besser keinen ARM9, sonern eher einen Prozessor mit Cortex-M3.
Denn so wie ich das sehen macht Du garantiert 10 Prototypen für die
Tonne.
Der STM32 hat beispielsweise einen 12-Bit AD Wandler dieser LPC3131 nur
einen 10-Bit. Wenn das tatsächlich ein Messgerät werden soll, ist das
dann nicht wichtig?
Nimm am besten einen 10-Poligen JTAG Stecker, denn der spart viel Platz
und ein UART kannst Du da auch verbinden (am besten den der mit dem
Bootloader des Chips funktioniert):
http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual
Ich würde da auch einige Sachen ändern.
1. Bei den Spannungsregler würde ich einen Schottky-Diode von
Reglerausgang zum Reglereingang legen, damit kein Strom rückwärts durch
den Regler fließen kann
2. Zusätzlich 100nF an den Reglerausgängen und evtl. den 1µF Elko
vergrößern viele Regler brauchen meist 5-20µF um nicht zu Schwingen.
3. Wollte ich vorschlagen der LED D1 eine 2te anders farbige anti
parallel zu schalten, dann erkennst du z.B. Grüne LED an = alles ok;
Rote LED an = verpolt zusätzlich kann die LED nicht rückwärts
beaufschlagt werden, was aber erst ab ca. 5-6V problematisch wäre.
4. Die Z-Diode (welche Leistung verkraftet die) wird dir bei einer
Überspannung je nach Höhe und max. Strom der Quelle abrauchen hier muss
ein Begrenzungswiderstand rein so das die Spannung für die ganze
Schaltung abfallen kann wenn die Diode leitend wird, der Widerstand muss
also weiter an den Anfang deiner Versorgung wandern.
5. Am SD-Connector Abblockkondensator zw. VCC und GND
6. An den Digitalinputs könnte auch einfach ein größerer Widerstand
reichen wenn der µC intern Diode von Masse zum PIN und vom PIN zu VCC
hat. So kannst du die Z-Dioden sparen.
7. An den Analogeingängen würde ich vielleicht 3,6V Z-Dioden probieren,
könnte sein das die 3,3V Typen zu früh leiten und dein Sensorsignal zu
stark beeinflussen, oder eben auch hier größere Widerstände, falls du
interne Schutzdioden hast. Außerdem könnte man auch jeweils einen
kleinen Kerko von der Analogleitung zur Masse legen gibt in Verbindung
mit dem Widerstand einen RC Filter der das Signal noch etwas beruhigt
(Was willst du eigentlich genau Messen und mit welchen Geschwindigkeit?)
8. Bei den I2C Connectoren würde ich noch einen kleinen Elko zw. VCC-GND
einplanen und die restliche Schaltung etwas zu entkoppeln, man weiß ja
nie was und wie es später dort angeklemmt wird.
9. AVCC falls vorhanden nen kleinen LC-Filter spendieren 10µH und 100nF
tut der eigentlichen VCC auch nicht schlecht wenn du hier die Drossel
mit einplanst.
Also ich persönlich würde an den Analogeingänge nen Impedanzwandler ran
basteln mit Schutzschaltung. Dann wird die Signalquelle nicht bzw. nur
gaaaaaaanz gering belastet.
Falls jemand nen Impedanzwandler unangebracht findet, dann bitte mit
erklärung :)
Thomas O. schrieb:> 7. An den Analogeingängen würde ich vielleicht 3,6V Z-Dioden probieren,
Warum wirfst du nicht einfach mal einen Blick ins Datasheet eines
solchen Teils? Hier wird schon mehr als genug frei herumgeraten.
> stark beeinflussen, oder eben auch hier größere Widerstände, falls du> interne Schutzdioden hast.
CMOS-Bausteine ohne Schutzdioden haben Seltenheitswert.
@A.K. und warum hat ihn kein Datenblattversteher die Z-Dioden
ausgeredet? Sind im letzten Schaltplan immer noch drin. Früher habe ich
mich auch gewundert warum meine 5,1V Diode schon früher leitete nun
benutzte ich 5,6V Dioden und meine 5V Versorgung bleibt unbelastet.
@mr. mo: Kommt drauf an wie schnell gemessen wird, deshalb könnte ein
kleiner Kerko reichen, wenn dieser genug Zeit hat sich aufzuladen, kann
er dann die Messspannung puffern wenn der ADC diese belastet.
Thomas O. schrieb:> @A.K. und warum hat ihn kein Datenblattversteher die Z-Dioden> ausgeredet?
Woher soll ich das wissen? Ich habs versucht.
> benutzte ich 5,6V Dioden und meine 5V Versorgung bleibt unbelastet.
Einmal mehr würde ein Blick ins Datasheet helfen. Ab ca. 5V besitzen
Z-Dioden eine passable Charakteristik. Je weiter runter du mit dem
Nennwert gehst, desto schlimmer werden sie.
Was also bei einer 5,6V Z-Diode richtig ist, das kann bei einer 3,6V
oder sogar 4,3V Z-Diode falsch sein.
PS: Nicht in jedem Datasheet steht das in aller Schönheit drin, und
nicht alle Typen sind exakt gleich. Bei manchen ist die Nennspannung bei
20mA angegeben (ZF), bei anderen bei 5mA (BZX84). Bei einem 6,2V Typ ist
das egal, bei 3,6V keineswegs.
Für meine Werte von oben, viele viele schöne Kurven und bischen
Grundlagen siehe Reichelt Datasheet bei den bepinnten 0,5W Typen,
ZF#MOT.pdf.