Ak robíte zo SIO2SD časom sa dostanete k tomu, že buď chcete napáliť novú verziu, alebo si chcete postaviť zariadenie podľa svojich predstáv. Jedna vec Vám bude ale stále chýbať a to je naprogramovanie procesoru AVR Mega32-16. Pokúsim sa to popísať krok za krokom aby ste sa vyvarovali nejakých nepríjemných vecí - poučil som sa sám na sebe.
Upozornenie:
Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených schém alebo zobrazených úprav.
Stane sa trebárs to, že v nevhodný okamžik (počas čítania, alebo zápisu na SD kartu - nemalo by sa to stať - ale predsa len sa to stáva) vypnete počítač a keďže SIO2SD je napájané tak isto z počítača môže prísť k nedefinovanému zápisu a na displeji zostanú len štvorčeky, alebo presnejšie obdĺžničky a máte po funkčnom zariadení.
Potom je to stav na infarkt, alebo ak si viete poradiť pustíte sa do opravy. Vlastne oprava spočíva v novom naprogramovaní mikroprocesora. Samozrejme ako vravia Murphyho zákony stane sa to v absolútne najnevhodnejší okamih - môj prípad.
Môžete zháňať niekoho kto Vám to naprogramuje, alebo si pomôžete sami - o tejto možnosti to celé bude:
1 - pripravíte si potrebný súbor (firmware) na napálenie
2 - stiahnete si software PonyProg
3 - postavíte si vlastnoručne jednoduchý programátor pre program PonyProg, programátor používa LPT port - ktorý sa dnes už nevyužíva, ale ešte je k dispozícii
4 - potom už len naprogramujete procesor a je hotovo
Hneď ešte teraz upozorňujem, že existujú dve verzie SIO2SD - jedna pracuje s X-talom 7.32Mhz, druhá pracuje s X-talom 14.31818Mhz, tu popisujem tú druhú možnosť. Jediná vec je rozdielna v tom, že pri použití X-talu o nižšej frekvencii treba použiť iné nastavenie poistiek na napálenie do procesora. Pretože zlé nastavenie poistiek môže značiť "likvidáciu" procesora budem sa tým zaoberať podrobnejšie v ďalšom popise. Síce sa aj taký procesor dá zachrániť, ale treba k tomu ďalšie doplnky a nie je to celkom jednoduché a lacné - teda tá záchrana, treba ďalší hardware a často aj ďalší software - zase raz platí 3x skontroluj a až potom spúšťaj !
Poznámka: rozumejte pod tou likvidáciou že potom potrebujete mať k dispozícii špeciály prípravok, ktorý vymaže kompletne mikropocesor a nastaví ho do východzieho stavu kedy sa dá znova naprogramovať a toto sa určite doma nikde len tak nepovaľuje na polici.
1
Program pre napálenie si stiahneme z domovskej stránky projektu SIO2SD:
http://sio2sd.gucio.pl/wiki/SoftwareAVR_en
Sťahujeme najnovšiu binárnu verziu 3.1 RC2, (momentálne je to najnovšia verzia) pre istotu je to zdôraznené aj na obrázku o ktorý súbor sa presne jedná:
Súbor si po stiahnutí do počítača premenujte na AVR31RC2.bin, proste potrebujem kratší názov, pretože súbor musíme preložiť do hexa kódu a ten pôvodný názov mi pre ten účel nevyhovuje.
Na stránke (celkom dolu - je tam download) si stiahnete dosovskú verziu konvertora bin2hex, nebojte sa funguje aj pod WinXP /tu beží aj vlastné naprogramovanie/:
http://www.ht-lab.com/freeutils/bin2hex/bin2hex.html
Potom nakopírujte do jedného adresára (u mňa je to adresár c:\test) súbory bin2hex.exe a náš premenovaný súbor AVR31RC2.bin a pomocou príkazu cmd skočte do dosového okna:
Napíšte nasledovný príkaz:
Potvrďte klávesou Enter, príde k prekladu a na obrazovke sa objaví nasledujúce:
Gratulujem, teraz v adresári pribudol aj súbor s názvom AVR31RC2.hex - tento súbor v ďalšom použijete na napálenie do mikroprocesora !
Dobre si ho odložte, aby ste ho v pravý čas našli a mali k dispozícii.
2
Nasleduje download programu PonyProg, ktorý potom prevádza vlastné naprogramovanie, stiahnete si ho tu:
http://www.lancos.com/ppwin95.html
Program si v pohode môžete nainštalovať dopredu na svoj počítač, použite poslednú najnovšiu verziu.
3
Teraz prichádza na radu stavba jednoduchého ISP programátora pre AVR procesor MEGA32. Je určený na programovanie cez LPT port. Treba skutočne len pár súčiastok - 4x 270Ω, konektor CANON25 pin samček, malý kúsok univerzálnej dosky a nejaké staré prepojovacie piny zo starého nepoužívaného počítača. Ja som použil 3x 2piny konektory z vyradeného PC. Napájanie vlastného procesora pri programovaní zabezpečuje napojenie cez USB konektor - používa sa len zem a +5V. Na naprogramovanie potrebujeme len pár vývodov, používajú sa len 4 vodiče mimo +5V a zeme. Jedná sa SCK, MOSI, RESET a MISO. Na už postavenej doske SIO2SD je pri pohľade zpredu zapojenie ISP konektora nasledovné - potom to už budeme prepájať presne podľa popísaných farieb:
Pretože samozrejme môžete mať aj inakšiu verziu vždy si najprv skontrolujte či naozaj požadované vývody sú na svojom mieste !
Teraz už máme predstavu kde ktorý signál ide a tak nasleduje vlastný programátor:
Tých súčiastok naozaj nie je veľa. Zostáva prepojiť medzi sebou programátor a dosku SIO2SD. Sami vidíte že do napájania som pridal ešte kondenzátor 50uF/10V a do cesty napájania je vradený vypínač. Tak isto som pridal aj LED-ku napájania - toto všetko ale nie je treba, je to na Vás či si tieto veci do zariadenia pridáte. Tu je vidieť kedy je pripojené napätie +5V. Upozorňujem že vypínač nie je nutný pri stavbe ! Na foto je vidieť aj použité dvojkábliky.
Dĺžka káblikov nepresahuje 10cm, na to pozor, je to dôležité pre správnu funkciu !
Samozrejme napájací káblik môže byť dlhší, tam to rolu nehrá.
Ak programujete priamo cez dosku SIO2SD choďte priamo na bod č.4, ak chcete programovať procesor mimo dosky čítajte aj nasledujúci odsek.
___________________________________________________________
Doplnok - nie je nutný ako SIO2SD programujeme priamo cez ISP konektor s procesorom priamo v doske SIO2SD!
Môžeme naprogramovať cez ISP konektor priamo procesor v doske SIO2SD, kto ale chce naprogramovať ďalší procesor, alebo ho potrebuje na iné účely si môže postaviť dodatočné zariadenie na programovanie AVR MEGA32 mimo dosky. Priznám sa, že X-tal 4Mhz som doma nemal, v pohode mi tam ale beží X-tal 4.194304 Mhz.
Potom programátor pre programovanie mimo dosky SIO2SD vyzerá takto:
Vložený mikroprocesor pripravený na programovanie:
________________________________________________________________________________
4
Pripojíme programátor na LPT port (doska SIO2SD je pripojená cez ISP rozhranie na programátor, káblik na pripojenie k ATARI je pre istotu úplne odpojený), zapneme jeho napájanie a spustíme software PonyProg.
Potvrdíme vstupnú hlášku cez OK, nezabudneme vypnúť zvuk - to erdžanie nie je veľmi príjemné:
potom nastavíme interface Setup, potvrďte:
Nastavte paralelný port podľa obrázku, ak máme pripojený programátor, pripojené napájanie na programátor a je zapojený mikroprocesor v doske môžeme kliknúť potom na Probe, ak je všetko v poriadku dostaneme potvrdenie o funkčnosti - pokračujeme ďalej.
Nastavíme PonyProg, po prvom štarte spustíme kalibráciu - stačí to previesť jeden krát, ale nesmiete na to zabudnúť !
Objaví sa nasledovná hláška, potvrďte:
po zbehnutí kalibrácie sa vypíše:
(Potom môžete cez Command spustiť Erase - mazanie, ale nemám pocit že to treba.)
Fajn, potom nastavte vpravo AVR micro a ATmega32, na to nebudem dávať ďalší obrázok.
Ako ďalší krok nahráte do PonyProg náš upravený program:
Nájdeme náš AVR31RC2.hex súbor a potvrdíme to kliknutím na Otvoriť:
Súbor sa natiahne do PonyProgu a nás čaká jeho napálenie.
Klikneme na zápis Flash, presne na označenú ikonu:
Objaví sa nasledujúce okno, pri jeho potvrdení (YES) sa program nahraje do AVR ATMEGA32:
Ak je všetko v poriadku začne zápis, po jeho ukončení prebehne verifikácia, ten obrázok vynechám.
A máme napálený software, pozor ešte nie je všetko za nami, musíme ešte nastaviť a napáliť poistky = fuses. Práve táto časť je "najošidnejšia" a najčastejšie sa poserká procesor práve pri tomto úkone. Takže pozorne čítajte ďalej. Ideme teda na Security and Configuration Bits:
Tu musíme nastaviť konfiguračné bity, fuses = poistky. Ak to tu poseriete, máte zarobené na malér. Naše konfiguračné bity sú nasledovné: Low=0x3F, High=0xC3 - je to pre hardware version 2.0. Vtip je v tom, že sa zapisuje ich negovaný tvar a preto zaškrtnuté políčka zodpovedajú =0, nezaškrtnuté políčka =1. Čiže je to presne naopak ako človek očakáva (pritom by stačilo poriadne čítať čo je tam napísané ...) a preto je aj toľko problémov pri napaľovaní. Na obrázku sú už fuses bity nastavené správne na napálenie. Prosím poriadne skontrolovať, ak sa uklepnete a dáte zapísať zlé nastavenie je už neskoro ! Zapíšete to pomocou Write, teda nie cez OK.
Pre tých ktorí si chcú pozrieť ako si správne nastaviť poistky (fuses) existuje výborná stránka, zadáte typ procesoru a potom na stránke len zadáte Low A High byte:
http://www.engbedded.com/fusecalc
((Je úplne rovnocenné či zapisujete cez ISP rozhranie priamo na dosku SIO2SD, alebo cez ten ďalší pripravok (popísaný nad bodom č.4)). No a to je vlastne všetko, ukočíte program PonyProg, vypnite napájanie programátora (alebo vytiahnite USB konektor) a prepojte naspäť všetky potrebné kábliky.
A nakoniec ešte foto - napaľovanie softu priamo do SIO2SD cez ISP konektor:
Odpojený programátor od LPT portu a pripojené napájanie cez USB - SIO2SD zase žije ...
Založte SD kartu, pripojte konektor k ATARI a veselo fičíte ako keby sa nič nestalo. Ospravedlňujem sa za nekonečne dlhý popis niektorých vecí, ale snažil som sa aby bol popis "blbuvzdorný". Ak to niekomu pomôže, tak budem spokojný - mne to pomohlo tiež.
S tými fuses som sa sekol aj ja, načo čítať - že, tiež som si myslel že zaškrtnuté bude logicky znamenať =1, ale do pekla..., procesor v prdeli (teda v tom okamžiku, uviesť to do základného stavu vyžaduje vysokonapäťové /12V/ mazanie ktoré som v tom okamžiku nemal k dispozícii) a kupoval som ďalší ...
Síce budem mať zariadenie na odblokovanie takýchto procesorov, ale dorazí mi to tuším za 2 týždne ... a toľko sa mi nechcelo čakať. Len tak mimochodom konštatujem, že je možné cez to vyššie popisované prídavné zariadenie s tým 4Mhz X-talom ( nad bodom č.4) programovať aj procesor AT MEGA16, ten sa síce na SIOSD nehodí, ale je to zadara a tak to tu pripomínam. Využitie je samosebou širšie, nielen pre naprogramovanie SIO2SD, ale to je už na Vás. Pretože som to potreboval špeciálne na atari, tak je to v tejto sekcii - síce trošku nespravodlivo, ale kedy je čo spravodlivé...
Odkaz na moje články o SIO2SD:
http://blog.3b2.sk/igi/post/ATARI-SIO2SD.aspx
http://blog.3b2.sk/igi/post/Modifikacia-SIO2SD-Modification-SIO2SD.aspx
____________________________________________________________________
07.11.2012
Tak už mám k dispozícii Fuse Fixer, dnes som naprogramoval 3 kusy doteraz zablokovaných procesorov AVR32 ktoré sa mi dostali do rúk, absolútne bez problémov to išlo odblokovať.
Fuse fixer dokáže odblokovať a znova uviesť do továrenského nastavenia z výroby procesoru nasledovné typy procesorov, robí sa to tzv. veľkonapäťovým programovaním (teda je to len 12V, ale tak sa to oficiálne volá):
ATmega16 |
ATtiny2313 |
ATmega8515 |
ATmega8 |
ATtiny26 |
ATmega16L |
ATtiny2313A |
ATmega8515L |
ATmega8A |
ATtiny26L |
ATmega32 |
ATtiny2313V |
Atmega128**** |
ATmega8L |
ATtiny261 |
ATmega32L |
ATtiny4313 |
ATmega162 |
ATmega48 |
ATtiny261A |
ATmega161 |
|
ATmega162V |
ATmega48A |
ATtiny261V |
ATmega161L |
|
|
ATmega48V |
ATtiny461 |
ATmega164 |
|
|
ATmega48P |
ATtiny461A |
ATmega164A |
|
|
ATmega48PA |
ATtiny461V |
ATmega164P |
|
|
ATmega48PV |
ATtiny861 |
ATmega164V |
|
|
ATmega88 |
ATtiny861A |
ATmega164PV |
|
|
ATmega88A |
ATtiny861V |
ATmega164PA |
|
|
ATmega88P |
|
ATmega324 |
|
|
ATmega88PA |
|
ATmega324A |
|
|
ATmega88V |
|
ATmega324P |
|
|
ATmega88PV |
|
ATmega324PA |
|
|
ATmega164 |
|
ATmega324V |
|
|
ATmega164A |
|
ATmega644 |
|
|
ATmega164P |
|
ATmega644A |
|
|
ATmega164PA |
|
ATmega644P |
|
|
ATmega168 |
|
ATmega644V |
|
|
ATmega168A |
|
ATmega644PA |
|
|
ATmega168V |
|
ATmega644PV |
|
|
ATmega168P |
|
ATmega8535 |
|
|
ATmega168PA |
|
ATmega8535L |
|
|
ATmega168PV |
|
ATmega1284 |
|
|
ATmega328P |
|
ATmega1284P |
|
|
ATmega328PV |
|
Takže už viem "oživiť" všetky tieto tu uvedené a blbo naprogramované a bloknuté mikroprocesory.
Netýka sa to samozrejme poškodených mikroprocesorov.
__________________________________________________________________
Vaše hodnotenie, Rate post: