High-Speed-Optokoppler

Hallo Joerg,

das freut mich

Ich dachte da auch noch ans Grundrauschen vom AD-Wandler auf den unteren Bits. Ich hatte mal ne Soundkarte die hat im Controller (mit 30MIPS Soundprozessor) die DA-Wandler 20Bit/48kHz integriert. Frisch aus dem Kühlschrank hat die einen kristallklaren Klang und nach 15 Minuten ist der Rauschabstand auf geschätzt Aber da gibt es ja den guten alten TLV431 fuer zwei Groschen.

Portpins sind an einem 100-Pinner wohl nicht die knappste Ressource.

Durch das Clockmanagment bin ich noch nicht durchgestiegen, das ist sehr verwirrend für mich. Gibts eigentlich einen internen RC-Oszi und wenn ja wie find ich den?

Mich tät eigentlich interessieren was passiert wenn man diese Kennlinie verlässt,also bei konstanter Frequenz die Spannung langsam sinkt.

Ist mir klar, brauch ich aber nicht.

Da hab ich mich vorhin etwas ungeschickt ausgedrückt. Ich meinte Die AD/DA-Wandler in den üblichen µC ganz allgemein. Die meisten haben nur

10 Bit und schlechte Samplingunits, sind also nur mäßig für ernsthafte Anwendungen geeignet.

Die 16Bit-AD-Wandler in den MSP430 machen, zumindest im Datasheet, tatsächlich einen wirklich guten Eindruck.

Das ist oft ein Problem das dann mit einem zusätzlichen OpAmp gelöst werden muss. Bei einem Singleendet-AD-Wandler der auch bis direkt über Ground wandeln soll, wie in meinem Fall, braucht man dann aber für den OpAmp noch eine zusätzliche negative Versorgungsspannung. Oder gibts da noch andere Tricks?

Für mein Vorhaben sind die 2µs ein Problem, ich möchte alle 1 bis 2 Sekunden die CPU aufwachen lassen und dann soll sie schnell alle 12 Analog-Inputs samplen und prüfen obs was zu tun gibt, da sind die insgesamt 24µs einfach nur lästig. Die I2C-AD-Wandler, welche ja auch auf Kommando aufwachen, die ich so kenne haben da nicht so große Verzögerungen fürs samplen.

Bei schnellen Signalen ja, für Langsame unerheblich.

Ist ein cooles Feature.

Ja, so ist es. Da sind I2C-Wandler manchmal eine interessante Alternative, zumindest was die Portpins angeht.

Im Vergleich zum Wettbewerb ganz bestimmt.

Grüße Erik

Reply to
Erik G.
Loading thread data ...

Hallo Erik,

Stimmt, wenn man uC in der $5 Klasse nimmt.

Das steht im Family Guide. Es ist ein Ringoszillator und man kann (muss) aus mehrerern sich ueberlappenden Bereichen auswaehlen. Ich glaube es gibt sogar eine eigene App Note fuer diesen DCO, wie man ihn einstellt usw. Mit einem externen R ist er aber besser zu kontrollieren, der hat weniger Toleranz und kaum Temperaturdrift.

Er soll wesentlich mehr schaffen als in der Kurve. Aber irgendwann rastet etwas innen drin aus, man kann nur nicht voraussehen, was. Wuerde ich nicht machen.

Da muss man sich eine VEE erzeugen, mit Timer oder so. Selbst RR Opamps werden in Sachen Niederohmigkeit schnell schlapp. Bei langsamen Signalen koennte so einer plus RC Glied am Ausgang reichen.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hallo Joerg,

an dem bin ich heute gescheitert

Das hab ich schon gefunden aber mir blieb bisher die Bedeutung dieser Wahl verschlossen, ich würde gerne den Timer B und den AD-Wandler mit ca. 4 bis 8 MHz (die PWMs werden wohl auch mit 30kHz laufen) und den CPU-Kern mit ca. 500kHz versorgen hab aber nicht herausgefunden wie das geht. Was ich bisher an µC in der Hand hatte ist im Punkt Clockmanagment und Längen primitiver als die MSP430, ist zumindest mein erster Eindruck nach einigen Stunden Datasheets lesen.

Ahja, muss ich mir Morgen mal raussuchen, vielleicht bringt die etwas mehr Klarheit.

