Forum: Mikrocontroller und Digitale Elektronik ARM Eval Board gesucht


von Falk B. (falk)


Lesenswert?

Hallo liebe Gemeinde,

ich suche ein ARM Board der Mittelklasse. Sprich.

ca. 50 MHz
I2S Port mit DMA
SPI
4-32MB S(D)RAM
>=32kB Flash
SD-Card

Es muss nicht zwingend ARM sein, ein anderer Prozessor mit ähnlicher 
Leistungsfähigkeit ist auch OK.

Die Anzahl der Boards in diversen Shops erschlägt einen förmlich.
Ich will das Ganze Stand Alone betreiben, OHNE Linux. Also sollte es 
nicht der hochgezüchtetste ARM irgendwas sein, der allein fürs 
LED-Blinken 1000 Zeilen Code braucht.
Dazu brauche ich auch eine GESCHEITE Entwicklungsumgebung. Out of the 
box bitte. Ich werde meine Tools definitiv NICHT selber bauen und 
compilieren.

http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=52

Der scheint mir ganz brauchbar, aber kein externer SRAM! Kann man auch 
nicht erweitern.

Kennt jemand ein Board mit der SE Reihe?

http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=1694

Sehr preiswwert, viel RAM. Wenig, aber ausreichend IOs. Keine Ahnung ob 
dort I2S verfügbar ist. Kann man so einen Prozessor ohne endlose 
Schmerzen Stand Alone betreiben? Die Anzahl der Register macht mir ein 
wenig Angst 8-0

MfG
Falk

von Dennis (Gast)


Lesenswert?

moment....lese ich richtig....???

Falk Brunner stellt eine Frage??

.....

Sorry Falk, musste sein :-)))))


Schon die Boards von Keil angeschaut?

von Mehmet K. (mkmk)


Lesenswert?

STM32F407ZGT6 - 168 MHz - Flash: 1MB - SRAM: 128 KB

on board extension:
1MB - 8MB PSRAM or SRAM(default 1MB SRAM),
128MB NAND FLASH, NOR FLASH(reserve)

keine SD-Card onboard
Preis: 45 USD

http://www.ebay.com/itm/STM32F407-417ZG-module-HY-STM32F4xxCore144-Core-Dev-Board-/180923405960?pt=LH_DefaultDomain_0&hash=item2a1fe01688

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich hätte auch einen STM32F4xx empfohlen.

(Ich glaube dass der Account von Falk gehackt wurde)

von Falk B. (falk)


Lesenswert?

@ Dennis (Gast)

>Schon die Boards von Keil angeschaut?

Gerade getan. Hmmm, Naja, für den professionellen Einsatz mag das ja 
eine gute Wahl sein, für ein kleines Hobbyprojekt aber vermutlich zu 
teuer.
Die Boards sind auch nicht das, was ich suche. Trotzdem Danke für den 
Tip.

@myself

Hmm, das DIP von GNUBLIN hat zwar I2S am Prozessor, die Pins sind aber 
nicht angeschlossen. Und tschüss.

von Dennis (Gast)


Lesenswert?

Markus Müller schrieb:
> (Ich glaube dass der Account von Falk gehackt wurde)

Denke ich auch....

Falls nicht: Falk, was um alles in der Welt ist mit dir los???

:-)

von Falk B. (falk)


Lesenswert?

@Dennis (Gast)

>Falls nicht: Falk, was um alles in der Welt ist mit dir los???

Ich will erwachsen werden und von der 8-Bit AVR in die 32-Bit ARM Liga 
aufsteigen :-) (Smily recycelt, CO2 und so).

Naja, vielleicht ist so ein ARM für mein Projhekt auch nicht der 
optimale Ansatz. Kennt sich jemand mit I2S in den Dingern aus?
Ich will 8 Kanäle über I2S UNABHÄNGIG ausgeben, und das mit 1ms 
Zeitauflösung für ON/OFF. Soweit ich die Doku oberflächlich gesichtet 
habe, ist das gar nicht so einfach machbar, weil die meiste Hardware und 
DMA nur für normales Stereo gedacht ist. Sehe ich das richtig?

