ñòàòüèGNU Free Documentation License ìàòåðèàëû âçÿòû èç Âèêèïåäèè Ñòàòüÿ áûëà èçìåíåíà. Îðèãèíàë ñòàòüè.

Ïðîãðàììàòîð

Ìàòåðèàë èç Ýíöèêëîïåäèè â ñâîáîäíîé ýíöèêëîïåäèè
Ïåðåéòè ê: íàâèãàöèÿ, ïîèñê
Ïðîãðàììàòîð ÏÇÓ ñ óëüòðàôèîëåòîâûì ñòèðàíèåì

Ïðîãðàììà́òîð â àïïàðàòíî-ïðîãðàììíîå óñòðîéñòâî, ïðåäíàçíà÷åííîå äëÿ çàïèñè/ñ÷èòûâàíèÿ èíôîðìàöèè â ïîñòîÿííîå çàïîìèíàþùåå óñòðîéñòâî (îäíîêðàòíî çàïèñûâàåìîå, ÏÇÓ, âíóòðåííþþ ïàìÿòü ìèêðîêîíòðîëëåðîâ è ÏËÊ[1]).

Ñîäåðæàíèå

[ïðàâèòü] Êëàññèôèêàöèÿ ïðîãðàììàòîðîâ

[ïðàâèòü] Ïî òèïó ìèêðîñõåì

Óíèâåðñàëüíûå ïðîãðàììàòîðû ìîãóò ïîääåðæèâàòü âñå âûøåïåðå÷èñëåííûå òèïû.

[ïðàâèòü] Ïî ñëîæíîñòè

Åñëè íóæíî åäèíîæäû çàïðîãðàììèðîâàòü ìèêðîêîíòðîëëåðíîå óñòðîéñòâî, ðàäèîëþáèòåëè îáõîäÿòñÿ ïðîñòåéøèì ïðîãðàììàòîðîì [èñòî÷íèê íå óêàçàí 641 äåíü], ïîäêëþ÷àåìûì ê COM- èëè LPT-ïîðòó. Íàïðèìåð, ñàìûé ïðîñòîé ïðîãðàììàòîð äëÿ ìèêðîñõåì AVR â ýòî êàáåëü èç øåñòè ïðîâîäîâ è ÷åòûð¸õ ðåçèñòîðîâ (òàê íàçûâàåìûé ïðîãðàììàòîð PonyProg)[2].

Òå ëþáèòåëè, êîòîðûå çàíèìàþòñÿ ðàçðàáîòêîé ìèêðîïðîãðàìì èëè ïðîèçâîäÿò ñâîè ñõåìû â áîëüøèõ ïàëëåòíûõ êîëè÷åñòâàõ, èñïîëüçóþò ïðîãðàììàòîðû ïîñëîæíåå â òàêèå óñòðîéñòâà ÷àñòî ñîäåðæàò ñâîé ìèêðîêîíòðîëëåð. Ïîäîáíûå ïðîãðàììàòîðû óäîáíû òåì, ÷òî ïîñëå ðàáîòû ïåðåâîäÿò ñâîè âûõîäû â Z-ñîñòîÿíèå, è çàïðîãðàììèðîâàííîå óñòðîéñòâî ìîæíî èñïûòûâàòü, íå îòêëþ÷àÿ ïðîãðàììàòîðà. Òàêèå ïðîãðàììàòîðû, êàê ïðàâèëî, ðàáîòàþò ñ îäíèì-äâóìÿ ñåìåéñòâàìè ìèêðîñõåì[3].

Ñàìîäåÿòåëüíûì êîíñòðóêòîðàì ïðîãðàììàòîðîâ èçâåñòíà «ïðîáëåìà êóðèöû è ÿéöà» â åñëè â ñõåìå ïðîãðàììàòîðà ïðèñóòñòâóåò ìèêðîêîíòðîëëåð, òî è åãî íåîáõîäèìî çàïðîãðàììèðîâàòü ïðè îòñóòñòâèè ãîòîâîãî ïðîãðàììàòîðà[3].  òàêèõ ñëó÷àÿõ îáû÷íî îòäàþò ìèêðîñõåìó ïðîôåññèîíàëàì, ëèáî ñòðîÿò ïðîñòåéøèé ïðîãðàììàòîð äëÿ ïîäêëþ÷åíèÿ ê COM- èëè LPT-ïîðòó êîìïüþòåðà[èñòî÷íèê íå óêàçàí 641 äåíü].

 êîíñòðóêòîðñêèõ áþðî è ëàáîðàòîðèÿõ ïðèìåíÿþòñÿ óíèâåðñàëüíûå ïðîãðàììàòîðû. Ïîñêîëüêó â òàêèõ óñòðîéñòâàõ êàæäûé èç âûâîäîâ ðàçú¸ìà (à ýòèõ âûâîäîâ ìîæåò áûòü äî ñîòíè) ìîæåò ïîäàâàòü íà ìèêðîñõåìó íàïðÿæåíèÿ îò 0 äî 27  ñ òî÷íîñòüþ â 0,1 âîëüò è ÷àñòîòàìè äî 40 ÌÃö, óíèâåðñàëüíûå ïðîãðàììàòîðû áûâàþò î÷åíü äîðîãè â äî íåñêîëüêèõ òûñÿ÷ äîëëàðîâ. Çàòî ïðè ïîÿâëåíèè íîâîé ìèêðîñõåìû äîñòàòî÷íî äîáàâèòü å¸ ïîääåðæêó íà ïðîãðàììíîì óðîâíå[èñòî÷íèê íå óêàçàí 641 äåíü].

[ïðàâèòü] Ïî ïîäêëþ÷åíèþ ìèêðîñõåìû

Ïàðàëëåëüíûå ïðîãðàììàòîðû ñîäåðæàò ðàçú¸ì, â êîòîðûé è âñòàâëÿåòñÿ ïðîãðàììèðóåìàÿ ìèêðîñõåìà. Âíóòðèñõåìíûå ïðèãîäíû òîëüêî äëÿ òåõ ìèêðîñõåì, â êîòîðûõ ïîääåðæèâàåòñÿ âíóòðèñõåìíîå ïðîãðàììèðîâàíèå, íî ïîçâîëÿþò ïðîøèâàòü ìèêðîñõåìó, íå âûíèìàÿ å¸ èç óñòðîéñòâà.

Ïðè ïîêóïêå ïàðàëëåëüíîãî ïðîãðàììàòîðà ñòîèò îáðàòèòü âíèìàíèå íà êà÷åñòâî ðàçú¸ìà, â êîòîðûé óñòàíàâëèâàåòñÿ ìèêðîñõåìà. Îáû÷íûé îäíîðàçîâûé ðàçú¸ì äîëãî íå ïðîñëóæèò; ïðîãðàììàòîð äîëæåí èìåòü öàíãîâûå ðàçú¸ìû â à åù¸ ëó÷øå ZIF.  äîðîãèõ ïðîãðàììàòîðàõ åñòü íåñêîëüêî ðàçú¸ìîâ â ïîä ðàçíûå âèäû êîðïóñîâ.

[ïðàâèòü] Ïî ïîäêëþ÷åíèþ ê êîìïüþòåðó

Ïåðâûå ïðîãðàììàòîðû áûëè àâòîíîìíûìè â äëÿ íàáîðà ïðîøèâêè èìåëàñü êëàâèàòóðà èëè êîììóòàöèîííàÿ ïàíåëü. Ñ ðàñïðîñòðàíåíèåì ÏÊ òàêèå ïðîãðàììàòîðû áûëè ïîëíîñòüþ âûòåñíåíû ïîäêëþ÷àåìûìè ê êîìïüþòåðó â ñïåöèàëüíàÿ ïðîãðàììà (êîòîðàÿ òàêæå íàçûâàåòñÿ ïðîãðàììàòîðîì) ïåðåäà¸ò ïðîøèâêó ñ êîìïüþòåðà, à ïðîãðàììàòîðó îñòà¸òñÿ òîëüêî çàïèñàòü å¸ â ïàìÿòü ìèêðîñõåìû.

Äëÿ ïîäêëþ÷åíèÿ ïðîãðàììàòîðîâ ìîãóò ïðèìåíÿòüñÿ:

Ñòîèò çàìåòèòü, ÷òî â ñàìûõ ïðîñòûõ ïàðàëëåëüíûõ è ïîñëåäîâàòåëüíûõ ïðîãðàììàòîðàõ óïðàâëÿþùåìó ÏÎ ïðèõîäèòñÿ íàïðÿìóþ óïðàâëÿòü ëîãè÷åñêèì óðîâíåì íà âûâîäàõ ïîðòà (íà æàðãîíå ýëåêòðîíùèêîâ «äðûãîíîæåñòâî» èëè bitbang). Òàêîå ïðÿìîå óïðàâëåíèå â Windows NT çàïðåùåíî, ýòî îáõîäèòñÿ óñòàíîâêîé ñïåöèàëèçèðîâàííîãî äðàéâåðà; ÷åðåç àäàïòåðû USBCOM bitbang-ïðîãðàììàòîðû ðàáîòàþò êðàéíå ìåäëåííî (åäèíèöû-äåñÿòêè áàéò â ñåêóíäó). Ìèêðîêîíòðîëëåðíûå ïðîãðàììàòîðû ïîëíîñòüþ ïîääåðæèâàþò ïðîòîêîë COM- èëè LPT-ïîðòà è ïîýòîìó ñâîáîäíû îò ýòèõ íåäîñòàòêîâ.

