Aihe: EPROM -ja PIC-piireistä ja niiden sovelluksista?
1
placebo
10.04.2005 20:34:38 (muokattu 10.04.2005 20:35:45)
Törmäsin EPROM-käsitteeseen lukiessani eräästä mielenkiintoisesta kitarapedaalimuunnoksesta - Kyseisessä muunnoksessa kopioitiin Digitechin XP-300 pedaalin EPROM ja siirrettiin se DIGITECHIN XP-200 pedaalin vastaavalle lastulle. Ks pedaalisarjan pedaalit ovat siis (ilmeisesti?) piiritoteutukseltaan identtisiä, ainoastaan EPROM -piirien sisällöt poikkeavat toisistaan.
 
---
 
PIC-piireillä olisi ilmeisesti mahdollista toteuttaa kaikenlaisia yksinkertaista logiikkaa vaativia sovelluksia(?); Esimerkiksi MIDI-ohjaimen henkisiä 'reitittimiä' (Mikäli koodin vääntäminen on hanskassa).
 
---
 
Miten EPROM-piirillä oleva koodi "puretaan ääneksi"?
Millaisissa muissa kirasovelluksissa törmää EPROM-piireihin?
Millaisella laitteistolla tuollaiselle EPROM-piirille kopioidaan?
Millä ohjelmalla/ohjelmilla kyseisen koodi tuotetaan?
 
Samat kysymykset pätevät PIC-piireihin :)
 
Ideana olisi siis saada jonkinlaista yleissivistävää käsitystä "koodia" sisältävistä piireistä.
"The notes are the same all around the world, but the way you put the notes together must be something very personal - Your own story" - Pierre Bensusan
pjl
11.04.2005 00:23:19 (muokattu 11.04.2005 00:23:56)
 
 
Jahas. Yritetään...
 
EPROM piirit ovat siis muistipiirejä (Eraseable PROgrammable Memory) ja niihiin voi tallentaa bittejä siinä missä kovalevyllekin. se "miten EPROM puretaan ääneksi" onkin sitten hieman moniselitteisenpi juttu.
 
Jos se rommi sattuu sisältämään sämplejä (kuten vaikka jossain rumpukoneessa) niin ne toistetaan samaan tapaan kuin mikä tahansa audio miltä tahansa massamuistilta.
 
Mutta nyt lienee kuitenkin kyse siitä että rom sisältää tuo efektiprosessorin ohjemakoodin. Eli ihan niin kuin PC-koneen bios sisältää ne koneen käynnistysrutiinit. Prosessori käy sitten vaan tarpeen mukaan rommista lukemassa että mites sitä flangeria nyt sitten saadaan aikaan ja muljuttaan tulosignaalia ohjeiden mukaan.
 
EPROM:iin törmää monissa muistia vaativissa laitteissa. Kuten nyt nuo multiefektit. Tosin nykyään efektiprosarit sisältävät itsessään aika reilusti muistia ja nuo ulkoiset rommit alkavat käsittääkseni olemaan katoava luonnonvara.
 
Vaikka muisti on nimeltään "Eraseable Programmable.." niin ohjelmointi ei onnistu ilman erityistä ohjelmointilaitetta. Ja pyyhkiminen ei tapahdi ihan hetkessä. Perinteisesti kaupalliset maksavat paljona ja netistä löytyy skeemoja ja softaa ilmaiseksi. Purkaminen taas tapahtuu UV-valolla piirin päällä olevasta "ikkunasta", josta muistipiiri näkyy. EEPROM onkin sitten jo paljon kiitollisempi muisti. Sen kun voi pyyhkiä sähköisesti ja monesti myös ohjelmoida "lennossa". Tämä mahdollistaa esim jonkun vempeleen asetusten tallentamisen ilman erillistä patteria joka pitää muistipiirin käynnissä. Arvaisin että esim Line&:n vempeleet sisältävät melkoisen möykyn juuri EEPROM:ia. Tai sitten flashia, joka on vielä kivampi muistityyppi. Sitä käytetään mm. näissä USB-muisteissa.
 
Koodi tuotetaan käytetyn prosessorin ohjelmointikielellä ja käännetään sopivalla kääntäjällä. ROM-piiri ei siis itsessään tee mitään vaan on aina jonkin prosessorin kyljessä.
 
PIC-piirit taas ovat juuri niitä prosessoreja tai oikeammin mikrokontrollereita. Mikrokontrolleri sisältää prosessorin lisäksi muistia (EEPROM, RAM, Flash) ja oheislaitteita (esim sarjaväylä, AD-muunnin...). Näillä kontrollereilla voi toteutta vaikka noita midi-himmeleitä. Hieno esimerkki täällä: http://www.ucapps.de/, on varmarti monipuolisin midi-kikkula mitä ilmaiseksi on saatavilla. Lisäksi kaikenalaiset pikkuvempeleet voi rakentaa mikrokontrollerin ympärille. Vaikka varashälytin tai lämpötilavahti, joka lähettää tekstiviestillä ilmoituksen kun sauna on kuuma.
 
Toinen vastaa kontrolleriperhe on Atmelin AVR. Näiden paremmuudesta harrastelija ovat vääntäneet kättä jo ikuisuuden. Itse harrastan AVR:iä ja työnalla on mm. CV-koskettimisto, joka lukee vanhan kiipparin diodimatriisia.
 
