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

Mc68HC..05.... - Jak zaprogramować ponownie mikrokontroler OTP?

platfus1109 04 Wrz 2016 22:13 4227 8
REKLAMA
  • #1 15912005
    platfus1109
    Poziom 14  
    Witam.
    Pytanie w zasadzie proste jak w temacie.
    Posiadam mikrokontrolery Motorola (obecnie już produkcja NXP) i chciałbym je wykorzystać. Ponieważ cena jest dziś kosmiczna tych układów to pomyślałem że może jest sposób jakoś zaprogramować ponownie procka jednokrotnego programowania. Wiem że każde zabezpieczenie można ominąć, ale czy ktoś ma trop albo trik na te właśnie stare scalaki? Z odczytem EPROM, ROM1, ROM2 i każdej komórki niema problemu ale załadować nowy wsad nie udało mi się. Przegrzebałem neta i nie znalazłem a po rusku nie szukałem i domyślam się że oni patenty mają.
  • REKLAMA
  • #2 15912049
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 15912056
    excray
    Poziom 41  
    A po co Ci te zabytki? Chcesz to sprzedawać? Czy pisać na to programy?
  • #4 15912057
    platfus1109
    Poziom 14  
    Jeśli tak to wszystko jasne. Podejrzewałem że może jest jakaś flaga która się ustawia po zaprogramowaniu i jest w niedostępnej do edycji komórce pamięci. A takich obszarów jest trochę w motorolach.

    Dodano po 3 [minuty]:

    Zabytki zawsze w cenie. Scalaki z tej rodziny chodzą do ponad 40€. A są sprzęty które potrzebują czasem serwisu, a klient jest w stanie za zabytek zapłacić.
  • REKLAMA
  • #6 15912510
    Szymon Tarnowski
    Poziom 27  
    platfus1109 napisał:
    Jeśli tak to wszystko jasne. Podejrzewałem że może jest jakaś flaga która się ustawia po zaprogramowaniu i jest w niedostępnej do edycji komórce pamięci. A takich obszarów jest trochę w motorolach.
    Historycznie układy OTP nie miały służyć zabezpieczeniu przed ponownym użyciem, a jedynie obniżeniem kosztów produkcji.

    Najstarsze miały pamięć PROM w której w procesie programowania zostały "przepalane" ścieżki konkretne komórki w pamięci, tego procesu nie da się odwrócić. Istnieje też technologia "antifuse" gdzie pod wpływem prądu krzem się lokalnie nadtapia a zastygając tworzy ścieżkę o mniejszej rezystancji niż oryginalnie. Tego także nie da się odwrócić bo to proces fizyczny. Można gdybać o przepalaniu i naprawianiu ścieżek laserem, tylko że koszt sprzętu będzie kosmiczny.

    Nieco nowsze układy miały pamięć EPROM kasowalną przez UV, różnica między układami OTP a kasowalnymi była wyłącznie w fizycznej obudowie. Te drugie miały okienko i nieosłoniętą strukturę krzemową. Różnica w cenie obudowy z okienkiem a bez jest kolosalna, ten sam układ w obudowie z okienkiem kosztował 10$, a w zwykłej plastikowej 2$. Hipotetycznie można rozebrać obudowę takiego układu, naświetlić go UV i zaprogramować na nowo. Jedynym problemem jest fizyczny proces dekapsulacji. Do celów hobbystycznych pojedyncze sztuki można rozebrać ręcznie dremelem i w kwasie azotowym, ale nie wyobrażam sobie później zamontowania takiego układu w jakimś sprzęcie. W czasie rozbierania struktura krzemowa może zostać mechanicznie osłabiona, zostaje poddana działaniu tlenu i chemikaliów, nie ma gwarancji że czas życia takiego układu nie zostanie skrócony, albo jakiś elektryczny parametr np obciążalność albo maksymalna częstotliwość pracy. Przy takim ryzyku ten fabrycznie nowy układ za 40E wyjdzie taniej i pewniej.
  • REKLAMA
  • #7 15920051
    RitterX
    Poziom 39  
    Motorole programuje się inaczej jak typowe mikrokontrolery typu PIC czy AVR. Programowanie jest mocno zbliżone do niektórych ARM-ów. Motorole nie mają podziału na pamięć programu i danych lecz mają jednolity obszar pamięci.
    W pierwszej kolejności należy wymusić za pomocą odpowiednio skonfigurowanych końcówek uruchomienie BOM czyli Boot ROM. To program, który umożliwia załadowanie do pamięci RAM programu poprzez UART. Następnie po załadowaniu programu programujacego do UART można było go uruchomić dzięki czemu było możliwe skasowanie pamięci i po tym samym interfejsie UART zaprogramowanie EEPROM-a lub/i EPROM-a.
    W najstarszych MC68705 programowanie odbywało się jeszcze bardziej egzotycznie. Był potrzebny programowany wsad w EPROM-ie a EPROM należało w odpowiedni sposób podłączyć do mikrokontrolera. Do zwiększania adresu EPROM-a było jeszcze konieczne dołączenie licznika HEF4040. No i oczywiście podanie odpowiednich napięć programujących rzędu 12.5V.
    Z powyższego wynika, że nie polecam owej egzotyki jeżeli jest to zbędne.
  • #8 15920166
    Konto nie istnieje
    Konto nie istnieje  
  • #9 15941176
    Szymon Tarnowski
    Poziom 27  
    RitterX napisał:
    Motorole programuje się inaczej jak typowe mikrokontrolery typu PIC czy AVR. Programowanie jest mocno zbliżone do niektórych ARM-ów. Motorole nie mają podziału na pamięć programu i danych lecz mają jednolity obszar pamięci.
    W pierwszej kolejności należy wymusić za pomocą odpowiednio skonfigurowanych końcówek uruchomienie BOM czyli Boot ROM. To program, który umożliwia załadowanie do pamięci RAM programu poprzez UART. Następnie po załadowaniu programu programujacego do UART można było go uruchomić dzięki czemu było możliwe skasowanie pamięci i po tym samym interfejsie UART zaprogramowanie EEPROM-a lub/i EPROM-a.
    W najstarszych MC68705 programowanie odbywało się jeszcze bardziej egzotycznie. Był potrzebny programowany wsad w EPROM-ie a EPROM należało w odpowiedni sposób podłączyć do mikrokontrolera. Do zwiększania adresu EPROM-a było jeszcze konieczne dołączenie licznika HEF4040. No i oczywiście podanie odpowiednich napięć programujących rzędu 12.5V.
    Z powyższego wynika, że nie polecam owej egzotyki jeżeli jest to zbędne.
    Piszesz szczerą prawdę, ale to nie ma nic wspólnego z układami OTP, jeśli układ jest w światło-szczelnej obudowie to na nic nie zda się możliwość go zaprogramowania, jeśli nie odprowadzisz ładunku z bramek EPROM.

    Kolega pyta jak wyczyścić układy OTP do ponownego zaprogramowania, zapewne sposób programowania czystych ma już opracowany. Znasz jakąś metodę na to?
REKLAMA