Forum: Mikrocontroller und Digitale Elektronik USB-Interface an MSP430


von Matthias W. (matt007)


Lesenswert?

ich möchte einen MSP430 an den PC hängen
als Frequenzgenerator, wobei die Frequenz
vom PC vorgegeben wird. So ein FRAM wollte
ich auch draufbauen und das dann vom PC
auslesen können.

Natürlich gibt es mehrere USB-Controller.
Es gibt ja welche von TI, von Silabs und FTDI.
Die Qual der Wahl eben. Und dann noch die Frage
welcher der Bausteine den größeren Durchsatz
zusammen mit dem MSP erlaubt. Da gäbe es ja
viel zu testen.

Frage:
Gibts denn nicht vielleicht ein fertiges
Platinchen, so ähnlich wie XMEGA-A1-USB,
wo die 64-beinige CPU (zB. ein MSP430F1611)
drauf ist, der USB-Baustein und die Buchse?

Beim Xmega kostet sowas ja nur 35.-. Spart
eine Menge Zeit. Wer weiß da was?

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Geht es Dir lediglich um eine USB-Seriell-Bridge oder geht es Dir um 
"echte" USB-Funktionalität?
In letzterem Falle solltest Du nach einem Evaluation Board für einen 
MSP430F55xx suchen.

von Matthias W. (matt007)


Lesenswert?

Eine USB-seriell Bridge wäre ok.
115kbd bekam ich mit dem AT90mega8535
zusammen. Natürlich hoffe ich daß der
MSP da noch mehr kann. Ich muss ja nicht
über den MAX232 gehen. Der Flaschenhals
wird wohl die Software auf der Windowsseite
sein. Einer schrieb, daß er deswegen -
um keine Wartezyklen beim MSP einfügen
zu müssen den parallelen FTDI-Baustein
genommen hat, der dann wohl 12 pins zur
CPU braucht.

Ist halt die Frage, ob das den Aufwand
wert ist. Mein Ziel wäre möglichst viel
ohne solch aufwendige Klimmzüge zu schaffen.

Die Idee mit dem Evaluation board finde ich
gut. Leider gibts da wohl noch keine chips
die die 2 DACs drauf haben.

Matthias

von Christian R. (supachris)


Lesenswert?

Ich betreibe einen MSP430F1611 hier an einem FT232R mit 921600 Baud, das 
klappt problemlos über den virtuellen COM Port. Natürlich mit 
HW_Handshake.

von Matthias W. (matt007)


Lesenswert?

das hört sich gut an Chris.
Dann müsste ich das ja auch hinbekommen.

Hast Du die Platine dazu selber gemacht
oder gibts da was Fertiges?

Matthias

von Christian R. (supachris)


Lesenswert?

Platine wurde professionell gemacht (4 Lagen, aber aus anderen Gründen, 
da ist noch Analogzeugs drauf). 921kBaud ist doch keine Hexerei. Hab 
einen 7,3728MHz Quarz für den MSP genommen und konnte so ohne den 
Modulator an der UART arbeiten. Geht sicher auch mit Modulator und einem 
nicht-Baudraten-Quarz. Aber das hat gerade gepasst, die 7,3728 MCLK 
schafft der noch sicher mit 3,3V Betriebsspannung.

von Jakob (Gast)


Lesenswert?

Also für USB-RS232 würde ich nen FTDI-Baustein nehmen ...

z.B. den FT232RL ... den gibts für kleines Geld bei Reichelt und der 
braucht nicht viel zum leben und das kriegst du problemlos in 2-Lagig 
hin.

Treiber und alles bekommst du bei FTDI auf der Seite ... nur nen 
fertigen Adapter kaufen ist einfacher

von Matthias W. (matt007)


Lesenswert?

Christian R. schrieb:
> Platine wurde professionell gemacht (4 Lagen, aber aus anderen Gründen,
> da ist noch Analogzeugs drauf). 921kBaud ist doch keine Hexerei. Hab
> einen 7,3728MHz Quarz für den MSP genommen und konnte so ohne den
> Modulator an der UART arbeiten. Geht sicher auch mit Modulator und einem
> nicht-Baudraten-Quarz. Aber das hat gerade gepasst, die 7,3728 MCLK
> schafft der noch sicher mit 3,3V Betriebsspannung.

