Gehe zu Seite: |vorherige| Erste . 8 9 10 11 12 13 14 15 16 17 . 20 . 30 . 40 . 50 . Letzte |nächste|

Der Sure DSP Thread

+A -A
Autor
Beitrag
Kay*
Inventar
#555 erstellt: 11. Mai 2017, 21:25

Inkrementaldrehgeber

.. nur wie macht man dann die Anzeige?
IPv6
Stammgast
#556 erstellt: 11. Mai 2017, 22:03
Nahezu unmöglich.

Man darf hier einfach nicht vergessen, dass es sich um ein low budget DSP handelt, das auf einer schön kompakten Platine um die 20€ kostet und dafür schon verdammt viele Möglichkeiten bietet.
Für Projekte, die wirklich mehr Möglichkeiten benötigen, gibt es andere DSPs, die deutlich mehr können aber eben auch deutlich mehr kosten. Da diese für den Normalnutzer eher uninteressant sind baut kein mir bekannter Hersteller günstige Boards mit diesen Prozessoren.
MK_Sounds
Stammgast
#557 erstellt: 12. Mai 2017, 11:14

Kay* (Beitrag #555) schrieb:

Inkrementaldrehgeber

.. nur wie macht man dann die Anzeige?

Soweit ich weiß gibt es keinen Baustein in SigmaStudio, mit dem man abhängig von einem analogen Eingangssignal (Lautstärke) z.B. das Tastverhältnis an einem digitalen Ausgang einstellen könnte (pseudo PWM), mit dem man dann extern eine Anzeige umsetzen könnte.
In jedem Fall ist eine Visualisierung z.B. der Lautstärke nur mit externen Kunstgriffen möglich.

Die einfachste Möglichkeit erscheint mir den Analogwert des Potis zusätzlich zum DSP noch in einen ATTiny einzuspeisen. Von dort aus könnte dann recht einfach ein LED-Modul z.B. über I²C angesteuert werden. Müssten sogar die 6 Pin Versionen des ATTiny ausreichend sein von der Pinanzahl her, dementsprechend hätte das ganze nahezu keinen zusätzlichen Platzbedarf. Programmiermäßig sollte das mit einer Hand voll Zeilen Quellcode erledigt sein.
Verwendet man einen Inkrementaldrehgeber für die Lautstärkestellung werden es eben ein paar Zeilen Code mehr. Aber die Vorgehensweise wäre die gleiche.
Unschön ist natürlich, dass der DSP die letzte Stellung des Drehgebers nach dem Trennen der Stromzufuhr vergisst. Macht das ganze wieder unbrauchbar um damit z.B. eine Trennfrequenz einzustellen, da jedes mal erst wieder eingestellt werden müsste.
Kay*
Inventar
#558 erstellt: 12. Mai 2017, 14:17

Die einfachste Möglichkeit erscheint mir den Analogwert des Potis zusätzlich zum DSP noch in einen ATTiny einzuspeisen. Von dort aus könnte dann recht einfach ein LED-Modul z.B. über I²C angesteuert werden

Guter Gedanke!
Prima, wenn jemand Möglichkeiten aufzeigt,
anstatt immer "unmöglich" kommuniziert.

Ich bin bei Sigma erst am Anfang,
vlt. gibt's da es eine Möglichkeit einen analogen Mulitplexer anzusteuern,
entsprechend dem Gedanken mit dem 3-bit Drehschalter
und so 8 Potis "automatisch" abzufragen.
(Könnte man aber auch mit 'nem AVR machen,
denn der DSP fragt ja einstellbar seine GPIO's ab)
Kay*
Inventar
#559 erstellt: 12. Mai 2017, 14:51

danny08 (Beitrag #551) schrieb:
Gut, ich würde mich mal einlesen aber 4 Potis sind für mein Projekt einfach zu wenig.. Doppelbelegung wäre ne Option.

Ich zB wäre an einem Schalter interessiert, mit dem ich quasi entweder n Multiplexer
...
Ein LED als Clipping Leuchte wäre Interessant, die SigmaStudio Umsetzung ist mir bekannt, die Hardware Umsetzung allerdings nicht.

Anstatt einer LED kannst du doch einen analogen Multiplexer,
74hc4052 oder so, umschalten.
Ich weiss aber nicht, ob/wie man in Sigma die analogen Werte in
Abhängigkeit eines GPIO als Umschalter zuweisen kann.


IPv6 (Beitrag #556) schrieb:
Nahezu unmöglich.

Man darf hier einfach nicht vergessen, ... dafür schon verdammt viele Möglichkeiten bietet.

ein völlig überflüssiger Beitrag
so wie ich es sehe, hat weder ich, noch sonst jemand hier, die Möglichkeiten vollständig ausgelotet,
...
und darum geht es hier.

Tatsächlich ergeben sich einige Probleme, nicht aus dem günstigen Preis von 20€,
sondern aus dem (vereinfachten Betrieb) self-boot+EEprom.
Würde man das Dingens per I²C an einen AVR hängen, sieht es schon ganz anders aus
... aber das wäre mir zuviel Arbeit!


[Beitrag von Kay* am 12. Mai 2017, 14:59 bearbeitet]
MK_Sounds
Stammgast
#560 erstellt: 12. Mai 2017, 17:36

Guter Gedanke!
Prima, wenn jemand Möglichkeiten aufzeigt,
anstatt immer "unmöglich" kommuniziert.

Danke für die Blumen In den letzten Jahren bin ich zum Schluss gekommen, dass in der Elektronik immer alles möglich ist, die Frage ist nur mit welchen Mitteln.


Gut, ich würde mich mal einlesen aber 4 Potis sind für mein Projekt einfach zu wenig.. Doppelbelegung wäre ne Option.

Habe nun eine Weile drüber nachgedacht. Mein erster Gedanke war ein Stufendrehschalter. Damit könnte zwar einfach eine Doppelbelegung umgesetzt werden, allerdings müsste vor dem Umschalten der jeweils anliegende Analogwert im DSP gespeichert/aufrechterhalten werden.
Hier strandet man dann wieder recht schnell an den begrenzten Möglichkeiten von SigmaStudio.


Ich weiss aber nicht, ob/wie man in Sigma die analogen Werte in
Abhängigkeit eines GPIO als Umschalter zuweisen kann.

In der von mir verlinkten Application Note gibt es eine Sektion, wie man mittels LUT und Taster einen Multiplexer umschalten oder die Lautstärke einstellen kann. Meintest du sowas?


...sondern aus dem (vereinfachten Betrieb) self-boot+EEprom.
Würde man das Dingens per I²C an einen AVR hängen, sieht es schon ganz anders aus
... aber das wäre mir zuviel Arbeit!

Beim rein lesenden Betrieb umgeht man eben reichlich Probleme (z.B. Brown-Out / plötzlich abgeschaltete Spannungsversorgung während Schreibprozessen etc.). Was natürlich den essentiellen Nachteil mit sich bringt, keine zur Laufzeit eingestellten Parameter speichern zu können. Und genau dort liegt dann das Problem, wenn man bei fixer Anzahl an GPIO-Pins irgendwie erweitern will.

Hätte Analog Devices dem 1701er sinnvollerweise auch Auxiliary DACs spendiert, wäre vieles einfacher. Entweder man braucht nicht alle 4 DACs oder man gibt sein Signal digital (I²S) aus und kann dann entsprechend die DACs für Steuerungs-/Peripherieaufgaben verwenden.

Dann kommt man allerdings recht schnell zum Schluss von IPv6:

Für Projekte, die wirklich mehr Möglichkeiten benötigen, gibt es andere DSPs, die deutlich mehr können aber eben auch deutlich mehr kosten. Da diese für den Normalnutzer eher uninteressant sind baut kein mir bekannter Hersteller günstige Boards mit diesen Prozessoren.
Kay*
Inventar
#561 erstellt: 12. Mai 2017, 19:07

In den letzten Jahren bin ich zum Schluss gekommen, dass in der Elektronik immer alles möglich ist, die Frage ist nur mit welchen Mitteln.

genau meine Meinung

Wollte man ein "marktreifes" Projekt spielen wollen,
käme man um einen Steuerungsprozessor wohl nicht herum.
Ein grösserer DSP erledigt das eben nicht,
wenn der Anwender irgendein User-Interface,
vlt. noch mit Panel, usw.., haben will.
IPv6
Stammgast
#562 erstellt: 12. Mai 2017, 19:26
[quote="Kay* (Beitrag #559)"]ein völlig überflüssiger Beitrag :Y[/quote]

Hee!

Ich wollte nur mal dran erinnern, bevor noch jemand versucht mit dem Board zum Mond zu fliegen


[Beitrag von IPv6 am 12. Mai 2017, 19:59 bearbeitet]
Kay*
Inventar
#563 erstellt: 12. Mai 2017, 23:50

Ich wollte nur mal dran erinnern, bevor noch jemand versucht mit dem Board zum Mond zu fliegen

Ich wollte nur mal dran erinnern, dass mit dem DSP vlt. viel mehr möglich ist, als "wir" uns vorstellen


allerdings müsste vor dem Umschalten der jeweils anliegende Analogwert im DSP gespeichert/aufrechterhalten werden.

wie recht du hast!
Das hatte ich glatt vergessen, wie peinlich

p.s.
Der nächst bessere Chip - ADAU1452 - kostet etwa das 3-fache.
(Ein Design findet sich auf diyaudio.)
DEX|M
Ist häufiger hier
#564 erstellt: 13. Mai 2017, 07:18

Kay* (Beitrag #563) schrieb:

Ich wollte nur mal dran erinnern, bevor noch jemand versucht mit dem Board zum Mond zu fliegen

Ich wollte nur mal dran erinnern, dass mit dem DSP vlt. viel mehr möglich ist, als "wir" uns vorstellen




Es ist nur ein kleiner Schritt für den einzelnen Bastler - aber ein großer Schritt für die DIY Audio Menscheit
IPv6
Stammgast
#565 erstellt: 13. Mai 2017, 09:42
So, und um auch mal wieder inhaltlich was beizutragen:

Die Idee mit dem Multiplexer scheint mir die beste und sogar umsetzbar. Der Multiplexer wird mit drei GPIO Pins angesprochen (für einen 8-fach Multiplexer) und auf einem AUX ADC bekommt er den jeweiligen Wert rein.
Man muss also zum ansprechen des Multiplexers fortlaufend binär über die drei Pins von 0 bis 7 zählen. Das ist erstmal nicht so schwierig, Pin 1 gibt ein Rechtecksignal mit einer Frequenz X aus, Pin 2 ein Rechteck mit 2*X und Pin 3 mit 4*X. Schon zählt das binär durch und der Multiplexer schaltet fortlaufend seine Eingänge durch.
Jetzt das Problem: GPIO Pins lassen sich einfach per Rechtecksignalblock im Sigma Studio ansteuern. Habe ich gestern mal fix mit drei Pins gemacht und alle Ausgänge am Oszi beobachtet. Die verschiedenen Frequenzen laufen leider Phasenmäßig nach kurzer Zeit auseinander, das ist somit nicht brauchbar.
Es muss also eine Grundfrequenz mit einem Rechteckblock erzeugt werden, die dann zwei mal runtergeteilt oder verdoppelt wird, je nach dem was einfacher ist. An dem Punkt wars dann 2 Uhr nachts und ich bin ins Bett.

Das Demultiplexen sollte ebenfalls gehen:
Ich greife im Sigma Studio die drei Pins ab, die binär durchzählen. Jeder wird parallel zur Ausgabe mit einem "if a>0 then ausgang = b, else c" mit binäreingan a , der vom gpio pin abgezweigt wurde, b=1 und c=0 verbunden. Wenn auf dem ersten Pin eine 0 liegt, ist das nicht größer Null, der Ausgang somit 0. Kommt eine 1, ist das größer als 0, der Ausgang wird zur 1.

Pin 2 bekommt das gleiche, nur mit b=2, pin 3 ebenfalls nur mit b=4.

Kommt also auf Pin 2 eine 0, ist der Ausgang 0, kommt eine 1, ist der Ausgang 2.
Kommt auf Pin 3 eine 0, wird der Ausgang 0 sein, kommt eine 1, ist der Ausgang 4.

Das wird nun aufaddiert und abhängig vom Binärcode auf den Steuerleitungen bekomme ich die passende Dezimalzahl zwischen 0 und 7, die ich dann einem Demultiplexer-Block im Sigma Studo geben kann. Der schaltet dann parallel zum gerade abgefragten Poti den Eingangswert auf den richtigen der 8 Outputs um.

Dann braucht es für jeden Ausgang noch eine Möglichkeit, den vorherigen Wert zu behalten wenn gerade eine 0 ankommt weil der Demultiplexer gerade einen anderen Pin ausgibt. Das sollte ebenfalls mjt einer Vergleichsstelle wie oben gehen, die ihren Ausgang ebenfalls auf den Eingang c gibt.
Sprich "if a=0 then c, else a".
Liegt ein Wert ungleich 0 an wird er einfach durchgereicht, ist der Wert 0 wird der aktuelle Ausgangswert nocheinmal ausgegeben. Ich meine ich habe das mal so in einer Beispielschaltung gesehen.
Kleiner Nachteil: Wenn der AUX ADC eine Null erzeugt, word der vorherige Wert gehalten, es kann also keine absolute Null mehr ausgegeben werden sondern als kleinstmöglicher Wert nur noch der nächst größere. Das dürfte kaum relevant sein, die Wertebereich schrumpft eben von 0 bis 255 auf 1 bis 255.

Bleibt nur noch das Problem mit den 3 synchronen Taktquellen für die Ansteuerung des Multiplexers.
Eine Möglichkeit wäre vielleicht über einen Sinus zu gehen und diesen quadrieren, um wieder einen Sinus aber mit doppelter Frequenz zu bekommen. Der hat dann aber nur noch die halbe Amplitude und ist um den Wert seiner Amplitude nach oben verschoben, müsste also für eine erneute multiplikation mit sich selbst entsprechend aufbereitet werden. Das habe ich gestern Nacht auf die schnelle nicht mehr hinbekommen.


[Beitrag von IPv6 am 13. Mai 2017, 09:54 bearbeitet]
MK_Sounds
Stammgast
#566 erstellt: 13. Mai 2017, 09:47

Der nächst bessere Chip - ADAU1452 - kostet etwa das 3-fache.

Hatte mir den Chip auch schon angeschaut. Für rein digitale Signalverarbeitung nicht schlecht. Für die Zukunft kann man den im Hinterkopf behalten. Da ich momentan aber auch teilweise noch analoge Eingangssignale verarbeiten will, habe ich den ADAU1701 als Basis genommen, um mir zumindest die Anbindung eines externen ADCs zu sparen.

Momentan arbeite ich an der Anbindung einer digital angesteuerten Class-D-Endstufe mittels I²S an den Sure DSP, bzw. allgemein ADAU1701. Sprich Umsetzung von PCM direkt in PWM, ohne dazwischenliegende DA-Wandlung.
Die Technologie ist im Grunde im Automotive- und Consumerelektronik-Bereich (Fernseher, Dockingstations, Headunits im Auto etc.) sehr verbreitet, fristet allerdings im Bastler-/Hobby-Bereich ein Nischendasein, da die meisten schlicht nicht wissen, dass sowas existiert.

Ich hadere gerade mit dem 12,000 MHz Quarz auf dem Sure DSP. Gehe ich recht in der Annahme, dass der Clock zwingend passen muss, wenn man die digitalen Schnittstellen nutzt ?
Die PLL_MODE Pins des ADAU sind wie folgt beschalten: PLL_MODE0 ist low, PLL_MODE1 ist High (3,3V)(ohne Pull-Widerstände ). Was natürlich so auch zu erwarten war bei einem 12 MHz Quarz. Allerdings passt dann eben die tatsächliche Samplerate/LRCLK beim Teiler 256 nicht mehr ganz (46,875 kHz).

Entsprechend gehe ich davon aus den Quarz ersetzen zu müssen. Der User Ymf hat das ja schon erfolgreich zum Laufen gebracht. Allerdings mit einem bedrahteten Quarz, ein passendes SMD-Package wäre mir natürlich lieber. Meine Suche bei Reichelt hat keine Treffer ergeben, lediglich in 24,576 MHz, wofür dann aber wieder der PLL_MODE angepasst werden müsste, was wiederum so einfach auch nicht geht. Werde wohl mal bei Mouser schauen müssen. Wenn jemand was passendes hat, bitte mitteilen.

Tante Edit:
@IPv6: In der von mir verlinkten Application Note ist eine Möglichkeit beschreiben, einen Multiplexer mittels LookUp-Table und einem Taster anzusteuern. Würde das den ersten Teil der Prozedur nicht stark vereinfachen?


[Beitrag von MK_Sounds am 13. Mai 2017, 09:54 bearbeitet]
MK_Sounds
Stammgast
#567 erstellt: 13. Mai 2017, 17:36
Zur Info bezüglich dem passenden Quarz. Habe nun den folgenden bestellt:
Ebay - ABRACON ABM8G-12.288MHZ-18-D2Y-T
SMD-Package ist 3.2mm x 2.5mm, 12.288 MHz, load capacitance 18 pF. Gibts auch bei Mouser. Die bedrahtete Version wäre zwar wesentlich billiger, aber das SMD-Bauteil passt eben sauber.
Ymf
Stammgast
#568 erstellt: 13. Mai 2017, 18:43
Das Angebot habe ich auch gesehen, mir hat nur die Lieferzeit damals nicht gepasst, weswegen ich mich für den Test für die bedrahtete Variante entschieden habe. Aktuell warte ich auf einen zweiten DAC, da ich, wie gesagt, die Vermutung habe, dass ich bei den bisherigen Test den ersten geschrottet habe.
Ich freue mich aber, dass ich mich nun nicht mehr allein mit dem Thema I2S-Anbindung vom Sure-Bord herumschlagen werde.
Wenn es Fragen gibt zu meinem bisherigen Vorgehen, immer her damit!
IPv6
Stammgast
#569 erstellt: 13. Mai 2017, 19:27
Die Application Note und mein Vorgehen beschreiben zwei völlig verschiedene Dinge.

Die Application note beschreibt zwei Varianten, wie man per Taster bzw. per Poti auswählen kann, welche Funktion ein externes Poti steuert.
Sprich man hat weiterhin 4 Potis und zwei Taster und kann mit den Tastern auswählen, welche Funktion das jeweilige Poti bedienen soll. Also eine Doppelbelegung der Potis. Diese ist aus mehreren Gründen extrem unpraktisch.
Wenn ich z.B. mit Poti 1 eine Funktion A bediene und dann per Taster das Poti 1 auf Funktion B umschalte und das Poti verstelle, weiß ich nicht mehr, welche Potistellung mit Funktion A zusammenhängt. Wenn ich nun das Poti 1 wieder auf Funktion A stelle, springt der Wert plötzlich auf den Wert, auf den das Poti für Funktion B gedreht wurde. Der Wert der jeweiligen Funktion verändert sich als zwangsweise, sobald die Funktion ausgewählt wird.
Oder der alte Wert muss erst wieder "abgeholt" werden, das ist aber sicher nicht einfach zum implementieren und fühlt sich auch alles andere als analog an. Die intuitive Bedienung ist auch nicht gegeben.
Zum Anderen ist der Zugriff auf die einzelnen Funktion ziemlich umständlich. Möchte ich Funktion C bedienen, muss ich erst per Taster dahin navigieren, bevor ich den Wert verstellen kann. Selbst wenn LEDs signalisieren welche Funktion gerade auf welchem Poti aktiv ist (was pro Belegung einen weiteren GPIO Pin benötigt), ist das nicht gerade komfortabel. Wenn man 4 Potis nutzt bleiben 8 GPIO Pins übrig. Für jedes Poti braucht es zwei Taster zum Funktion auswählen, da ist dann gar kein Pin mehr für LED Anzeigen übrig.
Da ist es sicher einfacher, die Funktion direkt mit Tastern (Wert erhöhen/Wert verringern) sicher einfacher un bequemer.

Meine Methode beschreibt eine ganz andere Möglichkeit.
Und zwar die Verwendung von 8 Potis an einem einzigen AUX ADC, was es ermöglichen würde, bis zu 32 Potis an der Frontplatte zu verbauen und auch alle Werte im Sigma Studio quasi gleichzeitig zu benutzen. Dazu ist ein externer Multiplexer nötig, z.B. ein 4051.
Dieser schaltet einen von 8 Eingängen auf einen Ausgang, abhängig davon, welchen binären Wert er auf seinen Steuerleitungen (3 Stück = 3 Bit = 8 Möglichkeiten) bekommt.
Also kommen am AUX ADC abwechselnd (einige hundert Male die Sekunde würden für eine flüssige Bedienung reichen) 8 verschiedene Analogwerte an. Die Software muss nun erkennen, zu welchem Poti der gerade anliegende Wert gehört und das wieder auf 8 Analogwerte aufdröseln. Diese werten dann zwar nicht ständig aktualisiert, sondern nur 1/8 so oft wie ohne den Multiplexer, das sollte aber ausreichen.
Die Aufgabe der Software muss also sein, den ankommenden Wert richtig zuzuordnen, auf 8 verschiedene Ausgängen bereitzustellen und dafür zu sorgen, dass der jeweilige Wert solange gehalten wird (am Ausgang anliegt), bis er wieder aktualisiert wird (bis der Multiplexer wieder das entsprechende Poti abfragt).
Eine mögliche Umsetzung von der Geschichte beschreibt mein letzter Beitrag. Nicht ganz simpel, wenn man sich das aber aufmalt ist es eigentlich logisch.

Das Vorgehen würde zusätzlich zu den 4 AUX ADC nur drei weitere GPIO Pins benötigen, und eben einen externen Multiplexer-IC. Und eine gute Portion Software für die Auswertung. Da jede Operation der Auswertung aber vergleichsweise simpel ist dürfte das den Prozessor nicht überfordern.

5 GPIO Pins wären weiterhin für andere Dinge frei.


[Beitrag von IPv6 am 13. Mai 2017, 19:32 bearbeitet]
Kay*
Inventar
#570 erstellt: 13. Mai 2017, 20:41
[quote="MK_Sounds (Beitrag #566)"][quote]
Ich hadere gerade mit dem 12,000 MHz Quarz auf dem Sure DSP. [b]Gehe ich recht in der Annahme, dass der Clock zwingend passen muss, wenn man die digitalen Schnittstellen nutzt ?[/b][/quote]

sofern du per I²S rein willst, dann schon
(in vielen Fällen wird man daneben einen SRC brauchen,
z.B. wenn man 44.1, 48, 96 und 192 verarbeiten will.
Deshalb wäre für digitales Audio der ADAU1452 die bessere Wahl, da SRC drinne).
Für PWM raus sollte es doch egal sein.

Clock muss aber wohl nicht auf dem DSP sein,
kann auch vom SPDIF-Receiver kommen.


[Beitrag von Kay* am 13. Mai 2017, 21:00 bearbeitet]
MK_Sounds
Stammgast
#571 erstellt: 15. Mai 2017, 20:19
Hat jemand schon mal mit einem Bluetooth-Modul mit I²S-Output gearbeitet ?
Bin momentan auf der Suche nach einem geeigneten, am besten fertigen Modul. Vorschläge gern gesehen
Auf Ebay bin ich auf den CSR A64215 gestoßen.
Bei Mouser noch der Laird BT 800.
danny08
Stammgast
#572 erstellt: 15. Mai 2017, 20:28
Das mit dem Multiplexer hört sich garnicht so schlecht an. Freiwillige vor.
Mein Wissen in der E Technik reicht da bisher nicht für aus, aber vielleicht schau ichs mir an.
Momentan wird mein ClassD Verstärker eh umgebaut und fürn Kollegen gleich n zweiten mit.. Da wäre das schon sehr nice.
IPv6
Stammgast
#573 erstellt: 15. Mai 2017, 22:41
Das mit dem Multiplexer sollte so wirklich funktionieren, das einzige Problem ist noch die synchrone Takterzeugung zur Ansteuerung des Multiplexers.
Mir fehlt da leider im Moment wirklich die Zeit dazu, die größte Denkarbeit ist aber bereits erledigt.

Eine Idee kam mir noch als synchrone Taktquellen, ist aber nicht ganz simpel:

Eine Rechteckquelle speist einen Taktzähler. Der Ausgang vom Zähler wird über eine Vergleichsstelle überwacht und sobald der Zähler bei 7 ist, wird der Zähler resetet. Das heißt aus dem Zähler kommen fortlaufend die Zahlen 0 bis 7.
Dahinter braucht es dann die Umwandlung in eine dreistellige Binärzahl.
Dazu wird geschaut, ob die Zahl größer oder gleich als 4 ist. Falls ja, wird der erste GPIO Pin, der das MSB darstellt, schonmal high.
Für das nächste Bit wird die Zahl, sofern sie größer gleich 4 war, um 4 verkleinert. War die ursprüngliche Zahl kleiner als 4 wird nichts abgezogen. Nun wird mit 2 verglichen und geschaut, ob das Ergebniss größer oder gleich 2 ist. Falls ja, wird der entsprechende GPIO Pin auch high. Falls nein, bleibt er eben low. Wieder werden 2 abgezogen, sofern die verbliebene Zahl größer oder gleich 2 war, sonst wird wieder nichts abgezogen.
Für den dritten GPIO Pin, der das LSB darstellt, wird geschaut, ob die nun verbleibende Zahl 1 ist. Falls ja, wird auch der GPIO Pin high, sonst low.

Beispiel:
Der Taktzähler ist gerade bei 5.
Es wird vergleichen, ob die 5 größer oder gleich 4 ist. Ist sie, also wird der erste GPIO Pin high.
Es werden 4 von der 5 subtrahiert, bleibt noch 1. Es wird vergleichen, ob 1 größer oder gleich 2 ist. Ist sie nicht, also wird der zweite GPIO Pin low und es wird nichts abgezogen. Nun wird geschaut, ob die verbleibende Zahl 1 ist. Ist sie, also wird der letzte GPIO Pin auch high.

An den drei Ausgangspins liegt nun 1, 0 und 1. Das stellt binär die 5 dar, die am Eingang der ganzen Schaltung stand.

Ich denke das ist sicher nicht der einfachste Weg, da die Ausgänge aber direkt abhängig von einer Zahl geschalten werden gibt es keine Phasenverschiebungen mehr.
Gäbe es eine modulo-Operation wäre die Umwandlung der Dezimalzahl in eine dreistellige Binärzahl deutlich einfacher, mir ist aber auf die schnelle keine andere Möglichkeit eingefallen, das umzuwandeln. Mag aber auch an der Uhrzeit liegen.

Auch wenn es nicht die einfachste Möglichkeit ist, so müsste man einen Multiplexer am ADAU1701 ansteuern und auswerten können.
Die bis zu 32 Potis am Board sollten doch eigentlich genug Motivation bieten, es mal zu versuchen. Bei dem ganzen Logikkram muss man eben zehn Mal um die Ecke denken, ich bin da auch nicht sonderlich gut drin.
DommeP
Stammgast
#574 erstellt: 16. Mai 2017, 07:27
Moin moin,

ich bin hier derzeit eigentlich nur mitleser - hätte aber evtl noch einen Lösungsansatz.

Auch wenn ich herrauslese das die meisten möglichst viel im DSP ohne weitere Rechenleistung lösen wollen möchte ich meine Gedanken mitteilen

Ich kenne die Möglichkeiten um den ADAU zu progammieren nicht wirklich, hab aber jetzt im Hinterkopf das der per se die möglichkeit mitbringt via Tastern das Potisignal anderen Variablen zuzuordnen und die andere Variable im System hällt - soweit richtig?

Ich würde einen uC dazwischen packen der für einen die "Taster" bedient. Bin letztens über den Teensy gestolpert. Der hat 8 - 27 ADCs für Potis, könnte mit dem Mapping das man auch im DSP verwendet eine am Poti geänderte Frequenz o.ä. direkt auf einem Display anzeigen lassen, und über PWM Ausgänge und nem Tiefpass die Poti eingänge mit einem Signal versorgen. Und mit DOs Taster simulieren die die Zuordnung wählen. Der uC erkennt welches Poti gedreht wird und ändert den passenden Wert für den DSP ohne das man selbst umschalten oder alte Werte abholen muss. Es gibt auch keine Sprünge beim Umschalten und wer Drehimpulsgeber + LEDs benutzen möchte kann das auch tun.

Je nachdem könnte man statt der 4 16bit PWM + RC auch die beiden DACs des Tensy nehmen, weiß aber nicht ob man den Eingängen vom DSP auch mehr als 2 Variablen zuordnen kann...

Noch schicker wäre es natürlich dem DSP die Werte via I2C oder SPI mitzugeben, hab mich aber nicht in die vom Selfboot Mode abweichenden Möglichkeiten eingelesen. (Oder ob man auch in dem Modus die Schnittstellen nutzen kann)

Gruß,
Domme
IPv6
Stammgast
#575 erstellt: 16. Mai 2017, 20:15
Das mit dem externen µC ist sicher auch eine gute Möglichkeit. Aber immerhin ist der ADAU1701 ja schon selber ein µC, der mit dem entsprechenden Programmieraufwand relativ viel selber kann. Zugegebenermaßen ist das Programmieren per Bauklötzchen nicht immer der übersichtlichste und einfachste Weg, aber letztendlich funktioniert es.

Ich hab mir mal die Mühe gemacht meine bisher nur schriftlich festgehaltenen Gedanken in ein Sigma Studio Projekt zu packen und versucht, es irgendwie übersichtlich zu halten.

SigmalStudio Multiplexer

Ein paar Erklärungen dazu:

Der Übersichtlichkeit halber wird die logische 0 und die logische 1 nur einmal erzeugt (per DC Block) und dann immer wieder verwenden. Die entspechenden Fähnchen sind beschriftet, damit es etwas einfacher zum lesen ist.

Der PulseCount Block zählt die Anzahl der Pulse vom vorgeschalteten Rechtecksignalgenerator. Ist er bei über 7 angelangt wird der Zähler zurückgesetzt und fängt wieder bei 0 an. Diese Aufgabe übernimmt der ABCD1 Block, der den aktuellen Wert mit 7 vergleicht und bei Bedarf eine 1 an den Reset-Pin des Zählerblocks anlegt. Am obersten Eingang liegt dauerhaft eine 1, damit der Zähler überhaupt läuft (Enable Pin des Zählers).

Die Zahl, die ständig von 0 bis 7 hochzählt wird nun auf 3 Multiplexerbausteine gegeben. Jeder Multiplexer sorgt dafür, dass der jeweils verknüpfte Output die passende Binärzahlstelle zur anliegenden Dezimalzahl erzeugt. Liegt z.B. eine 5 an, schaltet der oberste Multiplexer (MSB) seinen fünften Eingang auf den Ausgang durch, das ist eine 1. Der Mittlere schaltet auch seinen fünften Eingng durch, das ist eine 0. Und der Unterste (LSB) schaltet ebenfalls seinen fünften Eingang durch, das entspricht einer 1.
So wird für jede anliegende Dezimalzahl die passende Binärzahl erzeugt und auf den GPIO Pins 0, 1 und 2 ausgegeben. Beim Beispiel 5 eben 101.

Diese drei Pins werden nun verwendet, um das externe Multiplexer-IC (z.B. ein 4051) anzusteuern. Das IC schaltet dann das passende der 8 Potis auf seinen Ausgang, der wiederum mit dem AUX ADC 0 auf dem Board verknüpft ist.

Im Programm wird nun abhängig vom abgefragten Poti der auf AUX ADC 0 ankommende Wert auf 8 Ausgänge verteilt (Demultiplexing). Dort kann nun also der passende Potiwert abgegriffen werden.

Allerdings liegt ja nur 1/8 der Zeit ein korrekter Wert an, immer wenn der Demultiplexer gerade einen Ausgang ansteuert sind die anderen Ausgänge Null. Damit dort der letzte abgefragte Wert solange anliegt, bis ein neuer Wert abgefragt wurde, ist beispielhaft für den ersten Ausgang die Halteschaltung aufgebaut. Diese müsste dann ebenfalls für die restlichen 7 Ausgänge aufgebaut werden, das habe ich mir im ersten Schritt erspart.

Die Halteschaltung macht folgendes: Sie schaut, ob der Wert kleiner oder gleich 0 ist (kleinergleich nur desshalb, weil es kein reines istgleich zu geben scheint, kleiner als 0 wird der ankommende Wert sowieso nie). Ist der ankommende Wert = 0, der Demultiplexer aktualisiert also gerade einen anderen Wert, wird der aktuell am finalen Ausgang anliegende Wert nocheinmal ausgegeben. Wird der Wert nun aktualisiert, ist der Wert meistens größer als 0 und somit steht er direkt am finalen Ausgang bereit. Schaltet der Demultiplexer wieder um, liegt am entsprechenden Demultiplexerausgang eine 0 und der letzte am finalen Ausgang anliegende Wert wird nocheinmal ausgegeben.


Es sollte kein Problem sein, das ursprüngliche Rechtecksignal auf 1kHz zu stellen, dann wird jeder Potiwert mehr als 100 Mal pro Sekunde aktualisiert. Die Latenz des externen Multiplexers liegt im einstelligen Nanosekundenbereich und ist für diese Anwendung nhezu zu vernachlässigen. Das bedeutet sobald über die GPIO Pins ein bestimmter Eingang vom externen Multiplexer abgefragt wird, steht er auch schon am AUX ADC Eingang bereit.

Die vom mir entworfene Schaltung ist ungetestet und somit vermutlich nicht ohne kleine Änderungen lauffähig. Besonders bei den Zahlen könnte es Probleme geben, ich bin mir nicht sicher ob die 1 im 5.23 Format wirklilch immer die logische 1 darstellt. Da muss vermutlich noch rumprobiert werden.
Auch ist es nicht unbedingt der effizienteste oder einfachste Weg, vermutlich nur ein Weg von vielen.
DommeP
Stammgast
#576 erstellt: 17. Mai 2017, 08:36
Jetzt weiß ich auch warum ich nichts zu den Programmiermöglichkeiten des DSP auf dem Schirm hatte
Ich hab mich bei Siemens so auf AWL und dann SCL/ST gestürzt das ich den FBS-Kram (in dem ich vor 2 Jahren noch Ausgebildet hab) schon komplett ausblende

Für "nicht Programmierer" sondern "DSP Anwender" (sofern man das hier im DIY trennen kann) ist diese Art zu Programmieren wohl verständlicher und für das erstellen der Signalverarbeitung des DSP ja sowieso...
Jetzt weiß ich auch wie es sein kann das du kein Modulo gefunden hast
Hab schon daran gezeifelt das der sich überhaupt gescheit Programmieren lasssen kann...
Gibt es Bausteine für I²C oder SPI kommunikation?

Ich glaub ich sehe mal zu ob ich Zeit finde die Software anzuschauen. Und schaue mal das ich in dem Dutzend Seiten hier finde ob und wie gut das ganze mit meinem Win10 Notebook läuft, ich glaube die USBs laufen alle über einen 3.0 Chip

Edith ist grad nochmal über etwas gestolpert:

•Auxiliary ADC with 4-input mux for analog control

Ich weiß nicht ob das hier schon mal Thema war, aber wäre gut zu wissen wie oft die 4 Eingänge gelesen werden.
Die Lösung von IPv6 muss dann entsprechend "langsam" ausgelegt werden...


[Beitrag von DommeP am 17. Mai 2017, 08:47 bearbeitet]
danny08
Stammgast
#577 erstellt: 17. Mai 2017, 09:06

DommeP (Beitrag #576) schrieb:
... und wie gut das ganze mit meinem Win10 Notebook läuft, ich glaube die USBs laufen alle über einen 3.0 Chip :.

Das ist kein Todesargument, aber WENN du bei vollständig korrekter Installation und Anwendung immer noch wirklich Probleme hast, solltest du das als Fehlerquelle erwägen...
Wie gesagt ich kenn tausend Geräte wo man sagt das gibt Probleme mit usb3 aber die liefen alle, bis auf das cypressboard bei mir.
Mit dem anderen laptop wiederum läufts einwandfrei, Programmieren geht immer beim ersten versuch.
IPv6
Stammgast
#578 erstellt: 17. Mai 2017, 09:24
Zur Geschwindigkeit, mit der die 4 analogen AUX Eingänge abgefragt werden, habe ich nichts gefunden. Ich gehe aber davon aus, dass mein Beispiel auch noch mit 500 Hz ausreichend oft alle Potis abfragt und dennoch langsamer läuft als der eingebaute mux. Eine Abfragerate von ein paar kHz ist ja heute nichts besonderes.
Alles spekulieren bringt uns da aber nicht weiter, das Ding muss einfach mal getestet werden. Mal gucken ob es jemand anderes vor mir schafft
Kay*
Inventar
#579 erstellt: 17. Mai 2017, 12:43

Zur Geschwindigkeit, mit der die 4 analogen AUX Eingänge abgefragt werden

abgetastet wird zumindest mit jedem Audio-Sample,
steht im oben verlinkten pdf
---------------------------------
edit:
manchmal drehe ich durch
ich habe jetzt auch das Cypress,
Treiber für Win7-32 von
https://github.com/f...CES/DRIVERS/Win7/x86
Programmer wird nicht erkannt.
Dann im Sigma unter Treiber dpinst.exe ausgeführt.
Jetzt steht im DeviceManager unter USB-Controller
wenigstens schon mal "Analog Devices USBi (programmed)"
Möglicherweise schreibt Sigma irgendetwas auf das Cypress
(deshalb vlt. auch ohne Jumper installieren?
warum zum Teufel habe ich nirgends gelesen, welche Fkt die Jumper haben?
Müssen die später wieder drauf?)

jetzte sieht's so aus
Cypress-Treiber-Install
Welche Bedeutung hat EZ-USB?

Sigma zeigt unter "Hardware Configuration"
USB in grün,
wenn ich den Programer abschalte entsprechend rot


[Beitrag von Kay* am 17. Mai 2017, 16:01 bearbeitet]
DommeP
Stammgast
#580 erstellt: 18. Mai 2017, 07:31
Alles neu macht der Mai... Wie das nunmal so ist wenn man sich immer wieder durch irgendwelche Shops klickt, ab und an findet man was neues.

Im Hobbyhifiladen gibt's ab dem 26.05. einen "Programmer für Sure DSPs" für knappe 20 €.

Da das schon die komplette Informationsflut ist die sich aus der Beschreibung auf neugierige ergießt: hat hier Jemand schon nähere Informationen dazu gefunden?

Auf den Bildern sieht die (nicht wirklich leere) Platine nur z.T. bestückt aus, kp ob die Platine so schon irgendwelche Vorteile zu bieten hat oder sich das BT lohnen würde.

Finden kann ich dazu atm leider nicht viel :/
danny08
Stammgast
#581 erstellt: 18. Mai 2017, 07:34
Wäre ja mal ne schöne Sache, ich bestelle den beim nächsten mal mit.
Schreib doch hhl an, der gute herr da kann dir das bestimmt sagen.
Ymf
Stammgast
#582 erstellt: 18. Mai 2017, 08:09
Sieht auf den Bildern zumindest nach dem selben Cypress-Chip aus, wie dieser auch auf der 5€ Version drauf ist. Interessant dürfte es also nur werden, wenn es dafür eigene Treiber geben sollte.
Kay*
Inventar
#583 erstellt: 18. Mai 2017, 11:55


Im Hobbyhifiladen gibt's ab dem 26.05. einen "Programmer für Sure DSPs" für knappe 20 €.

ganz tolle Leistung,
der Programmer steht schon seit 2 Monaten bei Sure im Programm.
Das der Hobbyhifiladen erst jetzt überhaupt eine Programmer im Programm,
ist einfach nur böse
IPv6
Stammgast
#584 erstellt: 18. Mai 2017, 13:03
Meckern ist immer einfach

Nichtmal ein bisschen Bastelei ist bei einem 20€ DSP akzeptabel...

Am besten sollte der Programmer noch integriert sein und das Ganze nur 10€ kosten, oder?

Bestimmt hat der Hobbyhifiladen mit Absicht sas Ding solange nicht im Programm gehabt, nur um die Anwender zu ärgern.
Du hättest das Teil ja selber importieren und verkaufen können wenn es so einfach ist, oder? Genug Abnehmer dafür gibt es sicherlich.


[Beitrag von IPv6 am 18. Mai 2017, 13:05 bearbeitet]
Kay*
Inventar
#585 erstellt: 18. Mai 2017, 14:32

Du hättest das Teil ja selber importieren und verkaufen können wenn es so einfach ist, oder?

warum sollte denn ICH einen Laden aufmachen?

Am besten sollte der Programmer noch integriert sein und das Ganze nur 10€ kosten, oder?

2x Versandkosten, wenn ich bei 2 Händlern bestellen muss sind schon 10€


Am besten sollte der Programmer noch integriert sein

ich bin mehr und mehr der Überzeugung,
man sollte wirklich einen Programmer selbst machen.
Dann hätte man auch gleich einen µC, um Daten auf den Bus zuschreiben,
denn,
die Geschichte mit den Potis ist zum Basteln sicherlich ausreichend,
aber,
ich habe vor einiger Zeit ein bisschen gebastelt/programmiert:
Poti auf ADC von AVR und
5bit raus auf Relais für Lautstärke und
ausdekodiert auf einen 32-fach Led-Balken
32 Positionen lassen sich noch halbswegs "treffsicher" per Poti einstellen,
sofern man eine optische Kontrolle hat.
Besser wäre anders
(zumal mit Sicherheit irgendwann jemand auf die Idee kommt,
die Lautstärke am DSP per Fernbedienung einstellen zuwollen )

---------------
edit:
da ist mir doch gerade etwas eingefallen, um erstmal beim Selfboot-Mode zubleiben.
ich habe auf 'ner Schrottplatine DS1267 (per AVR einstellbare Potis).
Noch 'nen LCD (und eine IR-Receiver und ... und ...) an den AVR, und fertich


[Beitrag von Kay* am 18. Mai 2017, 15:02 bearbeitet]
IPv6
Stammgast
#586 erstellt: 18. Mai 2017, 15:36
Was stört dich an der Potilösung? Das ist mir immernoch nicht ganz klar.
Welche Ziele verfolgst du denn allgemein mit dem Board, was wäre eine denkbare Anwendung, die aktuell nicht möglich ist?
Was genau soll ein Controller machen, nur analoge Spannungen einlesen und weitergeben?

Mit externen Controllern haben schon ein paar Leute angekündig was zu machen. So ganz einfach scheint es wohl nicht zu sein, ich habe bisher noch keinen funktionierenden Aufbau gesehen.
Kay*
Inventar
#587 erstellt: 18. Mai 2017, 15:54
vor weg, ich denke parallel, für mich, aber auch die Anforderungen der anderen Mitspieler


IPv6 (Beitrag #586) schrieb:
Was stört dich an der Potilösung?

- keine genaue Einstellung möglich
- mit der Zeit "kratzen"


Welche Ziele verfolgst du denn allgemein mit dem Board

bei mir ist es eher unproblematisch, da feste Parameter ausreichen
- Kanäle R/L bisschen equalizen
- Kanäle Sub-Front, Sub-Back: bisschen equalizen/filtern, aber vor allen Dingen Delay (für DBA)


Was genau soll ein Controller machen, nur analoge Spannungen einlesen und weitergeben?

Ich bin mir darüber noch nicht im Klaren, weil es muss nicht,
ich hätte aber sehr gerne 'Delay' zwischen Front und Back
auf einem Poti/besser Drehencoder mit Anzeige in Metern/cm


Mit externen Controllern haben schon ein paar Leute angekündig was zu machen. So ganz einfach scheint es wohl nicht zu sein, ich habe bisher noch keinen funktionierenden Aufbau gesehen.

Ich bin mir darüber noch nicht im Klaren,
ich habe gerade im Datenblatt gelesen, dass man im Selfboot weitere Parameter reinschieben könnte
IPv6
Stammgast
#588 erstellt: 18. Mai 2017, 16:03
Die wirklich exakte Postionierung eines Potis ist natürlich nahezu unmöglich. Dazu geht der Drehencoder viel besser, der Knackpunkt ist da wieder die Anzeige.

Ich brauche mehr "analoge" Funktione am DSP, Lautstärke, Trennfrequenzen, EQs, Filter und dergleichen.
Da sehe ich die Potis klar im Vorteil, da man das mehr oder weniger nach Gefühl einstellt und keine exakte Positionen braucht. Die Anzeige der ungefähren Position geht beim Poti eben schön einfach über eine Markierung am Drehknopf.

Das Kratzen der Potis ist kein wirklicher Nachteil. Halbwegs brauchbare Potis (~1,50€) halten bei nicht allzu heftigen Einsatzbedingungen sehr sehr lange und sind im Fall der Fälle in zehn Jahren auch mit kleinstem Aufwand getauscht.
Bei fordernden Einsatzbedingungen wird generell jedes Bauteil nicht alt, auch kein Taster, Schalter oder Drehencoder.
Kay*
Inventar
#589 erstellt: 18. Mai 2017, 16:17
Für mich erschliesst es sich nicht wirklich,
warum man die Trennfreq. per Poti einstellen will.
Letzlich muss man EQ's bei Änderungen mitführen,
um passende Filter zubekommen.

Da man ohnehin Messen muss, wäre hier eine exakte Anzeige vernachlässigbar.
(gilt natürlich auch für mein Delay,
aber bei Einschränkung des Poti-Stellbereichs sieht dann wieder exakter aus)


[Beitrag von Kay* am 18. Mai 2017, 16:20 bearbeitet]
IPv6
Stammgast
#590 erstellt: 18. Mai 2017, 18:52
Wir reden hier von komplett unterschiedlichen Dingen.

Meine Anwendung war mehr in die Richtung:
Ein Kasten mit 4 Ausgänge, für jeden Ausgang Volume, Highpass, Lowpass, Highshelf und Lowshelf einstellbar. Eventuell per Schalter noch eine Unschaltung der Flankensteilheit.
Damit ließe sich dann mal schnell für wenig Geld ein paar Partyboxen oder Ähnliches in Betrieb nehmen.

Also grundsätzlich Dinge, die für zig verschiedene Anwendungen gedacht sind und mal schnell mal grob nachjustiert werden müssen. Wo es ausreicht zu wissen, dass auf 12 Uhr ungefähr die 100 Hz liegen und auf 3 Uhr 200 Hz.
High- und Lowshelfs dreht man solange, bis sich ein halbwegs stimmiges Klangbild ergibt.
Du siehst, sehr weit weg von HighEnd.

Wer das DSP zusammen mit einem Messmikrofon verwenden möchte, um eine fest installierte Anlage zu optimieren oder einzustellen, kann eigentlich auf sämtliche Potis und Drehencoder verzichten. Ich würde das einmal einstellen und dabei belassen, im Fall der Fälle eben nochmal den Laptop anstöpseln um etwas zu verändern.
Höchstens einen Schalter anbringen, um die Möglichkeit zu haben, nach 22 Uhr die Bässe etwas abzusenken oder sowas in der Art.

Offensichtlich ist das Ding so universell, dass es problemlos möglich ist, absolut aneinander vorbei zu reden

Edit:
Oder siehe mein letztes Projekt mit den Teilen, habe ich auch im Forum vorgestellt. Da kommt man einfach nicht um Potis herum und ein paar mehr wären durchaus sehr praktisch gewesen.


[Beitrag von IPv6 am 18. Mai 2017, 18:57 bearbeitet]
Ymf
Stammgast
#591 erstellt: 20. Mai 2017, 10:55
Da sich hier scheinbar doch einige auskennen, frage ich einfach mal in die Runde.

Mein Anwendungsfall ist den ADAU mit einem PCM5102-DAC zu betreiben. Verbindung per I2S im 3-Wire-Betrieb, also ohne Masterclock. Der Fortschritt ist aktuell folgender: Ich bekomme Ton aus dem PCM, allerdings bricht dieser nach einer gewissen Zeit (wenige Sekunden) ab. Auch darf ich nicht zu laut drehen, denn dann gibt es keinen Ton mehr, sondern nur noch sehr lautes Knacken, wie dauerhaftes Einschaltploppen.

Nun die eigentliche Frage. Es geht um die Logic-Spannungen.
Beim PCM ist im Datenblatt alles relativ klar. Bei einem DVDD von 3,3V (aktueller Fall) sollten die Eingänge 3,1-3,4V, max. 3,9V aufweisen. Würde man DVDD auf 1,8V legen, entsprechend 1,7-1,9V und max. 2,2V.
Das Datenblatt des ADAU ist für mich nicht ganz verständlich. Es wird eine DVDD von 1,8V vorgegeben. Bei den GPIOs steht, dass sie als Ausgang bis maximal IOVDD=3,3V ausgeben können. Im Abschnitt I2S wird dann nicht mehr auf die Spannungen eingegangen. Die Frage ist nun also, mit welcher Spannung die I2S-Ausgänge des ADAU funktionieren?

Ich habe leider keine Möglichkeit gefunden diese zu messen und bevor ich den DAC riskiere, frage ich einfach mal nach.
TriMax
Ist häufiger hier
#592 erstellt: 20. Mai 2017, 11:32
Hallo zusammen,

ich hab in den letzten Tagen den Thread hier durchgelesen und mich auch so etwas mit dem DSP-Thema beschäftigt.
Ich bin dabei auf ein paar Fragen gestoßen, von denen zumindest eine m.E. auch hier in den Thread passen würde:

Kann man den Sure-DSP als "De-Symmetrierer" einsetzen?

Mein Gedanke war, den DSP zur aktivierung einer Mehrwege-Box zu nutzen, wozu man ja erstmal nur einen Eingang bräuchte.
Wenn man den DSP in der Box verbaut, könnte man den zweiten Eingang nutzen um ein sym. Signal zu empfangen und das dann im DSP einfach 180° Phasenverdreht wieder addieren? Für die recht lange Signalleitung von der Quelle zur Box wäre ein sym. Signal ja sicher von Vorteil.
Wenn nicht möglich, was wäre das Problem?

Schonmal danke für eure Überlegungen dazu...

LG
TriMax
danny08
Stammgast
#593 erstellt: 20. Mai 2017, 15:46

TriMax (Beitrag #592) schrieb:
Hallo zusammen,

ich hab in den letzten Tagen den Thread hier durchgelesen und mich auch so etwas mit dem DSP-Thema beschäftigt.
Ich bin dabei auf ein paar Fragen gestoßen, von denen zumindest eine m.E. auch hier in den Thread passen würde:

Kann man den Sure-DSP als "De-Symmetrierer" einsetzen?

Mein Gedanke war, den DSP zur aktivierung einer Mehrwege-Box zu nutzen, wozu man ja erstmal nur einen Eingang bräuchte.
Wenn man den DSP in der Box verbaut, könnte man den zweiten Eingang nutzen um ein sym. Signal zu empfangen und das dann im DSP einfach 180° Phasenverdreht wieder addieren? Für die recht lange Signalleitung von der Quelle zur Box wäre ein sym. Signal ja sicher von Vorteil.
Wenn nicht möglich, was wäre das Problem?

Schonmal danke für eure Überlegungen dazu...

LG
TriMax

Vielleicht versteh ichs falsch aber mit dem SureDSP hast du nur 2 Analoge Eingänge, also im normal Fall einmal Links und einmal Rechts von Cinch/Klinke etc.
Inwiefern du da ein symm. Signal reinbekommen möchtest, ist mir nicht bekannt..
Aber ich würde meinen Blick mal auf das FreeDSP schwenken, das kann sowas eher. Der Chip ist der selbe, das drumherum aber anders.
Zalerion
Inventar
#594 erstellt: 20. Mai 2017, 16:05
Von der Idee her läuft das so (und ich weiß, dass es bei anderen so ähnlich funktioniert) :

Symmetrisch hast du 2x Signal (+/-) und 1x Schirm/Ground, unsymmetrisch 1x Signal, 1x Ground. Wobei die Grounds genaugenommen bei den beiden nicht identisch sind! (Bei symm eigentlich nur Schirm, bei asym die "Referenz").

Man trennt jetzt das sym auf in +,Ground und -,Ground und schickt die jeweils in einen der Stereo Eingänge.
Wenn man diese jetzt intern summiert, hat man kein Signal, denn beide sind "perfekt" verpolt und man hat nut Störungen, die in beiden nach der symmetrierung eingestreut wurden.
Wenn man aber das - phasendreht, und dann summiert, hat man exakt die Funktion eines symmetrischen Einganges nachgebaut.

Wie gesagt, ich weiß nicht, ob das in die Richtung so einwandfrei funktioniert (wegen der unterschiedlichen Groundfunktion), allerdings habe ich sowas ähnliches mal mit einem (normalen asym) miniDSP Ausgang gebastelt und in eine PA (/ XLR Eingang) geschickt und das funktioniert wirklich sehr gut.

Man müsste es einfach mal testen.

Auf der Softwareseite ist die einzige Voraussetzung, dass es möglich ist, einen Eingang direkt (vor allen anderen Modulen) in der Polarität zu drehen. Mit der Sure Software hab ich mich noch nicht so nah beschäftigt, ob das ohne Probleme geht, sollte besser jemand anders beantworten.
TriMax
Ist häufiger hier
#595 erstellt: 20. Mai 2017, 16:12
Hi danny08,

ich versuch es nochmal anders zu beschreiben:
Der Sure-DSP hat zwei analoge Eingänge: AINL, AINR und eben SGND.
Die müssen doch aber nicht zwangsläufig "rechts" und "links" sein.
Wenn ich den DSP mono verwende, also einen pro Box, würde ich an AINL das normale Signal (Hot) einleiten und an AINR das invertierte Signal (Cold). Dann müsste man doch nur in der Software AINR nochmal invertieren und beide Signale wieder zusammenaddieren, verstehst du wie ichs meine?

EDIT:
@Zalerion: Ja, genau so ist das mit dem symmetrischen Signal gedacht.
Wegen dem GND-Thema: Man hat dann halt keine galvanische Massetrennung am DSP (?) aber wenn die Signalquelle einen Ground-Lift hätte, wäre es ja da getrennt, oder irre ich mich?


[Beitrag von TriMax am 20. Mai 2017, 16:17 bearbeitet]
danny08
Stammgast
#596 erstellt: 20. Mai 2017, 22:15
Wenns mit dem minidsp geht dann mit dem suredsp sowieso.
Selber chip, minidsp hat nur die schöne einfache Oberfläche.
Das suredsp hat sigmastudio und das ist grundlegend 10x mächtiger aber auch deutlich komplexer und schwerer mit zu arbeiten.
Wenn man schon bei den ganzen filtern die phase drehen kann. Sollte das an sich problemlos gehen.
Einfach maln zwanni investieren.
Gab ja oben noch einen der dsps loswerden wollte.
TriMax
Ist häufiger hier
#597 erstellt: 21. Mai 2017, 08:58
So, hab ein bisschen im AD-Wiki gestöbert,

Mit dem Baustein "Signal Inverter" nach AINR und danach dem "Signal Add" Baustein um die beiden Eingänge zusammenzuführen sollte die Funktion eines desymmetrieres nachgebildet werden können.

Ich Frage mich jetzt allerdings, wie lange der DSP für die Invertierung braucht?
Die beiden Signale dürfen ja nicht zeitversetzt sein.
danny08
Stammgast
#598 erstellt: 21. Mai 2017, 09:00
Also eine hat input bzw output lag oder Verzögerung hat hier niemand.. Zumindest nicht so das es stört.
TriMax
Ist häufiger hier
#599 erstellt: 21. Mai 2017, 09:25
Glaub ich dir,

Aber wenn der Signalausgang gegenüber dem Eingang ein Sekundenbruchteil verzögert ist, fällt das i.d.R. auch nicht störend auf.
Hier liegt das m. E. aber etwas anders, denn:
1. werden die eingestreuten Störungen nicht mehr perfekt ausgelöscht und
2. verändert sich die Sinuskurve des Nutzsignals
wenn die Hot und Cold Signalanteile nicht mehr perfekt übereinander liegen.
Ymf
Stammgast
#600 erstellt: 21. Mai 2017, 13:12
So wie ich das verstehe, kann es gar nicht vorkommen, dass die Signale zeitversetzt sind. Der DSP rechnet ja in Loops? Das bedeutet er liest die Daten an den ADCs ein, rechnet seine Schleife durch und gibt erst dann die Daten an den DACs aus. Solange also die Berechnung an sich nicht länger als 1/48000 sec. dauert, ist alles synchron. Dauert die Berechnung länger, kommt hinten eh nur Grütze raus, da der DSP nicht mehr fertigrechnet und/oder die Samplerate nicht halten kann. Während der Berechnung kann es zu keiner Verzögerung kommen, weil die ADC-Werte bereits als Variable im RAM liegen.

Das sind allerdings nur Überlegungen, teils basierend auf Vorlesungen, in denen ich nur halbherzig aufgepasst habe
Bitte korrigiert mich, falls ich irgendwo falsch liege.


[Beitrag von Ymf am 21. Mai 2017, 13:12 bearbeitet]
IPv6
Stammgast
#601 erstellt: 21. Mai 2017, 16:00
Das Problem ist folgendes, gute Frage übrigens:

Man hat zwei Eingänge.
Eingang 1 wird direkt an den Summierblock gegeben.
Eingang 2 wird aber erst invertiert und dann an den Summierblock gegeben.

Wenn nun also das Invertieren ein sample lang benötigt wird im Summierer das sample vom Eingang 1 mit dem vorherigen invertierten Sample von Eingang 2 summiert.
Also z.B. sample Nummer 1000 vom Eingang 1 wird mit dem invertierten sample Nummer 999 von Eingang 2 addiert. Also nicht exakt synchron.
Je länger also die Invertieroperation benötigt, desto größer wird der Versatz zwischen den samplen, die addiert werden.

Abhilfe gibt es im Zweifelsfall über zwei Wege:

1. Eingang 1, der nicht invertiert wird, wird um die korrekte Anzahl von samplen verzögert. Das passiert mit einem Delay-Block.

2. Es wird nicht ein Eingang invertiert und auf den anderen draufadddiert, sondern es wird, wie ursprünglich für symmetrischen Signale vorgesehen, die Differenz gebildet. Auch das kann der ADAU1701 direkt mit einem Subtrahierblock. Man spart sich also den Zwischenschritt mit dem Invertieren und zieht direkt mit den entsprechenden Block das negative Signal vom Positiven ab.



Ymf (Beitrag #591) schrieb:
Die Frage ist nun also, mit welcher Spannung die I2S-Ausgänge des ADAU funktionieren?

Ich habe leider keine Möglichkeit gefunden diese zu messen und bevor ich den DAC riskiere, frage ich einfach mal nach. :.


Wenn das tatsächlich nicht dokumentiert ist hilft wohl wirklich nuur nachmessen. Ein Oszi hast du nicht zur Hand?


[Beitrag von IPv6 am 21. Mai 2017, 16:02 bearbeitet]
Ymf
Stammgast
#602 erstellt: 21. Mai 2017, 20:48
Nein, ein Oszi habe ich leider nicht, sonst würde ich nicht fragen


Wenn Invertieren und Addieren in unterschiedlichen Samples geschehen würde, bräuchte man für den Berechnungsvorgang ja mehr als ein Sample, somit würde die Samplerate nicht mehr passen. Entsprechend muss die gesamte Berechnung in einen Sample passen, sodass es immer synchron ist.

Das einzige, was möglich wäre, ist, dass das Addieren vor dem Invertieren gemacht würde. Dagegen spricht aber die Reihenfolge des Blockbaus. Ich denke nicht, dass der Compiler die Ordnung der Vorgänge ändert.
IPv6
Stammgast
#603 erstellt: 22. Mai 2017, 06:05
Stimmt, mein Fehler, das sollte logischerweise alles in einem sample passieren.
TriMax
Ist häufiger hier
#604 erstellt: 22. Mai 2017, 07:26
Die Variante mit dem "Signal Subtract" Block klingt doch sehr gut. Das erscheint mir auch die sauberste Lösung zu sein.
Da das laufzeitmäßig dann ja auch passen sollte, steht der symmetrischen Ansteuerung eines vollaktiven Vierwegers nichts mehr im Wege
Vielen Dank an alle
RnB4ever
Stammgast
#605 erstellt: 25. Mai 2017, 12:03
Hallo,

Kann man die Ausgänge erweitern vom Sure dsp?
Möchte 2-wege stereo + sub damit betreiben. Bräuchte also 8 Kanäle insgesamt.

Mfg
Suche:
Gehe zu Seite: |vorherige| Erste . 8 9 10 11 12 13 14 15 16 17 . 20 . 30 . 40 . 50 . Letzte |nächste|
Das könnte Dich auch interessieren:
Sure DSP General Input
Gniddle am 15.02.2020  –  Letzte Antwort am 24.02.2020  –  2 Beiträge
sure dsp brummt
spaceman-b am 19.05.2017  –  Letzte Antwort am 01.06.2017  –  9 Beiträge
Hilfe beim Sure DSP
WilliWucher am 07.11.2019  –  Letzte Antwort am 13.11.2019  –  2 Beiträge
billigen DSP Programmer konfiguration, Sure DSP
Carl_Clueless am 01.02.2019  –  Letzte Antwort am 05.07.2021  –  31 Beiträge
Sure / Wondom DSP Board - Algorithmen
Mar10v am 20.08.2018  –  Letzte Antwort am 23.08.2018  –  11 Beiträge
I2C Steuerung von Sure DSP
yentz am 18.07.2019  –  Letzte Antwort am 18.07.2019  –  3 Beiträge
Sure Dsp + Keystone Dab Radio i2s
creapetime am 31.10.2017  –  Letzte Antwort am 07.11.2017  –  4 Beiträge
Sure DSP und Potentiometer zur Lautstärkeregelung
edelgard am 02.06.2022  –  Letzte Antwort am 28.04.2023  –  11 Beiträge
SigmaStudio/ Sure DSP als PreAmp programmieren
metal-shot am 21.09.2024  –  Letzte Antwort am 12.10.2024  –  9 Beiträge
Vorstellung AIDA DSP Projekt
IPv6 am 30.01.2018  –  Letzte Antwort am 08.07.2019  –  7 Beiträge

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.961 ( Heute: 3 )
  • Neuestes Mitglied≠ThomasS_≠
  • Gesamtzahl an Themen1.557.017
  • Gesamtzahl an Beiträgen21.670.714