von Fritz (Gast)


Lesenswert?

Ich würde dir zum Einstieg das STM32F4Discovery empfehlen. Ist das 
günstigste derzeit am Markt und hat auch ein eingebautes SW-Debug 
Interface. Dazu noch die freie CoIDE http://www.coocox.org/Index.html

Falk Brunner schrieb:
> Ich will 8 Kanäle über I2S UNABHÄNGIG ausgeben, und das mit 1ms
> Zeitauflösung für ON/OFF.

Ich verstehe nicht ganz was du meinst, bin auch kein I2S Spezialist, 
aber ein STM32F4.. mit 168MHz ist schon eine Kanone, mit der man sehr 
viel in 1ms anfangen kann.

Zur Programmierung: Du kannst praktisch nur mit C arbeiten, die diversen 
Libraries von ST verwenden und die reichlich vorhandenen 
Beispielprogramme ausprobieren. Wenn du aber tiefer in die Materie 
eingehst wird dir nichts anderes übrig bleiben, als die diversen 
Datenblätter und Manuals zu studieren. Leider findet man einiges nicht 
beim Chiphersteller, sondern nur bei ARM. In Assembler kann man auch 
programmieren, wenn sich auf die etwas eigenartige Architektur 
eingestellt hat. Ich kam vom Z80 über die 68K Familien, MSP430 zum ARM 
und hatte entsprechende 32bitter Erfahrung.

von arm_fan (Gast)


Lesenswert?

Halo Falk,
Also ich habe diese beiden Boards

190509403384

170893762278
Vielleicht ist das ja was

von Franzi (Gast)


Lesenswert?

Hallo Falk,

ich habe auch gerade ein STM32F407discovery im Einsatz. Man kommt ganz 
gut ins Programmieren rein, denn es gibt viele Beispiel-Programme im 
Netz. Außerdem stellt STM eine top Firmware bereit.

Das Discovery kannst du ohne zusätzliche HW programmieren, weil ein 
ST-LINK/V2 schon on-board dabei ist. D.h. du kannst direkt über USB 
programmieren.

Ich nutze fürs Programmieren und Debuggen die Keil Testversion und bin 
damit zufrieden. Es gibt eine YouTube-Anleitung, für die Installation 
und für die Grundeinstellungen.
Die Grundeinstellungen zu treffen und alle nötigen .h und .c einzubinden 
ist anfangs etwas unübersichtlich. Da würde ich raten, ein 
Beispielprojekt des Herstellers STM zu öffnen und das anzupassen. Du 
ersparst dir Zeit und Nerven...


Allerdings schreibst du, dass ein SD-Slot on board sein sollte? Das 
Discovery kannst du einfach um einen SD-Slot erweitern, es hat aber von 
Haus aus keinen.

Bei Olimex kannst du auch mal reinschauen. Da gibt es Evalboards (auch 
von STM), die deine Anfoderungen vielleicht besser erfüllen? Leider ist 
Olimex etwas teuer (Versand nachsehen!). Außerdem müsstest du dann eine 
externe HW zum Programmieren besorgen. Wenn du das so machst, dann rate 
ich als externe HW zu einem einfachen, billigen Discovery, denn du 
kannst den on-board ST-LINK/V2 auch zum Programmieren externer 
Controller nutzen. Dazu musst du nur eine Brücke abziehen und ein paar 
Signale vom SWI an deine Target-HW verbinden.


So, eine Stimme mehr für STM.

VlG,
Franzi

von Falk B. (falk)


Lesenswert?

@Fritz (Gast)

>> Ich will 8 Kanäle über I2S UNABHÄNGIG ausgeben, und das mit 1ms
>> Zeitauflösung für ON/OFF.

