Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 09:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 1 cze 2017, o 23:09 
Offline
Nowy

Dołączył(a): 02 wrz 2015
Posty: 10
Pomógł: 0

Witam
Posiadam odkurzacz samosprzątający który obsługiwany jest przez atmega64a, i jest wyposażony w dodatkowe 4 pinowe gniazdo którego wyprowadzenia są przedstawione na rysunku poniżej. Nie mam doświadczenia z procesorami więc nie chciałbym narobić szkód. Szukałem sporo w necie na temat jak sprawdzić czy procesor komunikuje się poprzez port USB czy może poprzez rs232, ale niestety moje poszukiwania odpowiedzi nie przyniosły żadnego skutku. Bardziej pasowałoby że poprzez rs232 ponieważ te napięcia które mogłyby być jako (data +)(data-) mają zbyt duże wartości napięciowe, około +5V. Jak można to sprawdzić i przy okazji nie usuąć nic z procesorka ?. Po podpięciu do usbasp i zasileniu procesora w układzie odkurzacza, nie ma z nim żadnej komunikacji przez usbasp. Usbasp podłączyłem w dwóch konfiguracjach: A - do pinów (11 SCK, 12 MOSI, 13 MISO, 20 RESET ), oraz B - ( 2 PE0 , 3 PE1, oraz 11 SCK ).

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2017, o 02:06 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

m_sea napisał(a):
Po podpięciu do usbasp i zasileniu procesora w układzie odkurzacza, nie ma z nim żadnej komunikacji przez usbasp. Usbasp podłączyłem w dwóch konfiguracjach: A - do pinów (11 SCK, 12 MOSI, 13 MISO, 20 RESET ), oraz B - ( 2 PE0 , 3 PE1, oraz 11 SCK ).

A masa z programatora?

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2017, o 06:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

m_sea napisał(a):
oraz B - ( 2 PE0 , 3 PE1, oraz 11 SCK ).
I to jest to właściwe podłączonie, plus oczywiście masa i reset no i ewentualnie zasilanie jeśli swojego nie ma. Jeśli przez programator nie możesz go wykryć to jeszcze możesz sprawdzić czy na liniach programujących nie ma dołączonych jeszcze jakichś sygnałów (jakieś ledy, wyświetlacz itd itp) bo jeśli są, mogą skutecznie zakłócać programowanie.
Jeśli dalej nic to może być taka możliwość że twórca wyłączył opcję programowania szeregowego. Wtedy pozostaje równoległe ale bardziej kłopotliwe bo do równoległego potrzeba więcej pinów i to też najlepiej by nic do nich nie było podłączone, no i odpowiedni programator - instrukcję jak się dobrać poprzez równoległą magistralę znajdziesz w datascheet od procka.
Co do rs232 żeby sprawdzić czy cokolwiek tam biega musiałbyś posprawdzać wszystkie możliwości ustawienia RS-a i na każdym ustawieniu w terminalu obserwować czy coś dociera z procka po jego uruchomieniu. Problem w tym że ustawień dla RS232 trochę jest bo z jednej strony prędkość, to jeszcze masz później ilość bitów danych, czy z parzystością czy bez, ile bitów stopu, a jeśli twórca nie chciał by osoba niepowołana dobrała się do procka to mógł najdziwniejszą konfigurację ustawić, a dodatkowo procek może oczekiwać specjalnej sekwencji odebranych znaków by zainicjować proces. Możesz np zacząć od najbardziej popularnych np 9600,8,n,1...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 cze 2017, o 12:34 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Jak juz to zacznij od 115200,8n1 i jak będą jakieś śmieci to możesz wtedy starać się dobierać prędkość. Możesz też podłączyć analizator logiczny i obserwować najkrótszy bit. Po jego szerokości wyliczysz sobie prędkość :) może być tez tak jak wspominali koledzy, że bedzie to jakaś dedykowana transmisja lub układ będzie czekał na pewną sekwencję.

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2017, o 20:29 
Offline
Nowy

Dołączył(a): 02 wrz 2015
Posty: 10
Pomógł: 0

Dziękuję za zainteresowanie moim problemem. Masę oczywiście podłączyłem. Inne mniejsze atmegi komunikują się bez problemu, ale one nie są wlutowane w układy. Ta jedyna nie chce współpracować ale jest sprawna bo odkurzacz działa. Zauważyłem jeszcze jeden istotny szczegół, kiedy chcę wykryć bądź odczytać procesor z podłączonym resetem to następuje zwiększony pobór prądu i odkurzacz wyłącza zasilanie. Reset nie jest podłączony do niczego. może koledzy podpowiedzą mi jakie napięcia są na nóżkach pe0, pe1, bo u mnie wynoszą one 5V a również nie są podłączone do niczego, ścieżki prowadzą do pustego 4 pinowego gniazda które ma po załączeniu odkurzacza : pin1=5V, pin2=5V, pin3=5V, pin4=gnd. z czego pin 1 idzie bezpośrednio do stabilizatora 5V.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2017, o 11:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

m_sea napisał(a):
Reset nie jest podłączony do niczego
Trochę nie chce mi się wierzyć że nie jest podłączony do niczego... Powinien być podciągnięty do Vcc poprzez rezystor...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2017, o 14:29 
Offline
Nowy

Dołączył(a): 02 wrz 2015
Posty: 10
Pomógł: 0

