Svet elektronike

sreda
30 julij 2014
Text size
  • Increase font size
  • Default font size
  • Decrease font size

PIC programator V2.0

E-pošta Natisni
Uporabniška ocena: / 0
SkromnoOdlično 
Indeks člankov
PIC programator V2.0
stran 2
Vse strani

Predvsem se želim zahvaliti bralcem iz Slovenije in Hrvaške, ki so se odzvali na moje povabilo in so preizkusili delovno verzijo novega programa. Najdenih je bilo več napak, ki pa smo jih s skupnimi močmi uspešno odpravili. Z njihovo pomočjo je program preizkušen s PIC16F84, PIC16C84, PIC16C72 in PIC12C508 ter so tako preverjeni vsi trije algoritmi za programiranje (poglej kasnejšo razlago). Bilo je ugotovljeno, da program deluje na Windowsih 98 in Me, medtem ko na Windowsih 2000 in NT ne dela. Prilagoditev na NT operacijski sistem je možna, vendar zahteva nekaj večjih posegov, zato se zaenkrat v to niti nisem spuščal – menim pa, da bo večji del elektronikov-amaterjev vendarle lahko uporabljal tudi takšen program, saj gre za program, ki je predvsem namenjen amaterjem. Večji del težav, ki se je pojavljal pri bralcih, je bil hardverske narave. Zato ob novi verziji dobite tudi program “Tester”, ki omogoča aktiviranje in branje vseh krmilnih linij, kar omogoča preverjanje brezhibnosti vezja. Program je zelo enostaven in dokaj prijetno grafično obdelan, tako da ga ni potrebno posebej opisovati (slika 1).

Slike niV kratkem ponovimo: PIC programator je program, ki bere HEX-datoteko kreirano v Mplab-u ter omogoča spreminjanje podatkov v posameznih registrih PIC-a, nastavljanje parametrov in na koncu vpisovanje in branje programa v oziroma iz PIC-a preko zelo enostavnega programatorja (poglej SE 63). Namestitev programa je zelo enostavna: zaženete Setup, določite mesto na trdem disku, kjer želite PIC programator namestiti in konec. Po namestitvi programa je potrebno v programski mapi zagnati LPT.exe, ki prebere sistemske naslove in kreira dve datoteki, potrebni za delo s PIC programatorjem. Sedaj je program pripravljen za delo.

Slike niPo zagonu programa se odpre glavno okno, ki je močno spremenjeno v primerjavi s prvo verzijo (slika 2). Kot prvo je odstranjen izpis same HEX-datoteke, podatki pa se sedaj avtomatsko razporedijo v posamezne sekcije (program, podatki, ID-lokacije in konfiguracijska beseda). Maksimalne naslove posameznih pomnilniških področij in naslove posameznih registrov določi izbrani PIC. Z zamenjavo PIC-a se avtomatsko ponovno analizirajo in razporedijo tudi podatki. V sekciji «Device» je izpisan trenutno izbrani PIC in njegovi glavni podatki. Sekcija «ID-locations» prikazuje vsebine ID-lokacij, medtem ko se v sekciji «Configuration Word» nahaja vrednost konfiguracijske besede in njen pomen (posamezni parametri). Pri tem so deaktivirane tiste opcije, ki jih izbrani PIC ne podpira.

Slike niNad vsako sekcijo se nahaja hišica «Load from HEX file». Če je ta opcija aktivirana, se pripadajoči podatki vsakič preberejo iz odprte HEX-datoteke. Z izključitvijo te opcije program pri osveževanju podatkov zadrži trenutne podatke ter ignorira podatke iz HEX-datoteke. Kakšen je smisel tega? Predpostavimo, da imamo napisan program in v podatkovnem pomnilniku določene parametre programa. Prav tako predpostavimo, da je program zaključen in da je potrebno samo še nastaviti parametre. To bi pomenilo, da moramo potem, ko ugotovimo, kateri parameter je potrebno spremeniti, iti v MPlab, spremeniti podatke, prevesti program, naložiti v PIC programator novo HEX-datoteko in sprogramirati PIC. Če pa izključimo opcijo «Load from HEX-file» podatkovnega pomnilnika, lahko direktno v PIC programatorju spreminjamo parametre, brez nevarnosti, da se bo pri osveževanju naložila vrednost, ki je zapisana v HEX-datoteki: PIC programator bo ignoriral podatke iz izvirne HEX-datoteke in šele ko jih določimo, lahko pravilne parametre vpišemo v Mplab. S tem je precej pospešen razvoj programa. Predpostavljam, da so druge opcije glavnega okna jasne same po sebi.

Menija «File» ni potrebno posebej pojasnjevati, saj je enak kot pri vseh drugih aplikacijah. Meni «Edit» omogoča spreminjanje in brisanje posameznih linij ter brisanje kompletnega pomnilnika. Pri tem moramo vedeti, da se spreminjajo le podatki prikazani na ekranu in ne izvirna HEX-datoteka. Spremembe se v njo prenesejo šele pri shranjevanju («Save»). S pritiskom na funkcijo «Edit Program location» ali «Edit Data location» se odpre okno «Edit», ki omogoča vpisovanje podatkov v posamezne lokacije. Če je pri tem izbrana neka linija v programskem ali podatkovnem pomnilniku, bo program predpostavil, da želite spremeniti izbran naslov in ga bo naložil v okno «Edit». Polje «Address» vsebuje naslov lokacije, v katero želite vpisovati, medtem ko polje «Data» vsebuje podatek, ki se bo vpisal v izbrano lokacijo. Poleg tega obstajajo še tri opcije: «Auto increment Address» (če je izbrana, se pri vpisovanju podatka naslov avtomatsko povečuje za 1); «Overwrite without Warning» (izključi opozarjanje, ko na lokaciji, v katero se vpisuje, že obstaja podatek); «Load Data from memory» (aktivira avtomatsko nalaganje podatka v polje «Data» po vnosu naslova). Po vnosu naslova bo program avtomatsko izpisal pripadnost tega naslova (programski pomnilnik, podatkovni pomnilnik, konfiguracijska beseda ali ID-lokacija).

Meni «Communication» vsebuje funkcije, ki se tičejo prenosa podatkov v ali iz PIC-a. V oknu «Communication->Setup» lahko izberete port, na katerega je priključen programator in hitrost programiranja. Kar zadeva hitrost programiranja priporočam, da čip najprej poskusite sprogramirati z najvišjo hitrostjo, če pa vam ne uspe, potem hitrost postopoma zmanjšujete. V program so vgrajene t.i. «čakalne zanke», ki omogočajo izvajanje predpisanega algoritma programiranja. Opazil sem, da so časovne funkcije pri posameznih programskih jezikih, na primer pri C++, čeprav so definirane v milisekundah, odvisne od hitrosti procesorja. Zato sem vgradil možnost spreminjanja hitrosti programiranja, da bi se lahko program prilagodil različnim hitrostim procesorjev.

Funkcija «BlankCheck» aktivira nalaganje podatkov iz PIC-a in na ekranu izpisuje rezultat primerjanja vsake lokacije z vrednostjo prazne lokacije. Vrednost prazne lokacije je možno spremeniti. Vrednosti posameznih pomnilniških lokacij PIC programatorja pri tem ostanejo nespremenjene, kar med delovanjem omogoča preverjanje “praznosti” mikrokontrolerja. To je lahko zelo koristno pri delu z mikrokontrolerji z EPROM-om, ki zahtevajo nepriročno brisanje z UV-svetlobo.

Funkcija «Upload» izvaja branje podatkov iz mikrokontrolerja, ki jih razporeja v posamezne pomnilniške sekcije PIC programatorja. «Download» vpisuje podatke v PIC mikrokontroler. Pri delu z algoritmom za PIC16C84 oziroma PIC16F84 (poglej nadaljnji tekst) se dodatno odpre meni s posameznimi funkcijami, ki jih podpirajo ti mikrokontrolerji («Disable Code protecion»; «Download» in «Clear»). Tukaj moram omeniti, da je algoritem za «Clear» (oz. Bulk Erase) napisan po podrobnih specifikacijah proizvajalca, vendar mi do sedaj z njim ni uspelo obrisati niti enega PIC16F84 ali PIC16C84. Toda odločil sem se to funkcijo vendarle pustiti v programu - morda se komu posreči s kakšnim drugim PIC-om.