was meinst Du mit Modulator?
Den 7,372 Quarz kann ich ja nehmen.
3.3V kann ich auch nehmen. Für 3.6V gibts wohl
kaum Spannungsregler. Die 921kBaud werde ich
dann wohl hinbekommen. Ich überlege noch eine
galvanische Trennung vorzusehen. Da gibt es von
AD ja solche Trenner. Wenn ich nur RXD und TXD
übertrage brauch ich nur einen billigen Baustein.
Oder gehen die 921kBaud nur mit extra HW-control-Pins?

Wenn ich noch einen DC/DC hätte könnte ich auf ein
Steckernetzteil verzichten. Ich brauch halt +-12V
für die Endstufe. Und natürlich +-5V für die 4051
und die 3.3V für die CPU. Das erscheint alles machbar.

Jakob schrieb:
> Also für USB-RS232 würde ich nen FTDI-Baustein nehmen ...
> z.B. den FT232RL ... den gibts für kleines Geld bei Reichelt und der
> braucht nicht viel zum leben und das kriegst du problemlos in 2-Lagig
> hin.

Das mit dem FT232RL würde ich dann machen.
Das Ding werde ich sicher leichter eingelötet
bekommen als die CPU mit den 64 Beinen. Daher
fragte ich ja, obs da eine fertige Platine gibt,
was ja viel Geld/Zeit spart.

Matthias

von Jörg S. (joerg-s)


Lesenswert?

>was meinst Du mit Modulator?
Mit dem passenden Quarz kannst du passende Baudraten erzeugen ohne das 
im Controller noch Abgleich in Form von Register Einstellungen notwendig 
ist.
Mit 7,3728MHz kommt der MSP z.B. leicht auf 921kBaud.
Mit 12,0MHz würde der MSP z.B. leicht auf 1MBaud kommen.
Der Fehler im Form von Frequenzabweichung ist dann quasi null.

>Für 3.6V gibts wohl kaum Spannungsregler.
Ein LM317 o.ä. würde es zur Not tun.

>Oder gehen die 921kBaud nur mit extra HW-control-Pins?
Wenn du sicherstellen kannst das sowohl MSP wie auch PC die Daten 
rechtzeitig weg bekommt, würde es auch ohne gehen.

von Matthias W. (matt007)


Lesenswert?

Danke für die Hinweise Jörg !

Jörg S. schrieb:
> Mit dem passenden Quarz kannst du passende Baudraten erzeugen ohne das
> im Controller noch Abgleich in Form von Register Einstellungen notwendig
> ist.

manche CPUs haben eine spezielle Betriebsart
um auch mit nicht passendem Quarz eine brauchbare
Baudrate hinzubekommen. Bei Infineon sah ich das.
Den MSP kenne ich noch nicht so genau.

> Mit 7,3728MHz kommt der MSP z.B. leicht auf 921kBaud.
> Mit 12,0MHz würde der MSP z.B. leicht auf 1MBaud kommen.

Auch dies wäre möglich, wenn man die CPU
so hoch fahren kann. Es gibt ja auch neuere
Typen, die bis 16MHz können sollen. Nur sah
ich die bei Reichelt nicht. Hat TI die Dinger
wieder aus dem Programm genommen? Die hatten
doch diese 2-Wire-Debug-Schnittstelle. Einen
Typ passend zum MSP430F1611 müsste es da ja geben.

>>Für 3.6V gibts wohl kaum Spannungsregler.
> Ein LM317 o.ä. würde es zur Not tun.

klar. Ist halt mehr Energieverlust durch den Teiler.

>>Oder gehen die 921kBaud nur mit extra HW-control-Pins?
> Wenn du sicherstellen kannst das sowohl MSP wie auch PC die Daten
> rechtzeitig weg bekommt, würde es auch ohne gehen.

müsste ich mal sehen. Ist halt dumm, wenn man dann
bei fertiger Platine erst merkt, daß man es besser
ganz anders aufgebaut hätte. Daher fragt man besser
vorher Leute, die da schon praktische Erfahrung haben.
Dafür sind solche Foren ja gut.

Vielen Dank also.

Matthias

von Jörg S. (joerg-s)


Lesenswert?

>manche CPUs haben eine spezielle Betriebsart um auch mit nicht passendem
>Quarz eine brauchbare Baudrate hinzubekommen.
Geht beim MSP auch, aber es ging ja wie gesagt darum diese 
"Spezialeinstellungen" zu vermeiden.

>Hat TI die Dinger wieder aus dem Programm genommen?
ALLE MSP430F2xxx Typen können bis 16MHz!

von Matthias W. (matt007)


Lesenswert?

Danke Jörg,

das würde ja dafür sprechen die 12MHz zu nehmen.
Von TI käme dann ein MSP430F2616 oder F2617 in
Betracht. Bei TI steht da was von 6$. Reichelt
hat die nicht. Da kostet schon der 1611
das dreifache. Das ist dann schon heftig.

Matthias

von Jakob K. (jakobk)


Lesenswert?

Matthias W. schrieb:
> Das mit dem FT232RL würde ich dann machen.
> Das Ding werde ich sicher leichter eingelötet
> bekommen als die CPU mit den 64 Beinen. Daher
> fragte ich ja, obs da eine fertige Platine gibt,
> was ja viel Geld/Zeit spart.

Wie eilig ist das denn und was genau brauchst du? willst du nur nen 
USB-UART wandler oder muss es die "Echte" RS232 sein?

Ich hab da nen Platinenfritzen der zwar ein langsamer als die üblichen 
8-10AT ist, aber dafür finde ich macht er gute Preise.

Geroutet wäre das Ding fix.

von Jörg S. (joerg-s)


Lesenswert?

>Von TI käme dann ein MSP430F2616 oder F2617 in Betracht.
Junge Junge, da hast du dir aber ein paar Schlachtschiffe ausgesucht :)

>Bei TI steht da was von 6$.
In 1000er Stückzahl :)

>Reichelt hat die nicht.
hbe hätte sie. Für 21€ das Stück...


Wenn du so einen Berg Flash und RAM brauchst, solltest du vielleicht 
eher in Richtung ARM gehen. So'n fetter 100MHz Cortex M3 mit 512kB Flash 
und 64kB RAM von NXP kostet 9€ (LPC1758).

von Jakob K. (jakobk)


Lesenswert?

bei TI ist das mit den Preisen doch relativ ... so ne Hand voll müsstest 
du - dank free samples - sowieso für lau bekommen =)

von Matthias W. (matt007)


Lesenswert?

Jakob Kleinen schrieb:
> Matthias W. schrieb:
>> Das mit dem FT232RL würde ich dann machen.
>> Das Ding werde ich sicher leichter eingelötet
>> bekommen als die CPU mit den 64 Beinen. Daher
>> fragte ich ja, obs da eine fertige Platine gibt,
>> was ja viel Geld/Zeit spart.

wenn es so ein Aufsteckteil wäre mit einer Stiftreihe
mit USB-Buchse drauf und den 5V der Buchse.
So einen Isolator wollte ich noch dazwischenbauen.
Dann bräuchte es noch einen DCDC-Wandler von
USB auf +-12V und +-5V.

> Wie eilig ist das denn und was genau brauchst du? willst du nur nen
> USB-UART wandler oder muss es die "Echte" RS232 sein?

RS232 ist nicht nötig. Eilen tut es nicht.

> Ich hab da nen Platinenfritzen der zwar ein langsamer als die üblichen
> 8-10AT ist, aber dafür finde ich macht er gute Preise.

was würde denn so ein Teil kosten?

> Geroutet wäre das Ding fix.

wenn der Plan komplett ist und die Bauteile
alle im Eagle? sind kann das schnell gehen.
Normalerweise dauert es immer länger als man
denkt. So ist leider meine Erfahrung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Dann bräuchte es noch einen DCDC-Wandler von
> USB auf +-12V und +-5V.

Wozu soll der gut sein?

von Matthias W. (matt007)


Lesenswert?

Jörg S. schrieb:
>>Von TI käme dann ein MSP430F2616 oder F2617 in Betracht.
> Junge Junge, da hast du dir aber ein paar Schlachtschiffe ausgesucht :)

ein Schlachtschiff wollte ich wahrlich nicht.
Ein DAC12 würde mir für erste Tests ja reichen,
wenn ich einen Sinus aus dem Speicher über den
DAC ausgeben lassen will per DMA. Nur leider
gibts von TI ja keine kleinen Bausteine mit
dem DAC12. So groß schien dann der Preisunterschied
auf der TI-Seite nicht zwischen den dann doch sehr
begrenzten Möglichkeiten.

>>Bei TI steht da was von 6$.
> In 1000er Stückzahl :)

So viele brauche ich natürlich nicht.

>>Reichelt hat die nicht.
> hbe hätte sie. Für 21€ das Stück...

das ist heftig. Wenn ich das mit dem AVR 8535
vergleiche, den ich bisher nahm. Der hat halt
keinen DAC12 drin. Dann sind es halt nur 8bit
und 8 Pins dafür verbraucht. Die Pins sollten
zur Messdatenerfassung dienen. Und dummerweise
macht die Software-DDS den AVR dann dicht. Was
anderes kann dann da nicht mehr sinnvoll laufen.
Müsste dann noch ein weiterer AVR dazu.

> Wenn du so einen Berg Flash und RAM brauchst,

brauch ich momentan ja gar nicht. Ein kleiner 20pin-Baustein
mit DMA und DAC12 wäre mir für den Anfang ja recht.
Das könnte ich dann rasch mal probieren. Nur macht mir TI
den nicht, wenn ich 3 Stück für 12.- haben will?
Also muss ich wohl so ein 64-Bein-Teil nehmen.

> solltest du vielleicht
> eher in Richtung ARM gehen. So'n fetter 100MHz Cortex M3 mit 512kB Flash
> und 64kB RAM von NXP kostet 9€ (LPC1758).

Da hast Du wieder recht. Auch eine Überlegung wert.
Ich sah ein fertiges ARM-board ADuC7026 ARM7TDMI
mit 64K Flash, 8K RAM, 12 Kanal 12 bit ADC mit 1Msps,
4 Kanal 12 bit DACs. Das ginge.

Die Idee war halt etwas zu bauen, das auch extrem
energiesparend laufen kann, wenn nur Daten gesammelt
werden sollen. Das können die MSP ja ganz gut,
das Energie sparen. Daher wollte ich auch Daten
in ein FRAM schreiben. Hinterher kann ich die dann
auslesen über USB. Soweit die Idee.

Mehr RAM und mehr Flash scheint bei TI nur wenig
zu kosten. Sehr teuer ist der DAC12. So was extern
dranzuhängen kostet auch. Pins, Platz, Kosten, Zeit.

Da gäbe es natürlich auch den ARM mit 4 DACs.
Somit stellt sich dann die Frage eine
Entwicklung mit dem ARM zu machen und eine
andere mit dem TI. Ich bin jedoch allein.
Wie soll ich das alles machen. Schreibe
gleichzeitig noch ein Buch und muss auch
mal was für eine Prüfung lernen.

Matthias

von Matthias W. (matt007)


Lesenswert?

Rufus t. Firefly schrieb:
>> Dann bräuchte es noch einen DCDC-Wandler von
>> USB auf +-12V und +-5V.
>
> Wozu soll der gut sein?

Der DCDC soll die 5V USB galvanisch getrennt
für die CPU aufbereiten, die die Messdaten
erfasst und das DDS-Signal über einen OP-AMP
ausgibt. Der OP-AMP hat halt +-12V. Zum
Einstellen der Amplitude brauch ich was.
Die billigen Mux brauchen +-5V. Mehr vertragen
die nicht. Die MUX, die an +-12V laufen können
scheinen deutlich teurer und schwerer zu bekommen.

von Jörg S. (joerg-s)


Lesenswert?