>Ich verstehe nicht ganz was du meinst, bin auch kein I2S Spezialist,
>aber ein STM32F4.. mit 168MHz ist schon eine Kanone, mit der man sehr
>viel in 1ms anfangen kann.

Klar, aber so wie ich es bisher beurteilen kann, scheint DMA nur 
einfache Stereodaten transportieren zu können. Wenn ich aber 8x Mono 
UNABHÄNGIG übertragen will, müsste man es direkt per CPU machen, weil 
die 8 Kanäle ja unabhängig sind und nicht im Speicher zusammengewürfelt 
sind. Und  I2C mit 8 DMA-Kanälen hab ich nicht gesehen. Dann arbeitet 
die CPU zu 90% als "dummer" Bitschubser. Naja, nicht so doll, wenn 
gleich machbar. Hat man halt einen Timer-Interrupt mit 44,1 kHz / 22us. 
Macht bei 160 MHz immerhin
~3500 Takte.

>Zur Programmierung: Du kannst praktisch nur mit C arbeiten, die diversen
>Libraries von ST verwenden und die reichlich vorhandenen
>Beispielprogramme ausprobieren.

Mehr würde ich bei einem 32 Bitter sowieso nicht machen, sooo hart bin 
ich nicht ;-)

> Wenn du aber tiefer in die Materie
>eingehst wird dir nichts anderes übrig bleiben, als die diversen
>Datenblätter und Manuals zu studieren. Leider findet man einiges nicht
>beim Chiphersteller, sondern nur bei ARM. In Assembler kann man auch
>programmieren, wenn sich auf die etwas eigenartige Architektur
>eingestellt hat.

Neee, lass mal.

> Ich kam vom Z80 über die 68K Familien, MSP430 zum ARM
> und hatte entsprechende 32bitter Erfahrung.

68k hab ich früher (tm) in ASM programmiert. Schön wars ;-)

von Falk B. (falk)


Lesenswert?

@ Mehmet Kendi (mkmk)

>STM32F407ZGT6 - 168 MHz - Flash: 1MB - SRAM: 128 KB

>on board extension:
>1MB - 8MB PSRAM or SRAM(default 1MB SRAM),
>128MB NAND FLASH, NOR FLASH(reserve)

>keine SD-Card onboard
>Preis: 45 USD

>Ebay-Artikel Nr. 180923405960

Sieht gut aus, preislich kaum zu schlagen, kein Schnick Schnack. Danke.

von Fritz (Gast)


Lesenswert?

Falk Brunner schrieb:
> Und  I2C mit 8 DMA-Kanälen hab ich nicht gesehen. Dann arbeitet
> die CPU zu 90% als "dummer" Bitschubser. Naja, nicht so doll, wenn
> gleich machbar. Hat man halt einen Timer-Interrupt mit 44,1 kHz / 22us.

I2C mit Audiodaten? Liegst du da richtig I2C hat 10kHz oder 400kHz 
Baudrate da sind allgemein eher nur Kontrollfunktionen möglich.
Du meinst wahrscheinlich I2S.

Falk Brunner schrieb:
> weil
> die 8 Kanäle ja unabhängig sind und nicht im Speicher zusammengewürfelt
> sind.

Und warum nicht die Daten vorher richtig zusammenwürfeln und dann DMA?

von Falk B. (falk)


Lesenswert?

@ Fritz (Gast)

>> Und  I2C mit 8 DMA-Kanälen hab ich nicht gesehen. Dann arbeitet
>> die CPU zu 90% als "dummer" Bitschubser. Naja, nicht so doll, wenn
>> gleich machbar. Hat man halt einen Timer-Interrupt mit 44,1 kHz / 22us.

>I2C mit Audiodaten? Liegst du da richtig I2C hat 10kHz oder 400kHz
>Baudrate da sind allgemein eher nur Kontrollfunktionen möglich.
>Du meinst wahrscheinlich I2S.

