Ce trebuie să se întâmple, de fapt, la un nivel de pini și semnale, pentru a programa un dispozitiv GAL? Să spunem că am un GAL 22V10 și un fișier .JED cu modelul de siguranță dorit. Modul obișnuit de a continua este să aruncați cipul într-un programator comercial, să încărcați fișierul .JED și să-i spuneți să meargă. Dar ce continuă să configureze cipul? Cum sunt specificate acele „siguranțe”? Cum sunt citite înapoi, scrise, șterse?
După un efort cu motoarele de căutare, nu am nimic mai concret decât „PAL-urile” sunt programate similar cu PROM-urile „pentru a continua. Implicația pare să fie că, dacă aveți un programator PROM, nu este nevoie de prea mult pentru a programa un PAL sau GAL. Asta înseamnă că, cu tensiunea de programare aplicată, puteți aborda siguranțele ca o memorie? Desigur, GAL-urile pot fi șterse. iar PROM-urile nu erau, așa că această analogie nu spune nimic despre modul în care ați fi șters unul.
În special, proiectul de la http://elm-chan.org/works/pgal/report_e.html face evident că hardware-ul este foarte simplu; singurul bit interesant este software-ul care îl controlează. Din păcate (pentru mine) comentariile din software-ul însoțitor sunt în japoneză, iar codul în sine este în ansamblul de macrocomenzi în stilul lui 1980 pentru DOS, așa că tachinarea protocolului pare descurajantă, deoarece codul pentru a citi fișierul .jed (folosind DOS -isms) este totul amestecat cu programatorul I / O. (Ca să nu mai vorbim că are propriul său protocol stratificat deasupra, pentru a deplasa toți biții paraleli prin acele 595)
Și da, știu că 22v10 este un dinozaur. Să spunem că vreau doar să știu.
Comentarii
- Acesta arată ca un punct de plecare: armory.com/~rstevew/Public/Pgmrs/GAL/algo.htm
- @ThePhoton – foarte util. Se pare că intern ' siguranțele ' sunt organizate într-un număr de registre de schimbare, cu o intrare de 6 biți pentru a selecta linia care răspunde la pinii SDin / SDout.
Răspuns
Amintirea mea este că au fost programați utilizând adresarea paralelă și această pagină pe site-ul web al TI pare să confirme acest lucru.
Nu toate PAL-urile pot fi șterse între ele. AMD & PALCE-urile Lattice sunt șterse electric (PAL-urile standard nu erau). Nu știu despre TIBPAL-urile TI & TICPAL-urile pe care le-am legat, dar documentele de programare nu menționează ștergerea.
Comentarii
- Da, cred că PAL-urile standard precum 16R8 etc. foloseau legături fuzibile efective și erau programabile o singură dată, în timp ce chips-urile GAL ulterioare erau bazate pe EEPROM și puteau fi șterse. Documentele TI au fost o descoperire bună, dar par să acopere numai PAL-urile, deși sunt, fără îndoială, informative despre abordarea generală a programării.
- Și apoi au existat versiunile EPROM. Câți programatori știți cine ar fi productiv în condiții de 90 de minute sub lumina UV pentru fiecare recompilare? Am folosit unii dintre cei care urmau un curs de inginerie electrică.
- @BenVoigt: Majoritatea persoanelor pe care ' le-am văzut folosind EPROM-uri ar încerca aproape întotdeauna să aibă cel puțin două părți în rotație, dacă nu trei. A avea patru sau cinci a fost chiar mai bun, deoarece ați putea să nu mai ștergeți versiunea anterioară până când ați fost sigur că nu veți ' nu doriți să o folosiți din nou (de exemplu, dacă introduceți noul cip și nimic nu funcționează, poate fi util să confirmați din nou că orice altceva din sistem este încă bun).