Synthforum

Mededelingen

Reactie
 
Discussietools Zoek in deze discussie
Oud 10 september 2017, 12:05   #421
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Nog een paar gedachten.

De Yocto v2 heeft een groot voordeel over de v1 wat niet heel duidelijk geadverteerd wordt: ipv het originele 808 globale trigger systeem heeft hij (net zoals de Nava) een DAC en 12 sample&hold's voor de instrumenten. Dat zorgt dat je iedere voice met een andere velocity (accent level) kunt spelen. Ik ben er nog niet helemaal uit of dat ook snellere triggering op zou leveren, ik hoop nog steeds dat ik met goed gebruik van de shift registers optimale MIDI triggering kan maken. Maar velocity per voice is op zichzelf natuurlijk al een heel fijne feature.

Ik zit me nu af te vragen hoe moeilijk het zou zijn om een DAC-accent circuit aan de Yocto v1 toe te voegen. Ik heb er de ervaring niet voor qua electronica ontwerpen maar je zou het circuit uit de Yocto v2 kunnen jatten. Wel een beetje lastig met MCU pinnen want de Yocto v1 gebruikt zijn GPIO pinnen heel royaal om bijvoorbeeld de scale LEDs direct aan te sturen.

Wat ook lastig zou zijn aan een DAC mod in de Yocto v1 is om de accent knop werkend te houden. Ik vind het allemaal een beetje ver gaan eerlijk gezegd.

Vraag me ook af of een Kenton 808 MIDI mod in de Yocto v1 gebouwd zou kunnen worden, want dat komt op hetzelfde neer als mijn idee van een DAC mod maar dan zonder dat ik een PCB hoef te gaan ontwerpen etc. Misschien ga ik Kenton een keer mailen om te vragen.

Verder heb ik ge-experimenteerd met SPI in mijn mini-firmware. Als je naar de schema's kijkt lijkt het alsof ze bij e-licktronic van plan waren om SPI te gebruiken voor de step LEDs en de step knopjes. Echter de officiŽle firmware gebruikt 'bit banging' ipv de SPI-unit van de Atmega1284P.

SPI gebruiken om de LEDs en instrumenten te updaten werkt prima: https://gitlab.com/jacobvosmaer/yoct...midi-avrc/sr.c . Je 'praat' dan met een 74HC595N shift register. De buttons lezen is een ander verhaal, echter, want dat is een 74HC165N en die heeft een andere 'clock phase'. Ik vraag me af of e-licktronic SPI heeft opgegeven omdat ze erachter kwamen dat een 595 en 165 niet op dezelfde bus kunnen.

Ik zit nu een beetje te proberen of het lukt om de SPI bus de hele tijd te herstarten met verschillende CPHA instelling, alnaargelang ik wil lezen of schrijven. Maar het voelt een beetje mal.

Het is ook nog te overwegen om SPI te gebruiken voor lezen maar niet voor schrijven, omdat de Yocto volgens mij veel vaker de knopjes leest dan dat hij LEDs schrijft.

Ik weet het niet zeker maar ik vermoed dat de main loop hier sneller mee te maken is. In vergelijking met de officiŽle firmware in midi expander mode is de main loop van mijn mini-firmware meer dan 20x zo snel.
jvq is offline   Met citaat reageren
Oud 10 september 2017, 12:08   #422
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Moet ook toevoegen dat alhoewel in de mini-firmware de main loop 20x zo snel is, hij nog af en toe noten verliest. Dus ik kan het nog niet echt 'beter' noemen.
jvq is offline   Met citaat reageren
Oud 10 september 2017, 13:43   #423
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Nee wat ik schreef over clock phase en de HC165 klopt niet, je kunt hem gewoon uitlezen met CPHA 0. Hmm.
jvq is offline   Met citaat reageren
Oud 10 september 2017, 13:57   #424
Designer
audio lab
 
Designer's schermafbeelding
 
Geregistreerd: 21 augustus 2013
Berichten: 996
Wow, zoveel vragen zoveel antwoorden :


Oorspronkelijk geplaatst door jvq Bekijk bericht
Moet ook toevoegen dat alhoewel in de mini-firmware de main loop 20x zo snel is, hij nog af en toe noten verliest. Dus ik kan het nog niet echt 'beter' noemen.
Hoe kun je nou noten verliezen ?
Je main handelt alle noten 1 voor 1 af.