Ja, Buchstabendreher ;-)

Falk Brunner schrieb:
> weil
> die 8 Kanäle ja unabhängig sind und nicht im Speicher zusammengewürfelt
> sind.

>Und warum nicht die Daten vorher richtig zusammenwürfeln und dann DMA?

Weil das alles voll dymnamisch ist, nicht statisch.

Ich werd mir mal das kleine Board besorgen, bei dem Preis kann man 
nichts falsch machen.

von Torsten S. (tse)


Lesenswert?

Falk Brunner schrieb:
> Ich werd mir mal das kleine Board besorgen, bei dem Preis kann man
> nichts falsch machen.

Wenn Du dieses meinst

>Ebay-Artikel Nr. 180923405960

Davon habe ich 3 im Einsatz.

Vorsicht: Das NAND geht nicht weil falsch verdrahtet, RTC-Quartz ist 
manchmal verkehrt aufgelötet, PDR_ON hängt in der Luft so das der RTC 
mit Batterie nicht weiter tickt.

Ansonsten schönes Teil.

von Falk B. (falk)


Lesenswert?

@Torsten S. (tse)

>>Ebay-Artikel Nr. 180923405960

Ja.

>Vorsicht: Das NAND geht nicht weil falsch verdrahtet,

WAAAAASS????

Ohne den Flash ist das Ganze fast sinnlos!!?
Wieso das denn? Alles nur China-Müll?
Oder einzelne Lötfehler? Workaround?

> RTC-Quartz ist
>manchmal verkehrt aufgelötet,

Kann man fixen, spielt abr keine Rolle.

von Lothar (Gast)


Lesenswert?

Falk Brunner schrieb:
> Ohne den Flash ist das Ganze fast sinnlos!!?

Besser:

Ebay-Artikel Nr. 251173171451

von Mehmet K. (mkmk)


Lesenswert?

Frank, wenn Du zeitlich nicht unter Druck stehst, würde ich mir an 
Deiner Stelle erst mal ein STM407-Discovery (13 EUR) besorgen und mir 
eine funktionierende Entwicklungsumgeben einrichten.
http://de.farnell.com/stmicroelectronics/stm32f4discovery/evaluationsbord-stm32f4-discovery/dp/2009276
Damit kannst Du auch Versuche mit I2S machen:

On board audio capability
The STM32F4 uses an audio DAC (CS43L22) to output sounds through the 
audio mini jack connector.
The STM32F4 controls the audio DAC through the I2C interface and 
processes digital signals through I2S connection or analog input signal.
● The sound can come independently from different inputs:
– ST MEMS microphone (MP45DT02): digital using PDM protocol or analog 
when
using the low pass filter.
– USB connector: from external mass storage such as a USB key, USB HDD, 
and so on.
– Internal memory of the STM32F4.
● The sound can be output in different ways through audio DAC:
– Using I2S protocol
– Using the STM32F4 DAC to analog input AIN1x of the CS43L22
– Using the microphone output directly via a low pass filter to analog 
input AIN4x of the CS43L2

von Martin R. (martin84)


Lesenswert?

Hi Falk,

Hier ist ein Board mit einem NXP Cortex-M4 + M0.


http://www.element14.com/community/docs/DOC-51065/l/nxp-lpc4357-evb-development-kit

Als Entwicklungsumgebung kannst du die das kostenlose LPCXpresso IDE 
nehmen. Ist allerdings in der Codegröße auf 128kB beschränkt.

Gruß Martin

von Falk B. (falk)


Lesenswert?

@ Martin R. (martin84)

>Hier ist ein Board mit einem NXP Cortex-M4 + M0.

>http://www.element14.com/community/docs/DOC-51065/...

Uhhh, Dual Core ARM, das ist glaub ich ein Kaliber zu groß für den 
Moment. Trotzdem Danke.


@ Mehmet Kendi (mkmk)

>Frank, wenn Du zeitlich nicht unter Druck stehst, würde ich mir an

