Vintage DAC för RaspberryPi ljud (4 / 6 steg)

Steg 4:.. .adding ett I2S converter...



Här är det roliga börjar...
Titta på de tekniska uppgiftsbladen igen märkte jag att I2S utgång (faktiskt jag tittar på chip dokumentationen används i HifiBerry projektet vars drivrutin som jag använder, chip är en pcm5102) av RPI är lite annorlunda från vad oversampler chip förväntar sig. "Standard" I2S signal förseningar i allmänhet data en klockan bakom LR signalen. Hur man kompensera detta?

Det finns två sätt att ta itu med detta:
1. programmet en kernel-drivrutin som inte försenar data. Pcm5102 föraren anger uttryckligen data förseningen till 1 i TXC_A register över motorns BCMs PCM (dokumentation här sida 119 +). Ändra detta till 0 ska göra det. Men jag gillar inte att bygga en RPI kärna nu...
2. bygga några vintage logik att göra det, YEAH det är så jag gillar det :)

Här är en schematisk...
Tanken är att dröjsmål efter 1 och LR signalera genom 2, detta flyttar data fram i tid (relativ till LR signalen) så att de radas upp som ville. Det gör behöver vi 3 x D-Flipflops och en inverter för klockan. Jag hittade 2 x 4035 och 4001 i min vintage chip samling, dessa kommer att (kan också vara bygga med 7474 / 74174 och vissa andra Internet-anslutningsdelning).
4035 är en mångsidig 4 bitars skiftregister (detta har 4 flip-flops i en linje) 4001 är en 4 x eller som fungerar som omriktaren sedan ingångarna är tätt tillsammans.
Jag använder en 4035 för att flytta data och en annan att skifta LR. Utgångar Q1-Q4 visar indata försenas med 1-4 klockor (input skiftas genom register, det är att göra SKIFT register). Så oversampler får sin nya data från Q1 data Växelreglage och LR från Q2 LR Växelreglage. Enkelt är det inte? Oversampler får inverterad klockan (form av fördröjning av 1/2 klockcykel) Detta är nödvändigt eftersom shifter behöver lite tid att stämpla in data och ger en stabil produktion.

Bilderna visar ursprungliga och fördröjd LR signal, klocksignal, analog utgång med sprickbildning.

Resultatet...
Ja det låter som musik.
Fortfarande lite cracky (~ 50Hz tock tock) - kan vara en klocka drift, undersöka senare...

Hur låter det?
Lite högt runt mids och höjder - hörlur, bygga i hörlursförstärkare är lite för högt för min smak och mina hörlurar. Utreda...
Sänkte HP volymen, nämnde jag att PCB har ett utrymme för en volym pott. Jag infogade 4 motstånd som Sänk volymen lite.

Betoningen?
Som i sig är en gammal skola hacka, för att övervinna begränsningar av gamla 14-bitars DAC. Det fungerar lite som Dolby brusreducering, när du registrerar du Lägg till brus, när du spelar du bort det och överföring bullret försvinner med det - något liknande.
Skär av pin 36 av TA9200 och anslutna nu öppna spår till en växel till GND/5V så jag kan växla manuellt. Den förvalda inställningen var bättre när den hacka en, så det bör gå till 5V att avaktivera betoning. Växeln växlar en transistor som i avsnittet mute men här förändras svaret från utdatafiltret genom att vrida av/på delar av nätverkets filter - knepigt analog kretsdesign.

Sprakande???
Jag tror att sprickorna kommer från en klocka drift. RPi skjuter ut data med hans 44,1 kHz * 32 bit klocka, oversampler processer som med sin egen klocka (också 44,1 kHz * 32 (* 12 ger 16,9 MHz)) både klocka drift bort tills en data lite hopp till det är grannen lite effektivt trappa upp av 2 som producerar toppen i ett enda prov.
Lösning 1 - pull data ur RPi med över samplers klocka. Detta skulle göra DAC och OS den ledar-tar tid. Det skulle innebära att byta drivrutinen modul (eller använda en annan)
Lösning 2 - bli galen hårdvara hacka och konstruera en klocka multiplikator. Detta kunde multi data klockan (44100 * 2 * 16 per sekund) vid 6 eller 12 att producera klockan för översampling kretsen. Detta kommer att eliminera understödja tar tid och deras kommer att vara ingenting att glida bort eftersom alla klockor härrör från en gemensam klocka.
Ett sätt att uppnå detta skulle kunna vara att använda en fördröjningslinje. En annan innebär att PLLs - nytt för mig också. Jag tänker...

Se Steg
Relaterade Ämnen

Hur får ett obegränsat utbud av elektroniska komponenter för under $10.

När jag kom in i elektronik att hitta delar var den största utmaningen. Radio Shack har ett hyfsat utbud av komponenter för nybörjaren men deras priser är hög. Bra erbjudanden finns på Internet, men den överväldigande mängd och obekanta jargong gör d...

Retro game console with ATMEGA644

Detta är en retro-minimalistisk öppen källkod video spel konsolen design. Den är baserad på en AVR 8-bitars general-purpose mikrokontroller från Atmel. Den baserad på Uzebox projektet.Funktioner:-Låg delar räkningen och kostnad: den består av endast...

Eftermontering Vintage 1920 hörlurar med moderna ljud

