logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

algorytm programowania równoleglego - poprawnie?

poorchava 02 Lut 2010 21:16 1539 11
REKLAMA
  • #1 7634057
    poorchava
    Poziom 18  
    Witam,
    jako że posiadam kilka atmeg8 zablokowanych podczas zabaw z oscylatorami mam zamiar zrobić programator równoległy opierając się na dokumentacji procka. Problem jest taki, że dokumentacja jest napisana trochę zawile. Czy poniższy algorytm jest poprawny czy cos pokręciłem?

    pseudokod:
    
    PAGEL, XA1, XA0, BS1 = gnd
    VCC = 5v
    RESET = 12v
    
    czekaj na RDY = 1
    
    !OE=1 //nie odczytujemy danych
    XA1,XA0=10
    BS1,BS2=00 // zasadniczo wg schematu ze str 233 manuala wartosc BS2 jest nieistotna
    DATA=0100 0000 //komenda Write Fuse Bits
    
    XTAL1=1
    XTAL1=0 //impuls taktujący
    
    XA1,XA0=01
    DATA= 1110 0001 //fabryczne ustawienie low fuse bitów
    
    XTAL1=1
    XTAL1=0 //impuls taktujący
    
    !WR=0 //zapisz
    czekaj
    if(RDY) "atmega zyje"
    
    
    
  • REKLAMA
  • #2 7634192
    Mat_91
    Poziom 25  
    Jak byś chciał to zaraz mogę odkopać z szafki książkę o programowaniu avr i zrobić zdjęcia rozdziału o programowaniu równoległym, po polsku oczywiście :)
  • REKLAMA
  • #3 7634211
    mirekk36
    Poziom 42  
    Mat_91 napisał:
    Jak byś chciał to zaraz mogę odkopać z szafki książkę o programowaniu avr i zrobić zdjęcia rozdziału o programowaniu równoległym, po polsku oczywiście :)
    zrób zrób te fotki ;) a nóż widelec kiedyś się przyda
  • REKLAMA
  • #7 7635166
    poorchava
    Poziom 18  
    Niestety, książka jest o innym procku, a informacje zawarte w niej stanowia w sumie tłumaczenie datasheetu. Wychodzi, że opisany procek ma inne fusebity itd. A ogólne informacje pokrywaja się ogólnie z tym, co napisano w manualu atmegi8. Ale dzięki za dobre chęci :)
  • #8 7635268
    manekinen
    Poziom 29  
    poorchava czyli ten programator ma tylko i wyłącznie ustawiać nowe fuski? To może się wstrzymaj na razie, bo akurat robię coś takiego tyle że wysokonapięciowy i uniwersalny (nie tylko dla m8 ) więc sobie odblokujesz nie tylko fuski oscylatora ale reset i isp też :)
  • REKLAMA
  • #9 7636242
    poorchava
    Poziom 18  
    wg manuala ta metoda jest słuszna własnie w przypadku skaszanionych CKSEL albo RSTDSBL. Ogólnie pierwszy procek odblokuję ręcznie, a jak zadziała, to będe majstrował dalej i zrobię taki programator na jakimś uC (może na jednej z odblokowanych atmeg :) ). Zresztą, chcę dojść do tego sam

    EDIT:
    zrobione, działa. Udało się odblokować atmegę z źle ustawionym oscylatorem. Algorytm postępowania jaki okazał się dobry.

    
    BS1=0
    BS2=0
    !OE=1
    !WR=1
    XTAL1=0
    DATA=0000 0000
    XA1=0
    XA0=0
    PAGEL=0
    
    podłączamy jakąś diodę z rezystorem między RDY i GND
    
    podłączamy GND , +5 do VCC, +12 do RESET. Ma się zaświecić RDY. Jak sie nie świeci, to trzeba spróbować kilka razy. Najwyraźniej aby procek ze źle ustawionym taktowaniem wszedł w tryb HVPP trzeba podłączyć VCC i RESET praktycznie równocześnie. Ja wyciągnąłem gniazdo zasilające ze starego CD-ROMu i podlączałem się do zasilacza komputerowego. 
    
    XA1=1
    DATA=0100 0000
    XTAL1=1
    XTAL1=0
    
    XA0=1
    XA1=0
    DATA=1110 0001
    XTAL1=1
    XTAL1=0
    !WR=0
    
    odłączyć zasilanie jak dioda będzie się świeciła jednostajnie.
    
    


    Ważne jest, żeby nie pokręcić niczego z DATA. Najstarszy bit to ten na PB0 a najmłodszy na PC1.
  • #10 7640765
    kamyczek
    Poziom 38  
    tylko uważaj na kolejność najpierw włączasz 5V potem 12V a wyłączasz odwrotnie najpierw 12V potem 5V jak zostanie 12V bez 5V możesz uszkodzić układ.
  • #11 7645344
    poorchava
    Poziom 18  
    Tak, wiem o tym. Natomiast w manualu jest napisane żeby podlączyć +5 i +12 jednocześnie, co w praktyce jest praktycznie niewykonalne.

    Postępy:
    dotychczas odblokowałem 2 procesory z 3 jakie znalazłem i wiem, że są sprawne, tylko źle skonfigurowane. Sygnały podawałem poprzez przełączanie drutów na płytce uniwersalnej, co pewnie było powodem, dla którego każdy procek wymagał kilku prób. Jak będę miał więcej czasu, to zaprogramuję podawanie odpowiednich sygnałów na atmedze, co powinno poprawić skuteczność.
  • #12 7669262
    Mat_91
    Poziom 25  
    Balu napisał:
    Cóż to za książka?


    "Mikrokontrolery AVR w praktyce" Jarosław Doliński, BTC :)

    A co do tego że jest dla innego procka itp... to ja to wiem:) Tak czy inaczej zasada jest zawsze taka sama.
REKLAMA