Forum: Digitale Signalverarbeitung / DSP / Machine Learning dsPIC Board Eigenentwicklung: etwas Anschubhilfe nötig


von Sandro G. (sandro_g)


Lesenswert?

Hallo zusammen!

Ich habe schon einiges auf Mikrokontrollern (TI MSP430) und DSP (Analog 
Devices ADSP21xxx) programmiert und auch einige analoge 
Audiovorverstärker und aktive Frequenzweichen entwickelt.
Mit dem Elektrotechnikstudium steigen nun die Anforderungen, und der 
analoge Vorverstärker soll durch ein viel flexibleres DSP-System ersetzt 
werden. Da mich die Hardware mehr interessiert als die Software muss es 
natürlich eine Eigenentwicklung sein ;)

Die generellen Anforderungen:
- Audioqualität muss nicht Hi-Fi sein, wird nur outdoor auf einfachen 
Anlagen eingesetzt
- Batteriebetrieb -> maximal 1-2 Watt für das ganze System wäre 
erstrebenswert
- Wegen fehlender Stereobreite der Anlage(n) wird das ganze nur mono 
betrieben, somit die Hälfte des Aufwands gespart.

Die Eckdaten dazu:
- Dank günstigem Einstieg wirds wohl ein dsPIC werden 
(dsPIC33FJ64GP708A)
- 2x16 Character LCD wäre hübsch
- in der Region von 4 mono Eingängen und 4 mono Ausgängen, falls mit 
wenig Aufwand implementierbar auch ein SPDIF in

Darauf laufen sollen eine einfache Mischmatrix, Kompressor/Limiter, EQ 
und Frequenzweiche. Dafür sollte der dsPIC wohl reichen. Ausserdem für 
den dsPIC spricht der günstige Preis, die gratis Entwicklungsumgebung 
und die einfache Platine mit (hoffentlich) nur zwei Layern.


Nun ein paar Fragen, damit ich nicht böse auf die Nase fallen werde:
- Als ADC habe ich an den TI ADS1174 gedacht, welcher per SPI an den 
dsPIC angehängt wird
- Und als DAC den TI DAC8564, ebenfalls SPI. Dank interner 
Referenzspannung (hoffentlich) wenig externe Bauteile.
Ist dies soweit eine gute Wahl? Oder hat jemand einen besseren 
(einfacheren, günstigeren,...) Vorschlag? Ich bezweifle massivst, dass 
die im dsPIC integrierten 12bit-ADCs für Audio genügen.
- Wie hängt man das LCD am einfachsten an?

Sonstige Hinweise?

Sehr wahrscheinlich wird daraus eine Semesterarbeit - oder zwei, HW und 
SW separat. Und als Masterarbeit noch ein Bluetoothmodul für wireless 
streaming hintendrein :D

--Sandro

von Sandro G. (sandro_g)


Lesenswert?

Und schon ist ein weiteres Problem aufgetaucht: Der dsPIC hat nur zwei 
SPI-interfaces, ich bräuchte aber vier (ADC, DAC, LCD, SPDIF). Kann man 
an jeden SPI-Kanal des dsPIC jeweils ein device zum empfangen und eines 
zum senden anhängen?
Ausserdem sind die SPI's des dsPIC nur 16-bittig - ACD und DAC brauchen 
aber 24 bit...

von Uwe (Gast)


Lesenswert?

Warum nicht gleich nen CODEC wie TLV320AICxx. Die haben alles mögliche 
drin (je nach Typ) z.B. 8 Ohm Speaker amplifier,miniDSP (für EQ und 
andere sachen), Mikrofon vorverstärker, Variable Gain Amplifier für 
andere Eingänge usw. usw. ! Die sind auch relativ billig und werden auch 
seriell angesprochen. Also als Analog Frontend für Audio wirklich gut 
(Du mußt den eingebauten miniDSP ja nicht nutzen). Für Audio DSP 
Anwendungen würde ich die TMS320C55x benutzen. Wenn du ein Evaluation 
board nimmst ist das teure CCS (ca. 4K€ ) mit dem Eval Board gebundelt 
und umsonst !!!

von Frank K. (fchk)


Lesenswert?

Sandro G. schrieb:

> Die Eckdaten dazu:
> - Dank günstigem Einstieg wirds wohl ein dsPIC werden
> (dsPIC33FJ64GP708A)

ok. Gute Wahl.

> Nun ein paar Fragen, damit ich nicht böse auf die Nase fallen werde:
> - Als ADC habe ich an den TI ADS1174 gedacht, welcher per SPI an den
> dsPIC angehängt wird
> - Und als DAC den TI DAC8564, ebenfalls SPI. Dank interner
> Referenzspannung (hoffentlich) wenig externe Bauteile.
> Ist dies soweit eine gute Wahl? Oder hat jemand einen besseren
> (einfacheren, günstigeren,...) Vorschlag? Ich bezweifle massivst, dass
> die im dsPIC integrierten 12bit-ADCs für Audio genügen.

Dieser dsPIC hat ein DCI (Data Converter Interface), das speziell für 
Audio Codecs gedacht ist. Das wirst Du nehmen. Dass SPI hierfür nicht 
die ideale Wahl darstellt, hast Du ja schon gemerkt. DCI kannst Du z.B. 
auf AC97 konfigurieren, und AC97 Codecs gibts haufenweise, auch mit 
vielen Ports. Siehe Kapitel 20 im Datenblatt des dsPIC.

> - Wie hängt man das LCD am einfachsten an?
über irgendwelche GPIOs, die nach der Vergabe der Spezialfunktionen noch 
übrig sind

fchk

von Sandro G. (sandro_g)


Lesenswert?

Uwe schrieb:
> Warum nicht gleich nen CODEC wie TLV320AICxx. Die haben alles mögliche
> drin (je nach Typ) z.B. 8 Ohm Speaker amplifier,miniDSP (für EQ und
> andere sachen), Mikrofon vorverstärker, Variable Gain Amplifier für
> andere Eingänge usw. usw. ! Die sind auch relativ billig und werden auch
> seriell angesprochen. Also als Analog Frontend für Audio wirklich gut
> (Du mußt den eingebauten miniDSP ja nicht nutzen).

Da gibt es einen mit 4x ADC und 4x DAC, das sieht äusserst 
vielversprechend aus! Den würde man dann per I^2S an den dsPIC anhängen. 
Gibt dann einfach deutlich mehr Aufwand beim programmieren, so dass der 
dsPIC den CODEC über den I^2C steuert (MUX, Verstärker, 
Kopfhörerausgang...). Die zusätzlichen Möglichkeiten wären aber 
beeindruckend!

Frank K. schrieb:
> Sandro G. schrieb:
>> Nun ein paar Fragen, damit ich nicht böse auf die Nase fallen werde:
>> - Als ADC habe ich an den TI ADS1174 gedacht, welcher per SPI an den
>> dsPIC angehängt wird
>> - Und als DAC den TI DAC8564, ebenfalls SPI. Dank interner
>> Referenzspannung (hoffentlich) wenig externe Bauteile.
>> Ist dies soweit eine gute Wahl? Oder hat jemand einen besseren
>> (einfacheren, günstigeren,...) Vorschlag? Ich bezweifle massivst, dass
>> die im dsPIC integrierten 12bit-ADCs für Audio genügen.
>
> Dieser dsPIC hat ein DCI (Data Converter Interface), das speziell für
> Audio Codecs gedacht ist. Das wirst Du nehmen. Dass SPI hierfür nicht
> die ideale Wahl darstellt, hast Du ja schon gemerkt. DCI kannst Du z.B.
> auf AC97 konfigurieren, und AC97 Codecs gibts haufenweise, auch mit
> vielen Ports. Siehe Kapitel 20 im Datenblatt des dsPIC.

Das wäre dann wohl der "AC-Link Compliant mode".
Hast du da noch ein paar empfehlenswerte Hersteller/Modelle? Die mir 
bekannten (Cirrus, TI, Analog) überwerfen sich da nicht gerade mit 
Auswahl...

>> - Wie hängt man das LCD am einfachsten an?
> über irgendwelche GPIOs, die nach der Vergabe der Spezialfunktionen noch
> übrig sind
Ich habe ein LCD gefunden, das per SPI angehängt wird, inklusive 
passendem Code für den dsPIC. Das ist wohl die einfachste Lösung.

von Frank K. (fchk)


Lesenswert?

Sandro G. schrieb:

>> Dieser dsPIC hat ein DCI (Data Converter Interface), das speziell für
>> Audio Codecs gedacht ist. Das wirst Du nehmen. Dass SPI hierfür nicht
>> die ideale Wahl darstellt, hast Du ja schon gemerkt. DCI kannst Du z.B.
>> auf AC97 konfigurieren, und AC97 Codecs gibts haufenweise, auch mit
>> vielen Ports. Siehe Kapitel 20 im Datenblatt des dsPIC.
>
> Das wäre dann wohl der "AC-Link Compliant mode".
> Hast du da noch ein paar empfehlenswerte Hersteller/Modelle? Die mir
> bekannten (Cirrus, TI, Analog) überwerfen sich da nicht gerade mit
> Auswahl...

Realtek und vor allem Wolfson (http://www.wolfsonmicro.com/) fallen mir 
da noch ein. Ein wenig ist AC97 auf dem Rückzug, seitdem in der PC-Welt 
HDA verwendet wird.

siehe auch http://en.wikipedia.org/wiki/AC%2797

Ansonsten konfiguriere den DCI als I2S. I2S Codes sind jedoch 
tendentiell etwas teurer, weil die Fertigungsmengen aus der PC-Welt 
fehlen.

>>> - Wie hängt man das LCD am einfachsten an?
>> über irgendwelche GPIOs, die nach der Vergabe der Spezialfunktionen noch
>> übrig sind
> Ich habe ein LCD gefunden, das per SPI angehängt wird, inklusive
> passendem Code für den dsPIC. Das ist wohl die einfachste Lösung.

Oder so.

fchk

von Sandro G. (sandro_g)


Lesenswert?

Bei den AC'97-Codecs sieht es tatsächlich recht mau aus - allerdings 
eher bei den Distributoren als bei den Herstellern: Realtek hat mit dem 
ALC658 ein ganz hübsches Exemplar mit reichlich ADCs und DACs, und sogar 
SPDIF und Mikrofonvorverstärkern im Angebot. Leider habe ich noch keinen 
Distributor dafür gefunden.

Die Wolfson-Codecs fallen allesamt durch, da sie entweder nur 2 ADCs 
haben, in einem für mich nicht lötbaren QFN-Gehäuse sitzen oder nur mit 
einem HDA-Interface aufwarten :(

Dafür hat's mir der TI PCM5310 angetan (4-in/4-out, 
http://focus.ti.com/docs/prod/folders/print/pcm5310.html ). Nur der Sinn 
und Zweck der 6 (!) I2S-Interfaces hat sich mir noch nicht 
erschlossen... Da man jeden ADC und jeden DAC auf jedes Interface muxen 
kann, reicht eines ja eigentlich aus. (Ausser die Datenrate ist zu hoch, 
wenn man auf 96/192kHz raufschraubt)

--Sandro

von Frank K. (fchk)


Lesenswert?

Sandro G. schrieb:
> Bei den AC'97-Codecs sieht es tatsächlich recht mau aus - allerdings
> eher bei den Distributoren als bei den Herstellern: Realtek hat mit dem
> ALC658 ein ganz hübsches Exemplar mit reichlich ADCs und DACs, und sogar
> SPDIF und Mikrofonvorverstärkern im Angebot. Leider habe ich noch keinen
> Distributor dafür gefunden.

http://cgi.ebay.com/1x-New-Realtek-ALC658-QFP48-IC-Chip-/270690377007

fchk

von Maik W. (werner01)


Lesenswert?

Also wenn es kein HIFI sein soll der DSPIC33fj64gp802 hat zwei 
Audiodac's!

von Sandro G. (sandro_g)


Lesenswert?

Maik Werner schrieb:
> Also wenn es kein HIFI sein soll der DSPIC33fj64gp802 hat zwei
> Audiodac's!

Die werde ich wohl für zwei "Notfall-Eingänge" benutzen, so dass ich bei 
Bedarf auf 6 (mit SPDIF 7) Eingangskanäle zurückgreifen kann ;)

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.