Funkcija «Verify» bere podatke iz PIC-a in jih primerja s podatki v programu. Na ta način lahko npr. preverite, ali je bilo programiranje uspešno.

Pri vsakem prenosu podatkov v ali iz mikrokontrolerja (Upload, Download, Verify, BlankCheck) se najprej izključi napajanje na Textool podnožju ter izpiše sporočilo, da je čip potrebno namestiti v Textool-podnožje. Pri tem se na ekranu simbolično prikaže mesto pravilne namestitve čipa v Textool podnožje (slika 3). Pri prenosu podatkov program spremlja vhodno linijo ter prekine prenos s sporočilom, če programator ni spojen na port ali če ni vklopljen (slika 4).

Meni «Options->Directories» omogoča iskanje posameznih datotek, če jih iz nekega razloga preselite v kako drugo mapo. Pri namestitvi se avtomatsko definirajo poti posameznih datotek, tako da praviloma ni potrebno nobeno manuelno iskanje. «Options->Settings» omogoča aktiviranje opcij, ki zadevajo delovanje programa. Prva opcija je «Show Configuration Word Warning», ki vključi izpisovanje opozorila, če v HEX-datoteko ni vključena konfiguracijska beseda. Z vklopom opcije «Upload only locations from HEX file» se pri branju podatkov preberejo le tiste lokacije, ki se nahajajo v pomnilniku PIC programatorja. Na ta način se pospeši branje podatkov, ker se prazne lokacije, ki običajno niso zanimive, enostavno preskočijo. Z opcijo «Download only changed locations» se vključi “hitro programiranje”: vsaka lokacija v čipu se najprej primerja z želenim podatkom in če sta podatka identična, se ta lokacija preskoči, kar močno pospeši postopek programiranja. S «Connection» lahko izberemo način prenosa podatkov. «Textool» pomeni, da se podatki prenašajo preko Textool podnožja, oziroma da je potrebno čip namestiti v Textool podnožje, da bi se sprogramiral. Z «Download Cable» se neodvisno od ohišja PIC-a vključi napajanje na pinih 6 in 15, kar omogoča izdelavo kabla za programiranje PIC-a v samem vezju (ISP). Na koncu članka bom v kratkem razložil, kako si lahko sami naredite takšen kabel za programiranje.

Slike niZ «Device Setup» se odpre pregled čipov in njihovih parametrov. Za razliko od prve verzije programa se lahko vsak parameter spremeni, obstaja pa tudi možnost dodajanja novih čipov. S pritiskom na tipko <Edit> se odpre okno «Edit Device» (slika 5), ki omogoča spreminjanje parametrov čipa. Ker je za pravilno programiranje zelo pomembno točno definirati parametre čipa, bom to okno opisal nekoliko podrobneje. V sekciji «Device» se definira skupina, v katero spada čip (Group), ter njegova oznaka (Device) in ohišje (Package). V «Data memory» se definira količina podatkovnega pomnilnika in njegov začetni naslov. V kolikor čip nima podatkovnega pomnilnika (Data memory: none), v polje «Start address» ni potrebno vpisovati podatkov. Imejte v mislih, da se vsi naslovi vpisujejo v heksadecimalnem formatu. V polje «ID location adress» je potrebno vpisati naslov prve ID-lokacije. V sekciji «Configuration Word» je potrebno definirati dva parametra. Prvi je oblika konfiguracijske besede; za razliko od prve verzije programa ni več potrebno pomniti, katero konfiguracijsko besedo definira katero število: z dvojnim klikom na polje «Configuration Word No.» se odpre okno, v katerem so grafično prikazane različne konfiguracijske besede ter lahko ustrezno izberete z enostavnim klikom nanj.

Slike ni


Zadnjič posodobljeno ( Petek, 20 Avgust 2010 14:03 )  
JoomlaWatch 1.2.12 - Joomla Monitor and Live Stats by Matej Koval

Naša spletna stran uporablja piškotke. Če želite izvedeti več o uporabi piškotkov si preberite našo Politiko o piškotkih.

Sprejmem piškotke s te strani

EU Cookie Directive Plugin Information