Matthias W. schrieb:
>> Wenn du so einen Berg Flash und RAM brauchst,
>
> brauch ich momentan ja gar nicht. Ein kleiner 20pin-Baustein
> mit DMA und DAC12 wäre mir für den Anfang ja recht.
> Das könnte ich dann rasch mal probieren. Nur macht mir TI
> den nicht, wenn ich 3 Stück für 12.- haben will?
> Also muss ich wohl so ein 64-Bein-Teil nehmen.
Du kannst natürllich auch einen aus der F1xx oder F4xx Serie mit DAC 
nehmen. Die haben halt nur max. 8MHz Takt. Sollte ja auch noch für deine 
Zwecke reichen.
Z.B.:
F155 = 13,48€
FG437= 11,87€

von Jakob K. (jakobk)


Lesenswert?

Also wenn das für dich reicht, würde ich mich mal dran setzen und n 
Plätchen machen, dass den FT232RL (mit mini-usb-buchse usw)aufnimmt und 
das dann einfach einen Dil-28 Sockel gesteckt werden kann.

Sowas kann ich auch hin und wieder mal brauchen. wenn ich also davon 
dann ein paar bestelle, kann ich dir eine (oder wie viele du brauchst) 
für so um 5€ abgeben. Kann nur anfang/mitte März werden bis du die dann 
hast.

von Christian R. (supachris)


Lesenswert?

Jakob Kleinen schrieb:
> Also wenn das für dich reicht, würde ich mich mal dran setzen und n
> Plätchen machen, dass den FT232RL (mit mini-usb-buchse usw)aufnimmt und
> das dann einfach einen Dil-28 Sockel gesteckt werden kann.

Das ist Verschwendung von Zeit und Arbeitskraft. Das gibts für weniger 
als 20€ fertig zu kaufen. Und funktioniert dann auch definitiv.

von Jakob K. (jakobk)


Lesenswert?

ach ja, die Pinbelegung würde ich vom chip übernehmen (natürlich bis auf 
die USB-Leitungen) dann kannst du den Rest schon planen/aufbauen und 
dann einfach  die USBzuUART-Platine einstecken, sobald sie da ist

von Jakob K. (jakobk)


Lesenswert?

Christian R. schrieb:
> Das ist Verschwendung von Zeit und Arbeitskraft. Das gibts für weniger
> als 20€ fertig zu kaufen. Und funktioniert dann auch definitiv.

ich hab nur die Demoplatte von FTDI selber bei Farnell gesehen und die 
kostet schon 20€ (netto) und die hat dann mehr drauf als eigentlich 
benötigt ist.

Der Pegelwandler von TTL nach RS232 ist ja überflüssig.

ausserdem kann ich sowas zwischendurch auch immer mal brauchen, von 
daher ist das jetzt einfach mal der Anlass es endlich mal zu machen =)

von Matthias W. (matt007)


Lesenswert?

Jakob Kleinen schrieb:
> Also wenn das für dich reicht, würde ich mich mal dran setzen und n
> Plätchen machen, dass den FT232RL (mit mini-usb-buchse usw)aufnimmt und
> das dann einfach einen Dil-28 Sockel gesteckt werden kann.
>
> Sowas kann ich auch hin und wieder mal brauchen. wenn ich also davon
> dann ein paar bestelle, kann ich dir eine (oder wie viele du brauchst)
> für so um 5€ abgeben. Kann nur anfang/mitte März werden bis du die dann
> hast.

ich weiß das Angebot sehr zu schätzen,
aber ich glaube Chris hat recht. Es wäre
in diesem speziellen Fall dann wohl besser
eine fertige Lösung von FTDI zu nehmen.
Die bieten ja auch Kabel an, wo nur der Chip
wohl im Stecker sitzt. Alleine dafür lohnt
kein Layout.

Anders wäre es wenn auf dem Layout auch gleich
der Trennbaustein und die CPU mit drauf wäre.
Das macht es jedoch komplizierter.

Danke trotzdem !

Matthias

von Matthias W. (matt007)


Lesenswert?

Jörg S. schrieb:
> Du kannst natürllich auch einen aus der F1xx oder F4xx Serie mit DAC
> nehmen. Die haben halt nur max. 8MHz Takt. Sollte ja auch noch für deine
> Zwecke reichen.
> Z.B.:
> F155 = 13,48€
> FG437= 11,87€