Cool, nur hab ich für sowas keine Pins gesehen. Andererseits ist mir die Genauigkeit in diesem Fall auch egal.

Ich werds mal ausprobieren, interessiert mich schon.

Schon klar, aber so lange er nicht kaputt geht möchte ich den Energieinhalt vom Goldcap (oder wie auch immer die bei den verschiedenen Herstellern heißen) möglichst gut ausnutzen. Soll aber auch eher die Ausnahme sein das der µC seine Energiereserve leer nuckelt.

Alternativ ist mir noch eingefallen das man ja noch ne Ladungspumpe (hoffe das heist so, ich meine: Vcc -> L -> FET nach Masse + Diode nach höherem Vcc) zuschalten könnte, dazu muss natürlich Vcc vom µC vom Goldcap getrennt werden (z.B. mit einem selbstleitendem FET mit negativer Gatespannung zum sperren). Der µC müsste also aus dem Tiefschlaf aufwachen, ein paar PWM-Zyklen mit der Zusatzladungspumpe machen um seine Vcc anzuheben und dann erst den Rest in Betrieb nehmen (+ eventuell den CPU-Kern auf höheren Takt bringen) und seine eigentliche Aufgabe erledigen, zum Schluss wird dann alles wieder abgeschalten und Vcc vom µC sinkt wieder aufs Niveau vom Goldcap.

Aber erst mal sehen ob das ganze überhaupt notwendig ist.

Noch ne PWM. :-( Die großen MSP430 haben doch "nur" maximal 10 davon.

Meinste? Ich möchte Spannung zwischen +3mV und +500mV (gegenüber Ground) mit max.

10Hz möglichst ordentlich messen. Mir tät noch eine umschaltbare Verstärkung einfallen, man könnte den OpAmp-Ausgang mit 10MOhm und mit dem Invertierenden Eingang verbinden und diesen über 1MOhm mit Ground ergibt eine Verstärkung von 10 so das das schwächste Signal am Ausgang +30mV beträgt und wenn der Eingang +30mV übersteigt wird einfach der 10MOhm Wiederstand mit nem FET überbrückt, das macht dann wieder Verstärkung 1 und man kann den Eingangsbereich von +30mV bis +500mV ordentlich erfassen. Naja, vielleicht fällt mir noch eine andere gescheite Lösung ein schließlich soll mit diesem Istwert die PWM geregelt werden, ich weis also wo der Wert sein soll und kann entsprechend handeln.

Grüße Erik

Reply to
Erik G.

Hallo Erik,

Wo hat es denn geklemmt?

Das habe ich noch nicht versucht, koennte mir aber vorstellen, dass es geht. Sieh mal nach, ob man nicht ACLK ungeteilt (Prescaler aus) auf den Timer geben kann und MCLK durch 8 geteilt auf die CPU. Ist bei der F2xxx Familie, die Clocks koennten bei F4xxx anders heissen.

Ist in den Datenblaettern, da gibt es eine kurze Liste und danach eine, wo die Pin Funktionen beschrieben sind. Die meisten Versionen der F2xxx Familie unterstuetzen den externen Widerstand allerdings nicht.

Die kleineren sind mit Timern knauserig. Aber es reicht auch eine SW Loop, wenn man in Assembler programmiert. Pulse Skipping Scheme, oder auch nur regelmaessiger Rechteck aus dem WDT und geschickt gleichrichten. Bei diesem Vorschlag hatte allerdings jemand mal fast seine Kaffeetasse nach mir geworfen.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hallo Jörg,

In der Appnote haben sie den F439 verwendet. Da passen aber ach einige ine eine Sardinenbüchse ;-)

Marte

Reply to
Marte Schwarz

Nee, macht doch jeder...

Marte

Reply to
Marte Schwarz

Hallo Jörg,

Du willst nicht wirklich mechanische Taster einsetzen?

Den Eindruck hab ich auch...

Marte

Reply to
Marte Schwarz

Hallo Erik,

Nicht ganz so sparsam aber vergleichweise billig... ADUC7026 von Analog.

Marte

Reply to
Marte Schwarz

Hallo Marte,

Scheint es nichts zu geben. Es muesste einer sein, dessen Gehaeuse rund ist, damit man beim Gehaeuse keine Fraeskosten hat. Er sollte von oben einigermassen aussehen, nicht diese Metallklammern und so. Doch das Angebot ist, gaehn, eher von vorgestern.

Die koennten viel mehr Umsatz machen, wenn sie nicht so zugeknoepft waeren. Einmal wollte ich nur die Geometrien der unmittelbar am Port Pin angeschlossenen CMOS Devices haben. Jibbet nich, hamse jesacht. Der Erfolg war, dass ich die gute alte diskrete Route einschlug. Kein Design-Win fuer TI.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hallo Marte,

Schon. Aber weil's jeder macht muss es moralisch ja nicht richtig werden ;-)

Gruesse, Joerg

formatting link

Reply to
Joerg

Joerg schrieb:

A) Wozu brauchst du sowas? B) Machen das andere Hersteller? Ich hab da meine Zweifel, schliesslich gehts da an interne Sachen, die keiner gern rausrückt, gerade wenns um neue Prozesse (90nm etc.) geht.

MFG Falk

Reply to
Falk Brunner

Hallo Falk,

Um 'semi-analoge' Geschichten damit zu machen. Nun sind sie eben wie ueblich ganz analog geworden und inzwischen in Serienfertigung. D.h., es ist zu spaet.

Machen sie. Einige ruecken sogar die Masken Plots raus. Wenn das jemand partout abkupfern wollte, koennte er die Parameter der Ports auch von aussen mit etwas Geschick ausmessen. Network Analyzer und dgl. habe ich hier im Labor. Ich weiss, das die MSP Port Device Geometrie eine 30ohm Strecke ergibt, auch wenn es nicht im Datenblatt steht. Aber ich brauche 'offizielle Daten', aus rechtlichen Gruenden.

Dann gibt es noch die sagenumwobenen Reverse Engineering Shops. Die koennen fuer suendhaft viel Geld jeden Chip per Phototechnik zerlegen. Draussen stehen meist einige Ferraris und Lamborghinis herum.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hallo Marte Schwarz,

Danke für diesen interessanten Tipp. ADU7027 wäre sogar noch billiger (zumindest auf deren WebPage) und hat gleich 16 AD-Wandler-Kanäle (obwohl mir 12 reichen), überhaupt macht der AD-Wandler einen guten Eindruck im Datasheet. 1MSps und ne ordentliche Samplingunit sind was anderes als die einfachen 12Bit-AD-Wandler welche TI in den MSP430 verbaut. Der ARM7TDMI-Core würde mir auch zusagen, so muss ich wenigstens kaum neues lernen und könnte meine ARM7-Kenntnisse etwas verbreitern (ich denke ARM7 wird viele, nicht alle, alte µC ablösen). 3 PWMs sind mir aber zu wenig, 5 sind Minimum und 6 währen besser, und auch der Stromverbrauch passt mir nicht wirklich, vor allem weil ich keine 32Bit brauche und auch nur wenig Software rein soll.

Nach einigem Datasheet lesen habe ich jedenfalls den subjektiven Eindruck das AD sich mit dieser neuen (ist laut deren WebPage jünger als

6 Monate) µC-Familie einen vernünftigen Platz im ARM7-µC-Feld erarbeiten möchte, sind jedenfalls einige nette Features dabei, nur leider nicht alle die welche ich aktuell brauche. Trotzdem werde ich mir die mal merken, ich werde bestimmt mal wieder ein Projekt bekommen wo ich einen richtigen ARM und einiges Analoges brauche.

Vielleicht bringt ja die nächste Fertigungstechnologie (oder ARM überarbeitet noch mal seinen 7er-Core) endlich die Möglichkeit auch so große Cores mit bescheidenem Energiehunger, wenn auch nur bei moderatem Takt, zu realisieren. In den 16-Bit Controllern sehe ich schon wegen dem

64k-Problem keine längere Zukunft bei größeren Projekten (in der ARM7-Abteilung findet man oft über 256kBytes Flash on Chip, teilweise auch mit ordentlicher Busbreite für hohen Befehlsdurchsatz) und die 8Bitter machen beim Verarbeiten von 12 oder 16 Bit Samples nicht wirklich Freude (was nicht heißen soll das die bei weniger rechenintensiven Aufgaben nicht nach wie vor gute Arbeitspferde sind).