Jag nyligen var på lokal loppmarknad och råkade på en leverantör som säljer vintage hörlurar för $5 och slutade med att plocka upp tre par på ett infall. Min ursprungliga avsikt var att anpassa dem att arbeta med moderna system, men jag fann snart at...

Raspberry Pi flera rum ljud (kontrollerade mobil och Tablet PC/PC)

jag har varit lurar på Instructables för ett par år men har aldrig skrivit en själv. Nu har jag köpt en hem av min egen det är dags att genomgå några projekt och dela dem med gemenskapen.I mitt första projekt ska jag visa dig hur jag in flera rum lju...

Interactive Vintage Robot Costume

Robo-matic från David Andora på Vimeo.Min robot halloween kostym var inspirerad av en mängd olika vintage leksak robotar. Konstruktionen är grundläggande boxning med skumgummiplattan och varmt lim så mycket av roligt var att hitta lampor, gizmos, och...

Android-baserade Vintage Radio

jag åter har byggt en vintage radio. Enheten är att kunna spela upp musik och ladda ner dagligen nyheter podcast.Jag har använt en Android tablett som bas, STA540 för en förstärkare, Blaupunkt GTx-542 talare och, naturligtvis, en awesome vintage radi...

RaspberryPI HAL9000

Om du vill bygga din egen röst kontrollerat HAL9000 för en ~ $100, du kom till rätt ställe.Vi kommer att använda en Raspberry PI dator med några av-the-shelf datorkomponenter, och en anpassad akryl låda för att skapa denna ikoniska dator från Stanley...

Xbox en hörlurar Setup med arbetar Chat ljud

Xbox en liksom sin föregångare Xbox 360 har möjligheten för spelare att chatta med vänner med headsetet. Det är en mycket enkel premiss och det fungerar tillräckligt bra. På marknaden finns hörlurar uppsättningar för att arbeta med Xbox One där tillv...

Otidsenlig ljud: Domkyrkan radion

I början av 2014 hade jag den fantastiska upplevelsen av att vara en Artist-in-Residence på Autodesk/Instructables Pier 9 verkstad. Under denna tid inlett jag en undersökning av ljud relaterade projekt nya inbillade i stil med Medici verkstaden av 16...

Uppväcker vintage klockor

de av er som följer min Instructables förmodligen har märkt att jag gillar att ta något gammal och icke-funktionella och rädda den från skrothögen genom att ge den liv igen. Jag älskar att täta loppmarknader och utmaningen att fastställa att som andr...

Vintage trehjuling uppståndelsen med Modern teknik

jag kallar detta en "uppståndelse" inte en "återställande" som jag tog några friheter med material och metoder att föra denna childs trehjuling tillbaka till livet. Men i slutet av dagen är det sant att andan i ursprungliga och leende...

RaspberryPi väckarklocka

Detta är en väckarklocka som bygger på en RaspberryPi. Alla RaspberryPi fungerar. Jag använde en modell B1 version 2 eftersom det har monteringshålen och hastighet spelar ingen roll. Jag har en uppgift som behöver utföras varannan dag. Därför finns d...

Craft Cymatics: En avkänning sand dispenser och vibrerande ljud plattan

detta projekt kombinerar prestanda och hantverk i ett system som visualiserar ljudvågor som sanden på en oscillerande platta. Frekvensen av ljud, och flödet av sand styrs av en ruta ovanför plattan.Skapad med ansträngning att kombinera digital presta...

Vintage Tube Radio & MP3 uppgradera

denna i'ble tar dig om återupprättandet av en vintage tube radio till nära-ursprungliga tillstånd, och i processen, uppgradera den till spela att MP3s med en låg, lätt att bygga AM sändare.Detta projekt förlitar sig inte på att göra permanenta ändrin...

Raspberry Pi Bluetooth + Airplay ljud mottagare combo

Låt oss göra en bluetooth-mottagare så att du koppla upp din R-Pi till din stereo och använda telefonen som ljudkällan.För att vara ärlig, är detta inte ett unikt projekt. Massor av människor har försökt att få en bluetooth mottagare arbetar, några (...

Simon Says med lysdioder och ljud

Hej och Välkommen tillbaka till Instructables!Många av oss har alla spelat Simon Says där oundvikligen befinner du dig hopping runt på ett ben medan du gör elefanten ljud och du undrar för sig själv varför det någonsin var en bra idé att säga "Ja, ja...

Skydda och tystnad en dörr med en vintage spik och sugru

stannade vi i en härlig airbnb som hade massor av awesome vintage inslag.Ägaren hade skyddat hennes badrum wall från handtaget med en härlig gammal mässing spik.Jag trodde det var ganska häftigt men tyvärr dörren gör ett fruktansvärt ljud varje gång...

RaspbAIRy - RaspberryPi-baserade Airplay högtalare

med leveransen av min andra RaspberryPi fick jag äntligen chansen att starta denna sedan länge planerade projekt:Jag ville ersätta min gamla badrum radio med en mer samtida enhet genom att bygga en nät-aktiverade högtalare. Eftersom jag är en använda...

High-End ljud med 7 tums pekskärm kontroll baserad på Raspberry Pi och Max2Play

Med ankomsten av den nya officiella Raspberry Pi Touchscreen var vi glada att hitta för det i vårt Max2Play. Eftersom ljudprogram har varit en av våra huvudsakliga fokus från början, tänkte vi genast av en kombination av ljud och skärm. Vi hade redan...