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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.