@xentis to uwierz. na zdjęciu wyraźnie widać że pad jest pusty, do niczego nie prowadzi. Płytka nie wygląda za dobrze ale wszystko było zalane czarną twardą substancją, której reszta widoczna jest przy kwarcu. Po wylucie i poprawnym podłączeniu wszystkich pinów czyli - 52, 64, 53, 63 oraz piny 2, 3, 11 i reset dalej brak komunikacji i rozpoznania.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 cze 2017, o 06:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Nie wiem czy sobie poradziłeś z dobraniem się do procka ale czytając ostatnio notę natknąłem się na taki zapis:
Cytuj:
PEN
PEN is a programming enable pin for the SPI Serial Programming mode, and is internally pulled high. By
holding this pin low during a Power-on Reset, the device will enter the SPI Serial Programming mode.
PEN has no function during normal operation.

Aczkolwiek kiedyś bawiłem się atmegą128 która też ma pin PEN i nie przypominam sobie problemów z programowaniem...
Z kolei w sekcji SPI Serial Programming Algorithm pdf-a napisali że pin PEN można wykorzystać jako alternatywną metodę wejścia w tryb serial programming.
Jeśli to nie pomoże, a widzę że wylutowałeś procka, to nic nie stoi na przeszkodzie by dobrać się do niego poprzez Parallel Programming podłączając się np innym prockiem (np atmegą8) i pisząc kawałek kodu zgodnie z opisem tej procedury w datascheet. W ten sposób możesz odblokować w fusach programowanie szeregowe jeśli jest zablokowane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2017, o 16:21 
Offline
Nowy

Dołączył(a): 02 wrz 2015
Posty: 10
Pomógł: 0

@xentis dziękuję za zainteresowanie.
Do tej pory nic z tym μC nic nie zrobiłem bo podchodzę do niego ostrożnie aby nie uszkodzić. Pin PEN nie jest podłączony do niczego więc również go wykluczam bo producent umieścił na płycie złącze komunikacyjne a resztę zalał w tym cały μC więc nie można by nawet po rozebraniu urządzenie przykładać cokolwiek do pinów PEN oraz RESET. Kupiłem identyczną ATmega64a aby przetestować różne opcje i z nową zawsze jest komunikacja. Zastanawia mnie czy układ nie jest zaprogramowany aby komunikował się poprzez interfejs PDI co tłumaczyło by 4 pinowe złącze, tyle tylko że PDI wymaga zaprogramowanego RESET a u mnie ten pin nie jest do niczego podłączony. Jeśli natomiast byłby ustawiony dla Jtag to chyba 2 piny sygnałowe + 2 zasilające nie obsłużyły by tego interfejsu ?. Może jakaś emulacja USB ?. A wracając do Twojego pomysłu to chodzi Ci o fusebit doctor ?, jeśli odblokuję np fusy SPI to czy stracę oprogramowanie zawarte w μC bo rozumie że pozbędę się kilku pinów które idą prawdopodobnie do jakiegoś czujnika co mógłbym przeboleć. Wybacz nadmiar pytań ale z μC mam zbyt ubogie doświadczenie a nie mam zbytnio czasu aby zagłębić się w literaturze i dokształcić się w choćby stopniu minimalnym. Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2017, o 21:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 paź 2014
Posty: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

Może to być fusebit doctor, może to myć dowolny procesor z wystarczającą ilością pinów bo obsłużyć równoległy interfejs i odpowiedni wsad który chociaż odczyty fusy by sprawdzić czy faktycznie pin reset i programowanie jest zdezaktywowane, ale jeśli producent zadał sobie trud by wyłączyć programowanie szeregowe i reset to możliwe że załączył również lockbity a wtedy to już nic nie zrobisz.
Sama próba odczytania fusbitów jeśli dobrze zrobiona to nie spowoduje utraty programu, jeśli lockbity nie załączone to również modyfikacja fusbitów będzie możliwa bez utrat wsadu. Sama procedura programowania równoległego jest bardzo dobrze opisana w nocie pdf procka. Jak masz drugą taką atmegę to możesz najpierw na niej poeksperymentować z programowaniem równoległym.

m_sea napisał(a):
jeśli odblokuję np fusy SPI to czy stracę oprogramowanie zawarte w μC bo rozumie że pozbędę się kilku pinów które idą prawdopodobnie do jakiegoś czujnika co mógłbym przeboleć.
absolutnie nie oznacza to zmniejszenia funkcjonalności pinów - piny do SPI czyli SCK, MOSI, MISO służą do programowania ale w momencie pracy programu uC mogą być używane dowolnie (jedyny problem jest taki że jeśli podłączymy np sobie diody świecące do tych pinów to podczas programowania takie diody podłączone mogą za mocno obciążać linie i sygnały będą przekłamane i programowanie się nie uda. Ale jak masz procka wylutowanego to nie ma problemu) Samo wyłączenie programowania szeregowego może być podyktowane bardziej aspektami bezpieczeństwa by nikt niepowołany się nie dobrał do programu. Załączona możliwość programowanie przez SPI nie zakłóca w żaden sposób pracy uC przy wykorzystaniu tych pinów do innego celu.

m_sea napisał(a):
Zastanawia mnie czy układ nie jest zaprogramowany aby komunikował się poprzez interfejs PDI co tłumaczyło by 4 pinowe złącze, tyle tylko że PDI wymaga zaprogramowanego RESET a u mnie ten pin nie jest do niczego podłączony. Jeśli natomiast byłby ustawiony dla Jtag to chyba 2 piny sygnałowe + 2 zasilające nie obsłużyły by tego interfejsu ?. Może jakaś emulacja USB ?
Wydaje mi się ze ten procek nie posiada PDI, a tylko JTag.
Może po prostu uC ma bootloadera - ten nie wymaga resetu, ale jeśli producent chciał się zabezpieczyć to bootloader może przy starcie oczekiwać przez krótką chwilę na specjalną sekwencję znaków do inicjacji procesu programowania - taka implementacja jest bardzo prosta do wykonania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO