Sida 1 av 2

Audio: USB->Toslink

Postat: 18 mars 2008, 15:51:08
av $tiff
Sammanfattning
Externt USB-ljudkort med optisk digital utgång via Toslink-kontakt. En analog stereoutgång med goda prestanda finns också förberedd på kretskortet som line-out eller för att driva mindre hörlurar. 7 st HID-kompatilbla knappar går att ansluta.

Bakgrund
Äntligen påsklov, då kan man avvara en dag åt att bygga en pryl.
Högst upp på behovslistan denna gång står en digital audioutgång till min laptop (HP NC8430), när den ansluts till mitt ljudsystem hemma (Denon AVR-1906). Hittills har jag klarat mig hjälpligt med analog signalöverföring via laptopens integrerade ljudkort.

Så, till bygget!
Jag letade upp lite kul relaterade byggen. Exemeplvis cyrs USB-DAC och Henriks USB Audio I/O.
Kretsfamiljen PCM270[4..7] (www.ti.com) och 290[1,3] föll genast i smak. De kunde lätt lösa mina problem genom ett litet externt USB-ljudkort!


Bilder
Jajajaja, jag hade bara mobilkameran till hands!

Bild
Schemat till hela härligheten. Inga konstigheter. Övre högra delen är analoga filter om man önskar använda vanlig hederlig analog line out.




Bild Bild
Lite caddande senare kan resultatet bli så här.
Punkterna T1-T6 är anslutningspunkter för HID-knappar om så önskas.




Bild Bild
Mönsterkort tillverkat via Olimex. Eftersom de inte är så duktiga på att kapa upp korten ( :tumner: ) så bör man lämpligtvis ägna lite tid åt att fila rent kanter och hörn. Man får väl ta det med en nypa salt, guldimmersion är ändå standard! :tumupp:
Komponenterna som jag caddat upp från databladsskisser passade nästan perfekt, det är inte varje gång det händer...




Bild Bild
Färdigmonterad! Komponenterna som har med analog-utgången att göra har inte monterats eftersom jag egentligen inte är intresserad av den i nuläget. Vidare har jag tagit lite av vad jag hade i komponentväg som var i närheten av rätt värden, i brist på komplett utbud :)



Bild Bild
Då var det dags att ansluta den till PCn. Alla fingrarna korsade för att inget skulle börja brinna...




Bild
Jodå! I Windown började det ploppa upp rutor hej vilt om att det fanns nya enheter; "Sammansatt USB-enhet", "USB-ljudkort" och "HID-enhet". Allt jag hade hoppats på alltså! Jag behövde inte lyfta ett finger för att rätt drivrutiner skulle trilla på plats!




Bild Bild
Opto-sändaren började blinka (antagande, det blinkar lite för fort för att se med ögat ;) ) för fullt. In med Toslink-kablaget till surround-receivern och vips så dissade den helt automagiskt den analoga källan från datorn till förmån för den optiska digitala. Allt fungerar bra som i en våt teknikdröm :D


Test
Så, har det nu tillfört något bra med digital länk istället för analog gammal hederlig 3,5->RCA-kabel mellan dator och receiver? Jag testade med följande uppställning:

Bild
Ljudmixern för vardera utgång. De två instanserna av Winamp spelar upp exakt samma ljudfiler på varsin utgång, synkat på bråkdelen av en sekund. Ljudnivån är ekvivalent densamma, nu är det fritt fram att bara swappa ingång hos receivern...
Jag provlyssnade med lite av min favoritmusik, solo akustisk fingerpicking gitarr. Fullt av transienter och spännande övertoner! Dessutom vet jag exakt hur det egentligen ska låta.

Resultat?
Ptja. Ljudskillnaden är ju inte dramatisk. Men, jag slipper däremot en hel del brus och brummande som orsakas av den analoga överföringen och eventuella jordslingor mellan ljdutrustning och laptopens nätdel.
Efter att ha lyssnat mig trött i både högtalarsystem och hörlurar (Sennheiser D-25 SP är det enda jag har som förtjänar att kallas hörlur), så kom jag fram till att den digitala överföringen bidrar till marginellt klarare ljud och märkabart mer kontrollerad djupbas. Det senare är jag glad över, eftersom jag faktist har utrustning som klarar av att återge detta.


Komponenter
Inga konstigheter:
* PCM2707 från Texas Instruments.
* Toslink-Optosändare TOTX173 från Toshiba.
* USB typ-B anslutning
* 12 MHz kristall
* En handfull passiva komponenter


Vidare utvecklingsmöjligheter
* Jag har inte provat HID-knapparna ännu.
* Den analoga utgången är spännande, speciellt om den nu klarar av att driva hörlurar direkt med SNR 98 dB och THD 0.025 % vid 12 mW och 32 Ohm.
* Kusin till PCM2707 - PCM2903 har både analog och digital in- & utgångar, plus ett par HID-knappar. Det är mycket intressant för den som behöver ett komplett ljudkort med imponerande prestanda på liten yta!


Slutsats
Enkelt bygge, om än ganska mycket förberedelse i form av caddning och schmaritning. Att kretsen är helt bus-driven (ingen extern strömmatning) är helt klart en fördel, men det fungerar troligtvis inte lika bra om man behöver det analoga ljudet med utlovad prestanda.


Edit1: Stava och mer länkar.

