Tak k Vanocum jsem si poridil programator pro ATF150x. Vcera vecer byl cas a tak jsem to rozbalil a elementarne vyzkousel abych vedel zda to jako celek funguje. Postupne jak sel cas jsem si koupil vlastni programator ATF15xx-DK3-U tak i plcc84 a plcc44 prechodu. Nejake plcc cipy jsem koupil v Cine. Neco malo v Mouseru.
Prvni programator jsem koupil v UK. Bohuzel prisel s jinymi pouzdry a tak jsem to reklamoval. Reklamace byla rychla a uspesna. Po mesici jsem se rozhodl to koupit v USA, bohuzel i zde jsem dostal spatne pouzdra. To uz jsem to nechtel reklamovat, proste jsem to vzal jako realny stav spolecnosti. Atmel mlci ale firma KANDA alespon slusne u sebe napsala "Two ATF15xx 44-pin CPLD Sample Devices - currently may not be TQFP".
Zacal jsem uvazovat ze si koupim i prechodku pro plcc44 a nejake cipy z Ciny. Puvodne jsem chtel jen plcc84 a cip ATF1508AS.
Rozhodl jsem se to provozovat na Windows7/32bit. Ty jsou nainstalovane na virtualni pocitaci s vmwarem. Cast usb funguje dobre. SW sel nainstalovat v pohode.
Programovaci jazyk bude Wincupl. Vlastni sw pro programovani atmisp pro windows7. Oboji se da stahnout zde
https://www.microchip.com/en-us/product ... -resources .
Do Wincupl jsem dal maly priklad. Preklad prosel v poradku. Ale nevidel jsem zadny JED soubor. Myslel jsem ze staci nastavit v DEVICE SELECTOR spravny cip. Zjistil jsem ze je to cele jinak resene nez predpokladam.
V DEVICE SELECTOR si mate vybrat cip a v "Device Mnemonic" se zobrazi jmeno co mate dat do programu jak Device. V mem pripade je to f1504ispplcc44 a do programu mam dat:
Device f1504ispplcc44;
Strasne si dejte bacha na to 'isp' uvnitr nazvu. Bez toho 'isp' rikate ze se ma vypnout JTAG a po prvnim naprogramovani cipu prijdete o moznost to znova naprogramovat! Lepe receno bezproblemoveho naprogramovani.
Toto jsou prikazy (mala cast) co muzete pouzit nasledne ve vasem zdrojovem kodu pro nastaveni cipu.
PROPERTY ATMEL {JTAG=on};
PROPERTY ATMEL {TDI_pullup=on};
PROPERTY ATMEL {TMS_pullup=on};
PROPERTY ATMEL {security=OFF};
PROPERTY ATMEL {pin_keep=on};
Treba to TDI_pullup je bezne OFF a tak kdyz to jednou naprogramujete a nemate v programatoru pull up odpor tak mate problem to znova naprogramovat. To muze byt pro nekoho necekany problem.
V DEVICE SELECTOR je polozka 'device in file'. Ta rika zda typ cipu je napsan ve zdrojovem kodu v sekci device (vychozi nastaveni). Nebo ho zda jednorazove nastavite zde. Dejte si pozor ze kdyz nemate zaskrtnute 'device in file' a neco vyberete, tak uz se nemuzete sem zpet podivat co bylo vybrano a kontrolu muzete udelat az v souboru .fit. Podle mne je idelani to mit zaskrtnute a mit to zadane ve zdrojaku.
Jinak napr. f1504ispplcc44 neni problem vypnout JTAG. Ve zdrojovem kodu se zada PROPERTY ATMEL {JTAG=off}; a po naprogramovani budou vyvody pouzitelne k jinemu ucelu. Dostanete 4 vyvody navic. Pak ale budete muset pres fintu s 12V a odpor 2k "neautorizovane" aktivovat JTAG pri dalsim programovani pres JTAG.
-----
prvni maly kod co realne funguje je:
/* *************** INPUT PINS *********************/
PIN 21 = A ; /* */
PIN 20 = B ; /* */
/* *************** OUTPUT PINS *********************/
PIN 34 = C ; /* */
C = A # !B;
Ledka reaguje na stisknuti tlacitek.
------
Take budu zkouset Verilog v Quartusu. Nasledne program pof2jed. To sice neumi vyuzit cip na 100% ale prace ma byt vice produktivni a prijemnejsi.