Forum: Mikrocontroller und Digitale Elektronik Projekt : viele kleine zu einem groß Projekt, brauche Infos


von Tobias N. (silberkristall)


Lesenswert?

Hallo,

also ich plane ein großes Projekt, um vorerst "spot" und "blöden 
sprüchen" auf dem Weg zu gehen ersuche ich erstmal nur Infos für die 
vielen kleinen Projekte die dann zu einem "großen" zusammengeführt 
werden soll.

Vorerst behandel ich eine vernünftige Versorgung und zwei kleine Module.

Zur versorgung:

Wie bekomme ich 2 vernünftige stabile Versorgungsspannungen? Ich 
benötige 3,3V und 5V. Ich habe derzeit noch nicht mit 3,3V gearbeitet, 
da diese aber für eine/mehrere SD Karten seien sollen und ich schon viel 
bzgl. einer "ordentlichen" Versorgung laß sollte ein Spannungsteiler da 
wohl nicht die beste möglichkeit sein. Was habt ihr da so für 
Vorschläge. Zu den 5V, also da könnte ich ja einfach einen 7805 nehmen, 
klar nur leider benötige ich so 4 - 5A bei 5V. Da gehen die 7805 oder 
78S05 in die knie. Wie bekomme ich eine so hohe Spannung auf 5V.

Die Eingangsspannung liegt bei 15V DC.

SD/USB-Modul:

SD ist ja nicht "so" das Problem. Also das Modul sollte Dateien von SD, 
microSD und USB lesen. Nur wie lese ich "mehrere" SD Karten aus? Also 
das Modul soll per I2C steuerbar sein. Also man sollte dem z.b. sagen 
nehme mp3 von SD1 oder SD2 oder USB und "sende" es an den vs1053b. Der 
ID3 Tag soll dann wiederrum per i2c an das "steuermodul" gegeben werden. 
Welchen Chip nutze ich da am besten? Möglichst mit USB Host (Mass 
Storage Class) und einfach zu programmieren oder fertige lib!?

Dann soll hierrauf noch ein kleiner "verstärker" das Musiksignal soll 
dann vom vs1053b über den Verstärker an 2 Chinchausgänge gehen R/L. Wie 
setzt man das um? Habt ihr da Ideen, Links, Tips? Die Lautstärke soll 
dann wiederrum per i2c vom "steuermodul" einstellbar sein.

Danke euch schonmal für Tips und hinweise.

@Moderator: Wäre es möglich beiträge die nicht zum Thema gehören zu 
entfernen?

von Adrian (Gast)


Lesenswert?


von Integrator Brunt, FCA (Gast)


Lesenswert?

Hi Tobias,

soll der I2C-bus alle Module verbinden?
Wenn ja, verstecke den Bus gut hinter einer API - das macht die 
Integration der Module einfacher.

Viel Spaß!

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Bestell doch bei Ebay nen Schaltregler aus Hongkong, gibt keinen Versand 
und kosten so ungefähr 5 Euros. Eh du dich mit einem Schaltregler-Layout 
rumquälst ist das eine recht einfache und günstige Alternative.

MfG Dennis

von Tobias N. (silberkristall)


Lesenswert?

Integrator Brunt, FCA schrieb:
> Hi Tobias,
>
> soll der I2C-bus alle Module verbinden?
> Wenn ja, verstecke den Bus gut hinter einer API - das macht die
> Integration der Module einfacher.
>
> Viel Spaß!

Hi,

ja also alle Module sollen hinterher mit einem Mega128 komunizieren. 
Rein sowie raus. Da muss ich mich nur noch durch die Interruptfunktion 
vom i2c durchlesen. Weil wenn man dann wieder für jedes Modul eine "CS" 
Leitung braucht dann muss ich mir was anderes überlegen.

Naja, so ein China Schaltregler wäre natürlich was nur muss ich die 
Versorgungsplatine eh erstellen wegen den Anschlüßen, verpolschutz usw 
usw. Demnach wollte ich das dann direkt mit einplanen.

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> Weil wenn man dann wieder für jedes Modul eine "CS"
> Leitung braucht dann muss ich mir was anderes überlegen.

Brauchst du bei I2C nicht.

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:

> Wie bekomme ich 2 vernünftige stabile Versorgungsspannungen? Ich
> benötige 3,3V und 5V.

Vorschlag:

http://www.ti.com/product/lm2678

kann bis zu 5A, Ausgangsspannung je nach Typ einstellbar (-ADJ) oder 
fest auf 3.3V (-3.3) oder 5.0V (-5.0) eingestellt

> SD/USB-Modul:

Vorschlag: irgendein mittelgroßer PIC32. Hat genug Leistung, USB2-OTG, 
und Microchip hat fertige USB-Libs, FAT Filesystem etc etc. Damit kannst 
und solltest Du auch Dein Steuermodul realisieren, denn der PIC32 sollte 
genügend Platz dafür haben. Das spart Dir Programmieraufwand und 
Kommunikationsoverhead und Kosten.