PIC- ja AVR-piirien ohjelmointiin löytyy sekä assembler- että c-kääntäjiä ja taitaapa olla basic-kääntäjiäkin. Osoitteesta www.avrfreaks.com löytyy WinAVR kääntäjä, joka perustuu GNU-lisenssillä jaeltavaan GCC-kääntäjään. Mainio paketti ja ilmainenkin vielä. PICistä voinee joku niihin perehtynyt kertoa enemmän.
 
Ohjelmointi tapahtuu erillisellä ohjemointilaitteella, joka yksinkertaisimmillaan koostuu muutamasta vastuksesta ja kompuutterin rinnakkaisportista.
 
AVR tietoutta ja demolaitteita saa ainakin seuraavilta kotimaisilta firmoilta: http://www.tietomyrsky.fi/ ja http://www.microsalo.com/.
 
Joku viisaampi jatkakoot tästä.
 
Kiitos.
 
Allekirjoittanut ei vastaa kirjoitusvirheistä...
placebo
12.04.2005 03:14:55 (muokattu 12.04.2005 03:15:54)
Kiitoksia Pjl ja Tubeman!
 
Prosessori käy sitten vaan tarpeen mukaan rommista lukemassa että mites sitä flangeria nyt sitten saadaan aikaan ja muljuttaan tulosignaalia ohjeiden mukaan.
 
Tuon yms toteutus olisi kiva nähdä lohkokaaviona - Jos käyttäisi pohjana alla olevassa linkissä olevaa flangerin lohkokaaviota, niin olisi mielenkiintoista nähdä miten prosessori, muisti, väylät jne sijoitettaisiin tuohon…
 
http://www.geocities.com/scaprile/fxd.html
 
Räkkimallisessa SansAmp:issahan on muistia. Itse etunen on analogielektroniikkaa. Kyseisessä tapauksessa on mielestäni vielä suht helppo hahmottaa, kuinka prosessori käy hakemassa muistista 'potikanarvot' ja siirtää ne väyliä pitkin oikeille paikoilleen(?). Tuntuisi luontevalta siirtää sama logiikka tuohon flangeriinkin.
 
Yksi tekijä mikä vaikeuttaa digitaalisten piirien hahmottamista käytännössä on mielestäni juuri se, että valmistajat integroivat yhdelle lastulle omien tarpeidensa mukaan ties mitä toimintoja. Sitten kun on vielä niin, että kyseisistä IC:seistä ei löydy tietoa vaikka kuinka penkoisi…
"The notes are the same all around the world, but the way you put the notes together must be something very personal - Your own story" - Pierre Bensusan
pjl
12.04.2005 10:33:07
 
 

 
http://www.geocities.com/scaprile/fxd.html
 
Räkkimallisessa SansAmp:issahan on muistia. Itse etunen on analogielektroniikkaa. Kyseisessä tapauksessa on mielestäni vielä suht helppo hahmottaa, kuinka prosessori käy hakemassa muistista 'potikanarvot' ja siirtää ne väyliä pitkin oikeille paikoilleen(?).

 
No ikäänkuin. Kyeistä vempelettä ikinä näkemättä arvaisin että siellä on joku mikrokontrolleri, joka ohjaa digitaalipotikoita. Potikoiden arvot vaan muistiin talteen ja kun pitää saada taas tallennettu pätsi käyttöön käydään lukemassa arvot muistista ja kirjoitetaan potikoille. Tod näk. etupaneelin potikoiden arvot luetaan prosessorille ja niiden mukaan säädetään taas niitä digitaalisia potikanvastineita.
 
Tuntuisi luontevalta siirtää sama logiikka tuohon flangeriinkin.
 
Juu-u. Paitsi että yleinen toteutus aiheesta lienee signaaliprosessori, joka tapauksesta riippuen osaa tehdä viiveitä ja laskea suotimia ja muuta mukavaa. Lohkokaavi lienee yksikertaisuudessaan sellainen että piirrät neliön tuon flangerin (tai mikä vaan) ympärille ja viereen toisen neliön johon kirjoitat rom. Sitten vaan viiva väliin. Ja nykyään usein se ROM on suoraan siellä prosessorin piirillä, eli se siitäkin sitten...
 
Yksi tekijä mikä vaikeuttaa digitaalisten piirien hahmottamista käytännössä on mielestäni juuri se, että valmistajat integroivat yhdelle lastulle omien tarpeidensa mukaan ties mitä toimintoja. Sitten kun on vielä niin, että kyseisistä IC:seistä ei löydy tietoa vaikka kuinka penkoisi…
 
Näin se on ja kuuluu kait ollakin. Monet noista erikoisimmista piireistä on ns. ASIC, eli Application Specific IC -piirejä, joiden kehittämisestä firmat ovat maksaneet isot hillot. Eipä niiden speksejä viitsi julkaista kilpailijan kopioitavaksi. Perus mikrokontrollerin sisälle pääsee mukavasti katsomalla datalehteä. Esim. Atmelin ATtiny2313: http://atmel.com/dyn/resources/prod_documents/doc2543.pdf ja sieltä sivu 3.
Tubeman
12.04.2005 11:14:10
Tämä unohtui eilisestä viestistä,bongaa se kirja sieltä,se on aika oivallinen opus.
 
http://www.tietomyrsky.fi/
Paljon olis kolvattavaa,vaan ei aikaa..
‹ edellinen sivu | seuraava sivu ›
1
Lisää uusi kirjoitus aiheeseen (vaatii kirjautumisen)