Danke Jörg. Ich habe die beiden angesehen. Der F155 wäre ok.
Da könnte ich später auf einen F1611 nachrüsten oder
auch auf einen F26xx etc.
Der FG437 hat 80 pins, wobei manche wohl nur für das
LCD gedacht sind. Das ist dann eine andere Sache.

So gesehen sind die ARM nicht übel. Da muss man
sich nicht so viel Arbeit machen, weil es Boards
mit USB ja schon fertig gibt. Natürlich ist der
Energiebedarf deutlich höher.

Matthias

von Jörg S. (joerg-s)


Lesenswert?

Matthias W. schrieb:
> So gesehen sind die ARM nicht übel. Da muss man
> sich nicht so viel Arbeit machen, weil es Boards
> mit USB ja schon fertig gibt. Natürlich ist der
> Energiebedarf deutlich höher.
Ich weiss jetzt nicht wie es sich genau verhält, aber ich glaube der USB 
Port bei den ARMs ist ja frei programmierbar, somit müsstest du dir ja 
erst auf ARM Seite wie auch auf PC Seite was programmieren -> Riesen 
Aufwand gegenüber FTDI.

von Matthias W. (matt007)


Lesenswert?

Jörg S. schrieb:
> Ich weiss jetzt nicht wie es sich genau verhält, aber ich glaube der USB
> Port bei den ARMs ist ja frei programmierbar, somit müsstest du dir ja
> erst auf ARM Seite wie auch auf PC Seite was programmieren -> Riesen
> Aufwand gegenüber FTDI.

Das fertige ARM-Board ADuC7026 ARM7TDMI
verwendet einen FT232BM für die TXD/RXD-Pins
der ARM-CPU. Ist also kein USB drin.

Kann mir jemand sagen, was der Vorteil ist
einen FT232BM zu nehmen statt dem FT232RL?
Natürlich scheint das Teil kleiner zu sein.
Extern haben sie jedoch noch ein EEPROM
angeschlossen. Ist das beim RL nicht drin?

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Matthias W. schrieb:
> Kann mir jemand sagen, was der Vorteil ist
> einen FT232BM zu nehmen statt dem FT232RL?

Es gibt keinen, der BM ist älter. Im RL ist nicht nur das EEPROM 
enthalten, der benötigt auch keinen Quarz mehr.

von Matthias W. (matt007)


Lesenswert?

Rufus t. Firefly schrieb:
> Im RL ist nicht nur das EEPROM
> enthalten, der benötigt auch keinen Quarz mehr.

Du hast recht. Danke !
Schade, daß auf dem aktuell verkauften Olimexboard noch
die alte Lösung ist. Vielleicht war das billiger,
oder es ist schon so alt?

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das wird eine Altersangelegenheit sein. Olimex hinkt leider in der 
Aktualität sehr hinterher, so gibt es kein einziges Board von denen 
mit einem neueren MSP430 darauf, der das Spy-Bi-Wire-Interface kennt, 
also kein 'F20xx, kein 'F26xx und erst recht kein kein 'F5xxx.

Schade.

von Matthias W. (matt007)


Lesenswert?

Rufus t. Firefly schrieb:
> so gibt es kein einziges Board von denen
> mit einem neueren MSP430 darauf
> also kein 'F20xx, kein 'F26xx und erst recht kein kein 'F5xxx.

Das ist wirklich schade. Ebenso schade finde
ich, daß Olimex kein einziges board anbietet
mit einem MSP, das so wie das ARM-board mit
USB, einer Stiftleiste und Löchern für eigene
Versuche ausgerüstet ist. Das wär doch mal was . . .

Ich habe selbst noch ein altes Olimex-Board,
das ja nur den F149 enthält, mit Quarz und
JTAG-Stecker. Das ist halt ein bissel wenig.
Die Zeit ist ja nicht stehengeblieben. Die CPU
ablöten und was neueres draufmachen habe ich mich
bisher nicht getraut.

Matthias

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.