Hallo zusammen,
wir haben im Moment ein Projekt laufen, in welchem wir z.Zt. einen
ATXMega128A1 einsetzen. Indem wir diverse Dinge auf einen Koprozessor
ausgelagert haben, die nicht essentiell sind, haben wir bereits eine
Flash-Auslastung von theoretischen 150% erreicht. Die Auslastung im
Haupt-µC ist auch bereits bei 90%.
Für die Zukunft hatten wir uns auf einen Umstieg zu einem der größeren
XMEGA A1-Typen eingestellt, der ja auch pinkompatibel sein sollte.
Heute habe ich erfahren müssen, dass die komplette A1-Reihe oberhalb des
128a1 von Atmel abgesagt wurde. Wir stehen daher vor einem kompletten
Redesign des gesamten Systems (wobei die Hardware-Abstraktion eigentlich
so gelöst ist, dass ein Umstieg dort nicht zu aufwändig werden sollte).
Die Frage ist jetzt allerdings, welchen µC-Typen wir als Ersatz
einsetzen sollen. Es geht uns natürlich darum, hier keinen weiteren
Reinfall zu erleben - der Chip sollte am besten schon längerfristig
verfügbar sein.
Zur Zeit setzen wir außerdem ein intelligentes Display mit Touch von
Electronic Assembly ein, welches wir dann jedoch gerne durch eine eigene
Lösung (nacktes Display mit Controller und eben Touch) ersetzen möchten.
Folgende Anforderungen gäbe es also für den µC:
- Mindestens 5 UARTs
- Möglichkeit, externen RAM zu verwenden (>= 8 MB)
- Interface für SD-Karte (gerne auch "nur" SPI-Modus, den nutzen wir
aktuell)
- Krypto-Modul für AES (nicht zwingend, geht auch in Software)
- min. 40 GPIOs
- 6 ADCs
- min. 60 MHz maximale Taktrate
- Interner Flash, min 4 kb (gerne auch größer)
- ISP-Fähigkeiten für Bootloader
- Display-Controller / entspr. Schnittstelle
- Kostenlose Tool-Chain (GCC gibts auch für ARM, oder..?)
Ich habe leider erst einmal mit einem ARM gearbeitet, insofern wäre es
gut, wenn es ein aussagekräftiges Datenblatt gäbe (da gibts ja auch
einige Negativbeispiele..).
Vielleicht fällt ja jemandem ein entsprechender µC oder Hersteller ein,
das Angebot ist da ja leider so reichhaltig das man garnicht weiß, wo
man anfangen soll. Vielleicht gibts ja irgendwo auch
Herstellerübergreifende Vergleichstabellen die mir jemand nennen kann..?
Vielen Dank für die Hilfe,
Tobi
Tobi schrieb:> Heute habe ich erfahren müssen, dass die komplette A1-Reihe oberhalb des> 128a1 von Atmel abgesagt wurde
Ja, weil sie durch einen Bug-bereinigten B-Typ ersetzt werden. Nur die
Ruhe...
> Ja, weil sie durch einen Bug-bereinigten B-Typ ersetzt werden. Nur die> Ruhe...
Uff... wo erfährt man sowas auf der neuen Atmel-Seite? Und gibt es
diesmal irgendwelche realistischen Einschätzungen, wann der kommen soll?
;)
Und wenn daraus dann doch nichts wird (oder weil ich mit den ARMs
sowieso mal etwas mehr beschäftigen wollte): Es oben 4 KB EEPROM heißen,
nicht Flash.. Flash sollte schon etwas mehr drin sein, ab 256 KB
aufwärts..
Vielen Dank erstmal für eure Hilfe - und vielleicht gibt das mit den
XMegas ja doch noch was (die Hoffnung stirbt zuletzt)..
Gruß,
Tobi
Knut Ballhause schrieb:> Ja, weil sie durch einen Bug-bereinigten B-Typ ersetzt werden. Nur die> Ruhe...
XMega B ist eine eigene Reihe, die hat nämlich USB und LCD Controller
aber keinen externen Speicherbus.
Es gibt verschiedene neue Typen, die die früher oder später den A1
ersetzen sollen. Bis dahin gibt es die A1 noch. Verschiedene
Distributoren führen entsprechende Lagerbestände (Farnell z.Zt.
>800Stück).
Tobi schrieb:> Zur Zeit setzen wir außerdem ein intelligentes Display mit Touch von> Electronic Assembly ein, welches wir dann jedoch gerne durch eine eigene> Lösung (nacktes Display mit Controller und eben Touch) ersetzen möchten.
Wie groß soll das Display sein (Auflösung, Farbtiefe)
> Folgende Anforderungen gäbe es also für den µC:>> - Mindestens 5 UARTs
Das ist ungewöhnlich. Wofür braucht Ihr so viele UARTs?
> - Möglichkeit, externen RAM zu verwenden (>= 8 MB)> - Interface für SD-Karte (gerne auch "nur" SPI-Modus, den nutzen wir> aktuell)> - Krypto-Modul für AES (nicht zwingend, geht auch in Software)> - min. 40 GPIOs> - 6 ADCs
Du meinst sicher: einen ADC mit Multiplexer und min 6 Eingängen.
> - min. 60 MHz maximale Taktrate> - Interner Flash, min 4 kb (gerne auch größer)
Das gibts bei größeren Prozessoren nicht mehr, weil die
EEPROM-Halbleiterprozesse nicht mit den Prozessen für schnelle digitale
Logik kompatibel sind. Es wird also ein externer 8-pinner am I2C oder
SPI werden.
> - ISP-Fähigkeiten für Bootloader> - Display-Controller / entspr. Schnittstelle> - Kostenlose Tool-Chain (GCC gibts auch für ARM, oder..?)
Ist das ein Hobby-Projekt?
Darf es auch BGA sein, oder wollt Ihr selber löten?
fchk
Hallo,
> - Mindestens 5 UARTs> - Möglichkeit, externen RAM zu verwenden (>= 8 MB)> - Interface für SD-Karte (gerne auch "nur" SPI-Modus, den nutzen wir> aktuell)> - Krypto-Modul für AES (nicht zwingend, geht auch in Software)> - min. 40 GPIOs> - 6 ADCs> - min. 60 MHz maximale Taktrate> - Interner Flash, min 4 kb (gerne auch größer)> - ISP-Fähigkeiten für Bootloader> - Display-Controller / entspr. Schnittstelle> - Kostenlose Tool-Chain (GCC gibts auch für ARM, oder..?)
ich kann hier einen STM32 Controller der F103xC, D oder E (high density)
empfehlen, der folgendes zu bieten hat:
- 5 UARTs
- SRAM/Flash Speicherinterface mit 4 256 MB Bänken
- SD-Karten Interface
- bis 112 I/O Ports
- 3 ADCs mit bis zu 21 Kanälen
- 72 MHz Takt
- 256kB bis 512kB Flash
- kein EEPROM
- integrierter Bootloader + self-programmable Flash
- Display über SPI oder externes Memory Interface
- Atollic True Studio Lite + ST-Link oder GCC + Eclipse + OpenOCD
Habe in einem aktuellen Projekt einen F103RC eingesetzt, der etwa 2/3
eines XMEGA128A1 kostet. Mittlerweise sind noch einige Serien mit
Cortex-M Core dazugekommen.
> Ich habe leider erst einmal mit einem ARM gearbeitet, insofern wäre es> gut, wenn es ein aussagekräftiges Datenblatt gäbe (da gibts ja auch> einige Negativbeispiele..).http://www.st.com/internet/mcu/product/164486.jsp
Viele Grüße,
Andreas
Der STM32F21x hat auch ein Krypto-Modul drin, Du musst mal lesen was man
damit alles machen kann.
Der STM32F2xx kann auch bis zu 120 MHz und 6 UART's
Ansonsten den STM32F41x verwenden, den gibt es bis zu 168MHz und FPU
(Cortex-M4) und bei Mouser auch als Einzelstücke recht günstig.
Siehe hier der Artikel: STM32
Derzeit bietet ST mit der STM32F Variante um die 250 verschiedene Typen,
die bei gleichem Gehäuse nahezu Pinkompatiebel sind.
Ab den 144-Pinner ist auch der externe Datenbus verfügbar für den
externen RAM.
GCC gibt es natürlich auch für die Cortex-M3 Prozessoren. Nur das JTAG
Interface muss gekauft werden.
Michael Lehr schrieb:> ist doch immer derselbe Scheiß mit Atmel, wer die kommerziel einsetzt> ist selber schuld. Ich kann auch nur zu STM32 raten
Da muss ich zustimmen. Ich bereue es sehr ein neues Design mit dem Xmega
gestartet zu haben. Im nachhinein wäre bei gleichem Aufwand der
günstigere STM32 besser gewesen... seufz
Hi,
erst einmal vielen Dank für die vielen Vorschläge (und den groben
Überblick ;)). Wir werden jetzt mal ein paar Vergleiche anstellen und
auch noch ein paar andere Typen in Betracht ziehen, die wir selber noch
gefunden haben.
Alles in allem war es wohl wirklich ein Fehler auf die XMegas zu setzen,
wobei sie für einige kleinere Projekte (MP3-Player z.B.) ganz ordentlich
ihren Dienst tun.
Man hätte sich allerdings den Aufwand sparen sollen/können mit zwei
verschiedenen Architekturen zu hantieren..
Ich war mal ein absoluter Atmel-Fan (und für kleinere Projekte haben die
ATMegas denke ich auch durchaus ihre Daseinsberechtigung) aber alles was
mehr Power braucht und über den Spielkram hinaus geht braucht dann doch
was anderes. Goodbye, XMega (garnicht mal wegen des Chips selber - diese
Firmenpolitik ist einfach nur unglaublich!)
Gruß,
Tobi
Michael Lehr schrieb:> ist doch immer derselbe Scheiß mit Atmel, wer die kommerziel einsetzt> ist selber schuld.
Müssen ja auch ziemliche Deppen sein, die Controller von ATMEL in Autos
verbauen.
^ Nein, müssen sie nicht. Technisch funktionieren die µCs und die
Autobauer nehmen genügend Bauteile ab um Lieferverträge mit Atmel
abschließen zu können. Kleine Hersteller können das nicht und sind
später die gelackmeierten.
Ich entwickele schon länger Hardware und habe nicht den Eindruck, daß
Atmel viel schlechter, als andere Hersteller ist.
Z.B. mit AD, Maxim, TI habe ich auch öfters Lieferschwierigkeiten.
Wenn man kein Großabnehmer ist und Projektsicherheit will, dann sollte
man besser nicht die allerneuesten ICs verwenden.
Ich beobachte erstmal, ob ein IC 2 Jahre bei verschiedenen Distributoren
gut lieferbar ist und erst dann setze ich ihn ein. Damit bin ich bisher
vor den gröbsten Überraschungen sicher geblieben.
Auch muß ich dann nicht mehr die Bugs selber rausfinden.
Ich habe z.b. kürzlich einen CAN-AVR gesucht und wollte erst etwas
moderneres nehmen, habe mich dann aber aufgrund der Beschaffbarkeit für
den Oldie AT90CAN128 entschieden.
Man muß nicht immer die allerneuesten Gimmicks haben.
Peter
Als kleiner Abnehmer hast du bei Atmel die Arschkarte gezogen. Wir sind
so 2008, 2009 haarscharf an einer Xmega-Designkatastrophe vorbei
gerutscht, weil ich mich dagegen gewehrt habe nur auf Basis von ein paar
128A1 Samples ein Design zu machen, solange die nicht in Stückzahlen
erhältlich waren. Dafür küsst mir mein Chef heute noch die Füße :-)
Das sich Atmel heute mit den Entwicklungstools einen Bock nach dem
anderen leistet geht uns schon fast nichts mehr an, da wir grundsätzlich
keine neuen Entwicklungen mit AVRs machen, egal ob Xmega oder nicht.
Atmel ist das neue Maxim.
Die angekündigten B-Typen gibt es, wenn man sie überhaupt bekommt, nur
bis 128k Flash. Ob die wirklich design-bereinigt sind muss sich erst
herausstellen. Nur weil Atmel keine Errata angibt heißt das nicht, dass
es keine gibt. Es kann einfach bedeuten, dass Atmel, wie bei den Ax
Typen, einfach den Kunden die Fehler finden lässt.
Karl schrieb:> weil ich mich dagegen gewehrt habe nur auf Basis von ein paar> 128A1 Samples ein Design zu machen, solange die nicht in Stückzahlen> erhältlich waren.
Meine Rede.
So gehört sich das ja auch für einen verantwortungsvollen Entwickler.
Peter
ich halte die Xmegas für eine totgeburt .. aber das ist nur meine
meinung..
auch preislich gibts mit ARMs eine gute alternative
für deine 5UARTs hab ich fix geschaut...
zB LPC1777ARM Cortex-M3 microcontroller with 512KB flash,
96KB SRAM,
4KB EEPROM,
external memory controller,
USB 2.0 Host/Device/OTG,
2 CAN,
12-bit ADC,
10-bit DAC,
SD/MMC,
I2S
bis 100Mhz
die software ist bis 128kb flash frei ..
alternativ GDB + eclipse dann geht es unbegrenzt
cocox IDE geht glaube auch >128k und kann für ne ganze reihe von ARMs
eingesetzt werden
sehe grad das die auch noch unter develop stehen :/ ...
aber mit 5UARTs ... da wird die auswahl eng :(
STM32F weiß ich leider keine ..
die waren mir anfangs sehr suspekt ..
die errata liste war länger als das datenblatt :/
vlt andere anbieter von Cortex M3 CPUs mal abklappern
atmel SAM3U4E hat auch 5uart ...
soweit ich gesehen hab sind eher 3-4 der standard
darüber wirds dünn :/
> STM32F weiß ich leider keine ..> die waren mir anfangs sehr suspekt ..> die errata liste war länger als das datenblatt :/
Das ist aber schon ne ganze Weile her...
Von dem den ich gerade verwende sind nur etwa 10 Seiten realer Inhalt.
(die anderen sind bla bla und 3 Seiten betreffen den ARM Kern aber alles
nix wichtiges)
Zorg schrieb:> Das ist aber schon ne ganze Weile her...
das stimmt
derzeit sind wir in der firma noch auf der suche nach ner groben linie
NXP hat einige vorteile ... STM32F aber auch
vlt sollte man sich die 32F2xx mal ansehen
wir wollen nicht 50 verschiedene einsetzen ..
ehr was kleines für schrapelkram ( LPC11xx) und was größere für die
anspruchsvolleren Projekte
STM bietet leider keine M0 an ...
die kleinsten STM M3 sind immernoch preislich weit vom LPC11xx(M0)
entfernt
... bei >10k stückzahlen gerechnet...
im hobbybereich würd ich einfach das nehmen was da ist .. fertig aus
da baut man eh für sich ... aber industriell .. :/
da fällt einem die wahl schon schwerer
> Ist der relativ neu auf dem Markt? ;-)
STM32F2xx. Neu ist der nicht wirklich - gibt sogar schon den F4.
> STM bietet leider keine M0 an ...> die kleinsten STM M3 sind immernoch preislich> weit vom LPC11xx(M0) entfernt> ... bei >10k stückzahlen gerechnet...
Für 1.1$ @10k bei Digikey gibts immerhin nen M3 mit 24MHz Takt...
http://search.digikey.com/us/en/products/STM32F100C4T6B/497-10501-ND/2259219
Ich schätze mal das lohnt sich für ST einfach nicht weil der
Preisunterschied nicht soooo wahnsinnig groß ist.
Ich brauch sowas aber nicht - bei unseren Anwendungen kommts auf 1$ mehr
oder weniger nicht an :-)
Zorg schrieb:> Ich brauch sowas aber nicht - bei unseren Anwendungen kommts auf 1$ mehr> oder weniger nicht an :-)
sei froh ^^
bei uns ist sogar die frage ob serienwiderstände sinn machen
für EMV sind die schon gut .. aber die kosten....
wegen 0,1ct
da sind die M0 doch ne alternative zu den kleinen ATmegas
sogar preislich