Postat: 18 mars 2008, 16:23:36
av Fagge
Najsigt :tumupp:
Äntligen påsklov, då kan man avvara en dag åt att bygga en pryl.
Här går det undan, du är färdig med bygget innan påsklovet ens har börjat!?. :wink:

Postat: 18 mars 2008, 16:37:15
av RasmusB
Najs! Har själv dreglat över samma kretsar till ett senare projekt... :)

Hur funkar det med HID-knappar, kan du redan i kretsen ställa in vad för "kommando" som ska skickas för varje knapp eller görs det i mjukvara på datorn? :)

Postat: 18 mars 2008, 16:46:44
av chille
Wow :shock: Snyggt!

Vet du hur många man kan köra på en dator? Vore ju snyggt om man kunde få ihop ett kort med typ 4st Toslink I/O 8)


Har du nån aning om hur låg latency man kan få? Finns det open source drivrutiner?

Postat: 18 mars 2008, 17:04:18
av $tiff
@ Fagge
Pluggar på högskola, mitt påsklov är dena veckan, inte nästa eller något annat.

@ RasmusB
Jag kan ju inte annat än rekommendera dessa kretsar, funkar kalas än så länge!
HIDen ställs på PC-sidan, tror jag. Från databladet:
Basic HID Operation
Interface #2 can report the following three key statuses for any model. These statuses can be set by the SPI port.
• Mute (0xE2)
• Volume up (0xE9)
• Volume down (0xEA)

Extended HID Operation:
By using the SPI port, the following additional conditions can be reported to the host.
• Play/Pause (0xCD)
• Stop (0xB7)
• Previous (0xB6)
• Next (0xB5)

@ chille
Med ett minne kopplat till varje krets så kan du ge dem unikt namn och lite sånt, med det tror jag du kan hänga på en drös på samma PC.
Svåra frågor, jag får nog be dig konsultera databladet eller TIs hemsida för fler svar...
(Ska testa denna i Linux så småningom, det kanske ger några fler svar)

Postat: 18 mars 2008, 17:08:43
av Greve Hamilton
Snyggt! Jag har en PCM2902 liggande som jag har tänkt använda till något liknande hur länge som helst...

Liknande projekt:

http://elektronikforumet.com/forum/viewtopic.php?t=9970

Postat: 18 mars 2008, 18:55:17
av jas39
Mycket snyggt. Du har inte ett kretskort och krets över som du vill sälja? Vad tar olimex för ett kort? Jag har bara beställt från PCBCart.com som iochförsig funkat utmärkt.

/&&

Postat: 18 mars 2008, 19:36:54
av MiSTer
Hur snyggt som helst!
Och så fungerar det utan jinx!

Jag blev genast sugen på ett sånt kort jag med! :drool:
(men det vore ju snyggast om det funkar i linux med)

Postat: 18 mars 2008, 21:16:49
av $tiff
@ Greve Hamilton
Tackar. Jag har även några PCM2903, -2705 och fler -2707 liggandes, eftersom jag hade svårt att bestämma mig för vilken av dem jag skulle göra mönsterkort till. PCM2707 har trots allt enklast layout, flest HID-knappar och bäst analogprestanda av dessa kretsar. Men dock inga ljudingångar.

Tack för länken, jag lade till den i första inlägget. Hittade inte den när jag letade innan!


@ jas39
Jag gjorde tyvärr bara ett kort (i en större batch med andra kort) eftersom jag inte var säker om det skulle funka så här bra. En prototyp helt enkelt. Om det är fuktionen du är ute efter så finns dessa ju att köpa. Kjell har ett som gör samma sak för tvåhundringen. Jag misstänker att det är någon av dessa kretsar som sitter i.
Jag bygger själv bara för att jag kan :)

Postat: 18 mars 2008, 21:21:29
av jas39
Tack för länken det får bli en sån. Brukar oxo bygga för att jag kan men får göra ett undantag den här gången.

Postat: 18 mars 2008, 22:27:16
av blueint
Bara en liten ide.. Sätt en PIC som tar emot IR signaler och är kopplad till HIDs I/O.
Man kan ju kombinera HID "knapparna" så man kan representera fler knappar än dom ursprungliga.

Postat: 19 mars 2008, 13:37:21
av cosmox
Vackert!

Det där ser ut att vara en mycket praktisk manick.
Nu har jag inte läst allt (lite tid) men har du provat DACn, alltså den analoga delen?
Hur låter den?
Jag tycker att det passiva filtret i databladet ser lite sparsamt ut, men det kanske sköts i ICn?

Snyggt projekt iallafall!

Postat: 19 mars 2008, 20:10:06
av $tiff
@ cosmox

Den översamplar och filtrerar det analoga ljudet internt:
DAC
The PCM2704/5/6/7 has a DAC that uses an oversampling technique with 128-f second-order multibit noise shaping. This technique provides extremely low quantization noise in the audio band, and the built-in analog low-pass filter removes the high-frequency components of the noise-shaping signal. DAC outputs through the headphone amplifier V L, and V R can provide 12 mW at 32 , as well as 1.8 Vp-p into a 10-k load.
Jag har inte brytt mig på att testa den analoga delen, men databladet utlovar bättre prestanda än de flesta andra liknande kretsar.

Postat: 19 mars 2008, 20:35:57
av Johan.o
Snyggt & Smidigt :tumupp: en sådan apparat skulle jag också behöva bygga.

Postat: 19 mars 2008, 23:00:46
av JimmyAndersson
Mycket snyggt! :)

Mycket välgjord projekt-tråd! :tumupp: :tumupp: