Forum: Mikrocontroller und Digitale Elektronik AVR verglichen mit PIC (SX)


von Thomas B. (escamoteur)


Lesenswert?

Hi,

wenn ich das richtig sehe, dann sind hier jede Menge AVR Fans 
versammelt. Kann mir jemand kurz zusammenfassen, welche Vor-/Nachteile 
ein AVR gegenüber einem PIC speziellUbicom SX.

Gruß

Thomas

von Benedikt K. (benedikt)


Lesenswert?

Gibt es die SX Controller denn überhaupt noch ? Ich dachte die wären 
schon seit ein paar Jahren abgekündigt.

von Thomas B. (escamoteur)


Lesenswert?

Die werden weiterhin explusiv von Parallax www.parallax.com vertrieben. 
Mit kompletter kostenloser Entwicklungsumgebung.

Gruß

Thomas

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Ich hoffe nur, dass bei einem solchen Vergleich Gleiches mit Gleichem 
verglichen wird und nicht ein 16F84 mit einem ATmega128 oder so.

Man kann ruhig auch mal die 18F oder 24F mit in einen solchen Vergleich 
einbeziehen. Dann könnten viele der PIC Vorurteile mal ad Acta gelegt 
werden.

Sven

von Peter D. (peda)


Lesenswert?

Thomas Burkhart wrote:
> versammelt. Kann mir jemand kurz zusammenfassen, welche Vor-/Nachteile
> ein AVR gegenüber einem PIC speziellUbicom SX.

Da weiß ich fast nicht, wo man mit den vielen Nachteilen des SX anfangen 
soll.

Immerhin sind sie ehrlich und schreiben sie in den FAQs rein, z.B.:

"Interrupts that "arrive" while the SX is already processing another 
interrupt are ignored. Ideally, the programmer should try to structure 
the code such that it is not possible for interrupts to coincide. 
Realistically, this is not always possible."

Ich ziehe es allerdings vor, wenn keine Interrupts (durch 
Architekturdesignfehler) verloren gehen.
Der Name Interrupt impliziert ja schon einen gewisse Wichtigkeit für den 
korrekten Programmablauf.

Und solche Gags, daß man nur in gerade Pages (0,2,4..) callen kann, 
finde ich ehrlich gesagt oberpeinlich, sowas muß man heutzutage keinem 
mehr zumuten. Man sollte schon verschiebbaren Code erzeugen können.

Ob es daher einen (ANSI-) C-compiler gibt, der den SX unterstützt, darf 
arg bezweifelt werden. C-Programmierbarkeit halte ich heutzutage für 
eine Grundvoraussetzung.


Peter

von Thomas B. (escamoteur)


Lesenswert?

Ist neben dem AVR und den PICs noch ne andere Familie wirklich 
interessant anzuschauen (hatte bisher immer nur mit größeren CPUs zu 
tun)

Gibt es für die AVRs ein schönes starterkit? Oder ein Howto was ich 
alles brauche?

Hatte bis jetzt mit Basic-Stamps experimentiert. Komme aber von C, 
sodass mir das durchaus entgegenkäme.

Gruß

Thomas

von Peter D. (peda)


Lesenswert?

Thomas Burkhart wrote:
> Ist neben dem AVR und den PICs noch ne andere Familie wirklich
> interessant anzuschauen (hatte bisher immer nur mit größeren CPUs zu
> tun)


Durchaus, z.B. die weltweit größte MC-Familie überhaupt, die 8051-er:

Z.B. bis 100MIPS die C8051Fxx von Silabs, bis 20MIPS die AT89LPxx von 
Atmel oder die XC866 von Infineon und noch viele andere.


Peter

von Thomas B. (escamoteur)


Lesenswert?

Anders gefragt, wenn einen µC will der nicht zu komplex ist, sauberes 
IRQ handling, ne menge IO Pins hat und mit C zu programmieren ist, nicht 
zuviel Bauteile ausen rum brauch, welchen würded Ihr denn empfehlen, hab 
nicht die Zeit mich durch die Details jeder Prozessorfamilie 
durchzuarbeiten und hätte wohl auch schwierigkeiten dies zu bewerten. 
Das war der Grund wieso ich die BasicStamp Module so ansprechend fand.

Also einfach Empfehlungen mit evetuell + / - und was ich dazu brauche um 
zu starten.

Gruß Thomas

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Thomas Burkhart wrote:
> Anders gefragt, wenn einen µC will der nicht zu komplex ist, sauberes
> IRQ handling, ne menge IO Pins hat und mit C zu programmieren ist, nicht
> zuviel Bauteile ausen rum brauch, welchen würded Ihr denn empfehlen

Nen AVR. Wieviele IO-Pins brauchst Du, "ne Menge" ist keine Aussage.

von Andreas K. (a-k)


Lesenswert?

Peter Dannegger wrote:

> Realistically, this is not always possible."

Yep, diese Nummer ist preisverdächtig. Aber wozu braucht man 
schliesslich Interrupts - der Urvater PIC1650 kam noch völlig ohne 
solches Teufelszeug aus.

> Und solche Gags, daß man nur in gerade Pages (0,2,4..) callen kann,

Ich denke mir das eher so zurecht, dass du in jede callen kannst, aber 
immer nur in dessen erste Hälfte. Notfalls steht dort eben ein 
Sprungbefehl. Weil die Banks effektiv 512 Worte umfassen. Dann fluchst 
du zwar immer noch über das Banking, aber das Ganze bekommt eine gewisse 
Logik.

Das entstammt übrigens in direkter Linie dem erwähnten PIC1650, da war 
das auch schon so, nur die erste Hälfte vom ROM liess sich callen. Nur 
hatte der weder Banks noch Pages (weil wenig genug RAM und ROM).

Solche Probleme hatten viele Designs dieser Zeit. Intel 8048/51, Zilog 
Z8, Fairchild F8, ... alle hatten ihre liebe Not mit der Adressierung 
von Speicher, sobald die Grösse, für die das Ding konzipiert war, 
überschritten werden musste. Immrhin betraf es meist nur Daten. Aber 
damals hat man die Designs nicht für die Ewigkeit entwickelt. Was kann 
Intel dafür, dass die Leute lieber auf '51 weiterprogrammierten statt 
auf viel schönere '96 zu wechseln.

> C-Programmierbarkeit halte ich heutzutage für
> eine Grundvoraussetzung.

Ja, heute. Aber nicht in den 70ern, in denen das entstand.

Kleiner Spass nebenbei: Schau mal bei 
http://en.wikipedia.org/wiki/IBM_650 rein, nach "optimized" suchen. 
Das ist echte Programmierung.

von Hans O. (hoteloskar)


Lesenswert?

Hallo,

auch wenn es nicht ganz zum Thema passt:
Weiß jemand ob der SX-Code, erstellt durch SASM, auf einem PIC (16Fxxx) 
läuft?

Hans

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.