Press "Enter" to skip to content

Ako na ATF1502AS

Pred pár rokmi som si poskladal dva kusy TSFM pre moje Pentevá a použil som v nich CPLD Altera EPM7032S, lebo boli najdostupnejšie. Ale pravdepodobne je v rovniciach pre Alteru chyba, pretože ani jeden z nich nefungoval správne. Ako alternatíva sa dá použiť aj CPLD Atmel, preto som sa rozhodol skúsiť ich nahradiť atmeláckymi ATF1502AS. To sa ľahšie povie ako urobí, ale nakoniec sa to podarilo.

Zohnať CPLD sa mi podarilo hneď. Na e-bayi ich sú tony. Lenže nech som hľadal ako som hľadal, nepodarilo sa mi zistiť ako sa programujú a ani na oldcompe sa mi na požiadavku o naprogramovanie nikto neozval. A tak som sa rozhodol, že sa tomu pozriem na zub.

Keďže doma mám len programátor TL866, ktorý tie CPLD nepodporuje, jediné čím by sa do mohlo dať, bol USB Blaster. Lenže ako dostať alteráckym programátorom atmelácky .jed súbor do atmeláckeho CPLD? Quartusom to určite nepôjde, takže padla voľba na UrJTAG. Doinštaloval som si libusb-dev, libftdi-dev, python-dev a skompiloval som si aktuálnu verziu UrJTAGu.

Po chvíli laborovania som zistil, že .jed súbor proste do CPLD touto cestou nedostanem, ale zistil som, že UrJTAG podporuje .svf súbory a tam už začalo svitať na lepšie časy. Spomenul som si totiž, že starší atmelácky toolkit AtmelISP dokáže .svf generovať. Bohužiaľ nefunguje vo wine, takže som si ho nainštaloval vo virtuálke, kde mám pre tieto prípady WinXP. Pomocou neho som potom vytvoril atf1502as.svf, ktorý by mal naprogramovať CPLD a potom zverifikovať jeho obsah. Takže to by bolo.

Teraz bolo treba naučiť UrJTAG rozpoznávať ATF1502AS. Po chvíli študovania dokumentácie som sa dozvedel, že by sa to malo dať pomocou BSDL knižnice. Bol pôrod ju vydolovať z útrob Internetu, takže som ju pre istotu zaarchivoval u seba pre budúce generácie. Rozbalil som si ju do pracovného adresára a potom už nič nebránilo vyskúšaniu, či táto moja pekná teória aj funguje v praxi.

Do svojho alteráckeho jigu som strčil ATF1502AS, pripojil USB Blaster a napájanie, potom som spustil UrJTAG príkazom jtag, a príkazom cable UsbBlaster som si pripojil USB Blaster. Pekne sa rozsvietila zelená LED ACT, čo je neklamný znak toho, že UrJTAG s USB Blasterom komunikuje. Teraz nastala chvíľa pravdy. Pripojil som si BSDL knižnicu príkazom bsdl path /home/z00m/work/tsfm/. Nedostal som žiadnu chybovú hlášku, takže poďho na ďalší krok – detekciu CPLD.

Zadal som príkaz detect a UrJTAG potvrdil, že CPLD vidí. Žeby lenin? Roztrasenými rukami som zadal ďalší príkaz svf /home/z00m/work/tsfm/atf1502as.svf progress stop. Čosi sa dialo, progres progresoval a nedostal som žiadnu chybovú hlášku. Ani sa mi veriť nechcelo, že by to bolo také jednoduché, pretože mne obyčajne nič nefunguje na prvý šup.

Neveriacky som zastrčil naprogramované ATF1502AS do TSFM, zapol Pentevo a spustil Nedodemo. Chvíľka napätia a JE TO TAM! TSFM tsfmoval. Poskúšal som všetky problémové veci a všetko fungovalo ako má, takže alterácke rovnice TSFM majú v sebe jednoznačne chybu.

Nuž, naozaj netreba vždy na všetko dedikovaný prístroj a s trochou ohýbania sa niekedy podaria dobré výsledky aj nečakanými cestami. UrJTAG mi nikdy nefungoval poriadne, ale je priebežne udržiavaný a dnes to bolo vidieť.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *