Något i stil med RPi med DAC på minst 10 bit (ej audio)?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Jag har letat lite grand, med betoning på lite, men hittar inget RPi-liknande med DAC på minst 10 bit helst 12.
Det jag vill göra är att hämta data via ethernet och skapa en eller flera analoga utsignaler. Det är inget absolut krav men ett stort plus om kortet kör Linux.
Jag har en känsla av att det får bli något anslutet via SPI. Men, vem vet, det kanske finns något färdigt...
Användarvisningsbild
ffredrik
Inlägg: 352
Blev medlem: 20 oktober 2009, 17:52:18
Ort: Göinge

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av ffredrik »

Ofta är den enklaste lösningen en PWM-utgång följd av ett RC-filter.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Jo så är det ju. Men jag tycker inte det ser ut som RPi har PWM ut.
Nerre
Inlägg: 27165
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av Nerre »

Vad får man för PWM-frekvens om man skriver den i mjukvara då? Driven av timer-interrupt?

Man borde ju kunna få samma PWM-frekvens för 8 utgångar som 1 utgång (man modulerar helt enkelt en byte i loopen istället för en enskild bit).
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Jo jag har tänkt tanken. I den här tillämpningen räcker säkert 1Hz uppdatering så om man kan uppdatera PWM med 4096Hz får man 12 bits och det räcker ju bra.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av xxargs »

ljudutgången på RPi har jag för mig är PWM - sedan om det är användbart i ditt fall är en annan sak
Nerre
Inlägg: 27165
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av Nerre »

Det stämmer att ljudutgången är PWM, men den går inte att adressera direkt utan man måste i såna fall fylla en "ljudbuffert" med den nivå man vill ha. Och bygla kondingarna.

Däremot finns det tydligen ett library som fixar PWM via DMA till valfri GPIO.
https://pythonhosted.org/RPIO/pwm_py.html
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Det där verkar lovande. Tack!
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av RoPa »

Om du ska ha 12 bitars upplösning och 1Hz och med ett RC filter på 3dB/oktav så behövs det 12 oktaver för att få bort ripplet = 4096 Hz och för att sedan få 12 bitars upplösning krävs 4096 steg, så PWM frekvensen måste vara 4096x4096 = 16.666.624Hz.
Inte helt otänkbart för en HW PWM men knappast för en SW version.

/Ropa
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Ett RC-filter brukar väl ge 6dB per oktav? Sedan är det ju inget som hindrar att man har ett tredje ordningens filter och då brukar det väl bli 18dB per oktav. Och slutligen kanske man kan tänka sig mindre än 12 bitars upplösning men det framgick ju inte i mitt inlägg. :oops:
Kan man lösa det med DMA borde det vara ganska enkelt. Nu vet ju inte jag hur det här med DMA fungerar i en RPI eftersom min gamla RPi bara tjänstgör dom en btsync server och gateway till mitt lokala nät. Med en STM32F407 hade det varit trivialt men då skulle Modbus över Ethernet vara lite besvärligare. :)
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Nerre: Bra länk. Kanske dessutom kan få den gamle trötte mannen att lära sig Python. Tack!
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av RoPa »

3 dB volt = 6dB watt.
Ett RC filter ger 3dB volt per oktav och 6dB watt per oktav.
Eftersom jag tror vi talar volt i DA fallet så blir det 3dB volt per oktav, alltså en halverad signal per oktav.
Normalt anger man dB i watt men i signalsammanhang när det inte är någon ström att tala om (långt bortom 50ohm landet) så händer det att man räknar med 10log(dU) och inte 20log(dP)

Kod: Markera allt

dB     Power ratio       Amplitude ratio
6      3.981             1.995 ≈ 2
3      1.995 ≈ 2         1.413
1      1.259             1.122
0      1                 1 	
A change in voltage ratio by a factor of 2 (equivalently factor of 4 in power change) approximately corresponds to a 6 dB change in level.
https://en.wikipedia.org/wiki/Decibel

Sen kan man kaskadkoppla filter till högre ordning och med två op nå 24dB watt, alltså en undertryckning med 16ggr.
Men totalt behövs det 72dB watt för att undertrycka 4096 gånger över en oktav, men det räcker då med 12 RC steg a 6dB styck.
Man får in två per op så 6st op i serie så äör du hemma ;-)

Ärligt så tror jag inte att PWM är rätt väg att gå om man vill ha "hög" upplösning men med rätt krets så...
1-bit DAC var populärt på CD-spelarnas tid...

edit: fixade tabellen...

/Ropa
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Ja det här med effekt kontra spänning eller ström brukar bli lite förvirrande.
Jag vill inte hävda något med bestämdhet (nu iallafall) men jag har ett vagt minne av att man brukar räkna 6dB per oktav när det gäller filter med OPar. Men det kanske gäller effekt. Jag får kolla upp det imorgon.
Men om 3 eller 6 dB motsvarar en halvering och man med en OP kan få 9 eller 18 dB innebär det ju att man får dämpning 1:8 i ett steg. Har man då en översampling på 512 gånger är man väl i princip hemma. Med reservation för sen timme. :)
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av RoPa »

Jo, med brantare filter krävs mindre översampling, helt rätt.

Att använda DMA hårdvaran i ARM processorn i Rpi verkar vara ett bra sätt att skapa PWM med hög upplösning.
Med 1uS som minsta puls och 4096 per cykel så är du uppe i ca 200 ggr översamling, drygt 7 oktaver och då är det bara 5 kvar så med två 18dB filter i kaskad så är du hemma.

Men med en 12 bit DAC blir det nog både enklare, effektivare och mer exakt, typ en 30 spänn på ELFA för en tvåkanalers.
Slippa joxa med massa filter och utrymmeskrävande komponenter.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Något i stil med RPi med DAC på minst 10 bit (ej audio)?

Inlägg av lillahuset »

Men nu är jag en pervers jävel som älskar översampling. Delvis för att folk brukar bli så förvirrade. :lol:
Skriv svar