Ang pag-unlad ng electronics ay mabilis na nagpapatuloy, at higit pa at mas madalas ang pangunahing elemento ng isang aparato ay isang microcontroller. Ginagawa niya ang pangunahing gawain at pinalaya ang taga-disenyo mula sa pangangailangan na lumikha ng sopistikadong mga solusyon sa circuit, sa gayon binabawasan ang laki ng nakalimbag na circuit board hanggang sa isang minimum. Tulad ng alam ng lahat, ang microcontroller ay kinokontrol ng isang programa na naitala sa panloob na memorya nito. At kung ang isang bihasang electronic programmer ay walang mga problema sa paggamit ng mga microcontroller sa kanilang mga aparato, kung gayon para sa isang nagsisimula na radio amateur na sumusubok na magsulat ng isang programa sa isang magsusupil (lalo na ang PIC) ay maaaring maging isang malaking pagkabigo, at kung minsan ang isang maliit na pyrotechnic na palabas sa anyo ng isang chip chip.
Nakakatawa, ngunit sa lahat ng kadakilaan ng Internet, napakakaunting impormasyon tungkol sa firmware Mga Controller ng Pic, at ang materyal na mahahanap ay napakapang-asar na kalidad. Siyempre, maaari kang bumili ng isang programmer ng pabrika para sa isang hindi sapat na presyo at tumahi hangga't gusto mo, ngunit paano kung ang tao ay hindi nakikibahagi sa paggawa ng masa. Para sa mga layuning ito, maaari mong pagsamahin ang isang simple at hindi mahal upang maipatupad gawang bahaytinawag JDM programmer ayon sa diagram sa ibaba (figure No. 1):
Nakakatawa, ngunit sa lahat ng kadakilaan ng Internet, napakakaunting impormasyon tungkol sa firmware Mga Controller ng Pic, at ang materyal na mahahanap ay napakapang-asar na kalidad. Siyempre, maaari kang bumili ng isang programmer ng pabrika para sa isang hindi sapat na presyo at tumahi hangga't gusto mo, ngunit paano kung ang tao ay hindi nakikibahagi sa paggawa ng masa. Para sa mga layuning ito, maaari mong pagsamahin ang isang simple at hindi mahal upang maipatupad gawang bahaytinawag JDM programmer ayon sa diagram sa ibaba (figure No. 1):
Larawan №1 - diagram ng programmer
Agad akong nagdala ng isang listahan ng mga elemento para sa mga tamad na sumilip sa diagram:
- R1 - 10 kOhm
- R2 - 10 kOhm (naputol). Sa pamamagitan ng pagsasaayos ng paglaban ng resistor na ito, kailangan mong makamit ang tungkol sa 13V sa pin No. 4 (VPP) sa panahon ng pagprograma. Sa aking kaso, ang paglaban ay 1.2 kOhm
- R3 - 200 ohms
- R4, R5 - 1.5 kOhm
- VD1, VD2, VD3, VD4, VD6 - 1N4148
- VD5 - 1N4733A (boltahe ng Stabilization 5.1V)
- VD7 - 1N4743A (Stabilization boltahe 13V)
- C1 - 100 nF (0.1 μF)
- C2 - 470 μF x 16 V (electrolytic)
- SUB-D9F - konektor ng COM port (MOM o SOKET)
- DIP8 socket - nakasalalay sa controller na ginagamit mo
Ang circuit ay gumagamit ng isang halimbawa ng pagkonekta sa mga karaniwang mga kumokontrol na tulad ng PIC12F675 at PIC12F629, ngunit hindi ito nangangahulugang ang firmware ng iba pang serye Pic imposible. Upang magsulat ng isang programa sa isang magsusupil ng isang iba't ibang uri, sapat na upang ilipat ang mga wires ng program alinsunod sa Larawan 2, na ibinibigay sa ibaba.
Figure No. 2 - Mga pagpipilian sa kaso ng PIC controller na may mga kinakailangang konklusyon
Tulad ng maaari mong hulaan, ang kaso ay ginagamit sa pamamaraan ng aking programmer Dip8. Sa pamamagitan ng isang mahusay na pagnanasa, maaari kang gumawa ng isang unibersal na adapter para sa bawat uri ng chip, sa gayon makakakuha ng isang universal programmer. Ngunit dahil sa Mga kontrol ng PIC Bihira akong magtrabaho, sapat na iyon para sa akin.
Kahit na ang circuit mismo ay medyo simple at hindi nagiging sanhi ng mga paghihirap sa pagpupulong, ngunit nangangailangan din ito ng paggalang. Samakatuwid, mas mahusay na gumawa ng isang nakalimbag na circuit board para dito. Matapos ang ilang mga manipulasyon kasama ang programa Sprintlayout, textolite, drill at iron, ang gayong blangko ay ipinanganak dito (larawan No. 3).
Kahit na ang circuit mismo ay medyo simple at hindi nagiging sanhi ng mga paghihirap sa pagpupulong, ngunit nangangailangan din ito ng paggalang. Samakatuwid, mas mahusay na gumawa ng isang nakalimbag na circuit board para dito. Matapos ang ilang mga manipulasyon kasama ang programa Sprintlayout, textolite, drill at iron, ang gayong blangko ay ipinanganak dito (larawan No. 3).
Larawan Blg 3 - program circuit circuit
I-download ang mapagkukunan ng PCB para sa programa Sprintlayout Maaari mong sundin ang link na ito:
Kung ninanais, maaari mong baguhin ito sa iyong uri ng controller ng PIC. Para sa mga nagpasya na umalis sa board na hindi nagbabago, ikinakalat ko ang view mula sa gilid ng mga bahagi upang mapadali ang pag-install (Larawan 4).
Kung ninanais, maaari mong baguhin ito sa iyong uri ng controller ng PIC. Para sa mga nagpasya na umalis sa board na hindi nagbabago, ikinakalat ko ang view mula sa gilid ng mga bahagi upang mapadali ang pag-install (Larawan 4).
Larawan 4 - Lupon sa mounting side
Ang isang maliit na higit pa sa pangkukulam na may isang paghihinang bakal at mayroon kaming isang yari na aparato na maaaring kumikislap Pic controller sa pamamagitan ng COM port ang iyong computer. Pa rin mainit at hindi hugasan mula sa pagkilos ng bagay, ang resulta ng aking mga pagsisikap ay ipinapakita sa larawan Hindi.
Mula ngayon, ang unang hakbang patungo sa firmware Pic controllernatapos. Kasama sa ikalawang yugto ang pagkonekta sa programmer sa computer at pagtatrabaho sa programa IC Prog.
Sa kasamaang palad, hindi lahat ng mga modernong computer at laptop ay may kakayahang magtrabaho kasama ang programmer na ito dahil sa kawalan ng pagbabawal sa kanila COM port, at ang mga naka-install sa mga laptop ay hindi nagbibigay ng kinakailangang programa 12V. Kaya napagpasyahan kong lumingon sa una ko PCna matagal nang nag-alabok at naghintay ng kanyang pinakamahusay na oras (at naghihintay pa rin).
Kaya i-on ang computer at i-install muna ang programa IC Prog. Maaari mong i-download ito mula sa site ng may-akda o sa link na ito:
Ikinonekta namin ang programista sa COM port at patakbuhin ang bagong naka-install na application. Para sa tamang operasyon, kinakailangan upang magsagawa ng isang serye ng mga pagmamanipula. Sa una, kinakailangan upang pumili ng uri ng magsusupil na tatahiin namin. Meron ako PIC12F675. Sa screenshot # 6, ang patlang para sa pagpili ng controller ay naka-highlight na pula.
Sa kasamaang palad, hindi lahat ng mga modernong computer at laptop ay may kakayahang magtrabaho kasama ang programmer na ito dahil sa kawalan ng pagbabawal sa kanila COM port, at ang mga naka-install sa mga laptop ay hindi nagbibigay ng kinakailangang programa 12V. Kaya napagpasyahan kong lumingon sa una ko PCna matagal nang nag-alabok at naghintay ng kanyang pinakamahusay na oras (at naghihintay pa rin).
Kaya i-on ang computer at i-install muna ang programa IC Prog. Maaari mong i-download ito mula sa site ng may-akda o sa link na ito:
Ikinonekta namin ang programista sa COM port at patakbuhin ang bagong naka-install na application. Para sa tamang operasyon, kinakailangan upang magsagawa ng isang serye ng mga pagmamanipula. Sa una, kinakailangan upang pumili ng uri ng magsusupil na tatahiin namin. Meron ako PIC12F675. Sa screenshot # 6, ang patlang para sa pagpili ng controller ay naka-highlight na pula.
Screenshot 6 - pagpili ng uri ng microcontroller
Susunod, pumunta sa menu "Mga Setting "->" Opsyon", sa window na lilitaw, piliin ang tab I2C at suriin ang mga kahon tulad ng ipinapakita sa screenshot # 7.
Screenshot 7 - ang pagtatakda ng paraan ng pag-record ng controller
Sa parehong window, pumunta sa tab "Programming"at piliin ang"Suriin ang Programming". Suriin pagkatapos ang pag-programming ay maaaring maging sanhi ng isang error, dahil sa ilang mga kaso ang firmware ay nag-install ng mga kandado ng lock SR. Upang hindi lokohin ang iyong sarili, mas mahusay na huwag paganahin ang tseke na ito. Sa madaling sabi, sundin ang numero ng screenshot 8.
Screenshot No. 8 - setup ng pag-verify
Patuloy kaming nagtatrabaho sa window na ito at pumunta sa "Pangkalahatan". Dito kinakailangan na itakda ang priyoridad ng programa at tiyaking gamitin NT / 2000 / XP driver (numero ng screenshot 9). Sa ilang mga kaso, maaaring iminumungkahi ng programa ang pag-install ng driver na ito at maaaring mangailangan ng pag-restart IC Prog.
Screenshot 9 - Pangkalahatang Mga Setting
Kaya, sa window na ito tapos na ang trabaho. Ngayon ay lumipat tayo sa mga setting ng programmer mismo. Pumili sa menu "Mga Setting "->" Mga Setting ng Programmer"o pindutin lamang ang susi F3. Lumilitaw ang sumusunod na window, na ipinapakita sa screenshot # 10.
Screenshot No. 10 - window ng mga setting ng programmer
Una sa lahat, piliin ang uri ng programmer - Jdm programmer. Susunod, itinakda namin ang pindutan ng radyo para sa paggamit ng driver Windows. Ang susunod na hakbang ay ang pumili COM portkung saan ang iyong programmer ay konektado. Kung ito ay isa, walang mga katanungan, at kung mayroong higit sa isa, tingnan ang tagapamahala ng aparato na kasalukuyang ginagamit. Ang slider ng input / output pagkaantala ay dinisenyo upang makontrol ang bilis ng pagsulat at pagbasa. Maaaring kailanganin ito sa mga mabilis na computer at kung may mga problema sa firmware - dapat madagdagan ang parameter na ito. Sa aking kaso, nanatili ito sa pamamagitan ng default na katumbas 10 at maayos ang lahat.
Sa setting ng programang ito IC Prog tapos na at maaari kang magpatuloy sa proseso ng firmware mismo, ngunit una naming basahin ang data mula sa microcontroller at makita kung ano ang nakasulat sa loob nito. Upang gawin ito, sa toolbar, mag-click sa icon ng microcircuit na may berdeng arrow, tulad ng ipinapakita sa screenshot No. 11.
Sa setting ng programang ito IC Prog tapos na at maaari kang magpatuloy sa proseso ng firmware mismo, ngunit una naming basahin ang data mula sa microcontroller at makita kung ano ang nakasulat sa loob nito. Upang gawin ito, sa toolbar, mag-click sa icon ng microcircuit na may berdeng arrow, tulad ng ipinapakita sa screenshot No. 11.
Screenshot 11 - Ang proseso ng pagbasa ng impormasyon mula sa microcontroller
Kung ang microcontroller ay bago at hindi pa nailipas bago, ang lahat ng mga cell ng memorya nito ay mapupuno ng mga halaga 3FFFmaliban sa pinakahuli. Maglalaman ito ng halaga ng palagiang pagkakalibrate. Ito ay isang napakahalaga at natatanging halaga para sa bawat magsusupil. Ang katumpakan ng orasan ay nakasalalay dito, na pinili ng tagagawa sa pamamagitan ng pagpili at pag-install ng pare-pareho. Ang screenshot Blg. 12 ay nagpapakita ng memorya ng cell kung saan ang palagiang maiimbak kapag binabasa ang controller.
Screenshot 12 - halaga ng pare-pareho ang pagkakalibrate
Inuulit ko na ang halaga ay natatangi para sa bawat microcircuit at hindi kinakailangang magkatugma sa kung ano ang ipinapakita sa figure. Marami sa pamamagitan ng kawalang karanasan ang nag-overwrite ng pare-pareho at kasunod Pic controller nagsisimula upang gumana nang hindi tama kung ang proyekto ay gumagamit ng orasan mula sa isang panloob na generator. Ipinapayo ko sa iyo na isulat ang palagiang ito at idikit ang inskripsiyon kasama ang halaga nito nang direkta sa controller. Sa ganitong paraan maiiwasan mo ang maraming problema sa hinaharap. Kaya, ang halaga ay nakasulat - lumipat tayo. Buksan ang file ng firmware, na karaniwang may isang extension .hex. Ngayon imbes na magsulat 3FFF, naglalaman ng programming buffer ang code ng aming programa (screenshot No. 13).
Screenshot 13 - firmware na nai-download sa programming buffer
Sumulat ako sa itaas na maraming nag-overwrite ang patuloy na pagkakalibrate sa pamamagitan ng kapabayaan. Kailan nangyari ito? Nangyayari ito kapag binuksan ang firmware file. Ang halaga ng palagiang awtomatikong nagbabago sa 3FFF at kung sisimulan mo ang proseso ng pagprograma, pagkatapos ay walang pagtalikod. Sa screenshot Blg. 14, ang cell na memorya kung saan ang dati ay pare-pareho 3450 (bago buksan hex file).
Screenshot No. 14 - awtomatikong pagbabago ng pare-pareho ang pagkakalibrate
Ngayon ay kailangan mong maingat na sundin ang mga hakbang sa ibaba. Nag-click kami sa icon ng microcircuit na may kidlat sa toolbar, sa gayon ipinagbigay-alam ang programa na nais naming simulan ang proseso ng firmware. Tatanungin ang programa kung sigurado kami na nais naming i-flash ang aparato na ito. Sumasang-ayon kami at i-click ang "OO". Pagkatapos nito, nakuha namin ang babalang ipinapakita sa screenshot # 15.
Screenshot No. 15 - babala tungkol sa pagkakaiba sa mga halaga ng palagiang orasan
IC Prog ay nagsasabi sa amin na ang isang halaga ng patuloy na pagkakalibrate (sa aking kaso 3450), at ngayon isa pa (3FFF) awtomatikong napalitan mula sa hex file. Iminumungkahi din na iwanan ang default na halaga 3FFF. Mahalagang i-click ang "HINDI"to IC Prog sa panahon ng programming ibinalik sa amin ang halaga 3450 o kung ano ang makakasama mo. Sa pangkalahatan, i-click ang "HINDI"at obserbahan ang sumusunod na window (screenshot No. 16).
Screenshot 16 - proseso ng programming
Sa panahong ito, ipinapayo ko sa iyo na huwag pindutin ang anupaman o i-load ang computer sa iba pang mga gawain. Nang kumuha ako ng screenshot para sa artikulong ito, kapag nag-click ako sa pindutan I-print ang screen naganap ang isang error sa pagsulat at kailangan kong gawin itong muli. Makalipas ang ilang oras IC Prog magbibigay sa iyo ng isang mensahe tungkol sa matagumpay na pag-verify ng bagong nakasulat na code sa iyong Pic controller, kaya't ang lahat na nagustuhan ang artikulong ito, nais kong makita ito pagkatapos ng magkatulad na pagsisikap (screenshot No. 17):
Screenshot No. 17 - matagumpay ang firmware, maaari kang makapagpahinga
Kung sa proseso mayroon kang anumang mga katanungan, maingat na basahin muli ang artikulo at ang lahat ay tiyak na mag-ehersisyo - personal na nasuri. Good luck sa lahat at malikhaing tagumpay !!!