Hoeveel FIFO is je UART ?, als je alles in de interrupt afhandelt heb je een probleem :
switch( alle mogelijkheden ) <----- super traag.

Wat je normaal doet : zo snel mogelijk uit de interrupt gaan, zet je noten in een circulaire buffer,
zet je controllers in een andere circulaire buffer
De interrupt sorteert je midi in deze 2 buffers,
256 size voor de buffers is goed, unsigned char kan de hele tijd ++ gaan zonder check.

noten zijn belangrijker dan controllers en knipperende LEDs :

if( note ) // high priority
{
// big switch here
}else
if( controller ) // mid priority
{
// big switch here
}else
handleLED // least priority

Heb je het zo geregeld ?
Anders raakt je FIFO vol voordat je switchen afgehandeld zijn.
Designer is offline   Met citaat reageren
Oud 10 september 2017, 14:12   #425
Designer
audio lab
 
Designer's schermafbeelding
 
Geregistreerd: 21 augustus 2013
Berichten: 996
[quote]
De Yocto v2 heeft een groot voordeel over de v1 wat niet heel duidelijk geadverteerd wordt: ipv het originele 808 globale trigger systeem heeft hij (net zoals de Nava) een DAC en 12 sample&hold's voor de instrumenten. Dat zorgt dat je iedere voice met een andere velocity (accent level) kunt spelen. Ik ben er nog niet helemaal uit of dat ook snellere triggering op zou leveren, ik hoop nog steeds dat ik met goed gebruik van de shift registers optimale MIDI triggering kan maken. Maar velocity per voice is op zichzelf natuurlijk al een heel fijne feature.
[\quote]

De S&H levert heel weinig vertraging op volgens de DIY 9090 ( 100 pf ).


Citaat:
Ik zit me nu af te vragen hoe moeilijk het zou zijn om een DAC-accent circuit aan de Yocto v1 toe te voegen. Ik heb er de ervaring niet voor qua electronica ontwerpen maar je zou het circuit uit de Yocto v2 kunnen jatten. Wel een beetje lastig met MCU pinnen want de Yocto v1 gebruikt zijn GPIO pinnen heel royaal om bijvoorbeeld de scale LEDs direct aan te sturen.
De DAC gaat naar de 4051`s, die gaan weer in de S&H`s,
belangrijk is dat je de S&H op het voice board zet, en het stroom van de voice zelf gebruikt.
Als je hem op het main board zet heb je meer kans op storing ( langere draden & alle S&Hs op 1 stroomtoevoer gaat storen, elke voice heeft 100ohm weerstandjes met 64u elkos )


Citaat:
Wat ook lastig zou zijn aan een DAC mod in de Yocto v1 is om de accent knop werkend te houden. Ik vind het allemaal een beetje ver gaan eerlijk gezegd.
De DAC knop moet daarvoor in een ADC, erg lastig.
Waarom haal je niet gewoon een V2 ?
Designer is offline   Met citaat reageren
Oud 10 september 2017, 14:15   #426
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Designer, bedankt voor je reactie!

Ik doe helemaal niks in de UART interrupt, ik gebruik een library die met de interrupt de inkomende bytes in een ringbuffer zet. Ik poll die ringbuffer vanuit de main loop.

Het meest waarschijnlijk is dat mijn UART error handling de schuld heeft https://gitlab.com/jacobvosmaer/yoct...idi.c#L186-191

De huidige code gooit de hele ringbuffer weg als er maar iets van een UART error is. Ik moet maar eens lezen wat voor errors er kunnen zijn, en wanneer weggooien zinvol is.
jvq is offline   Met citaat reageren
Oud 10 september 2017, 14:18   #427
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217

Oorspronkelijk geplaatst door Designer Bekijk bericht
Waarom haal je niet gewoon een V2 ?
Ja misschien ga ik dat nog wel doen. Maar eerst wil ik kijken of ik het onderste uit de kan kan halen qua MIDI performance met de v1.
jvq is offline   Met citaat reageren
Oud 10 september 2017, 14:31   #428
Designer
audio lab
 
Designer's schermafbeelding
 
Geregistreerd: 21 augustus 2013
Berichten: 996
Hoezo schrijf je zelf de code niet ?

