Programatorul este un dispozitiv hardware și software conceput pentru a scrie/citește informații pe un dispozitiv de stocare permanent ( inscriptibil o singură dată , memorie flash , ROM , memorie internă a microcontrolerelor și PLC-urilor [1] ).
Programatorii universali pot suporta toate tipurile de mai sus.
Dacă un radioamator trebuie să programeze un dispozitiv microcontroler o dată, este posibil să se descurce cu un simplu programator conectat la un port COM , LPT sau USB . De exemplu, cel mai simplu programator pentru cipuri AVR este un cablu de șase fire și patru rezistențe (așa-numitul programator PonyProg ) [2] .
Pentru radioamatorii care dezvoltă programe pentru microcontrolere , există programatori mai complexi - astfel de dispozitive conțin adesea propriul microcontroler . Astfel de programatori sunt convenabil prin faptul că, după muncă, își transferă ieșirile în starea Z , iar dispozitivul programat poate fi testat fără a opri programatorul. Astfel de programatori, de regulă, lucrează cu una sau două familii de microcircuite [3] . Odată cu fabricarea independentă a unui programator din această clasă, poate apărea o „ problemă de pui și ou ” - dacă un microcontroler este prezent în circuitul de programare, atunci trebuie să fie programat și în absența unui programator gata făcut [3] . Pentru a o rezolva, trebuie să dați microcircuitul proprietarului programatorului finit sau să faceți un programator simplu care să se conecteze la portul COM sau LPT al computerului.
Programatorii universali sunt utilizați în birourile de proiectare și laboratoare. Deoarece în astfel de dispozitive fiecare dintre pinii conectorului (și pot exista până la o sută de acești pini) poate furniza tensiuni de la 0 la 27 V la microcircuit cu o precizie de 0,1 volți și frecvențe de până la 40 MHz, programatorii universali pot fi foarte scump - până la câteva mii de dolari. Dar când apare un nou cip, este suficient să adăugați suportul acestuia la nivel de software .
Programatoarele paralele conțin un conector în care este introdus un microcircuit programabil. Cele în circuit sunt potrivite doar pentru acele microcircuite care acceptă programarea în circuit , adică vă permit să flashați microcircuitul fără a-l scoate din dispozitiv.
Când cumpărați un programator paralel, ar trebui să acordați atenție calității conectorului în care este instalat microcircuitul. Un conector obișnuit de unică folosință nu va dura mult; programatorul trebuie sa aiba conectori cu colt - si chiar mai bun ZIF . În programatorii scumpi, există mai mulți conectori - pentru diferite tipuri de carcase.
Primii programatori au fost autonomi - exista o tastatură sau un panou de corecție pentru introducerea firmware-ului. Odată cu răspândirea PC-ului , astfel de programatori au fost complet înlocuiți cu cei conectați la un computer - un program special (numit și programator) transferă firmware-ul de pe computer, iar programatorul trebuie doar să îl scrie în memoria microcircuitului.
Pentru conectarea programatorilor se pot folosi:
Este de remarcat faptul că, la cei mai simpli programatori paraleli și în serie, software-ul de control trebuie să controleze direct nivelul logic pe pinii portului (în jargonul electronicei „dragoknife” sau bitbang ). Un astfel de control direct este interzis în Windows NT , acesta fiind ocolit prin instalarea unui driver specializat ; prin adaptoare USB → COM, programatorii bitbang lucrează extrem de lent (unități-zeci de octeți pe secundă). Programatorii de microcontrolere acceptă pe deplin protocolul portului COM sau LPT și, prin urmare, nu suferă de aceste neajunsuri.
Plăcile specializate au fost folosite ocazional înainte de apariția USB , deoarece făceau posibilă atingerea vitezei maxime de transfer de date. Totuși, în același timp, au făcut programatorul staționar.
Programatorii moderni se conectează prin USB (doar modelele simple și ieftine folosesc porturi COM sau LPT). Programatorii industriali de înaltă performanță folosesc Ethernet [ exemplu? ].
(Atât caracteristicile hardware, cât și cele software sunt enumerate aici.)
Microcontrolere | ||||||||
---|---|---|---|---|---|---|---|---|
Arhitectură |
| |||||||
Producătorii |
| |||||||
Componente | ||||||||
Periferie | ||||||||
Interfețe | ||||||||
OS | ||||||||
Programare |
|