Forum: Mikrocontroller und Digitale Elektronik ARM und FPGA


von Frederik W. (ip-freddy)


Lesenswert?

Moin,

ich beschäftige mich grade mit Mikrocontrollern und bin auf 2 Themen 
gestoßen die sehr komplex zu sein scheinen.
Ein ARM, ist das wie ein normaler AVR nur mit mehr Leistung und wie 
werden sie programmiert, auch in C? Dann wäre ja der Umstieg nicht 
schwer oder?

Ein FPGA scheint einfach ein Ic zu sein, der kein Programmcode 
abarbeitet und arbeitet in "Echtzeit", also so als wenn ich Logikgatter 
softwaretechnisch verschalte? Und der wird dann wahrscheinlich nicht in 
C programmiert oder? Jetzt habe ich gesehn das man ein FPGA z.B. für 
Ambilgiht benutzen kann, wie stell ich mir dann die Auswertung von dem 
HDMI Signal vor, muss ich das dann mit logische Verknüpfung auseinander 
nehmen, also so als wenn ich das HDMI Signal z.B. auf Nand und OR Gatter 
lege ?

Danke schon mal und bitte nicht wieder irgendwelche Links, in 2 Jahren 
gehen die wieder nicht und es wäre ja auch schön wenn die "Nachwelt" was 
davon hat ;-)

von Thomas (Gast)


Lesenswert?

Hi!

Frederik Wayn schrieb:
> Ein ARM, ist das wie ein normaler AVR nur mit mehr Leistung und wie
> werden sie programmiert, auch in C?
ARM und Avr haben einmal nichts miteinander zu tun, heißen nur ähnlich.

Ein ARM ist ein Prozessorkern, der wird an verschiedene Firmen verkauft. 
Diese bauen dann die ganze Prozessorperipherie dazu(speicher,adc,etc...) 
und verkaufen den als Chip. Hat den Vorteil dass es eine große Auswahl 
von verschiedenen Bausteinen von verschiedenen Herstellern gibt die sich 
aber nur durch die Peripherie unterscheiden.
Programmieren kannst du alle Mikrocontroller in der Sprache die du 
willst, solange es Compiler gibt ;) von assembler bis java gibts bei den 
gängigen Controllern alles :)

Frederik Wayn schrieb:
> Ein FPGA scheint einfach ein Ic zu sein, der kein Programmcode
> abarbeitet und arbeitet in "Echtzeit", also so als wenn ich Logikgatter
> softwaretechnisch verschalte?

Im Prinzip ja, in einem Fpga sind tausende/millionen Logikgatter, die 
per Software verschaltet werden können. Das macht man mit 
Hardwarebeschreibungssprachen(vhdl oder verilog). Fpgas braucht man im 
privaten Bereich eigentlich nicht(sind auch teuer,und verlieren ihren 
Inhalt bei Stromausfall!), sie sind sehr sinnvoll wenn du zB. etliche 
Dinge parallel abarbeiten willst, weil du einen Block beschreibst und 
den dann einfach so oft instanzierst wies auf den Chip passt.
Aus den Logikgattern kannst du dir ja alles bauen was es in der 
digitalen Welt so gibt, unter könntest du auch einen mikroprozessor mit 
vhdl erzeugen(oder einen fertigen verwenden->google zB nach microblaze
Hoffe ich konnte dir damit helfen :)

von innerand i. (innerand)


Lesenswert?

Frederik Wayn schrieb:

> Ein ARM, ist das wie ein normaler AVR nur mit mehr Leistung und wie
> werden sie programmiert, auch in C? Dann wäre ja der Umstieg nicht
> schwer oder?
ARM ist eine Prozessorarchitektur. Jedenfalls die Cortex M (die sind 
gerne in MCUs zu finden) sind darauf ausgelegt worden in C Programmiert 
zu werden, also C-Compiler freundlich (bei den anderen weiß ich es 
nicht). AVR ist mehr so eine Microprozessor Reihe (waehrend ARM 
eigentlich nur den Core meint), ist also nicht unbedingt vergleichbar.


