Forum: Mikrocontroller und Digitale Elektronik Beipsiel für: FTDI mit Atmel-uC


von ortech (Gast)


Lesenswert?

Hallo,

bin absoluter Neuling in der yC Welt und hab mir mal das STK 500 
zugelegt. Weiters hab ich einen Atmega8, Atmega16, und einen Tiny21.
Ich hab mal ein Testprogramm, das die LEDs auf dem STK500 zum blinken 
bringt, geschrieben. Funktioniert hat es. So das wars auch schon mit 
meiner Erfahrung.

Ich möchte mir einen Audio-Analyzer bauen, der den hörbaren 
Frequenzbereich von 20-20000Hz durchscannt und die jeweiligen 
Amplitudenwerte über ein Mikrofon aufgenommen an den Laptop (an ein 
VB.net Programm) schickt. Dort möchte ich den Frequenzgang anzeigen.

Die Datenverbindung muß über die USB-Schnittstelle erfolgen, da mein 
Laptop keine andere SS aufweist.

Angeblich ist es am einfachsten mit einem FTDI-Chip.

Meine Frage:
Kennt jemand ein Beispielprojekt, welches von vorn bis hinten alles 
genau erklät und man nachbauen kann?

Also:
1. Hardware-Layout (Stromlaufplan zumindest)
2. Firmware für Atmel
3. Beispielprojekt in VB.net geschrieben (oder ev. C#), das eine analoge 
Spannung einliest. Sind hier spezielle Treiber nötig oder erkennt Win XP 
den FTDI von selbst, ohne Treiber installation?

Super wäre es, wenn jemand aus der Gegend wäre (Salzburg) und mir das 
zeigen könnte. Soll auch nicht umsonst sein.

Schöne Grüße ans Forum!

von ... .. (docean) Benutzerseite


Lesenswert?

besorg dir einen USB-Seriell Wandler und schließ den ans stk500 an.
(das st500 hat einen Port zum proggen und ein zum daten mit µC 
versenden)

Das entspricht dann dem späteren projekt.

Dann lies die Artikel über UART und schicke erstmal ein "Hallo Welt".

dann lies die artikel übe den ADC und schick die Werte an den PC

und so weiter...

von Loup (Gast)


Lesenswert?

Hallo auch!

ortech schrieb:
> Ich möchte mir einen Audio-Analyzer bauen, der den hörbaren
> Frequenzbereich von 20-20000Hz durchscannt und die jeweiligen
> Amplitudenwerte über ein Mikrofon aufgenommen an den Laptop (an ein
> VB.net Programm) schickt. Dort möchte ich den Frequenzgang anzeigen.

Die Datenübertragung ist dabei aber nur die halbe Miete! Wie willst Du 
denn auf den Frequenzgang kommen? Ich wüste jetzt nicht wie man das mit 
"durchscannen" machen sollte. (Gibt es da eine elegante Lösung?)

Man könnte natürlich eine FFT vom Eingangssignal machen, aber damit wird 
der AVR wohl überfordert sein... Bleibt also nur die Samples an den PC 
zu übertragen und die FFT dort rechnen zu lassen.

Warum verwendest Du nicht gleich die PC-Soundkarte?

Freundliche Grüsse
Loup

von ortech (Gast)


Lesenswert?

Ich könnte auch die PC-Card verwenden.
Nichts desto trotz hätte ich gernein Beispiel mit FTDI + ATmel + 
Firmware Code + Vb-net Code. Also wirklich ein vollständiges Projekt, 
das net viel machen muß, nur einen analogen Wert einlesen und evt. 
wieder zurück an den yC ausgeben.
Wäre sehr hilfreich ein derartiges Beispiel, denn s versteht man evt. 
die Theorie auch leichter!

lg

von Peter R. (peterfido)


Lesenswert?

Du kannst den FTDI wie eine serielle Schnittstelle verwenden. Wenn Du 
den Treiber installierst, dann in den Optionen den VCP (Virtueller Com 
Port) aktivieren. Den FDTI einfach mit RX/TX vom MikroController 
verbinden. Am PC einfach die serielle Schnittstelle auslesen. Man kann 
den FDTI auch per API ansprechen, ist aber etwas aufwändiger. 
Beispielcodes gibt es kostenlos von FDTI.

von Loup (Gast)


Lesenswert?

Du kannst auch mal bei http://www.arduino.cc/ vorbeischauen. Wenn ich es 
richtig in Erinnerung habe sind auf dem Arduino ein AVR und ein FTDI 
drauf und es gibt dazu Schaltpläne, Installationsanleitung für den 
Treiber, Beschreibung des Zugriffs auf die Schnittstelle mit 
verschiedenen Sprachen, usw...

von gascht (Gast)


Lesenswert?

"Warum verwendest Du nicht gleich die PC-Soundkarte?"

dem muss ich hier mal zustimmen

der AVR kann die 15Khz grade so halbwegs in 10bit erreichen


eine Soundkarte kommt mit 16 bit und mit glück 96Khz daher
ebenso gibts genug programme zum frequensgang messen + anzeigen


der AVR ist hier eher das kleinere übel ..
der programmieraufwand ist eher auf dem PC
und dort gibts wie gesagt schon genug ...

zumal du mit dem AVR nicht an die auflösung rankommst wie mit jeder 
beliebigen soundkarte

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.