Olen muutaman kerran käyttänyt tätä "Rayer's SPI" ohjelmointilaitetta:
http://rayer.g6.cz/elektro/spipgm.htm
Siinä on vain ongelma, että välillä se polttaa piirin, koska jännitteet eivät
systeemissäni ole ihan parhaat, vaan n. 3.7 voltin luokkaa, koska kirjoitinportti
ei suostu 3.3V:llä toimimaan oikein.
Huomasin, että tuonne on ilmestynyt 1.8V-ohjelmointilaite alle ja nyt mietin,
yritänkö tehdä sen vai saada kirjoitinportin jännitteet paremmin sopiviksi lisäämällä väliin 3V3 - 5V bufferi-piirin aidon n. 3V jännitelähteen.
http://rayer.g6.cz/elektro/spipgm.htm
Siinä on vain ongelma, että välillä se polttaa piirin, koska jännitteet eivät
systeemissäni ole ihan parhaat, vaan n. 3.7 voltin luokkaa, koska kirjoitinportti
ei suostu 3.3V:llä toimimaan oikein.
Huomasin, että tuonne on ilmestynyt 1.8V-ohjelmointilaite alle ja nyt mietin,
yritänkö tehdä sen vai saada kirjoitinportin jännitteet paremmin sopiviksi lisäämällä väliin 3V3 - 5V bufferi-piirin aidon n. 3V jännitelähteen.
Vastaukset 5
Vanhimmat
Mitä piiriä ohjelmoit eli löytyisikö sille muualta paremmin toimivaa ohjelmointilaitetta. Tietokoneiden rinnakkaisportti kun on katoavaa kansanperinnettä.
Kone jolla tätä viestiä laadin on vuodelta 2008 eli 12 vuotta vanha eikä tässäkään enää ole rinnakkaisporttia.
Ei se nyt ihan noinkaan ole. Rinnakkaisportti on halvin tapa päästä kiinni 8-bittiseen väylään. ISA-väylästä tuo juontaa, tosin sekin laajeni 16-bittiseksi aika pian. Tälle oli tarjolla valmiita interface-kortteja, joilla sai 8 tai 16 bittisiä omia kortteja toteutettua, jos osasi käyttää rinnakkaisporttia. Sama päti myös PCI-väylässä, mutta bittejä oli 32 normimallissa ja jopa 64-bittinen oli mahdollinen. Tässä kohdassa väylän ajoitukset muuttuivat jyllä hiukan ja nopeus nousi merkittävästi. Mutta edelleen sama logiikka kuin rinnakkaisportissa päti. Lisänä tuli mahdollisuus väylämuistiin, jota cpu pystyi käyttämään väylän yli normaalimuistin tapaan. Tällöin kortillakin tietysti piti olla prosessori, joka muistia luki tai kirjoitti.
Nykyään jokainen, joka haluaa käyttää sarjamuotoista PCI-express väylää, joutuu ostamaan siihen lisenssin tai käyttämään valmista piirisarjaa - tai tyytymään usb:hen, se kun on johdotettu jokaiselle korttipaikalle. Yksittäin ostettuna nämä "kehityskortit" ei ihan halpoja ole, vaan hinnat lähtee parista sadaste eurosta ylöspäin. Kelläpä oli opiskelu aikoina käyttää tuollaisia summia? Bulk-tuotteita tietysti saa halvemmalla. Se, miten interface on toteutettu, riippuu käytännössä vhdl:stä: Interface on lähes vapaavalintainen: Sen saa räätälöityä mille tahansa kortilta löytyvälle cpu:lle, muistille, logiikalle, jne. ja kyllä: ISA-emulaatio on myös tuettuna yhä vieläkin, eli valmistajien ei ole ollut pakko muuttaa toimiva korttejaan istuttaakseen niitä PCIe-väylään vieläkään..
Ikään kuin PCIe-kortti olisi routerissa kiinni eetteri-piuhan päässä ja liikenne pakettivälitteistä. Tästä syystä se on niin nopea.
Tuollainen PCIe - rinnakkaisporttikortti, halppis on toteutettu usb:n yli, ja on yleensä melko huono. Varmempi ostaa tavallinen PCI, josta voi olla varma, että se menee ISA-sillan yli ja on tästä syystä harrastajaystävällisempi.
jos noi usb-väyläiset maksaa ebayssa sen huiman pari euroa, niin kannattaako tuo vaivannäkösi oikeasti?
USB vaan ei toimi tässä. Jos perässä on siis pelkkää logiikkaa ja ainoa tekijä on se, kuinka nopeasti pystyy dataa/vuonohjausbittejä nitkuttelemaan. USB-väylää kun ei ole suunniteltu tällaiseen, se kyykkää - ja pahasti. Joko se ei toimi ollenkaan tai sitten ohjelmointi, joka tavallisesti sujuu 0.2 sekunnissa, kestääkin yli 10 sekuntia..
Joo siis tuli hommattua tuollainen smd-kokoinen 8 pinninen muistipiiri - n. 2 tulitikun pään kokoinen ja se pitäisi saada ohjelmoitua kertaalleen PC:llä. Tämän jälkeen saan sen usb-väylän kautta ohjelmoitua kontrollerissa. Kontrolleri siis osaa lukea SPI-flashrom:lta alustuksensa/tallettaa sille dataa, mutta ensimmäisellä kertaa se pitää tehdjä jossakin muualla, eikä viitsisi mitään erityistä tätä vasten hommata.
https://www.14core.com/wiring-the-winbond-w25qxx-spi-serial-flash-memory-with-microcontroller/
Pistin tän nyt suoraan kiinni rinnakkaisporttiin ja sormet ristiin ja sain sen ohjelmoitua ilman hajottamista. Ilmeisesti riippuu ihan piirityypistä, mitkä on nopat tässä, nyt se toimi. Homma toimii aina niin kauan, kunnes onnistun sähläämään SPI-sisällön kirjottamalla väärän kohtaan. Huono puoli siinä, että datat samalla SPI:llä.. nyt valitsen ajettavan ohjelman blokin naputtamalla kytkintä x kertaa. Tämän jälkeen ohjelma tekee mitä tekee, vaikka päivittää SPI:n ohjelmaversion blokista X. Sitten vaan reset ja yritys ajaa se. Jos kaikki meni hyvin, ohjelma käynnistyy. Joskus menee väärä blokki yli - kuten tuo latausohjelma ja sitten sen joutuu taas irrottaan uudestaan.