Kuinkahan hyvin AVR:n saisi istutettua ISA-väylään ilman muita oheispiirejä? No, ehkä jotain puskurointia voisi sallia - ainakin testaus vaiheessa. Idea olisi saada hyödynnettyä esim. ad-muuntimia, timereita, yms. suoraan.
btw. Tiedän, että tuon saa istutettua USB:iin ja sitä kautta kytkettyä PC:hen melko kivuttomasti, mutta nyt olisikin tarkoitus tehdä HW:tä(ja vanhalla raudalla)! ;)
btw. Tiedän, että tuon saa istutettua USB:iin ja sitä kautta kytkettyä PC:hen melko kivuttomasti, mutta nyt olisikin tarkoitus tehdä HW:tä(ja vanhalla raudalla)! ;)
Vastaukset 8
Vanhimmat
Tee tai hanki protokortti jossa on valmiina puskurointi ja osoitedekoodaus ym. Muistaakseni osoitealue varattu johonki 300H.
http://www.mandrilo.com/index.php/electronic/make-your-own-at-card
No tällaista minä alunperin katselin. Mietin vaan, että onko järkeä pistää seitsemän logiikkapiiriä kytkentään, vai onnistuisiko vähän vähemmällä hoitamalla joitain hommia avr:llä.
Rahaa en tähän hommaan ole aikonut laittaa, vaan ne logiikkapiirit, jotka tarvitaan, on tarkoitus ottaa vanhasta ide-ohjaimesta, rtc:stä, yms. joutilaista korteista joita ympärillä on kasapäin lojumassa. Voisi jopa harkita, että vaan ryöväisi joltain kortilta dataväylän, mutta kun siitä tulle sitten jo vähän ruma toteutus..
Tuurilla noita proto kortteja voi löytää ser-pisteistä, poisunu kuitenki jo teollisuuskäytöstä. Usein tuo dekoodaus oli toteutettu gal, pal tai muulla ohjelmoitavalla piirillä. Jos meinaat avr-pinnejä käyttää niin eihän siitä sitten vapaita enää jääkkään. Toinen ongelma, pitää sitten olla ajotukset jus eikä melkein.
Jos tarvit vaan avr:ltä pc:n suuntaan tietoa niin vanha joystik kortti käy, kunhan poistaa konkat ja laittaa ylösvetovastukset.
Tuo joystick-kortti voisi toimia. Mietin vaan, että voisiko kaksisuuntaisuuden saada siihen ihan vaan ottamalla osoitedekoodauksen ja write-signaalin väliltä ANDin ja viemällä sen avr:n keskeytysnastalle. Saisi sitten toisenkin suunnan lukemalla datalinjat sopivasti(jos saisi..). Voi olla toiveajattelua, että ylipäätään pääsisi käsiksi noihin signaaleihin kun löysin äänikortin yhteydessä olevan portin.
Lähinnähän tuossa isa-väylässä kiehtoo sen sopiva nopeus eikä se toisaalta ole liian monimutkainenkaan. Tällä hetkellä pitää lukea data i2c-donglen kautta, joka on hidasta. Ja saisihan sieltä vaikka kellonkin avr:lle.
No katsoin sitten tuon sb:n vibran läpi ja näyttäs kyllä siltä, ettei siihen saa sitä kirjotusta avr:lle päin kovin helpolla. On aika integroidun näkönen kortti ja kaikki IO kiertää yhden piirin kautta.
Samalla kuitenkin osui käsiini vanha modeemi, jossa on 16c450 UARTti. Tällä taitaa päästä siihen mitä hain: speksin mukaan pystyy 1.5mbps/s nopeuteen. Jos tuosta riittäs vetää vaan rx/tx nastat suoraan avr:lle. Hmm.. tällähän saisi tehtyä vaikkapa etäkäytettävän laitteen, kun vetäs nuo nastat sille rockwellin piirille.
No niin, hommahan toimi! Eli vedin aluksi rx/tx nastat avr:ltä UART:lle 2 peräkkäisen ttl-invertterin läpi ja kun nopeudet sai kohdilleen, alkoi data kulkea.
Tässä Goldstar:n valmistamassa UART:ssa max. kello oli näköjään 16MHz, joten en viitsinyt edes kokeilla, saanko 24MHz;n ylikellotuksen toimimaan. Sen sijaan otin 15.1MHz kiteen mikä löytyi modeemista toisesta kohtaa ja pistin sen 1.8MHz:n tilalle. Suoraan sitä ei saanu kytkettyä, kun oli käytetty jotain nuhapumppu logiikkaa, jonka max. kellot oli 3MHz luokkaa. Lähti kuitenkin ihan kivasti toimimaan tuolla 15.1MHz kiteellä, kun pisti rinnalle 470k vastuksen ja sarjaan 390 ohmisen, eli ihan niin kuin piirin ohjekirjassa suositeltiin kide kytkemään suoraan xtal-tuloon.
Sitten keksin, että tuossa on BAUDOUT lähtö, joka on 16x asetettu baudrate. Tästä vedin sitten AVR:n kellot. Nyt se toimii siis siten, että asettamalla UART:n nopeuden, asettaa samalla AVR:n nopeuden, eli sitä ei tarvitse enää mitenkään säädellä. Toki tässä menetetään suoritustehoa, mutta kun tuolla ei ole tarkoitus tehdä muuta kuin konvertoida SPI/2wire protokollaan, niin sen kestää. Max. nopeudeksi saadaan n. 94kbps, mikä riittää debuggaukseen aikasta hyvin.
Linux:n minicomssa on muuten irq-ohjattu sarjaportit, mikä selvisi ohessa. Pitää muistaa asettaa oikein jumpperit modeemista..
tarkoitin nopeudeksi tietysti 940kbps, eli n. 94kt/s..