Ñïåöèàëèçèðîâàííûå ïëàòû èçðåäêà ïðèìåíÿëèñü äî ïîÿâëåíèÿ USB, òàê êàê ïîçâîëÿëè äîñòè÷ü ìàêñèìàëüíûõ ñêîðîñòåé îáìåíà äàííûìè. Âïðî÷åì, îäíîâðåìåííî îíè äåëàëè ïðîãðàììàòîð ñòàöèîíàðíûì.

Ñîâðåìåííûå ïðîãðàììàòîðû ïîäêëþ÷àþòñÿ ÷åðåç USB (ëèøü ïðîñòûå äåø¸âûå êîíñòðóêöèè èñïîëüçóþò COM- èëè LPT-ïîðòû). Âûñîêîïðîèçâîäèòåëüíûå ïðîìûøëåííûå ïðîãðàììàòîðû èñïîëüçóþò Ethernet [ïðèìåð?].

[ïðàâèòü] Ïî äîïîëíèòåëüíûì ôóíêöèÿì

(Çäåñü óêàçàíû êàê àïïàðàòíûå, òàê è ïðîãðàììíûå ôóíêöèè.)

  • Íàëè÷èå ïðîãðàììíîãî îáåñïå÷åíèÿ ïîä ðàñïðîñòðàí¸ííûå ïëàòôîðìû (îáû÷íî ïîä Windows è Linux; îñòàëüíûå ÎÑ ñðåäè ðàçðàáîò÷èêîâ íåïîïóëÿðíû).
  • Ïðîâåðêà ïðàâèëüíîñòè ïîäêëþ÷åíèÿ åù¸ äî ïîïûòêè ñòåðåòü ìèêðîñõåìó.
  • Ïðîâåðêà èñïðàâíîñòè ïðîãðàììàòîðà.
  • JTAG-àäàïòåðû, ïðèãîäíûå îäíîâðåìåííî êàê äëÿ ïðîãðàììèðîâàíèÿ, òàê è äëÿ îòëàæèâàíèÿ ïðîøèâîê.
  • Àâòîíîìíûå (Ïîëåâûå) ïðîãðàììàòîðû èìåþò êîìïàêòíûå ðàçìåðû è ñîäåðæàò âíóòðåííþþ ïàìÿòü äëÿ õðàíåíèÿ ïðîøèâêè. Òàêèå ïðîãðàììàòîðû ïðåäíàçíà÷åíû äëÿ îáñëóæèâàíèÿ òåõíèêè ïðÿìî â ìåñòàõ å¸ óñòàíîâêè (ïîä÷àñ òðóäíîäîñòóïíûõ).
  • Âñòðîåííûé HEX-ðåäàêòîð, ïîçâîëÿþùèé îòêîððåêòèðîâàòü çàïèñàííóþ â ìèêðîñõåìå èíôîðìàöèþ.
  • Âîçìîæíîñòü ñàìîñòîÿòåëüíîãî îáíîâëåíèÿ ïðîøèâêè ñàìîãî́ ïðîãðàììàòîðà.
  • Âîçìîæíîñòü îäíèì íàæàòèåì êíîïêè âûïîëíèòü íåêîòîðóþ ïîñëåäîâàòåëüíîñòü äåéñòâèé â íàïðèìåð, ñòåðåòü, ïðîâåðèòü ñòèðàíèå, çàïèñàòü, ïðîâåðèòü ïðàâèëüíîñòü çàïèñè è óñòàíîâèòü êîíôèãóðàöèîííûå áèòû (òàê íàçûâàåìîå àâòîìàòè÷åñêîå ïðîãðàììèðîâàíèå).
    • Â ïðîãðàììàòîðàõ äëÿ ìàññîâîãî ïðîãðàììèðîâàíèÿ ìîæåò ïðèìåíÿòüñÿ ñêðèïòîâûé ÿçûê, íà êîòîðîì ìîæíî ðåàëèçîâàòü, íàïðèìåð, àâòîèíêðåìåíò ñåðèéíûõ íîìåðîâ â òàêèì îáðàçîì, êàæäàÿ ìèêðîñõåìà áóäåò èìåòü óíèêàëüíûé íîìåð.

[ïðàâèòü] Ññûëêè

[ïðàâèòü] Ïðèìå÷àíèÿ

  1. â‘ Ïðîãðàììàòîðû è êîìïüþòåðû â ðîëè ïðîãðàììàòîðîâ
  2. â‘ http://atmel.moy.su/publ/13-1-0-89; íå óêàçàíû òîêîîãðàíè÷èâàþùèå ðåçèñòîðû (íà âñåõ ïðîâîäàõ, êðîìå GND) è âíåøíåå ïèòàíèå (îáû÷íî áåð¸òñÿ ñ USB).
  3. â‘ 1 2 fischl.de â USBasp â USB programmer for Atmel AVR controllers
Ïðîñòðàíñòâà èì¸í

Âàðèàíòû
Ïðîñìîòðû
Äåéñòâèÿ