Ïðîãðàììàòîð
Ïðîãðàììà́òîð â àïïàðàòíî-ïðîãðàììíîå óñòðîéñòâî, ïðåäíàçíà÷åííîå äëÿ çàïèñè/ñ÷èòûâàíèÿ èíôîðìàöèè â ïîñòîÿííîå çàïîìèíàþùåå óñòðîéñòâî (îäíîêðàòíî çàïèñûâàåìîå, ÏÇÓ, âíóòðåííþþ ïàìÿòü ìèêðîêîíòðîëëåðîâ è ÏËÊ[1]).
Ñîäåðæàíèå |
[ïðàâèòü] Êëàññèôèêàöèÿ ïðîãðàììàòîðîâ
[ïðàâèòü] Ïî òèïó ìèêðîñõåì
- Ïðîãðàììèðóþùèå ìèêðîñõåìû ÏÇÓ (ÏÇÓ ñ óëüòðàôèîëåòîâûì ñòèðàíèåì, ÏÏÇÓ, ôëýø-ïàìÿòü).
- Ïðîãðàììèðóþùèå âíóòðåííþþ ïàìÿòü ìèêðîêîíòðîëëåðîâ.
- Ïðîãðàììèðóþùèå ÏËÈÑ.
Óíèâåðñàëüíûå ïðîãðàììàòîðû ìîãóò ïîääåðæèâàòü âñå âûøåïåðå÷èñëåííûå òèïû.
[ïðàâèòü] Ïî ñëîæíîñòè
Åñëè íóæíî åäèíîæäû çàïðîãðàììèðîâàòü ìèêðîêîíòðîëëåðíîå óñòðîéñòâî, ðàäèîëþáèòåëè îáõîäÿòñÿ ïðîñòåéøèì ïðîãðàììàòîðîì , ïîäêëþ÷àåìûì ê COM- èëè LPT-ïîðòó. Íàïðèìåð, ñàìûé ïðîñòîé ïðîãðàììàòîð äëÿ ìèêðîñõåì AVR â ýòî êàáåëü èç øåñòè ïðîâîäîâ è ÷åòûð¸õ ðåçèñòîðîâ (òàê íàçûâàåìûé ïðîãðàììàòîð PonyProg)[2].
Òå ëþáèòåëè, êîòîðûå çàíèìàþòñÿ ðàçðàáîòêîé ìèêðîïðîãðàìì èëè ïðîèçâîäÿò ñâîè ñõåìû â áîëüøèõ ïàëëåòíûõ êîëè÷åñòâàõ, èñïîëüçóþò ïðîãðàììàòîðû ïîñëîæíåå â òàêèå óñòðîéñòâà ÷àñòî ñîäåðæàò ñâîé ìèêðîêîíòðîëëåð. Ïîäîáíûå ïðîãðàììàòîðû óäîáíû òåì, ÷òî ïîñëå ðàáîòû ïåðåâîäÿò ñâîè âûõîäû â Z-ñîñòîÿíèå, è çàïðîãðàììèðîâàííîå óñòðîéñòâî ìîæíî èñïûòûâàòü, íå îòêëþ÷àÿ ïðîãðàììàòîðà. Òàêèå ïðîãðàììàòîðû, êàê ïðàâèëî, ðàáîòàþò ñ îäíèì-äâóìÿ ñåìåéñòâàìè ìèêðîñõåì[3].
Ñàìîäåÿòåëüíûì êîíñòðóêòîðàì ïðîãðàììàòîðîâ èçâåñòíà «ïðîáëåìà êóðèöû è ÿéöà» â åñëè â ñõåìå ïðîãðàììàòîðà ïðèñóòñòâóåò ìèêðîêîíòðîëëåð, òî è åãî íåîáõîäèìî çàïðîãðàììèðîâàòü ïðè îòñóòñòâèè ãîòîâîãî ïðîãðàììàòîðà[3].  òàêèõ ñëó÷àÿõ îáû÷íî îòäàþò ìèêðîñõåìó ïðîôåññèîíàëàì, ëèáî ñòðîÿò ïðîñòåéøèé ïðîãðàììàòîð äëÿ ïîäêëþ÷åíèÿ ê COM- èëè LPT-ïîðòó êîìïüþòåðà.
 êîíñòðóêòîðñêèõ áþðî è ëàáîðàòîðèÿõ ïðèìåíÿþòñÿ óíèâåðñàëüíûå ïðîãðàììàòîðû. Ïîñêîëüêó â òàêèõ óñòðîéñòâàõ êàæäûé èç âûâîäîâ ðàçú¸ìà (à ýòèõ âûâîäîâ ìîæåò áûòü äî ñîòíè) ìîæåò ïîäàâàòü íà ìèêðîñõåìó íàïðÿæåíèÿ îò 0 äî 27  ñ òî÷íîñòüþ â 0,1 âîëüò è ÷àñòîòàìè äî 40 ÌÃö, óíèâåðñàëüíûå ïðîãðàììàòîðû áûâàþò î÷åíü äîðîãè â äî íåñêîëüêèõ òûñÿ÷ äîëëàðîâ. Çàòî ïðè ïîÿâëåíèè íîâîé ìèêðîñõåìû äîñòàòî÷íî äîáàâèòü å¸ ïîääåðæêó íà ïðîãðàììíîì óðîâíå.
[ïðàâèòü] Ïî ïîäêëþ÷åíèþ ìèêðîñõåìû
- Ïàðàëëåëüíûé.
- Âíóòðèñõåìíûé.
Ïàðàëëåëüíûå ïðîãðàììàòîðû ñîäåðæàò ðàçú¸ì, â êîòîðûé è âñòàâëÿåòñÿ ïðîãðàììèðóåìàÿ ìèêðîñõåìà. Âíóòðèñõåìíûå ïðèãîäíû òîëüêî äëÿ òåõ ìèêðîñõåì, â êîòîðûõ ïîääåðæèâàåòñÿ âíóòðèñõåìíîå ïðîãðàììèðîâàíèå, íî ïîçâîëÿþò ïðîøèâàòü ìèêðîñõåìó, íå âûíèìàÿ å¸ èç óñòðîéñòâà.
Ïðè ïîêóïêå ïàðàëëåëüíîãî ïðîãðàììàòîðà ñòîèò îáðàòèòü âíèìàíèå íà êà÷åñòâî ðàçú¸ìà, â êîòîðûé óñòàíàâëèâàåòñÿ ìèêðîñõåìà. Îáû÷íûé îäíîðàçîâûé ðàçú¸ì äîëãî íå ïðîñëóæèò; ïðîãðàììàòîð äîëæåí èìåòü öàíãîâûå ðàçú¸ìû â à åù¸ ëó÷øå ZIF.  äîðîãèõ ïðîãðàììàòîðàõ åñòü íåñêîëüêî ðàçú¸ìîâ â ïîä ðàçíûå âèäû êîðïóñîâ.
[ïðàâèòü] Ïî ïîäêëþ÷åíèþ ê êîìïüþòåðó
Ïåðâûå ïðîãðàììàòîðû áûëè àâòîíîìíûìè â äëÿ íàáîðà ïðîøèâêè èìåëàñü êëàâèàòóðà èëè êîììóòàöèîííàÿ ïàíåëü. Ñ ðàñïðîñòðàíåíèåì ÏÊ òàêèå ïðîãðàììàòîðû áûëè ïîëíîñòüþ âûòåñíåíû ïîäêëþ÷àåìûìè ê êîìïüþòåðó â ñïåöèàëüíàÿ ïðîãðàììà (êîòîðàÿ òàêæå íàçûâàåòñÿ ïðîãðàììàòîðîì) ïåðåäà¸ò ïðîøèâêó ñ êîìïüþòåðà, à ïðîãðàììàòîðó îñòà¸òñÿ òîëüêî çàïèñàòü å¸ â ïàìÿòü ìèêðîñõåìû.
Äëÿ ïîäêëþ÷åíèÿ ïðîãðàììàòîðîâ ìîãóò ïðèìåíÿòüñÿ:
- Ïîñëåäîâàòåëüíûé ïîðò.
- Ïàðàëëåëüíûé ïîðò.
- Ñïåöèàëèçèðîâàííàÿ èíòåðôåéñíàÿ ïëàòà (ISA èëè PCI).
- USB.
- Ethernet.
Ñòîèò çàìåòèòü, ÷òî â ñàìûõ ïðîñòûõ ïàðàëëåëüíûõ è ïîñëåäîâàòåëüíûõ ïðîãðàììàòîðàõ óïðàâëÿþùåìó ÏÎ ïðèõîäèòñÿ íàïðÿìóþ óïðàâëÿòü ëîãè÷åñêèì óðîâíåì íà âûâîäàõ ïîðòà (íà æàðãîíå ýëåêòðîíùèêîâ «äðûãîíîæåñòâî» èëè bitbang). Òàêîå ïðÿìîå óïðàâëåíèå â Windows NT çàïðåùåíî, ýòî îáõîäèòñÿ óñòàíîâêîé ñïåöèàëèçèðîâàííîãî äðàéâåðà; ÷åðåç àäàïòåðû USBCOM bitbang-ïðîãðàììàòîðû ðàáîòàþò êðàéíå ìåäëåííî (åäèíèöû-äåñÿòêè áàéò â ñåêóíäó). Ìèêðîêîíòðîëëåðíûå ïðîãðàììàòîðû ïîëíîñòüþ ïîääåðæèâàþò ïðîòîêîë COM- èëè LPT-ïîðòà è ïîýòîìó ñâîáîäíû îò ýòèõ íåäîñòàòêîâ.
Ñïåöèàëèçèðîâàííûå ïëàòû èçðåäêà ïðèìåíÿëèñü äî ïîÿâëåíèÿ USB, òàê êàê ïîçâîëÿëè äîñòè÷ü ìàêñèìàëüíûõ ñêîðîñòåé îáìåíà äàííûìè. Âïðî÷åì, îäíîâðåìåííî îíè äåëàëè ïðîãðàììàòîð ñòàöèîíàðíûì.
Ñîâðåìåííûå ïðîãðàììàòîðû ïîäêëþ÷àþòñÿ ÷åðåç USB (ëèøü ïðîñòûå äåø¸âûå êîíñòðóêöèè èñïîëüçóþò COM- èëè LPT-ïîðòû). Âûñîêîïðîèçâîäèòåëüíûå ïðîìûøëåííûå ïðîãðàììàòîðû èñïîëüçóþò Ethernet [ïðèìåð?].
[ïðàâèòü] Ïî äîïîëíèòåëüíûì ôóíêöèÿì
(Çäåñü óêàçàíû êàê àïïàðàòíûå, òàê è ïðîãðàììíûå ôóíêöèè.)
- Íàëè÷èå ïðîãðàììíîãî îáåñïå÷åíèÿ ïîä ðàñïðîñòðàí¸ííûå ïëàòôîðìû (îáû÷íî ïîä Windows è Linux; îñòàëüíûå ÎÑ ñðåäè ðàçðàáîò÷èêîâ íåïîïóëÿðíû).
- Ïðîâåðêà ïðàâèëüíîñòè ïîäêëþ÷åíèÿ åù¸ äî ïîïûòêè ñòåðåòü ìèêðîñõåìó.
- Ïðîâåðêà èñïðàâíîñòè ïðîãðàììàòîðà.
- JTAG-àäàïòåðû, ïðèãîäíûå îäíîâðåìåííî êàê äëÿ ïðîãðàììèðîâàíèÿ, òàê è äëÿ îòëàæèâàíèÿ ïðîøèâîê.
- Àâòîíîìíûå (Ïîëåâûå) ïðîãðàììàòîðû èìåþò êîìïàêòíûå ðàçìåðû è ñîäåðæàò âíóòðåííþþ ïàìÿòü äëÿ õðàíåíèÿ ïðîøèâêè. Òàêèå ïðîãðàììàòîðû ïðåäíàçíà÷åíû äëÿ îáñëóæèâàíèÿ òåõíèêè ïðÿìî â ìåñòàõ å¸ óñòàíîâêè (ïîä÷àñ òðóäíîäîñòóïíûõ).
- Âñòðîåííûé HEX-ðåäàêòîð, ïîçâîëÿþùèé îòêîððåêòèðîâàòü çàïèñàííóþ â ìèêðîñõåìå èíôîðìàöèþ.
- Âîçìîæíîñòü ñàìîñòîÿòåëüíîãî îáíîâëåíèÿ ïðîøèâêè ñàìîãî́ ïðîãðàììàòîðà.
- Âîçìîæíîñòü îäíèì íàæàòèåì êíîïêè âûïîëíèòü íåêîòîðóþ ïîñëåäîâàòåëüíîñòü äåéñòâèé â íàïðèìåð, ñòåðåòü, ïðîâåðèòü ñòèðàíèå, çàïèñàòü, ïðîâåðèòü ïðàâèëüíîñòü çàïèñè è óñòàíîâèòü êîíôèãóðàöèîííûå áèòû (òàê íàçûâàåìîå àâòîìàòè÷åñêîå ïðîãðàììèðîâàíèå).
- Â ïðîãðàììàòîðàõ äëÿ ìàññîâîãî ïðîãðàììèðîâàíèÿ ìîæåò ïðèìåíÿòüñÿ ñêðèïòîâûé ÿçûê, íà êîòîðîì ìîæíî ðåàëèçîâàòü, íàïðèìåð, àâòîèíêðåìåíò ñåðèéíûõ íîìåðîâ â òàêèì îáðàçîì, êàæäàÿ ìèêðîñõåìà áóäåò èìåòü óíèêàëüíûé íîìåð.
[ïðàâèòü] Ññûëêè
[ïðàâèòü] Ïðèìå÷àíèÿ
- â‘ Ïðîãðàììàòîðû è êîìïüþòåðû â ðîëè ïðîãðàììàòîðîâ
- â‘ http://atmel.moy.su/publ/13-1-0-89; íå óêàçàíû òîêîîãðàíè÷èâàþùèå ðåçèñòîðû (íà âñåõ ïðîâîäàõ, êðîìå GND) è âíåøíåå ïèòàíèå (îáû÷íî áåð¸òñÿ ñ USB).
- â‘ 1 2 fischl.de â USBasp â USB programmer for Atmel AVR controllers
| Ìèêðîêîíòðîëëåðû | ||||||||
|---|---|---|---|---|---|---|---|---|
| Àðõèòåêòóðà |
|
|||||||
| Ïðîèçâîäèòåëè | Analog Devices Atmel Silabs Freescale Fujitsu Holtek Hynix Infineon Intel Microchip Maxim Parallax NXP Semiconductors Renesas Texas Instruments Toshiba Ubicom Zilog Cypress | |||||||
| Êîìïîíåíòû | Ðåãèñòð Ïðîöåññîð SRAM EEPROM Ôëåø-ïàìÿòü Êâàðöåâûé ðåçîíàòîð Êâàðöåâûé ãåíåðàòîð RC-ãåíåðàòîð Êîðïóñ | |||||||
| Ïåðèôåðèÿ | Òàéìåð ÀÖÏ ÖÀÏ Êîìïàðàòîð ØÈÌ-êîíòðîëëåð Ñ÷¸ò÷èê LCD Äàò÷èê òåìïåðàòóðû Watchdog Timer | |||||||
| Èíòåðôåéñû | CAN UART USB SPI I²C Ethernet 1-Wire | |||||||
| ÎÑ | FreeRTOS μClinux BeRTOS ChibiOS/RT eCos RTEMS Unison MicroC/OS-II Nucleus | |||||||
| Ïðîãðàììèðîâàíèå | JTAG C2 Ïðîãðàììàòîð Àññåìáëåð Ïðåðûâàíèå MPLAB AVR Studio MCStudio | |||||||