Resultat 1 till 11 av 11

Ämne: Hjälp med CEM3396 bygge?

  1. #1
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än

    Hjälp med CEM3396 bygge?

    Hej,
    bygger en CEM3396 baserad modul, men har kört fast och kommer inte vidare.

    Problemet har med range switching att göra (se bild nedan) och artar sig som ett klick när jag i mjukvaran byter från lågfrekvensläge till högfrekvensläge

    Detta har alltså med scaling att göra, jag försöker få till en sömlös omkoppling, dvs jag bevarar vågformen genom alla frekvenser.

    Klicka på bilden för en större version. 

Namn:	3396-range-switch.PNG 
Visningar:	24 
Storlek:	51,1 KB 
Id:	79267
    I mjukvaran justerar jag waveshape beroende på frekvens (enligt formel i databladet)m det funkar fint, men när jag skall byta range får jag ett som sagt ett oönskat klick.

    Jag har ingen aning om vad problemet är, har följt databladet och även kopplat enligt matrix-1000 schemat.

    Klicka på bilden för en större version. 

Namn:	m1000-range.PNG 
Visningar:	29 
Storlek:	87,0 KB 
Id:	79269

    CEM3396 datablad
    http://www.cedos.com/datasheets/cem3396pdf.pdf

    Matrix-1000 schematic
    http://wolzow.mindworks.ee/analog/files/OberheimMatrix1000Schematics.pdf


    Om någon har något tips på hur jag skulle kunna komma vidare med detta så blir jag glad

  2. #2
    ricard
    ricard är inte uppkopplad
    ricards avatar
    Veteran
    Ett problem man får i den här typen av system där styrspänningen till vågformsgenereringen och timingen för själva frekvensen är två separata entiteter (i motsats till en klassisk VCO, där en enda styrspänning dels styr lutningen på sågtanden samtidigt som den styr frekvensen), är att när man ändrar styrspänningen till vågformsgeneratorn men inte exakt samtidigt ändrar motsvarande period mellan resetpulserna till kondensatorn i vågformsgeneratorn, så får man antingen ett läge (låg till högfrekvens) där vågformsgeneratorn ökar lutningen på sågtanden vilket får den att bottna och plana ut ett tag innan nästa resetpuls, alternativt (hög till lågfrekvens) att i den cykeln där man ändrar styrspänningen till vågformsgeneratorn så blir just den vågformen ganska flack istället för att gå hela utspänningsområdet. Resultatet blir i båda fallen att utvågformen innehåller en cykel med ett avvikande DC-medelvärde, vilket yttrar sig som ett klick i signalen.

    En riktig VCO har aldrig det här problemet, eftersom frekvensen direkt styrs av att utsignalen närmar sig en triggnivå så när sågtandslutningen ändras på grund av ändrad styrspänning, så svarar oscillatorn direkt med att ändra frekvens så fort utsignalen når triggpunkten.

    Ett angränsande problem är att de på sin tid vanliga 8253 eller 8254-chipen endast byter utfrekvens när de interna räknarna går ner till 0, dvs man kan inte byta utfrekvens mitt i en cykel. Det ställer framförallt till det när man går från en låg till en hög frekvens: den triviala lösningen att samtidigt ändra styrspänningen till vågformsgeneratorn samtidigt som man skriver ett nytt kontrollord till räknaren kan leda till att lutningen på sågtanden ändras med en gång, men just den cykeln ut från oscillatorn har samma period som de tidigare, vilket gör att sågtanden bottnar och utsignalen står still tills nästa period. Resultatet blir samma här: man får ett klick på grund av den avvikande DC-nivån under perioden.

  3. #3
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    Tack ricard, men vad skall jag göra för att komma vidare då? Jag har inte den blekaste förutom att be om hjälp..
    Vill komma i mål, men jag behöver en pointer tror jag.

  4. #4
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    Allt annat är klart som jag ser det, men detta problem hindrar mig från att komma vidare.
    Bevisligen går det, har labbat med matrix-6 där är det noll klick över hela rangen.

    Klart jag kan begränsa bygget till att bara spänna över ett visst antal oktaver och sätta en switch för att byta oktav, men det känns så segt när det bevisligen går att lösa..

  5. #5
    ricard
    ricard är inte uppkopplad
    ricards avatar
    Veteran
    För det första: har du något oscilloskop så du kan verifiera vad som händer? Egentligen räcker det med ett ljudkort: spela in vågformen och kolla i någon vågformseditor hur det ser ut när det klickar. Oavsett hypotes så hjälper det att se vad som verkligen händer.

    Vad har du för något som genererar timingpulserna? Är det något du har full kontroll över eller är det typ som med 8253/8254 att man bara kan ändra cykellängden i början på varje period?

    Min hypotes är alltså att problemet är att vågformsperioden och high/low-range uppdateras vid olika tillfällen, vilket får vågformen att bottna alternativt plana ut under en cykel.

    Ett sätt att lösa det kan vara att när man byter pitch så ändrar man rangen och samtidigt tvingar timinggeneratorn att generera en ny resetpuls och starta en ny period. Då planar vågformen inte ut eller bottnar, även om det kan bli så att just en period blir avklippt (tänk en låg frekvens och så byter du till en hög, med den beskrivna metoden så kommer den vågformscykel som för tillfället är på gång inte att bli fullständig eftersom du startar om oscillatorn, men det bode klicka mindre eftersom du i varje fall inte bottnar oscillatorvågformen). Jag har gjort det på en synt jag byggde en gång för att just undvika klickproblemet när man bytte frekvens. I det fallet hade jag ingen rangeomkoppling, utan bara en styrspänning till vågformslutningen.

    Nackdelen med den här metoden är att varje gång man byter pitch så startar oscillatorn om, vilket gör att oscillatorn börjar i samma fasläge varje gång, vilket om man har ett par oscillatorer som står och svävar så blir ljudet lite statiskt - varje gång man triggar en ny ton så startar svävningen från samma punkt. En lösning är då att man bara gör den där resetten när det verkligen behövs, t ex bara när man verkligen byter från low till high range, men för övrigt låter oscillatorn gå fritt. I mitt fall hade jag klickproblem bara när jag gick från en låg till en hög frekvens, så det var bara i det läget som jag lade in den extra resetten beskriven ovan.

  6. #6
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    där sa du nått... hmmm.

  7. #7
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    så, nu är projektet uppe igen och I'm ready to go. (har vilat sen Maj).
    MCU: STM32 (agerar oscillator och allt annat digitalt). Oscilloskop och ljudkort finnes.
    Skall nu försöka komma in med en timer reset vid rätt tidpunkt för att se om glitchen kan försvinna på så sätt.

  8. #8
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    Löst!
    Det var ett synkroniseringsproblem mellan timern och range bitten, löstes med timer interrupt..
    Tack så mycket för att du fick in mig på rätt spår

  9. #9
    ricard
    ricard är inte uppkopplad
    ricards avatar
    Veteran
    Kalas! Roligt att du kom vidare!

    Hade varit intressant med en närmare beskrivning av ditt projekt vid tillfälle. De flesta DIY-projekt här är antingen helanaloga eller heldigitala, hybrider med t ex CEM 3396 är inte så vanliga.

  10. #10
    Ljungars
    Ljungars är inte uppkopplad

    Inte så pratsam än
    Ja, vad skall jag säja?

    Det var på väg att bli mitt livs historia här, men det får bli en annan gång.

    Bakgrunden är att jag köpte en Matrix-1000 som efter att den gått sönder lämnade efter sig sex stycken CEM3396.
    Jag ville givetvis väcka synthen till liv på något sätt, och så startade projektet/galenskapen som som startade ungefär i tiden när PIC var hett.

    Nu (något senare) så ser det ut så som följer:
    I stället för att muxa så har jag ett antal SPI baserade D/A omvandlare och en STM32 MCU (80ish MHz). För tillfället har jag en beatstep som gränssnitt, modulen är alltså endast midistyrd för tillfället. Ambitionen är att få till en bra pot-avläsning men det spelar egentligen igen roll, målet är att bli klar och då får gränssnittet bli vad som är görbart. Troligtvis blir det en OLED display variant med en (rotary) encoder och lite knappar. Jag har en desktop låda som kan agera hus, dock lutar det år Eurorack formatet eftersom det är så mycket enklare.

    Jag står för tillfället i läget där det är dags göra PCB, min förhoppning är att jag slipper det arbetet och kan koncentrera mig på konceptet (på Torsdag skall jag träffa en person som jag hoppas kan bli aktuell för det).

    Ja, jag vet inte om det dög så? Fråga på om det finns något du undrar över.

  11. #11
    ricard
    ricard är inte uppkopplad
    ricards avatar
    Veteran
    Låter som ett kul projekt. Man behöver ju inte ha en muxad D/A, antar att de där du har inte var så dyra eller att du råkade komma över ett gäng? Kan ju vara en fördel att slippa alla S/H:s som man behöver för muxningen. Roligt att du kör vidare trots att det drar ut på tiden.

Liknande ämnen

  1. Hjälp med att programera patterns med Cyclone TT303 version 1
    Av Pio i forum Syntar, samplers & sånt
    Svar: 2
    Senaste inlägg: 2017-04-01, 01:47
  2. Någon med bra öra? Hjälp med identifikation av ackordföljd!
    Av mixim i forum Komposition & textförfattande
    Svar: 4
    Senaste inlägg: 2014-06-01, 21:57
  3. Måst HA Hjälp Med Cf Reader Till Mpc 2000xl (snälla hjälp nån)
    Av Mpc2000xl/2012 i forum Syntar, samplers & sånt
    Svar: 6
    Senaste inlägg: 2012-03-10, 17:16
  4. Hjälp/Tips till pitchbend på orgel, bygge.
    Av CRASH n BURN i forum DIY - bygg & reparation
    Svar: 8
    Senaste inlägg: 2011-05-13, 14:28
  5. Hjälp mig med monitorer! akut hjälp!
    Av ollemannen i forum Inspelning
    Svar: 22
    Senaste inlägg: 2008-01-14, 18:01

Behörigheter för att posta

  • Du får inte posta nya ämnen
  • Du får inte posta svar
  • Du får inte posta bifogade filer
  • Du får inte redigera dina inlägg
  •