
Oscilloskop beta2
Screenshot
En skärmdump från programmet på datorsidan. Inte så speciellt avancerat än så länge 



Hur fort? Tja.. samplingshastigheten är 40MHz, och bilden visar 1024 samples, så det man ser på bilden är c:a 25 mikrosekunder.
Har snyggat till visningen lite, och fått igång nersamplingen i FPGAn. Här är en ny skärmdump av en signal som är nersamplad med en faktor 1024 (dvs en effektiv samplingshastighet på ~40KHz istället för 40MHz.)

Har snyggat till visningen lite, och fått igång nersamplingen i FPGAn. Här är en ny skärmdump av en signal som är nersamplad med en faktor 1024 (dvs en effektiv samplingshastighet på ~40KHz istället för 40MHz.)

Jag använder SDL (www.libsdl.org), men bara för att få pixlarna på skärmen.
För att rita själva signalen, rutmönstret och det andra som ska finnas i själva "oscilloskopdisplayen" använder jag lite egna funktioner som ritar i en minnesbuffert.
Sen så ska programmet få ett GUI med hjälp av GTK (och en gtkdrawingarea eller nåt för själva displayen).
För att rita själva signalen, rutmönstret och det andra som ska finnas i själva "oscilloskopdisplayen" använder jag lite egna funktioner som ritar i en minnesbuffert.
Sen så ska programmet få ett GUI med hjälp av GTK (och en gtkdrawingarea eller nåt för själva displayen).
Lite lurigt att dra upp en så här gammal tråd men vad gör man inte för att få lite info 
I vilket fall som helst så har jag suttit en del med libSDL nu... riktigt trevligt får ut pixlar etc etc... vad jag hade tänkt göra är att antagligen göra ngn hårdvaru lösning som man kopplar till parallellporten eller com porten som skickar info till programmet som sedan visar signalerna... alternativt ta den krångliga vägen (vilket den antagligen är) via ljudkortets ingång för att få in signalerna... min första tanke är att kunna koppla en liten känslig mic till ett stetoskop och på så sätt få ut hjärtrytm etc i fina kurvor etc. Konstaterar att man också kan koppla in saker så man får ett simpelt oscilloskop.
Mina funderingar börjar främst vid hur jag ska få in signalerna... ska man ge sig på att koppla in det gamla SoundBlaster16 kortet och försöka få ngt vettigt ur att eller ska man ge sig på några A/D kopplade till parallellporten alt. några A/D kopplade till en PIC till com porten... eller sampla hur mkt som helst och sen skicka som en "klump"... hur vill man att signalen ska se ut?
Hur skulle man kunna göra med signalen? låta bilden uppdateras pixel-kolumn för pixel-kolumn eller ta in hela signalen skriva buffern och uppdatera... hur ska man försöka göra så att signalen ser ut? Dvs skicka bytes med värden 0-256 för att avgöra ngt... hmm... hilfe helt enkelt...
cyr>> hur får du din signal till datorn? via nätverkskortet? (hur ser signalen ut?)
en annan fundering jag också har är om man skulle köra med parallella trådar (nästan som att ha flera processer) dvs låta en processera signalen hela jäkla tiden och den andra skriver ut på skärmen det som ligger i ngn gemensam buffer...
(for the record jag kör linux)
//Rille

I vilket fall som helst så har jag suttit en del med libSDL nu... riktigt trevligt får ut pixlar etc etc... vad jag hade tänkt göra är att antagligen göra ngn hårdvaru lösning som man kopplar till parallellporten eller com porten som skickar info till programmet som sedan visar signalerna... alternativt ta den krångliga vägen (vilket den antagligen är) via ljudkortets ingång för att få in signalerna... min första tanke är att kunna koppla en liten känslig mic till ett stetoskop och på så sätt få ut hjärtrytm etc i fina kurvor etc. Konstaterar att man också kan koppla in saker så man får ett simpelt oscilloskop.
Mina funderingar börjar främst vid hur jag ska få in signalerna... ska man ge sig på att koppla in det gamla SoundBlaster16 kortet och försöka få ngt vettigt ur att eller ska man ge sig på några A/D kopplade till parallellporten alt. några A/D kopplade till en PIC till com porten... eller sampla hur mkt som helst och sen skicka som en "klump"... hur vill man att signalen ska se ut?
Hur skulle man kunna göra med signalen? låta bilden uppdateras pixel-kolumn för pixel-kolumn eller ta in hela signalen skriva buffern och uppdatera... hur ska man försöka göra så att signalen ser ut? Dvs skicka bytes med värden 0-256 för att avgöra ngt... hmm... hilfe helt enkelt...
cyr>> hur får du din signal till datorn? via nätverkskortet? (hur ser signalen ut?)
en annan fundering jag också har är om man skulle köra med parallella trådar (nästan som att ha flera processer) dvs låta en processera signalen hela jäkla tiden och den andra skriver ut på skärmen det som ligger i ngn gemensam buffer...
(for the record jag kör linux)
//Rille
Okej... eftersom jag inte har allt helt klart i skallen kommer detta försök till en förklaring antagligen vara väldigt virrig... ENJOY 
Jag har genom SDL en yta på 800x600pixlar... utanför datorn har jag ngt säg en A/D eller liknande som ger mig värden hela tiden... dessa värdena måste jag ju processera för att vet hur jag ska rita ut dem. Men medtanke på att jag inte ännu vet hur signalen ser ut vet jag inte heller hur man ska processera den. Det är därför jag har undrar hur din signal ser ut.
Säg att jag får in en signal från en microphone kopplad till ett stetoskop som i sin tur är kopplad till ljudkortet. vi tänker inte så mkt på just hårdvaran nu, signalen borde vara 0 - <max värdet> (0 an är mer teoretisk då man antagligen får in brus också) vilket sätt är då bäst att uppdatera skärmen på (ytan i detta fallet 800x600 pixlar) för att få en bra översyn av signalen... ska man gå kolumn för kolumn av pixlar dvs låta processen stega sig fram och hela tiden uppdatera kolumnen den är på... eller ska man ta in signalen under en tid och på så sätt kanske kunna uppdatera allt ihoppa... konstaterar nu att det jag snackar om är om man ska göra att i realtid eller inte... hmm...
//Rille

Jag har genom SDL en yta på 800x600pixlar... utanför datorn har jag ngt säg en A/D eller liknande som ger mig värden hela tiden... dessa värdena måste jag ju processera för att vet hur jag ska rita ut dem. Men medtanke på att jag inte ännu vet hur signalen ser ut vet jag inte heller hur man ska processera den. Det är därför jag har undrar hur din signal ser ut.
Säg att jag får in en signal från en microphone kopplad till ett stetoskop som i sin tur är kopplad till ljudkortet. vi tänker inte så mkt på just hårdvaran nu, signalen borde vara 0 - <max värdet> (0 an är mer teoretisk då man antagligen får in brus också) vilket sätt är då bäst att uppdatera skärmen på (ytan i detta fallet 800x600 pixlar) för att få en bra översyn av signalen... ska man gå kolumn för kolumn av pixlar dvs låta processen stega sig fram och hela tiden uppdatera kolumnen den är på... eller ska man ta in signalen under en tid och på så sätt kanske kunna uppdatera allt ihoppa... konstaterar nu att det jag snackar om är om man ska göra att i realtid eller inte... hmm...
//Rille