Warum verwechseln so viele Leute meinen Namen mit Frank?

Ich habe keinen Zeitdruck. Das Probelm an dem Board ist der fehlende 
Massenspeicher. Ausserdem ist I2S dort schon fest verdrahtet, ich werde 
aber definitiv einen anderen DAC nutzen. Gibt es keinen Patch für das 
NAND-Flash für das Board oben? Ich hab es nämlich gestern abend 
bestellt.

von Gregor B. (Gast)


Lesenswert?


von Mehmet K. (mkmk)


Lesenswert?

Falk Brunner schrieb:
> Warum verwechseln so viele Leute meinen Namen mit Frank?

Sorry!

von Mehmet K. (mkmk)


Lesenswert?

Also dass das NAND falsch verdrahtet sein soll ...? Vielleicht falsch 
herum gelötet?
Ich habe mal ganz kurz den Schaltplan und das Datasheet des K9F1G08 
überflogen. Bemerkt habe ich nichts so auf die Schnelle.

Desweiteren hat der Verkaeufer 68 St. davon verkauft; und in seiner 
Gesamtbilanz von rund 3.000 Verkaeufen gab es nur eine einzige 
Beanstandung in den letzten 12 Monaten (keine Ahnung worauf sich diese 
Beanstandung bezog).

Ich will mal hoffen, dass die Exemplare von Torsten die üblichen 
chinesischen Ausreisser sind, die es halt eben hin und wieder gibt. 
Waere sonst echt schade, weil ich dieses Board in naechster Zukunft auch 
bestellen wollte.

von Falk B. (falk)


Lesenswert?

Ich hab es bestellt, wir werden sehen ob der NAND-Flash geht.

von Torsten S. (tse)


Lesenswert?

Es geht um Pin7 vom NAND (R/B out), dieser ist unglücklicherweise mit 
FSMC_INT2 verbunden. Man findet im Netz auch andere die darüber 
berichten dass es kein einziges Beispiel von ST gibt das diesen Pin 
verwendet.

Richtig wäre FSMC_NWAIT. Der ist liegt aber am NOR. Vielleicht hilft ne 
Brücke, das habe ich nicht probiert.

Bedenke auch, dass das NAND nicht besonders schnell ist. Und ein 
Dateisystem. Man darf (bitte verbessert mich) nur 5x auf einen 
Block/Byte ausser dem ersten schreiben. JFSS o.ä. wären Deine Freunde.

von MCUA (Gast)


Lesenswert?

>Ich will 8 Kanäle über I2S UNABHÄNGIG ausgeben, und das mit 1ms
>Zeitauflösung für ON/OFF.
I2S, wie in (nur) manchen Controllern oder DSPs vorhanden, geht nur für 
1 oder 2 Kanäle, typ für Stereo-gedöhns halt . (Selbst gemacht gehts 
beliebig). Mehrere getrennte Hardware-Kanäle (falls muxen zu lange 
dauern würde) wird es -falls überhaupt- wohl nur bei eher exotischen 
Chips geben.
Vielleicht einfach n PLD zum uC nehmen.

von Falk B. (falk)


Lesenswert?

@ Torsten S. (tse)

>Es geht um Pin7 vom NAND (R/B out), dieser ist unglücklicherweise mit
>FSMC_INT2 verbunden. Man findet im Netz auch andere die darüber
>berichten dass es kein einziges Beispiel von ST gibt das diesen Pin
>verwendet.

Was aber nicht heißt, dass der NAND gar nicht nutzbar ist.

>Richtig wäre FSMC_NWAIT. Der ist liegt aber am NOR. Vielleicht hilft ne
>Brücke, das habe ich nicht probiert.

Werd ich mir anschauen.

>Bedenke auch, dass das NAND nicht besonders schnell ist.

Ich brauch nur 1 MB/s beim Lesen.

> Und ein
>Dateisystem.

