Forum: Mikrocontroller und Digitale Elektronik Ist Spansion FM3 und FM4 empfehlenswert?


von Martin (Gast)


Lesenswert?

Hallo,

ich suche fachliche Hilfe. Diesbezüglich will ich nicht wirklich meinen 
Distributor anfragen. Für meine Anwendung brauche ich viele ADC Kanäle, 
die dürfen nicht wahnsinnig schnell und genau sein. So viele Kanäle 
können nur Mikrocontroller von Freescale und Spansion anbieten. Ich 
neige zu Spansion, oder ist da was nicht so tolles? Bisher war Freescale 
drin, aber mit Spansion 5-Volt-fähigem Cortex-M3 kann ich zusätzlich ein 
Paar level shifter einsparen.

Also, ist Spansion empfehlenswert?

Grüße
Martin

von Oliver (Gast)


Lesenswert?

Hallo Martin,

ich habe in den letzten Monaten zwei Projekte mit Spansion-Controllern 
realisiert und mein Fazit ist: Hardware top, Software flop!

Angefangen habe ich mit dem FM4 Evaluierungsboard SK-FM4-U120-9B560. Der 
integrierte Debugger funktioniert gut und das Board ist vielseitig 
einsetzbar. Nach ersten positiven Erfahrungen habe ich ein eigenes Board 
mit einem MB9BF566LPMC1-G-JNE2 entworfen. Der geringe 
Beschaltungsaufwand, die 5V-Kompatibilität, der integrierte 
UART/USB-Bootloader und die zahlreichen Schnittstellen und ADC-Kanäle 
haben das Design sehr einfach gemacht. Die Probleme begannen dann mit 
der Software. Hier ein paar Auszüge:

1. Ich habe die CoIDE verwendet und dabei auf die mitgelieferte Version 
der Spansion "Peripheral Driver Library" (PDL) zurückgegriffen. Die von 
Coocox bereitgestellte Version kennt allerdings das L-Package des 
spezifischen Controllers nicht. Entsprechende Defines fehlen, sodass das 
Projekt von Anfang an unkompilierbar ist. Allerdings lässt sich das 
Problem durch Aktualisierung der entsprechenden Dateien recht leicht 
beheben.

2. Die Treiber werden durch relativ komplexe und unzureichend 
dokumentierte Structs konfiguriert. Dabei gibt es einige 
Unstimmigkeiten. So gibt es beim CSIO/SPI-Treiber ein Flag zum 
Konfigurieren der Polarität des Chipselect. Dieser Flag hat jedoch - 
auch in der aktuellen Version von PDL - keinen Effekt. Die Polarität ist 
immer positiv, also High beim Aktivieren des Slaves, was bei SPI alles 
andere als der Regelfall ist... Alternativ kann der CS natürlich auch 
durch die Software kontrolliert werden.

3. Häufig gibt es auch Rechtschreibfehler in den Structs wie etwa 
"u8ComapreChannel" beim ADC, was den schlechten Qualitätseindruck der 
Bibliothek noch verstärkt. Der ADC ist ein gutes Beispiel für die 
schlechte Dokumentation. So muss man z.B. Felder wie enSamplingTimeN0, 
enSamplingTime0, enSamplingTimeN1, enSamplingTime1, u8SamplingMultiplier 
oder u8EnableTime mit möglichst sinnvollen Werten befüllen. Wer mag kann 
sich gerne mal in der Dokumentation 
(http://www.spansion.com/downloads/FM4-AN709-00003-E.pdf) die Seite 28 
ansehen und versuchen daraus schlau zu werden...

4. Ein wenig geschockt war ich, als ich versucht habe die Funktionen zum 
Zugriff auf den Work Flash in der Konfigurationsdatei freizuschalten. 
Das Ergebnis waren wiedermal schwere Fehler beim Kompilieren. Der Grund: 
die Datei work_flash.c ist voller Copy-Paste-Fehler! Die Quelle ist die 
sehr verwandte Datei main_flash.c. Wenn man neben Work Flash auch die 
Main Flash Funktionen aktiviert, so kompiliert der Code. Wenn man nur 
Work Flash Funktionen aktivieren will, so muss man zunächst einige 
#ifdefs korrigieren. Auch hier ist die Doku übrigens wieder äußerst 
dürftig und das Fehlen einer Lesefunkton irritiert zunächst. Allerdings 
kann man direkt mit "zurechtgebogenen" Pointern vom Flash lesen, sodass 
das kein echtes Manko ist.
Beim googeln solcher Probleme findet man übrigens nichts. Teilweise 
hatte ich das Gefühl der erste Mensch zu sein, der versucht einen 
Spansion FM4 zu programmieren...

Es gibt zum PDL einige kleine Beispielprogramme, die allerdings kaum 
kommentiert sind.

Schlussendlich habe ich alle für mich wichtigen Funktionen irgendwie ans 
Laufen bekommen. Allerdings war das häufig nur durch Trail-and-Error und 
dem Studium des PDL-Codes sowie der Dokumentation der Register möglich.

Am FM3 habe ich mich auch kurz versucht, aber der PDL-Vorgänger l3 ist 
von noch schlechterer Qualität. Außerdem scheinen die FM3-Produkte gar 
nicht mehr gepflegt zu werden. Es gibt auch keinen Support der Spansion 
FM3 Prozessoren in CoIDE.

Ob die Situation jetzt nach der Übernahme durch Cypress besser wird muss 
sich noch zeigen. Die PSoCs von Cypress sind ja hervorragend 
dokumentiert. Ich hoffe darauf, denn die Hardware ist klasse!

Gruß,

Oliver

von Carsten (Gast)


Lesenswert?

Martin,
wieviel ADC-Kanäle benötigst du denn? Bei FM3/4 geht es bis 32 Kanäle, 
oder?
Bei manchen STM32 bekomme ich bis zu 40. Verlasse ich die Cortex-M Welt 
komme ich auf noch viel mehr. Kann daher die Aussage dass soviele Kanäle 
nur Spansion (Cypress) und Freescale können nicht nachvollziehen.

Das mit den 5V ist allerdings ein andere Punkt der für Spansion spricht 
(wenn es ein Cortex-M Core sein muss).

Grüße
Carsten

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.