Wenn Du mehrere SD-Karten hast, kannst Du Multiplexer zum Umschalten 
zwischen den einzelnen Karten einsetzen. Empfehlung: Fairchild FST3257. 
Der hat deutlichst bessere technische Daten als die üblichen 
40xx-Analogmultiplexer. Bedenke: Nach dem Umschalten braucht eine 
SD-Karte einen Power Cycle, aber das kannst Du mit einenm kleinen PNP 
oder PMOS machen.

> Dann soll hierrauf noch ein kleiner "verstärker" das Musiksignal soll
> dann vom vs1053b über den Verstärker an 2 Chinchausgänge gehen R/L. Wie
> setzt man das um? Habt ihr da Ideen, Links, Tips? Die Lautstärke soll
> dann wiederrum per i2c vom "steuermodul" einstellbar sein.

Was soll daran angeschlossen werden? Passive Lautsprecher? Wenn ja, mit 
welcher Impedanz und welcher Leistung? Wenn Du Aktivboxen oder einen 
Verstärker anschließen willst, kannst Du das direkt am VS1053B machen, 
genau wie die Lautstärkeregelung.

fchk

von Tobias N. (silberkristall)


Lesenswert?

na die regler sehen doch mal gut aus. und kann sogar beide spannungen. 2 
stück davon. schöne versorgungsplatine und gut :) das gefällt mir ja 
schonmal.

wie ist es da mit der kühlung? also ich dachte, da das ganze später in 
ein gehäuse kommt an kühlkörper plus aktive kühlung mit 2 - 3 lüftern.

also von den chinch ausgängen leitungen geht es dann in verstärker. naja 
direkt anschliessen ist schlecht. hatte ich oben vergessen, also ich 
brauche 3 ausgänge. R, L und SUB, also halt noch einen lowpass filter 
auf einen sub out.

kann der vs1053b denn auch lautstärke "0" also nichts? und bis zum max. 
stufenlos regelbar?

danke euch auf jeden fall bis jetzt. da kann ich ja fast schon die nä. 
Module ansprechen :)

Wenn ich bei I2C keine "CS" leitungen brauche, woher weiss der master 
denn dann das ein "slave" daten zum abholen hat? läuft der i2c interrupt 
auch auf der bus leitung?

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> Wenn ich bei I2C keine "CS" leitungen brauche, woher weiss der master
> denn dann das ein "slave" daten zum abholen hat? läuft der i2c interrupt
> auch auf der bus leitung?

Indem er ihn Fragt.
Auch bei SPI dient die CS Leitung nicht dazu, dass der Slave dem Master 
irgendwas mitteilt sondern dazu, dass der Master dem Slave sagt :" 
Achtung, das was jetzt kommt ist für dich"

I2C Arbeit mit Adressen, schau mal hier ins Wiki, da ist das erklärt.
http://www.mikrocontroller.net/articles/I2C

von Tobias N. (silberkristall)


Lesenswert?

ja, das ist mir schon klar. ich habe auch schon des öfteren mit i2c 
gearbeitet. nur laß ich auch das es i2c auch auf "interruptbasis" 
aufgebaut werden kann, also der slave dem master sagt : hallo, master, 
ich habe da was für dich zum abholen. bei meinem display ist das z.b. so 
(EDIPTFT70-A). Wenn man da das Touch bedient dann gibt das die 
Koordinaten per i2c raus. Vorher aber sagt es dem Master über eine 
"interrupt leitung" die man natürlich frei am ic wählen kann das das 
Display (Slave) daten zum abholen bereit hat. Im Code läuft das dann 
halt eben so, wenn interrupt auf "cs leitung" vom Display dann hat das 
display daten zum holen und dann werden diese abgefragt.

wenn man natürlich dann "selber" eine dritte leitung als interrupt 
leitung machen muss um das so umzusetzen dann wohl eher die variante in 
einer schleife immer wieder die slaves abfragen.

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> ja, das ist mir schon klar. ich habe auch schon des öfteren mit i2c
> gearbeitet. nur laß ich auch das es i2c auch auf "interruptbasis"
> aufgebaut werden kann, also der slave dem master sagt : hallo, master,
> ich habe da was für dich zum abholen. bei meinem display ist das z.b. so
> (EDIPTFT70-A). Wenn man da das Touch bedient dann gibt das die
> Koordinaten per i2c raus. Vorher aber sagt es dem Master über eine
> "interrupt leitung" die man natürlich frei am ic wählen kann das das
> Display (Slave) daten zum abholen bereit hat. Im Code läuft das dann
> halt eben so, wenn interrupt auf "cs leitung" vom Display dann hat das
> display daten zum holen und dann werden diese abgefragt.
>
> wenn man natürlich dann "selber" eine dritte leitung als interrupt
> leitung machen muss um das so umzusetzen dann wohl eher die variante in
> einer schleife immer wieder die slaves abfragen.