> Ein FPGA scheint einfach ein Ic zu sein, der kein Programmcode
> abarbeitet und arbeitet in "Echtzeit", also so als wenn ich Logikgatter
> softwaretechnisch verschalte? Und der wird dann wahrscheinlich nicht in
> C programmiert oder?

Ja, ein FPGA ist so eine Art programmierbarer IC. Programmiert werden 
die mit Hardwarebeschreibungssprachen wie VHDL(~Europa) oder 
Verilog(~USA).
Man kann zum Beispiel auch einen ARM Core in einen FPGA 'laden'.

von genervt (Gast)


Lesenswert?

Frederik Wayn schrieb:
> Jetzt habe ich gesehn das man ein FPGA z.B. für
> Ambilgiht benutzen kann, wie stell ich mir dann die Auswertung von dem
> HDMI Signal vor, muss ich das dann mit logische Verknüpfung auseinander
> nehmen, also so als wenn ich das HDMI Signal z.B. auf Nand und OR Gatter
> lege ?

HDMI ist verschlüsselt, da wirst du kaum rankommen.

von holger (Gast)


Lesenswert?

>Ein ARM, ist das wie ein normaler AVR nur mit mehr Leistung und wie
>werden sie programmiert, auch in C? Dann wäre ja der Umstieg nicht
>schwer oder?

Für jemanden der solche Fragen stellt wird der Umstieg
extrem schwer.

von Frederik W. (ip-freddy)


Lesenswert?

Dank, das war echt ein Top Beitrag :-)


Ein normaler Mikrocontroller hat doch auch diese ganze Peripherie oder 
nicht? Ich seh noch nicht die Vorteile die mir das bringt. Ist ein ARM 
genau so "leicht" zu programmieren wie ein AtMega ?

Also müsste ich bei einem FPGA erst ein Mikrocontroller "definieren", 
der das HDMI Signal verarbeitet ?

von genervt (Gast)


Lesenswert?

Frederik Wayn schrieb:
> Also müsste ich bei einem FPGA erst ein Mikrocontroller "definieren",
> der das HDMI Signal verarbeitet ?

OMGOMGOMG!

Vergiss HDMI, du kannst keine HDMI-Signale verarbeiten ohne dafür 
Schlüssel zu haben und an die kommst du nicht dran, bzw. bist viel zu 
unbedarft.

Es gibt FPGAs mit integriertem ARM:

http://www.xilinx.com/products/silicon-devices/soc/

Aber bevor du dir Schuhe anziehst, die dir bei weitem nicht passen, 
fange erst mal mit dem Umstieg auf einen popligen ARM an, Boards gibts 
wie Sand am Meer.

von Jan B. (berge)


Lesenswert?

Wenn du gut in C bist, ist der Umstieg auf ARM meiner Meinung nach gut 
handlebar. Es sind halt einige Bibliotheken zu nutzen.

Wenn du konkret Interesse am Ambilight hast, schau dir im Forum den 
Thread "Ambilight mit STM32F4discovery und TVP5150AM1".

von Thomas (Gast)


Lesenswert?

Frederik Wayn schrieb:
> Ein normaler Mikrocontroller hat doch auch diese ganze Peripherie oder
> nicht? Ich seh noch nicht die Vorteile die mir das bringt. Ist ein ARM
> genau so "leicht" zu programmieren wie ein AtMega ?

natürlich,es hat ja auch keiner behauptet dass arms das nonplusultra 
wären und alles andere im Schatten stehen lassen würden, den großen 
Vorteil hast du dadurch das alle Arms irgendwie "ähnlich" sind.

von Noch einer (Gast)


Lesenswert?

> Ist ein ARM genau so "leicht" zu programmieren wie ein AtMega ?

Anders. Bei den kleinen Mikrocontrollern fummelt man direkt an den 
Registern rum. Beim ARM benutzt man für alles Libraries. 
PC-Programmierer finden ARM einfacher. Wer die AtMega Herangehensweise 
gewohnt ist, vertritt die gegenteilige Meinung.

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.