Grüße Erik

Reply to
Erik G.

Hallo Joerg,

Am Verständnis des ganzen Clock-Zeugs. Irgendwie hatte ich den RC-Osci nicht gefunden. Vor allem ist mir immer noch schleierhaft was der "10Bit Frequency Integrator" macht. Ich hab zwar die Bereichsauswahl kapiert aber nicht wie man dann die Frequenz konkretisiert. Sowas wie das "Oscillator Calibration Register" in den AVRs hab ich nicht gefunden.

Scheint auch nicht zu gehen, zumindest nicht in der F4xxx-Family.

ja das geht, nur scheint es keine Möglichkeit zu geben ACLK aus dem RC-Osci zu bekommen.

MCLK hat bei F4xxx keinen Prescaler :-( und SMCLK hat auch keinen Prescaler :-(

Scheint mir nicht so, ist IMO bei solch elementaren Basics auch eher unüblich.

Kann ich irgendwie gut nachvollziehen, vor allem beim ersten Vorschlag. Mal davon abgesehen das ich keinen Kaffee trinke, würde mir wohl ähnliches durch den Kopf schwirren wenn mir jemand ernsthaft vorschlägt eine "richtige" PWM in Software zu erledigen. Da muss die CPU IMHO schon chronisch unterbeschäftigt (und damit deutlich fehlplaziert) sein damit das auch nur halbwegs gut geht. Ich bin ja echt für jeden Assemblerscherz zu haben aber sowas ist dann doch nur sehr selten der geschickteste Weg. Auch den WDT würd ich nicht unbedingt zum PWM erzeugen einsetzen wollen, "Schuster bleib bei Deinen Leisten" gilt IMHO für viele Dinge. Ja ich weis das "Out-off-the-Box-Denken" ist hier in Europa nicht so toll aber eine Software-PWM ist schon eine ziemlich krasse Angelegenheit in einem gut beschäftigtem (oder schlafenden) µC. Klar währs eine echte Herausforderung für einen echten Assemblerprogrammierer (tät mir schon in den Fingern kribbeln) aber wer soll die vielen (Über-)Stunden bezahlen bis sowas wirklich reibungslos funktioniert? Das müsste schon eine wirklich richtig große Auflage sein damit sich das rechnet, außerdem kann man am CPU-Kern sparen wenn mehr Dinge in Hardware, und nicht in Software, erledigt werden, vom Energieverbrauch mal ganz abgesehen.

Grüße Erik

Reply to
Erik G.

Hallo Erik,

Der Integrator funktioniert so aehnlich wie die XOR Stufe in einer PLL. Allerdings kann er nicht analog korrigieren, sondern spuckt digital einen Kontrollwert aus, der den DCO auf den 32kHz Oszillator rastet. Da das nicht analog ist, pendelt er im Regelfall staendig zwischen zwei benachbarten Zehn-Bit Worten hin und her. Deshalb hat der DCO auch ein wenig Hosenschlottern. Macht normalerweise nichts, aber wenn der Clock noch ausserhalb fuer Analoggeschichten verwendet werden soll, muesste man eventuell eine echte kleine PLL anflanschen (Schwingkreis, Diode, RC von einem Port Pin und dann PWM oder so aehnlich).

Nein, bei der F4xxx Familie wohl nicht.

Schluck. Da sind die F2xxx besser.

Noch lustiger wurde das, als ich danach eine PWM mit CD4000er Logik vorstellte und dabei einige der Gatter fuer semi-analoge Dinge verwendete. Ueberall Stirnrunzeln. Doch bei grossen Stueckzahlen lohnt das. Wir sparten uns den $1 PWM Chip.

Gruesse, Joerg

formatting link

Reply to
Joerg

aber ein Plagiat ist es doch nicht, wenn es von Dir selbst stammt. Wenn ich das abschreibe und als meines ausgäbe, dann schon.

Marte

Reply to
Marte Schwarz

Hallo Marte,

IIRC sieht das der IEEE anders. Wenn man mehr oder weniger das gleiche nochmal als "neu" aufkocht und irgendwo anders veroeffentlicht oder selbst publiziert, sehen sie das auch als Plagiat. Was ja eigentlich auch so ist. Ich hatte mich schon oft geaergert, wenn ich bei einem Research Service schwer bis gar nicht beschaffbare Papers bestellt habe und $25 spaeter feststellte, dass es im Prinzip der zweite Aufguss einer Version war, die ich schon vorher gekauft hatte.

Gruesse, Joerg

formatting link

Reply to
Joerg

Hi Jörg,

kenn ich gut... aber schau mal in der Veröffentlichungsliste eines PHD oder altdeutsch Doktor jenseits der Medizin nach. Da kommst Du gar nicht drum herum. Wer viele Veröffentlichungen verfasst und ständig auf Kongressen herumturnt, der kann gar nicht immer neue Sachen schreiben.

Marte

Reply to
Marte Schwarz

Joerg schrieb:

Danke für Deine Erklärung, langsam kommt Licht ins Dunkle. Jetzt verstehe ich aber nicht wozu dann die Bereichsauswahl dient. Die Bereiche sind ja recht groß und überlappend, irgendwie muss ich doch festlegen können wo in diesem Bereich ich in etwa hin will.

Ich werd mir mal morgen deren Family-Guides runterladen. Schade das es dort nirgends 12 AD-Wandler-Kanäle gibt (11 würden mir auch schon reichen) und 6 PWMs bekomm ich da auch nicht. Auch bei den F1xxx gibts nichts was so viel bietet. Jetzt hat TI mir mit dem MSP430FG461x den Mund wässrig gemacht und dann scheiterts an solch banalen Kleinigkeiten. So langsam kann ich Deinen offenkundigen Groll wegen dem fehlenden HW Multiplier gut nachvollziehen. Irgendwie scheint sich das "gewollt-aber-nicht-zu-Ende-gedacht-Prinzip" bei vielen Produkten heutzutage durch zu setzen. Die MSP430-Family hat viele interessante und teilweise auch einzigartige Features aber auch zu viele Nebenwirkungen so das die Design-Wins einfach schwer sind. Das Problem ist das µC nicht einfach austauschbar sind, es gehört zu viel spezifisches Know-How dazu als das der Entwickler sich jedes mal neu entscheiden könnte also verwendet er seine 3 bis 5 Lieblingstypen in allen Designs und kann damit meistens ganz gut leben auch wenns mal nicht 100%-tig passt. Wenn eine Family zu oft wegen Banalitäten nicht geht fliegt sie früher oder später wieder aus dem Portfolio raus oder kommt erst gar nicht hinein. Wenn TI mit den MSP430 auf Dauer Erfolg haben will müssen sie sich IMHO auch "08/15-Problemen" stellen.

Null Problem, aber in Software ist eine "ordentliche" PWM ein starkes Stück, auch in Assembler.

auch hier hab ich keine Einwände wenns funktioniert

na und, lass doch die Ungläubigen ;-)

Job erfolgreich erledigt, würd ich jetzt mal vermuten.

Grüße Erik

Reply to
Erik G.

Hallo Erik,

Der DCO kann pro Segment nur einen begrenzten Frequenzbereich ueberstreichen und man sollte von den Grenzen weit genug wegbleiben.

Der F2013 hat einen 16bit Wandler. 6 PWMs rufen allerdings eher nach DSP oder anderen Controllern.

Die 8051 Familie ist die einzige, bei der das in beschraenktem Rahmen geht. Deshalb waren bisher alle meine Designs 8051er :-)

Haben wir schon gemacht. Es gibt sogar Beispiele dazu bei Microchip, allerdings ziemlich schlapp in der Frequenz. IIRC erledigt auch der MSP430 im TI USB Programmieradapter noch nebenbei eine PWM.

Ja, doch als Consultant darf man keinen tosenden Beifall erwarten. Meist wissen die Kunden gar nicht, wieviel Gehirnschmalz da hinein ging. Sie bezahlen die Rechnung und damit hat es sich. Allerdings ist es schoen, wenn man nach zehn Jahren sieht, dass das Ding immer noch in Produktion ist.

Beim ersten hatte ich es fertiggebracht, den Math-Coprocessor des PC zu zerbrutzeln. Damals hatten PC nur um die 25MHz und so liess ich SPICE oft ueber Nacht laufen. Eines morgens vermeldete das gute Stueck einen Hardware Error.

Gruesse, Joerg

formatting link

Reply to
Joerg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.