Warum nennst du die dann cs Leitung? Sowas wie Interrupt Request wäre 
angebracht.
Das ist nichts was etwas mit I2C zu tun hat sondern nur eine extra 
Leitung über die der Slave halt einen Interrupt anfordern kann (ob er 
ihn dann kriegt ist ja nochmal ne andere Sache). Die Datenübertragung 
kann doch dann irgendwie erfolgen, ob I2C, SPI, was paralleles oder 
irgendwas anderes.

Mach dir mal ein bisschen mehr gedanken über das Master/Slave Prinzip. 
Die Slaves halten ihr Maul bis der Master sie fragt. Manche Slaves 
können den Master auch bitten sie zu fragen, muss der Master dann aber 
trotzdem nicht :)

von Tobias N. (silberkristall)


Lesenswert?

ja aber sowas in der art meinte ich halt. ok also die "normale" variante 
und nur da wo "dringlichkeit" erforderlich ist, also bei änderungen am 
slave die unverzüglich an den master müssen werde ich dann nur solch 
eine "abfrageleitung" einplanen um pins zu sparen. naja halt per ISR 
sobald daten zum abholen da sind sofort abfragen und dann weiter im 
code.

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> Diesen Beitrag bewerten:
>   ▲ lesenswert
>
>   ▼ nicht lesenswert
>
>
>
>       ja aber sowas in der art meinte ich halt. ok also die "normale" variante
> und nur da wo "dringlichkeit" erforderlich ist, also bei änderungen am
> slave die unverzüglich an den master müssen werde ich dann nur solch
> eine "abfrageleitung" einplanen um pins zu sparen. naja halt per ISR
> sobald daten zum abholen da sind sofort abfragen und dann weiter im
> code.

Hast du dir schon Gedanken über die Datenmenge gemacht die du hin und 
her schieben möchtest/musst? I2C ist nicht sooo schnell.

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:
> na die regler sehen doch mal gut aus. und kann sogar beide spannungen. 2
> stück davon. schöne versorgungsplatine und gut :) das gefällt mir ja
> schonmal.
>
> wie ist es da mit der kühlung? also ich dachte, da das ganze später in
> ein gehäuse kommt an kühlkörper plus aktive kühlung mit 2 - 3 lüftern.

Aktive Kühlung brauchst/willst Du nicht. Ordentliche Kühlkörper reichen.

> also von den chinch ausgängen leitungen geht es dann in verstärker. naja
> direkt anschliessen ist schlecht. hatte ich oben vergessen, also ich
> brauche 3 ausgänge. R, L und SUB, also halt noch einen lowpass filter
> auf einen sub out.

ja, gut, dann nimmst Du halt einen 4-fach OpAmp wie z.B. MCP6024, da 
kannst Du Dir ja Deinen Tiefpass draus basteln.

> kann der vs1053b denn auch lautstärke "0" also nichts? und bis zum max.
> stufenlos regelbar?

Wie wärs, wenn Du mal das Datenblatt liest? Und stufenlos ist ohnehin 
nicht drin, wenn Du das digital steuerst. Du weißt ja, Digital ist das 
mit den 0 und 1.

fchk

von Tobias N. (silberkristall)


Lesenswert?

naja, also bei dem "audio modul" z.b. sind es einmal die Daten auf den 
karten, aber halt nur die dateinamen, also eine liste der dateien die 
drauf sind. dann halt wenn ein lied läuft den ID3 Tag, also Artist und 
Titel. und dann halt die steuerung, also spiele dies oder das oder jenes 
und halt lauter/leiser, start/stop. ich denke das wird nicht "so viel" 
sein. dann halt ein paar daten vom temperatur modul, 2 - 3 temperaturen. 
ein paar adc daten, also halt nur "zahlen". den rest übernimmt ja dann 
der master. beim adc somit also nur die adc werte. den rest macht dann 
der master. also "hauptsächlich" aufbereitete daten mit denen der master 
dann direkt arbeiten kann.

von Tobias N. (silberkristall)


Lesenswert?

Frank K. schrieb:
> Tobias N. schrieb:
>> na die regler sehen doch mal gut aus. und kann sogar beide spannungen. 2
>> stück davon. schöne versorgungsplatine und gut :) das gefällt mir ja
>> schonmal.
>>
>> wie ist es da mit der kühlung? also ich dachte, da das ganze später in
>> ein gehäuse kommt an kühlkörper plus aktive kühlung mit 2 - 3 lüftern.
>
> Aktive Kühlung brauchst/willst Du nicht. Ordentliche Kühlkörper reichen.

ok, also ausreichende Kühlkörper und gut.

>
>> also von den chinch ausgängen leitungen geht es dann in verstärker. naja
>> direkt anschliessen ist schlecht. hatte ich oben vergessen, also ich
>> brauche 3 ausgänge. R, L und SUB, also halt noch einen lowpass filter
>> auf einen sub out.
>
> ja, gut, dann nimmst Du halt einen 4-fach OpAmp wie z.B. MCP6024, da
> kannst Du Dir ja Deinen Tiefpass draus basteln.
>

ok, und wieder ein bauteil kennengelernt :) nachher mal ansehen.

>> kann der vs1053b denn auch lautstärke "0" also nichts? und bis zum max.
>> stufenlos regelbar?
>
> Wie wärs, wenn Du mal das Datenblatt liest? Und stufenlos ist ohnehin
> nicht drin, wenn Du das digital steuerst. Du weißt ja, Digital ist das
> mit den 0 und 1.
>
> fchk

hhmm.. ok, wie machen das denn dann die tollen verstärker ala "Harman 
Kardon" oder "Elac". Die können ja auch eine "kein Ton" ausgabe. Naja 
wenn es "ganz ganz" leise geht reicht es ja auch schon. Ja das mit den 0 
und 1 ist mir schon klar g. Ne das Datenblatt sehe ich mir nachher 
beim Schaltplan zeichnen genauer an.

Zu dem SD / USB. Also eskommen nur 3 Anschlüße dran. 1 USB, 1 SD, 1 
microSD. Es wäre toll wenn alle auch "gleichzeitig" einlesbar wären.

von Frank K. (fchk)


Lesenswert?

Wie gesagt: pass auf, was Du da machst. Du wirst deutlich weniger Arbeit 
haben, wenn Du die Anzahl Deiner Controller und Module minimierst. Der 
PIC32 kann problemlos die Arbeit Deines AVR mit erledigen, das macht dem 
gar nichts aus. Ein Modul weniger, ein Haufen Arbeit weniger. Analoge 
Eingänge hat der PIC32 auch, wenn Du keine besonderen Ansprüche stellst, 
sollte das auch reichen. Temperaturen - gut, 1-Wire ist ja nicht das 
Ding, oder halt MCP9700A (die geben 10mV pro °K aus, das kannst Du 
nachher schön einfach umrechnen, und die Routinen für den ADC brauchst 
Du sowieso, da sind die analogen Temperatursensoren kein Extraaufwand 
mehr) Displayansteuerung? Auch kein Thema, kann der PIC32 auch alles 
mitmachen. Wie gesagt, je weniger Kommunikation, desto weniger Arbeit 
und desto weniger Fehlerquellen.

Zum PIC32: schau Dir den PIC32MX575F512H(64 pins) bzw L(100 pins) an. 80 
MHz, 512k Flash, 64k RAM, 4 SPI (2*SD, 1*VS1053B, 1*?), USB2.0 Full 
Speed OTG, 16*Analog in 10 Bit. Sollte wohl dicke ausreichen, so dass Du 
keinen zweiten Controller brauchst.

fchk

von Tobias N. (silberkristall)


Lesenswert?

adc ist halt nur ein wenig volt messen und ein paar fotowiderstände, 
also nichts gravierendes. temp sensoren sind ds18S20, also onewire, auch 
nichts wildes.

Das Display wird wahlweise über I2C, SPI oder RS232 oder RS485? 
angesprochen. Also auch wenige Leitungen. Da ich mit AVRs bisher immer 
ganz gut klar kam und diese auch relativ gut und einfach programmieren 
kann sollte es "eigentlich" bei denen bleiben. Einzelne Module sollten 
es aber, egal mit welchem "Master" sein.

von Frank K. (fchk)


Lesenswert?

Mach was Du willst. Ich habe hier schon viele Anfänger gesehen, die mit 
5 und mehr kleinen AVRs rumhantiert haben, wo ein vernünftig 
dimensionierter, großer Controller sinnvoller gewesen wäre. Das 
Debugging wird sonst nämlich alles andere an trivial, und zu einem 
ICSP/JTAG/PDI-Debugger (PicKit 3, JTAG Ice 3 oder sowas) wird dann 
nämlich ganz schnell auch ein guter Logicanalyzer fällig, weil mitten im 
Projekt unerwartete Dinge auf dem Kommunikationsbus passieren.

Es muss nicht unbedingt PIC32 sein. Da weiß ich nur, dass Du damit auf 
jeden Fall ohne Klimmzüge zum Ziel kommst, auch wenn Dein Code nicht 
optimal sein sollte. Wenn Du meinst, mit irgendeinem ARM oder AVR32 
besser zurecht zu kommen, dann bitte. Da kann ich Dir dann aber keine 
Hilfe mehr geben.

Bei AVR und USB-Host wäre der AT90USB1287 (im Prinzip ein Mega128 mit 
USB) Dein Weg. Ob das dann am Schluss auch bei hohen MP3-Bitraten oder 
gar WAV und selbst bei starker Fragmentierung des FAT-Filesystems auf 
dem USB-Stick noch schnell genug ist, weiß ich nicht. Dieser Controller 
hat ja auch kaum RAM zum Zwischenspeichern. Mit 64 oder 128k RAM und 
einem DMA-Controller kannst Du da ganz anders hantieren als mit 4k.

Wie gesagt, das ist nur meine persönliche Meinung. Auf die Nase fallen 
musst Du selber.

fchk

von Tobias N. (silberkristall)


Lesenswert?

Naja, so war das jetzt auch nicht gemeint. Ich komme halt sehr gut 
bisher mit AVRs klar und konnte da bisher alles realisieren. Vielleicht 
wäre hier wirklich ein anderer Chip besser. Allerdings kommt "so etwas" 
nicht oft vor. Also für weitere/bisherige Projekte war ein AVR immer 
ausreichend, für mich jedenfalls. Also mich jetzt wegen einer Sache neu 
einarbeiten?

Also würdest du jetzt sagen, ein PIC ist genau so einfach zu 
programmieren und der nimmt genau so ein schlechtes C wie ich es 
schreibe, dann würde ich sofort luftspringe machen und sagen, ok, ich 
nehme einen PIC. :)

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:
> Naja, so war das jetzt auch nicht gemeint. Ich komme halt sehr gut
> bisher mit AVRs klar und konnte da bisher alles realisieren. Vielleicht
> wäre hier wirklich ein anderer Chip besser. Allerdings kommt "so etwas"
> nicht oft vor. Also für weitere/bisherige Projekte war ein AVR immer
> ausreichend, für mich jedenfalls. Also mich jetzt wegen einer Sache neu
> einarbeiten?

Warum nicht? Vielleicht gefällt es Dir ja? Und Du hast dann einfach mehr 
Auswahlmöglichkeiten und kannst beim übernächsten Projekt, wo Du einen 
CAN-Bus braucht, sagen "Ah, da gibts einen passenen PIC mit eingebautem 
CAN, da brauche ich keinen extra CAN-Controller wie beim äquivalenten 
AVR". Ethernet: das gleiche. Oder mal Stereo Out mit einem 
dsPIC33FJ128MC804 (der hat nämlich analog Stereo Audio out 14 bit).

Ich habe auch einfach mal ein Projekt mit MSP430 gemacht, wo ich fand, 
dass der gepasst hat. Dümmer wird man dadurch nicht.

Letztendlich ist der Programmer/Debugger das einzige, was bei einer 
neuen Plattform Geld kostet, und das hält sich ja meistens in Grenzen. 
Gut, mein AVR JTAG ICE mkII war schmerzhaft teuer (damals fast 400€), 
aber das war auch die Ausnahme. Ein PicKIT3 kostet 50€ als Original, 
20-30€ als Clone, und die ARM JTAG-Adapter liegen auch bei 20 bis 100€, 
je nach Hersteller und Software-Support.

> Also würdest du jetzt sagen, ein PIC ist genau so einfach zu
> programmieren und der nimmt genau so ein schlechtes C wie ich es
> schreibe, dann würde ich sofort luftspringe machen und sagen, ok, ich
> nehme einen PIC. :)

Ja, das ist überall mehr oder weniger das gleiche C. DDRA heißt nun 
TRISA und hat die umgekehrte Polarität (0=o wie Output; 1=i wie Input), 
RESET heißt nun MCLR, aber vom Prinzip ist das überall das Gleiche, 
egal, obs jetzt ARM oder MIPS oder 68000 oder was auch immer ist. Jede 
Plattform hat ihre netten Seiten und ihre Ärgernisse.

Ich habe anno 1983 etwa ein halbes Jahr (vielleicht auch etwas mehr) 
gebraucht, bis ich Z80 Assembler konnte (und zwar so weit, dass ich im 
Kopf assembliert habe und nur noch hex codes in die Maschine reingetippt 
habe - nur bei den Sprüngen hab ich mich öfters verrechnet). Der nächste 
Prozessor 6502 hat dann nur noch 6 Wochen gebraucht, dann war ich da auf 
dem gleichen Stand (wobei der zugegeben deutlich einfacher war).

Wenn Du schon einen neueren JTAG ICE mkII (der mit PDI Support, ich habe 
noch die allererste Version, die das noch nicht kann) oder einen JTAG 
ICE 3 oder Dragon hast, dann wäre AVR32 für Dich kostensparender, aber 
da soll Dich dann jemand anderes beraten.

PS: schau mal hier:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en551513
Ich habe das nicht ausprobiert, aber es scheint so, als wäre der PIC32 
schnell genug für MP3 in Software. Kannst Dir ja mal anschauen.

fchk

von Gregor B. (Gast)


Lesenswert?

Tobias N. schrieb:
> Wie bekomme ich 2 vernünftige stabile Versorgungsspannungen? Ich
>
> benötige 3,3V und 5V

Ich würde ja einen zweikanaligen Controller wie den Semtech SC2442 
benutzen. Man muss dafür zwar ein bisschen mehr rechnen und mehr 
Bauteile drumherum bauen, dafür hat er nur Vorteile:

- Ansteuerung Out-of-Phase, d.h. wenn bei Kanal 1 der 
High-Side-Transistor an ist, ist er bei Kanal 2 aus. Das stellt sicher, 
dass die Kondensatorbank nicht die Pulsströme von beiden Kanälen 
gleichzeitig sieht. Führt zu geringerer Belastung der Kondensatoren.

- Strom ist mit Aussuchen, hängt nur von den verwendeten MOSFETs und 
Drosseln ab, der Treiber kann mit seinem Ausgangsstrom von 1A auch große 
MOSFETs treiben.

- Überstromabschaltung für jeden Kanal getrennt und vor allem 
einstellbar über Widerstand in der High-Side

- Einstellbarer Soft-Start, getrennt für beide Kanäle

- Frequenz einstellbar von 100kHz bis 1MHz, kannst also wählen zwischen 
optimiert für geringe EMV oder kleine Bauteile

Dafür muss man die MOSFETs auswählen, den Fehlerverstärker extern 
beschalten, ...
Gibt dafür aber sämtliche Formeln im Datenblatt.

von Tobias N. (silberkristall)


Lesenswert?

Also ich habe mir jetzt mal die ARM Programmierung angesehen. Also so 
ein großer Unterschied, laut dem Tutorial hier ist das garnicht. Da ich 
ja nur Hauptsächtlich I/O, ADC sowie I²C nutze.

Ich denke dann wird es doch ein "dicker" ARM. So ein 1 Ghz teil oder 
sowas.

Mal lesen.

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> Ich denke dann wird es doch ein "dicker" ARM. So ein 1 Ghz teil oder
> sowas.

Aha. Soso.

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:

> Ich denke dann wird es doch ein "dicker" ARM. So ein 1 Ghz teil oder
> sowas.

Den wirst Du löttechnisch nicht verarbeiten können. Einen PIC32 auf 
einer selbstgemachten Platine zum Laufen zu bringen ist hingegen kein 
Problem.

fchk

von Tobias N. (silberkristall)


Lesenswert?

hier im chat wurde mir einer gezeigt auf einer platine mit 
buchsenleisten rechts und links im rm2,54 maß. also der lässt sich ja 
dann auf stiftleisten aufstecken.

von Eumel (Gast)


Lesenswert?

Tobias N. schrieb:
> hier im chat wurde mir einer gezeigt auf einer platine mit
> buchsenleisten rechts und links im rm2,54 maß. also der lässt sich ja
> dann auf stiftleisten aufstecken.

Und welche Vorteile erhoffst du dir davon so ein Teil zu benutzen? Wofür 
brauchst du die Rechenleistung?

von Tobias N. (silberkristall)


Lesenswert?

ich muss 3 videosignale gleichzeitig verarbeiten, dazu noch einige adc 
werte und 4 displays, sd karten, musik, verstärker, 40 - 50 i/o signale, 
drehzahlmessung, spannungsmessungen, sim karte und gps anbindung und und 
und. wollte das auf mehrere stückeln aber nunja, die gurus da rieten mir 
halt zu einem richtigen ich da dann auch noch genug reserven haben 
werde.

von holger (Gast)


Lesenswert?

>ich muss 3 videosignale gleichzeitig verarbeiten

Das wird soch sowieso nix;)

von Gregor B. (Gast)


Lesenswert?

Tobias N. schrieb:
> Also ich habe mir jetzt mal die ARM Programmierung angesehen. Also so
> ein großer Unterschied, laut dem Tutorial hier ist das garnicht.

Tobias N. schrieb:
> Ich denke dann wird es doch ein "dicker" ARM. So ein 1 Ghz teil oder
> sowas.

Dann hast Du das bestimmt nicht richtig verstanden.

ARM heisst vieles.

ARM selbst unterscheidet neuerdings drei Familien:

1. Cortex-M: Das sind die, von denen Du hier am meisten hörst.
M steht für Microcontroller, d.h. die haben On-Chip-Flash und -RAM und 
funktionieren im Prinzip genauso wie der AVR, nur haben sie halt einen 
32-Bit-Kern.
Beispiele sind der STM32F, die Kinetis-Reihe, die NXP LPC11/13/... usw.

2. Cortex-R: R steht für Real-Time, das sind Contoller für harte 
Echtzeitanforderungen. Findest Du kaum auf dem Markt, Spezial-ICs wie 
z.B. Festplatten-Controller haben diesen Kern.

3. Cortex-A: A steht für Application Processor.
Das sind die neuen Dickschiffe mit mehreren hundert MHz bis zu mehr als 
1GHz Taktfrequenz.
Die sitzen dann z.B. in Deinem Smartphone.
Die haben keinen Speicher On-Chip, da Flash viel zu langsam wäre und die 
Anwendungen auch extrem Speicher fressen.
Da musst Du also alles draußen anschließen.
Damit unterscheiden sie sich grundsätzlich von den Mikrocontrollern.
Alle Boards mit einem Chip dieser Größenordnung setzen dabei auf ein 
Betriebssystem - Beispiel Raspberry Pi (gut, das ist kein Cortex-A 
sondern der Vorläufer, ein ARM11), das BeagleBoard, das Olimexino 
A10,...
Softwareentwicklung auf diesen Boards entspricht also nicht mehr der 
Entwicklung mit Mikrocontrollern, sondern der Programmierung von 
PC-Anwendungen.