Als je vast zit kun je me altijd PBtje proberen te sturen,
aangezien ze geen programmeer subforum onder zelfbouw hebben PB me.
Over eigen code hoef je niet te twijfelen, hou het simpel.

Qua errors heb je veel checks niet nodig, die komen bijna niet voor.
Ik denk dat het probleem ergens anders ligt.

Zoiezo reageert jouw ding maar op 1 kanaal, dat gedeelte kan er zoiezo uit,
net wat ik zeg : sorteren op noten en controllers, meer niet.

Zo te zien staat er niets over interrupt in deze code,
probeer het via een interrupt te doen, ok ?
Nu heb je kans dat je mainloop bezig ergens anders is terwijl je FIFO vol loopt.

Moet je nagaan dat 1 zo een switch al te traag is, en je FIFO vol loopt, zo een switch moet je niet in je interrupt uitvoeren, als je alles in mainloop doet is dat hetzelfde.
Een interrupt zet je noten snel veilig terwijl de switch nog bezig is, dat verstoort elkaar niet als je een read en write positie hebt.
Designer is offline   Met citaat reageren
Oud 10 september 2017, 15:23   #429
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Ik krijg SPI voor de knopjes/LEDs nog steeds niet aan de praat maar ik heb nu wel een hypothese waarom het misgaat.

De officiŽle firmware gebruikt een vrij forse interruptfunctie op timer 1 voor de master clock. Bijna al het 'werk' gebeurt in die interrupt. Echter, de main loop leest en schrijft de knopjes/LEDs _ook_. Op die manier kan er van alles misgaan als de interrupt en de main loop "tegelijk" SPI gebruiken.

Met 'bit banging' ipv SPI loopt het niet vast, maar ik vraag me af of sommige van de bugs in de officiŽle firmware alsnog veroorzaakt worden door ongelukkige interactie tussen de main loop en de interruptfunctie.

Niet zo'n zin om dat op te gaan lossen want dat klinkt als een rewrite.

(SPI werkt prima in mijn mini-firmware waar ik zo min mogelijk met interrupts doe.)
jvq is offline   Met citaat reageren
Oud 10 september 2017, 15:38   #430
Designer
audio lab
 
Designer's schermafbeelding
 
Geregistreerd: 21 augustus 2013
Berichten: 996
Daarvoor zet je de interrupt even uit zodat het niet misgaat.
Designer is offline   Met citaat reageren
Oud 10 september 2017, 15:45   #431
jvq
 
Geregistreerd: 7 juli 2016
Woonplaats: Amsterdam
Berichten: 217
Designer: sorry er is natuurlijk geen touw vast te knopen aan mijn geklets.

Ik ben met twee dingen tegelijk bezig:

- eigen firmware schrijven die alleen maar MIDI doet
- kijken of ik de officiŽle firmware ergens kan verbeteren

En mijn opmerkingen springen heen en weer tussen deze twee onderwerpen.

Ik moet zeggen dat ik eigen firmware schrijven leuker vind dan klooien met de officiŽle firmware.

Ik verplaats mijn geklets over mijn nieuwe firmware naar http://www.synthforum.nl/forums/show...95#post1977895

Designer: ik ga in die nieuwe thread op je laatste post reageren.
jvq is offline   Met citaat reageren
Reactie

  Synthforum » Synth Hardware » Zelfbouw, reparatie en onderhoud

Discussietools Zoek in deze discussie
Zoek in deze discussie:

Geavanceerd zoeken

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

vB-code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Forumnavigatie

Soortgelijke discussies
Discussie Auteur Forum Reacties Laatste bericht
Gezocht: Roland TR-808, TR-909 en/of Elysia Museq Ridder Te koop/ruil gevraagd 3 4 september 2012 15:56
TK/TR : Novation D-station drumstation (tr 808/909 sound) s1Mii Marktplaats archief 2 17 maart 2012 14:17
TR-808 en TR-909 samples voor Akai S1000 AnthonyDavid Te koop/ruil gevraagd 20 14 april 2010 13:20
TR-909/TR-808/TR-707 Jasonhamer Te koop/ruil gevraagd 2 20 maart 2010 14:00
TR-808 met sync ruilen voor TR-808 met MIDI seiko Marktplaats archief 0 9 maart 2010 08:54


Alle tijden zijn GMT +1. Het is nu 02:36.


Copyright ©2001 - 2017 Stichting Synthforum Nederland