Werd ich möglicherweise ohne machen. Ist eine eher einfache Anwendung 
mit klar definierter Funktion.

> Man darf (bitte verbessert mich) nur 5x auf einen
> Block/Byte ausser dem ersten schreiben. JFSS o.ä. wären Deine Freunde.

Dann wäre der Flash unbrauchbar. Normale Flash-Speicher haben 
1000-10.000 Schreibzyklen/Page. JFSS ist klar.

MfG
Falk

von Falk B. (falk)


Lesenswert?

@ MCUA (Gast)

>I2S, wie in (nur) manchen Controllern oder DSPs vorhanden, geht nur für
>1 oder 2 Kanäle, typ für Stereo-gedöhns halt . (Selbst gemacht gehts
>beliebig).

Klar.

>Vielleicht einfach n PLD zum uC nehmen.

Hab ich auch schon überlegt, würde sicher auch gehen. Aber ich will ja 
auch mal was neues ausprobieren. Also jetzt ARM7 ;-)

von Mehmet K. (mkmk)


Lesenswert?

Ich habe nochmals in das Datenblatt vom K9F1G08 geschaut.
- Endurance : 100K Program/Erase Cycles
- Data Retention : 10 Years

Torsten, kann es sein, dass entweder Du oder ich die Zeile "Number of 
Partial Program Cycles" falsch interpretieren?
Diese ist beim K9F1G08 auf 4 beschraenkt. Ich meinte aber, dies bedeute:
Ich darf max. 4x in ein Page schreiben. Um ein 5x zu schreiben, muss ich 
diese Page zuerst mal löschen.
Etwas anderes, was sich auf eine Einschraenkung des Erase Cycles bezog, 
habe ich im Datenblatt nicht gefunden. Okay, hab's auch nur überflogen 
:)

von Torsten S. (tse)


Lesenswert?

Falk Brunner schrieb:

> Was aber nicht heißt, dass der NAND gar nicht nutzbar ist.

Ich konnte nicht mal die ID abfragen.
Dann hat sich die MCU so aufgehangen das nur noch PowerOff/On half.

von Torsten S. (tse)


Lesenswert?

Mehmet Kendi schrieb:

> Etwas anderes, was sich auf eine Einschraenkung des Erase Cycles bezog,
> habe ich im Datenblatt nicht gefunden. Okay, hab's auch nur überflogen

Bin auch unsicher. Ich versuche mal die alten Links zu finden...

von Falk B. (falk)


Lesenswert?

@ Torsten S. (tse)

>> Was aber nicht heißt, dass der NAND gar nicht nutzbar ist.

>Ich konnte nicht mal die ID abfragen.
>Dann hat sich die MCU so aufgehangen das nur noch PowerOff/On half.

Laut Datenblatt vom Flash sind die Pins richtig angeschlossen. RB kann 
man ggf. per Software lesen, das wird sowieso nur zum Löschen und 
Schreiben gebraucht. Lesen sollte immer gehen. Vielleicht ist nur der 
Zugriff auf den NAND im Speichercontroller falsch konfiguriert.

von Mehmet K. (mkmk)


Lesenswert?

Im Westen nichts Neues?

MfG aus dem Osten

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Das Board liegt noch recht unbenutzt in der Ecke, hab mich dann doch für 
einen FPGA entschieden, damit kenn ich mich besser aus und er ist für 
die angepeilte Aufgabe auch deutlich geeigneter. Irgendwann werde ich 
das Board  aber mal in Betrieb nehmen.

von Torsten S. (tse)


Lesenswert?

Lass es uns wissen...

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

Ich habe 2 x TI Tiva C arm bords gekauft für 0.98$ incl shipping nach DK
Rabatkupon 25$ - Bis 30-Sep
http://forum.stellarisiti.com/topic/1568-free-ti-launchpad-hurry/

http://www.ti.com/tool/ek-tm4c123gxl

mfg
Bingo

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.