von Guest (Gast)


Lesenswert?

Tobias N. schrieb:
> ich muss 3 videosignale gleichzeitig verarbeiten, dazu noch einige adc
> werte und 4 displays

Jaja, bau dir nur deinen GHz ARM A8 oder so auf ein Board, und fuer die 
eigentliche Steuerung nimmst du dann noch nen Spartan6, weil 3 
Videosignale verarbeiten (zumindest vernuenftig) packt auch der ARM 
nicht.

von Jörg (Gast)


Lesenswert?

Die Anzahl der Videosignale ist doch fast egal auf die Pixel/Sekunde 
kommt's an!

QVGA != WHUXGA

von egbert (Gast)


Lesenswert?

Jetzt ist das soweit.
Er bastelt sich aus seinem Nissan ein UFO.
Mit MP3-Spieler und Rückfahrkamera.

Zeig' doch 'mal die Ergebnisse Deiner bisherigen Bemühungen...

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:
> ich muss 3 videosignale gleichzeitig verarbeiten, dazu noch einige adc
> werte und 4 displays, sd karten, musik, verstärker, 40 - 50 i/o signale,
> drehzahlmessung, spannungsmessungen, sim karte und gps anbindung und und
> und. wollte das auf mehrere stückeln aber nunja, die gurus da rieten mir
> halt zu einem richtigen ich da dann auch noch genug reserven haben
> werde.

Den Gurus hast Du aber auch nur die halbe Wahrheit gesagt. Du hast Doch 
sicher ein vollständiges Lastenheft. Das wäre interessant, um Dir 
effektiv helfen zu können. Wenn Du kein vollständiges Lastenheft hast, 
wäre genau jetzt der richtige Zeitpunkt, um eines zu schreiben.

fchk

von Tobias N. (silberkristall)


Lesenswert?

Nunja, also :

2 Taster auswerten (externe Pullups)
2 Schalter auswerter (mittels ADC, 5V und 0V wird geschaltet 
(spannungsteiler))
8 Temperaturen messen (DS18S20)
3 Kameras auswerten (eingeschaltet oder nicht)
3 Kameras schalten (auf diverse Monis (relais))
GPS Koordinaten einlesen
SIM Karte ansteuern (SMS Ein/Ausgang)
Touch Display mittels I²C ansteuern
SD Karte auslesen
microSD auslesen
vs1053b ansteuern
Vorverstärker steuern
4 PWMs steuern (zeitgleich)
3 Drehzahlmessungen mittels Interrupt
Digitale Uhr (per Funk)
diverse Spannungmessungen (etwa 28 Stück)
diverse I/O Pins (mittels Jumper auf pull- up/dowm setzbar)

Alles auf dem Touchpanel ansteuer und per Menü einstellbar.

von Frank K. (fchk)


Lesenswert?

Tobias N. schrieb:

> 2 Taster auswerten (externe Pullups)
> 2 Schalter auswerter (mittels ADC, 5V und 0V wird geschaltet
> (spannungsteiler))
bitte erläutern, warum ADC und nicht per Komparator oder Schmitt-Trigger 
(zB 74LVC14)

> 8 Temperaturen messen (DS18S20)
> 3 Kameras auswerten (eingeschaltet oder nicht)
wie auswerten? durch Strommessung an den Stromversorgungen? durch 
Detektion der Synchronimpulse auf den Signalleitungen? Sonst muss nichts 
mit dem Bildsignal gemacht werden?

> 3 Kameras schalten (auf diverse Monis (relais))

> GPS Koordinaten einlesen
NMEA-Format mit 4800bps, nehme ich an oder

> SIM Karte ansteuern (SMS Ein/Ausgang)
Ich denke, Du meinst ein seriell angeschlossenes GSM-Modem.

> Touch Display mittels I²C ansteuern
eines?

> SD Karte auslesen
> microSD auslesen
je eine?

> vs1053b ansteuern
einen?

> Vorverstärker steuern
wieso? Lautstärke kannst Du über den vs1053b steuern. Auch auf ganz aus 
und für links und rechts getrennt. Hat mich 30s gekostet, um das im 
Datenblatt zu finden.

> 4 PWMs steuern (zeitgleich)
> 3 Drehzahlmessungen mittels Interrupt
> Digitale Uhr (per Funk)
> diverse Spannungmessungen (etwa 28 Stück)
Auflösung? Abtastraten?

> diverse I/O Pins (mittels Jumper auf pull- up/dowm setzbar)
zeitkritisch?

> Alles auf dem Touchpanel ansteuer und per Menü einstellbar.

Was war mit USB Host für einen USB-Stick? Ist das nicht mehr drin?

Ist das jetzt wirklich alles?

Im Wesentlichen sind das jetzt ein Haufen digitaler IO, drei serielle 
Schnittstellen (GPS, GSM, 1-Wire), drei SPI (SD, µSD, VS1053b) und eine 
Anzahl externer AD-Wandler über I2C oder einen vierten SPI. Nichts, was 
furchtbar viel Rechenleistung braucht. Ein PIC32 oder AVR32 oder Cortex 
M3/M4 sollte das problemlos schaffen.

fchk

von Jobst M. (jobstens-de)


Lesenswert?

Oh weia ...

http://de.wikipedia.org/wiki/Lastenheft

Was Du geschrieben hast, ist von einem Lastenheft weit entfernt. Du 
musst beschreiben, was passieren soll, nicht was Du Dir vorstellst, was 
getan werden muß.

Wenn ich Dein 'Lastenheft' bekommen würde, würde ich bei Deinem ersten 
Punkt '2 Taster auswerten (externe Pullups)' die Pullups für die daran 
angeschlossenen Taster setzen und hin und wieder die Ports abfragen.
- Punkt erledigt, eine weitere Funktion wurde nicht spezifiziert.

Die folgenden Punkte werden eigentlich nur noch schlimmer ...

Du musst beschreiben, was das Ding können muß. Also was passieren soll, 
wenn Du auf die Taster drückst.
Und dabei solltest Du keine unsinnigen Anforderungen stellen wie z.B. 
Schalter per ADC abfragen zu müssen.

Das Lastenheft beschreibt also grob die Anforderung aus Bedienersicht 
plus Information über die Gegebenheiten.



Gruß

Jobst

von Eumel (Gast)


Lesenswert?

Frank K. schrieb:
> Ein PIC32 oder AVR32 oder Cortex
> M3/M4 sollte das problemlos schaffen.

http://www.ti.com/tool/ek-tm4c123gxl

Gefällt mir gut.

von Tobias N. (silberkristall)


Angehängte Dateien:

Lesenswert?

ich habe jetzt mal ein rtf file angehangen. ich hoffe sowas ist gemeint. 
da fehlen noch ein paar punkte aber diese sind auch noch nicht sicher. 
demnach lasse ich die erstmal weg da ich noch nicht weiss in wie weit 
die anderen dinge nun sinn machen oder nicht. daher erstmal nur die 
punkte die auch zu 100% dran kommen.

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Zu Deinen Schaltern am ADC: So wirds besser gemacht.

Links sind Deine Schalter mit Mittelstellung. In Mittelstellung sorgen 
die Widerstände R1/R3 und R2/R4 dafür, dass VCC/2 anliegt. Die 
Spannungteiler können über die Schalter gebrückt werden, um VCC oder GND 
auszugeben.

Rechts siehst Du OpAmps, die hier als Vergleicher benutzt werden. Je 
nachdem, ob die Spannung zwischen + und - Eingang positiv oder negativ 
ist, gibt er VCC oder GND aus. Die Vergleichsspannungen werden durch die 
Widerstände R5-R7 eingestellt und ergeben VCC/3 und 2VCC/3. Damit hast 
Du folgende Möglichkeiten:

          Vin < 1/3 VCC: OutA=0 OutB=0
1/3 VCC < Vin < 2/3 VCC: OutA=0 OutB=1
          Vin > 2/3 VCC: OutA=1 OutB=1

Das kannst Du problemlos mit digitalen Inputs abfragen.

Im Lastenheft (das ich lieber Anforderungsspezifikation nenne, weil ich 
das klarer finde) nennst Du normalerweise keine Lösungswege, es sei denn 
der Lösungsweg ist aus irgendeinem Grund Teil der Anforderung.

Den Grund siehst Du oben.

fchk

von Jobst M. (jobstens-de)


Lesenswert?

Frank K. schrieb:
> Zu Deinen Schaltern am ADC: So wirds besser gemacht.

Bei den Schaltern stellt sich mir die Frage, ob die schon so mit Vcc und 
GND verbunden sind bzw. verbunden sein müssen oder ob er das gerne so 
möchte.
Denn die Mittenkontakte an GND zu legen und jeweils die beiden anderen 
Enden abzufragen wäre für mich die weitaus elegantere Methode.

Und: Das ist immernoch kein Lastenheft.

Wozu soll z.B. ein Transistor geschaltet werden? Einfach so?
Dem Bediener ist völlig wumpe, ob irgendwo ein Transistor eingeschaltet 
wird oder ob ein ADC-Eingang bei drücken eines Tasters benutzt wird.



Du schränkst nur die Möglichkeiten sinnlos ein, ohne jedoch zu sagen, 
was eigentlich passieren soll. Das ist so wie: "Ich möchte eine 
Lichtquelle mit einem Kondensator feststellen."


Gruß

Jobst

von egbert (Gast)


Lesenswert?

Jobst M. schrieb:
> ...
> Und: Das ist immernoch kein Lastenheft.
> ...
> Das ist so wie: "Ich möchte eine
> Lichtquelle mit einem Kondensator feststellen."
> ...

Schau' Dir die anderen Beiträge an, Plan- und konzeptloser 
Megaloismus...
Nicht laufen können, aber wie Fred Astair tanzend den Mt. Everest 
bezwingen wollen.

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.