Hallo,
ich benötige, 1xSPI, 1x Ethernet, 1x RTC.
bisher dachte ich ich fahre mit einem XATXmega32A4 und dem ENC28J60
sowie noch einem RTC ganz gut.
Nur jedesmal wenn ich auf der Atmel Seite die SAMxx Serien sehe.. die
haben das
alles schon mit integriert.
Da stelle ich mir einfach die Frage, warum nehme ich einen ATXMega, wenn
der
SAMxx das meiszte schon mit bringt.
Wie sieht es hier in sache schwierigkeit aus? bietet Atmel einen TCP
Stack für seine SAM serien?
Wie sieht es mit Entwicklungstools aus, ich kann wohl kaum mein AVRISP2
nehmen.
Kann man hier auch den AVR-GCC nehmen?
DIe nächste Frage ist die Preisfrage, so ein SAM kostet doch maximal 3
oder 5 EUR mehr, was mir für mein Projekt egal wäre.
Also, GCC ja, AVR-GCC nein.
Atmel bietet zwar Treiberbibliotheken:
http://www.atmel.com/Images/doc8431.pdf
aber da ist von TCP/IP nicht die Rede. Es gibt ggf. Portierungen von
lwIP oder uIP.
Umstieg auf den SAM ist komplizierter als von ATMega auf den ATXMega,
das will wohl überlegt sein. Im Prinzip soviel Neuland, daß man dann
auch einen anderen ARM oder Cortex-M3 nehmen könnte, für den es einen
fertigen TCP/IP-Stack gibt.
Simon schrieb:> bisher dachte ich ich fahre mit einem XATXmega32A4 und dem ENC28J60> sowie noch einem RTC ganz gut.
Warum Du an den Xmega noch einen externen RTC ranhängst, ist mir ein
Rätsel. Vermutlich aus alter Gewohnheit vom vorigen Jahrhundert. Nur die
ganz alten AT90Sxxx hatten noch keinen Power-Save Mode.
Bei ARM mit Ethernet muß man aufpassen, die haben oft nur ein halbes
Ethernet (MAC ohne PHY) drin.
Volles Ethernet haben z.B. die ARM Cortex M3 von TI (Luminary).
Peter
Simon schrieb:> ich benötige, 1xSPI, 1x Ethernet, 1x RTC.>> bisher dachte ich ich fahre mit einem XATXmega32A4 und dem ENC28J60> sowie noch einem RTC ganz gut.>> Nur jedesmal wenn ich auf der Atmel Seite die SAMxx Serien sehe.. die> haben das> alles schon mit integriert.>> Da stelle ich mir einfach die Frage, warum nehme ich einen ATXMega, wenn> der> SAMxx das meiszte schon mit bringt.
Das frage ich mich bei vielen Projekten hier auch.
Wie viel Rechenleistung brauchst Du?
Wenn es nur darum geht, ein paar I/Os zu schalten, nehme ich einen
PIC18F67J60. Das ist die billigste und einfachste Ethernet-Lösung auf
dem Markt, praktisch ein ENC28J60 mit eingebautem Prozessor, also
wirklich eine Ein-Chip-Lösung. Billiger geht es nicht, und der
Microchip-Stack ist leistungsfähiger als das übliche Zeugs von Adam
Dunkels (uip/lwip).
Die größeren Prozessoren wie die PIC32MX6xx/7xx oder die von Dir
erwähnten Atmel SAM-Serien haben den Ethernet MAC, also den Digitalteil
bereits eingebaut. Der PHY, also der Analogteil ist fast immer ein
separater Chip, weil es von der Fertigung her schwer ist, die
unterschiedlichen Halbleiterprozesse auf einem einzigen Chip
unterzubringen. Der obige PIC ist da eine seltene Ausnahme, es gibt noch
ARMs von TI und einen Coldfire-Chip von Freescale.
> Wie sieht es hier in sache schwierigkeit aus? bietet Atmel einen TCP> Stack für seine SAM serien?
Atmel hat hier nix selber gemacht im Gegesatz zu Microchip, die gut für
ihre User sorgen, hier nimmst Du die üblichen uip oder lwip Stacks, die
alle verwenden, aber so ihre Schwächen haben. Ich habe die Kombination
TI ARM+uip/lwip (ich habe beide durchprobiert) in einem Projekt auch
verwendet, aber der Microchip-Stack mit seinem Webserver auf dem kleinen
PIC war echt fixer in den Antwortzeiten als der eigentlich deutlich
schnellere ARM, der nach dieser Erfahrung rausflog.
> Wie sieht es mit Entwicklungstools aus, ich kann wohl kaum mein AVRISP2> nehmen.
nein. Für ARM nimmst Du am Besten einen Segger JLink, für die
Microchip-Controller (egal ob 8,16,32 Bit) ein PicKIT3 oder den
schnelleren ICD3.
> Kann man hier auch den AVR-GCC nehmen?
Der ist, wie schon der Name vermuten lässt, ausschließlich für AVR. Für
ARM gibts einen eigenen, und für die PICs wirst DU die
Microchip-Compiler verwenden.
> DIe nächste Frage ist die Preisfrage, so ein SAM kostet doch maximal 3> oder 5 EUR mehr, was mir für mein Projekt egal wäre.
Eben bei Farnell geschaut: 10'er Nettopreise
ATXmega32A4 3,45€
ENC28J60 2,33€
Summe: 5,78€
PIC18F67F60 3,56€
LM3S6911 9,28€ (ARM mit Ethernet Mac+Phy)
Bei den SAM's habe ich auf die schnelle keinen passenden gefunden, aber
gehe davon aus, dass Du mit den externen PHY in etwa so bei 7-10€ landen
wirst.
fchk
hallo simon,
wenn du dich für atmel-arm entscheidest dann am besten gleich für den
sam3x
grund:
mehr flash und sram als atmega
toolchain: atmel studio 6 (inkl. jeder menge beispiele).
gruss
gerhard
ich fahre mit dem SAM3X ganz gut, Compiler C/C++ ist in Atmel Studio6
integriert, es gibt schon fertige Projekte mit lwIP - alles in AS6
integriert wenn du es noch nicht installiert hast, hier ist eine
Übersicht im Web:
http://asf.atmel.com/docs/latest/search.html?device=sam3x
Einfach nach lwIp suchen
Es gibt ein Beispiel einmal mit, einmal ohne FreeRTOS.
Ich verwende jedoch BeRTOS, der Vorteil ist dass sämtliche Treiber für
den SAM3X schon fertig sind und ich kann mich auf meine Applikation
konzentrieren. http://www.bertos.org/
Du benötigst aber trotzdem noch einen PHY. Von dem her ist die Auswahl
nicht leicht.
Mit AVR und dem ENC deckst Du den MAC als auch PHY ab. Mit dem SAM3X ist
der MAC zwar integriert, PHY wird aber trotzdem benötigt.
Ich würd vorschlagen nimm das was für Dich leichter ist und Du die Tools
wiederverwenden kannst...
wobei der SAM3X einen Bootloader hat und du kannst über UART/USB Deine
Firmware laden, ein spezieller Programmer ist nicht nötig
Nun stehe ich natürlich da,
ich habe hier alles von Atmel, kleine ATTiny, xmega etc.. und zwei der
günstigen Programmieradapter.
Wenn ich jetzt den wechsel zu Microchip mache, da stehe ich doch wieder
bei 0 da, sowohl von der Erfahrung als auch von der benötigten Hard und
Software.
Die Frage ist natürlich auch hier wenn ich nun ein paar Microchips
bestelle + den Programmieradapter ob ich da schneller und zufriedener am
Ziel bin als jetzt den Ulrich Radig TCP/Ip Stack auf den ATXMega zu
protieren und dann vielleicht enttaeuscht festzustellen das es nicht
anständig funktioniert.
> Der ist, wie schon der Name vermuten lässt, ausschließlich für AVR. Für> ARM gibts einen eigenen, und für die PICs wirst DU die> Microchip-Compiler verwenden.
Und die gibts nur für windows?
> Warum Du an den Xmega noch einen externen RTC ranhängst, ist mir ein> Rätsel. Vermutlich aus alter Gewohnheit vom vorigen Jahrhundert. Nur die> ganz alten AT90Sxxx hatten noch keinen Power-Save Mode.
Mooooooment, heißt es ich kann im Powersave einen Takt mitlaufen lassen?
nur woher bekomme ich die Kalender funktion etc?
Simon schrieb:> Mooooooment, heißt es ich kann im Powersave einen Takt mitlaufen lassen?
Ja.
Nur der Timer am 32kHz Quarz läuft, der Rest des MC schläft.
Simon schrieb:> nur woher bekomme ich die Kalender funktion etc?
Im Interrupthandler einfach ein paar Variablen zählen. Oder die Sekunden
als 32Bit und dann umrechnen.
Peter
Simon schrieb:> Wenn ich jetzt den wechsel zu Microchip mache, da stehe ich doch wieder> bei 0 da, sowohl von der Erfahrung als auch von der benötigten Hard und> Software.
Das ist bei ARM nicht anders. Jeder Hersteller macht sein eigenes Zeugs.
Aber Du lernst auch einiges dabei, und bei der n-ten Architektur weißt
Du dann, wie es geht.
> Die Frage ist natürlich auch hier wenn ich nun ein paar Microchips> bestelle + den Programmieradapter ob ich da schneller und zufriedener am> Ziel bin als jetzt den Ulrich Radig TCP/Ip Stack auf den ATXMega zu> protieren und dann vielleicht enttaeuscht festzustellen das es nicht> anständig funktioniert.
Ob DU dann zufriedener bist, weiß ich nicht.
>> Der ist, wie schon der Name vermuten lässt, ausschließlich für AVR. Für>> ARM gibts einen eigenen, und für die PICs wirst DU die>> Microchip-Compiler verwenden.>> Und die gibts nur für windows?
Nein, das neue MPLABX und die neuen Compiler gibts auch für Mac OSX und
Linux. Das ist allerdings noch nicht so gut abgehangen wie die älteren
Sachen, und deswegen bleibe ich persönlich erstmal beim alten MPLAB8 und
den alten Compilern. Ich bin da etwas konservativ, allerdings verdiene
ich damit auch mein Geld.
Eine Motivation, Microchip-Zeugs hier einzusetzen, ist auch, das
Microchip ein extrem zuverlässiger Lieferant ist. Du kannst heute immer
noch die alten PIC16C54 von 1983 kaufen, als Microchip noch General
Instruments hieß und unter anderem die AY-8910 und AY-8912 Soundchips
für die Atari ST und Amstrad/Schneider CPC fabriziert hat. Einige Kunden
haben ganz gerne Liefergarantien von 10 Jahren und mehr. Da traue ich
mich nicht, Atmel einzusetzen.
fchk
Alleine schon eine 16- oder 32- Bit Variable im Interrupt beschreiben zu
können, und um Hauptprogramm auszulesen, ohne extra die Interrupts
sperren zu müssen, ist schon ein starkes Argument für 32-bitter. Wenn
man dazu noch die tausend verschiedenen ATMEL Programmer betrachtet, die
gerade alle anderen Typen programmieren können, aber genau den benutzten
Typ nicht, hat man ein weiteres Argument. Und für Arm spricht noch die
weite Verbreitung kostengünstiger In-Circuits Debugger.
Ich hab gerade bemerkt es gab schon einige einträge im Forum zu dem
Thema,
im groß und ganzen, will die mehrheit den ATxMega irgendwie nicht.
Jetzt frage ich mich natürlich wenn ich einen ARM nehmen möchte,
von welchem Hersteller sollte ich das tun wenn mir wichtig ist das es
unter linux mit dem gcc compiler wirklich tadellos funktioniert?
oder wie Christian schon sagte BeRTOS und den SAM3X?
Es muss doch eine Möglichkeit geben, hier schnell und einfach zu einem
TCP/IP fähigem Controller zu kommen. Es gibt doch auch sonst immer für
alles Beispiele die out-of-the-box funktionieren.
Unter Linux gibt es von Atmel die Toolchain zumindest für AVR auch
getrennt vom AS6, genauso wie das Software Framework kann man auch
getrennt vom AS6 installieren, auf beiden Systemen. Wobei ich bin bei
der Windows Version geblieben, endlich gibt es einen VI Emulator als
Plugin in der Gallery - meine gewohnten Shortcuts kann ich nun auch im
Atmel Studio 6 nutzen.
Wenn Du dich doch für einen AVR + ENCxxxx entscheidest, das kann
interessant für dich sein:
http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx
Das Standalone Software Framework kannste hier laden:
http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-44656
Mit dieser Software kannst Du den SAM3 per UART oder USB flashen:
http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx
Für den SAM3X spricht auch die Arduino Community, seit neuestem gibts
den Arduino Due für ca. 50Euro.
http://www.heise.de/hardware-hacks/meldung/Was-lange-waehrt-Der-Arduino-Due-ist-da-1734395.html
wir verwenden den CortexM4, den SAM4 in der Firma, Atmel gibt auf alle
Cortexe eine Lifetime garantiee von 12Jharen, dem kann man ruhig glauben
immerhin sind die meisten ARM7 immernoch seit 2002 in Produktion. Wir
habens schriftlich von Atmel auf Anfrage bekommen.
Ich bin gerade auf den Microchip Seiten unterwegs,
also die bieten da auch in sachen USB fertige Beispiele an.
USB Stick Treiber und FAT32 alles kein Thema da.
Dieser SAM-BA funktioniert das per USB CDC ueber ein USB->UARt adapter
oder kann man hier direkt an den SAM per USB dran?
Simon schrieb:> Ich bin gerade auf den Microchip Seiten unterwegs,> also die bieten da auch in sachen USB fertige Beispiele an.> USB Stick Treiber und FAT32 alles kein Thema da.
Weißt Du jetzt, was ich mit Herstellersupport meine?
Und Du darfst das alles auch kommerziell benutzen, ohne Dir über solche
Sachen wie GPL und Offenlegung Deines Codes Gedanken machen zu müssen.
fchk
Simon schrieb:> Ich hab gerade bemerkt es gab schon einige einträge im Forum zu dem> Thema,> im groß und ganzen, will die mehrheit den ATxMega irgendwie nicht.
Stimmt. Er ist zu spät, zu langsam und zu teuer, und die ersten hatten
ziemlich ärgerliche Bugs. Gut, letzteres ist keine Spezialität von
Atmel, auch andere Hersteller können das Gut, z.B. Luminary (jetzt TI),
wo bei den meisten LM3S-ARMs die Hibernate Unit nicht funktioniert.
> Jetzt frage ich mich natürlich wenn ich einen ARM nehmen möchte,> von welchem Hersteller sollte ich das tun wenn mir wichtig ist das es> unter linux mit dem gcc compiler wirklich tadellos funktioniert?
Es ist völlig egal. Der CPU-Kern und die Debug-Einheit ist immer das
gleiche. So lange der gcc neu genug für den entsprechenden Kern ist,
spielt der Rest keine Rolle. Achte darauf, dass der JTAG-Adapter nicht
nur JTAG, sondern auch SWD kann, d.h. Zweidraht-JTAG. Speziell bei
kleineren Chips hast Du sonst ein Problem, und JTAG braucht
normalerweise ziemlich viele Pins (zu den üblichen TMS/TCK/TDI/TDO kommt
oft noch RTCK und TRST dazu, das sind schon 6 Pins, die Du dann nicht
mehr anderweitig nutzen kannst).
> oder wie Christian schon sagte BeRTOS und den SAM3X?
Auch das ist ein normaler ARM, und RTOSe gibts mehr als eines.
> Es muss doch eine Möglichkeit geben, hier schnell und einfach zu einem> TCP/IP fähigem Controller zu kommen. Es gibt doch auch sonst immer für> alles Beispiele die out-of-the-box funktionieren.
out-of-the-box ist nicht die Stärke der ARMs, weil zu viele Dinge aus zu
vielen verschiedenen Ecken kommen: der Chip von A, der Debug-Adapter von
B, der Compiler von C, dazu die IDE von E und Bibliotheken von F, G und
H.
Bei den PICs kommt alles von M, und damit hast Du es am Anfang
wesentlich einfacher.
fchk
Simon schrieb:> Ich bin gerade auf den Microchip Seiten unterwegs,> also die bieten da auch in sachen USB fertige Beispiele an.> USB Stick Treiber und FAT32 alles kein Thema da.>>> Dieser SAM-BA funktioniert das per USB CDC ueber ein USB->UARt adapter> oder kann man hier direkt an den SAM per USB dran?
Hi Simon,
ganz normal USB anschliessen, Treiber aufm PC installieren (ist im SAMBA
Paket drin) und du kannst über das Tool alle erdenklichen Memories über
den Bootloader programmieren)
Wenn Dich USB usw. interessiert, Atmel hat alles möglich im ASF mit
drin:
http://asf.atmel.com/docs/latest/search.html?device=sam3x
FileSysteme, USB, Display, Ethernet, CAN, LIN... alles drin
Hier gibs Xmega plus Ethernet als fertiges Modul:
http://go.chip45.com/crumbx1-net-1.2
Fertige Software für avr-gcc gibt's auch im Source (Webserver, DHCP,
Emailversand, etc.) zum runterladen.
Nasenbär
Vielen Dank für die ganzen Tips:
> Hier gibs Xmega plus Ethernet als fertiges Modul:> http://go.chip45.com/crumbx1-net-1.2
Das Modul ist nicht schlecht, hat natürlich wieder paar nachteile:
der CP2102 ist am endefekt wieder nur ein USB CDC wandler.
Das können so manche PICs doch genauso wie auch AT90USB162 als beispiel,
direkt mit software.
Netzwerk, ok gut CP2201 und Adam Dunkels TCP Stack, das kann ich ansich
hier
mit dem atxmega auch haben.
> Weißt Du jetzt, was ich mit Herstellersupport meine?
Frank K. hat da schon irgendwie recht, wenn ich mir einfach nur auf der
Website von Microchip ide PICs und die ganze software dazu ansehe, die
bieten da schon einigs mehr als Atmel.
Der Grund warum ich hier soviel ATMegas - Xmegas rumliegen haben liegt
einfach daran das ich mit ATMega8 begonnen habe, und der immer alles
getan hat was ich wollte, doch nun mit Ethernet wirds echt bedeutet
aufwendiger.
Bilde ich mir das nur ein oder wurden die XMegas von Atmel auch
irgendwie vergessen in sachen Ethernet.
kaum kommt Ethernet mit ins Spiel wird da meist zum SAM gegriffen
Ich bin nun schon Stunden auf den Seiten von Atmel und Microchip, so
wirklich entscheiden konnte ich mich noch nicht.
Nehmen wir mal an ich möchte was von Microchip, was für ein
Programmieradapter könnte man mir empfehlen?
Frank sagte schon er soll mindestens SWD können, auf welche trifft das
zu?
Welchen Microchip nehme ich am besten?
MAC lieber im Microcontroller oder doch eher getrennt?
http://www.microchip.com/pagehandler/en-us/technology/ethernet/technology.html
Das ganze soll nur stabil laufen.
1x Ethernet (HTTP Client)
1x USB Host (zum speichern auf USB Stick)
1x SPI
Performance ist ansich auch kein thema,
ich übertrage übers Ethernet nur sehr wenig an Daten.
hallo simon,
warum es keine atmega's mit ethernet und USB host gibt ist schnell
erklärt:
es wird in der regel die performance und vor allen auch die
speicherkapazität eines 8-bit controllers für solch eine anwendung nicht
ausreichen.
p.s.: das du eine usb host benötigst hast du auch erst in deinem letzten
posting erwähnt.
gruss
gerhard
Simon schrieb:> Nehmen wir mal an ich möchte was von Microchip, was für ein> Programmieradapter könnte man mir empfehlen?
PicKit3 für den kleinen Geldbeutel, ICD3 für höhere Ansprüche. Mehr
Auswahl hast Du ohnehin nicht.
> Frank sagte schon er soll mindestens SWD können, auf welche trifft das> zu?
Das gilt nur für die ARMs und trifft auf Microchip nicht zu.
> Welchen Microchip nehme ich am besten?> MAC lieber im Microcontroller oder doch eher getrennt?> http://www.microchip.com/pagehandler/en-us/technology/ethernet/technology.html
Immer intern, wenn Du es schnell haben willst.
Auszug aus der Doku zum Microchip TCP/IP-Stack: UDP-Durchsatz in
kBytes/s
PIC18F97J60+interner MAC/PHY(*): 113
PIC18F8722+ENC28J60: 63
PIC32MX795F512L+ENC28J60 (SPI, 10 MBit/s): 456
PIC32MX795F512L+ENC624J600 (SPI, 100 MBit/s): 784
PIC32MX795F512L+ENC624J600 (16 Bit Parallel PMP, 100 MBit/s): 2071
PIC32MX795F512L+interner MAC (100 MBit/s): 8449
Du siehst:
1. Bei den kleinen 8-Bittern ist der PIC mit integriertem Ethernet
doppelt so schnell wie der mit externem Ethernet über SPI. Der CPU-Kern
und die Rechenleistung der beiden Chips ist exakt gleich.
2. Beim PIC32 siehst Du den Effekt der externen Anbindung. Zwischen SPI
und dem internen MAC liegt fast ein Faktor 10, und bei 8.5MByte/s ist
Fast Ethernet fast völlig ausgelastet.
> Das ganze soll nur stabil laufen.> 1x Ethernet (HTTP Client)> 1x USB Host (zum speichern auf USB Stick)
Ich empfehle Dir DRINGEND, den USB-Stick durch eine SD-Karte zu
ersetzen. Das reduziert den Softwareaufwand um zwei Zehnerpotenzen, was
Zeit und Codegröße angeht). Ein USB Host ist sehr komplex, und ohne
passendes Werkzeug wirst Du scheitern.(**)
> 1x SPI>> Performance ist ansich auch kein thema,> ich übertrage übers Ethernet nur sehr wenig an Daten.
(*) Der 18F97J60 ist die 100Pin Version des 18F67J60. Hier sind 2 UARTS
und 2 MSSPs (SPI/I2C) herausgeführt. Es gibt noch eine 80-Pin Version
18F87J60. Mit Ausnahme der Pinanzahl und damit der I/O-Ports sind die
drei Chips identisch.
(**) Ein USB Device hingegen ist eine Zehnerpotenz einfacher.
fchk
ok, dann wird es doch erstmal wieder ein SD-Karte sein.
Also ich muss ehrlich sagen umso mehr ich mir Microchip ansehe umso
besser passt das.
Die haben ja auch WLAN Module etc.. und das alles wieder mit passend
code dazu.
Was das PicKit3 angeht, das spricht doch auch wieder für Microchip.
Das Teil scheint auch debuggen zu können, das kann mein MKII nicht.
"A Debugging Tutorial on using the PICkit 3 as a debugger with the MPLAB
IDE"
"HI-TECH C PRO for PIC10/12/16 MCU Family in Lite mode."
Kann der PicKIT3 auch die 32Bit MCUs?
MPLABX ist die netbeans IDE, also im Gegensatz zu einer Bemerkung weiter
oben, schon ziemlich abgehangen. Der 16 Bit und der 32 Bit Compiler ist
der gcc, der 8 Bitter der HI-Tech, auch wenn sie XCx heißen, also auch
aus dem beta raus. Ob man die netbeans IDE mag ist jedem seine Sache.
Dafür ist dann das OS egal, Windows, Linux und Mac ist alles gleich.
Simon schrieb:> Das Teil scheint auch debuggen zu können, das kann mein MKII nicht.
Ja, das ist eigentlich das Wichtige. 2 Leitungen (o.k. mit Reset 3) und
man kann single steppen, Breakpoints setzen, Variable incl. Strukturen
mit "mouse over" ansehen, soviel wie halt die jeweilige CPU unterstützt.
Wie man es auch auf dem PC gewöhnt ist. Auf Debuggen mit serieller oder
Blinke-LEDs gehe ich nicht mehr zurück.
MfG Klaus
P.S. der PICkit 3 kann wohl auch die 32 Bit, bin selbst bei den 16
Bittern hängengeblieben
Wenn der compiler der gcc ist, so kann ich doch auf das MPLAB doch auch
verzichten oder nicht.
ich hatte hier bisher avr-gcc und avrdude, die zwei muss es doch für
microchip auch geben sowas wie micro-gcc und micro-dude :-)
Ich hab mir nun den:
PIC32MX664F064H
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en552070
das Teil erfuellt mir viele wünsche auf einmal,
z.B. ist da Ethernet MAC und auch ne RTCC drinne, was will man also
mehr.
mal sehen wo ich das ganze zeug her bekomme..
Simon schrieb:> Wenn der compiler der gcc ist, so kann ich doch auf das MPLAB doch auch> verzichten oder nicht.
Nein, das brauchst Du, da da der Debugger drin ist. Du hast in diesem
Fall keine Alternative. Wenn Du das nimmst, was Du nehmen sollst, ist es
sehr einfach. Ansonsten sehr schwierig. Die Microchip-Compiler haben
spezielle Anpassungen für die Chips drin. Die PIC32 haben zwar einen
MIPS-Kern, aber damit das alles anständig schnell läuft, muss der
Compiler MIPS16 Code erzeugen können, und ein normaler gcc kann das
nicht. Außerdem darfst Du die Libraries rein lizenztechnisch nur
zusammen mit den Microchip-Compilern verwenden.
> ich hatte hier bisher avr-gcc und avrdude, die zwei muss es doch für> microchip auch geben sowas wie micro-gcc und micro-dude :-)
Ich kann meinen dringenden Rat nur wiederholen: Nimm das Zeugs von
Microchip und benutze es so, wie es vorgesehen ist, ansonsten bist Du
völlig auf Dich alleine gestellt, und Du verlierst jeglichen Support.
> Ich hab mir nun den:>> PIC32MX664F064H> http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en552070>> das Teil erfuellt mir viele wünsche auf einmal,> z.B. ist da Ethernet MAC und auch ne RTCC drinne, was will man also> mehr.
Reíchelt hat die Teile.
fchk
Den ENC28J60 würde ich nicht mehr nehmen, zu verbuggt und zu
stromhungrig. Als Alternative bietet sich der KSZ8851-SNLI von Micrel
an, der noch dazu mit 100MBit daher kommt. Zusammen mit einem XMEGA
kommt da schon eine gute Performance zusammen.
Knut Ballhause schrieb:> Als Alternative bietet sich der KSZ8851-SNLI von Micrel> an, der noch dazu mit 100MBit daher kommt.
Ja nur inzwischen sage ich mir, Microchip bietet echt feine sachen an,
viele code Beispiele, reference designs etc..
Jetzt ist natürlich wieder die Frage, KSZ8851-SNLI und Microchip 32Bit
MCU, da kann ich wieder erstmal Treiber für schreiben
Was mich ein wenig wundert, der PIC18F97J60 hat im Datenblatt was von
21mA bei 40MHz. und der Ethernet Teil? incl Magnetics?
Ich finde auch keine Beispiele für den PIC, die ganzen Beispiele
beziehen sich immer auf einen PIC32 mit externem PHY.
Simon schrieb:> Was spricht gegen einen PIC18F97J60 mal abgesehen davon das es eine 8Bit> MCU ist, hat er doch den MAC und PHY gleich mit drinne oder?
Ja. Siehe Bilder. Wenn Du nur einzelne Bits schalten willst, brauchst Du
nicht mehr.
fchk
Simon schrieb:> Was mich ein wenig wundert, der PIC18F97J60 hat im Datenblatt was von> 21mA bei 40MHz. und der Ethernet Teil? incl Magnetics?
Steht ein paar Seiten weiter ("Module Differential Currents")
> Ich finde auch keine Beispiele für den PIC, die ganzen Beispiele> beziehen sich immer auf einen PIC32 mit externem PHY.
Die Microchip Application Libraries enthalten alles, was Du brauchst.
Der Stack ist für 8, 16 und 32 Bit PICs identisch, sprich es ist
derselbe Quellcode.
fchk
ooh das sieht aber gut aus das Teil.
Gibt es für diese Platine die du da hast eventuell einen Schaltplan
oder/und vielleicht auch den code dazu?
Hast du da noch eine Platine übrig?
Das würde mir den Einstieg schon erheblich vereinfachen.
Simon schrieb:> Ja nur inzwischen sage ich mir, Microchip bietet echt feine sachen an,
Ja, wer´s glaubt. Wir mussten aufgrund hoher Stromaufnahme,
EMV-Problemen und immer neuer/anderer Bugs per Revision des ENC28J60 ein
Design kippen. Haben es gegen XMEGA und KSZ8851 ausgetauscht und waren
entschieden glücklicher damit.
Knut Ballhause schrieb:> Wir mussten aufgrund hoher Stromaufnahme
Wenn ich das richtig sehe hat auch der PIC18F97J60 die selbe
Stromaufnahme wie ein ENC28J60.
Knut, hast du da Beispielcode/Schaltplan für den aufbau mit ATXMega?
Ich habe hier ein ATxMega32A4 liegen,
ich würde es gerne damit Probieren aber da brauchts den TCP Stack etc
dafür..
ich befürchte einfach das ich da ewigkeiten drann rum spielen muss bis
ich da was brauchbares hab mit dem XMega
Simon schrieb:> hast du da Beispielcode/Schaltplan für den aufbau mit ATXMega?
Schaltplan ist einfach, der KSZ2251 hört auf SPI, dazu kommen noch eine
Interruptleitung, Reset und Power-Management. Den Stack hat mein Kollege
geschrieben. Aber es existieren im Netz noch einige Codesegmente, siehe
hier:
Beitrag "Ethernet-Controller KSZ8851SNL, Erfahrungen?"
Das Schöne an dem KSZ8851 ist, dass einige nervige Arbeiten
(CRC-Berechnung und Überprüfung zum Beispiel) bereits im Chip und bis
zum IPv6-Header integriert sind. AUTO MDIX kann er auch.
Ein Frage hätte ich noch:
"PIC18F97J60+interner MAC/PHY(*): 113"
Wie sieht es da mit der Auslastung von der MCU aus?
ist der da 100% beschäftigt mit ethernet? und alles andere bleibt
hängen?
Simon schrieb:> Ein Frage hätte ich noch:>> "PIC18F97J60+interner MAC/PHY(*): 113">>> Wie sieht es da mit der Auslastung von der MCU aus?>> ist der da 100% beschäftigt mit ethernet? und alles andere bleibt> hängen?
Als Testprogramm lief nur ein UDP-Sender (ist in den Demos enthalten),
sonst nichts, und der hat natürlich alle Rechenzeit bekommen. Normal
bist Du dafür verantwortlich, dass alles weiterläuft. Du musst den Stack
periodisch aufrufen, damit er Pakete empfangen und verarbeiten kann. Das
siehst Du aber in der Doku.
fchk
Auf dieser Seite hier gibt es leider kein PIC Einsteiger Howto,
kennt jemand noch paar Resourcen,
für die primitiven Funktionen,
wie z.B. Einfache Port I/O, UART, SPI?
Ich finde ja schon Praktisch das Microchip ETh MAC + PHY in einem Chip
hat.
Aber hier gibt es sogar die weiterentwicklung da ist der USB Stecker
gleich mit im IC Gehäuse eingegossen: :-)
http://www.microchip.com/_images/usb/8-16-32-bit-USB-Combo-lrge.jpg
Simon schrieb:> Auf dieser Seite hier gibt es leider kein PIC Einsteiger Howto,> kennt jemand noch paar Resourcen,> für die primitiven Funktionen,> wie z.B. Einfache Port I/O, UART, SPI?
Beim C18 Compiler ist eine Peripheriebibliothek dabei. Musst nur mal in
die Doku schauen.
fchk
Frank K. schrieb:> Beim C18 Compiler ist eine Peripheriebibliothek dabei. Musst nur mal in> die Doku schauen.
Ist die auch für Linux user irgendwie zugaenglich?
Wird wohl. Ich entwickle nur unter Windows, weil ich noch das alte
MPLAB8 und die alten Compiler verwende und aus Supportgründen auch
verwenden muss, und die sind eben Windows-only.
Linux wäre auf diesem Entwicklungsrechner für mich nur zusätzlicher
Aufwand, aber kein Mehrwert, zumal ich noch andere Windows-only Software
benutze. Spezifische Fragen zu Microchip und Linux kann ich Dir also
nicht beantworten, das wirst Du selber herausfinden müssen. Lade Dir das
Zeugs einfach runter und installiere es und schau gefälligst selber,
anstelle andere die Arbeit machen zu lassen.
fchk
Ich hätte zu diesem Topic nochmal eine Frage.
Frank beschreibt ein Demo board mit einem
Ich habe mir mal die PIC18 demo herunter geladen und compiled,
der PIC18F67J60 ist damit zu 99% voll, ist das normal?
Da würde ich lieber auf einen PIC32 wechseln, kann ich den noch mit dem
PICKit3 Programmieren?