PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmel Port und Level detektieren



robosapiens
05.04.2017, 09:01
Ich habe mir ein neues Projekt gesucht, und weiß noch nicht so wirklich wie man dies am besten angehen könnte.

Zur Aufgabenstellung:
Ich habe ein Atmel Microcontroller gestützte Schaltung, an der ich einen bestimmten Port herausfinden möchte. Darüber hinaus weiß ich leider auch nicht ob der Port ein High oder Low Level benötigt um die gewünschte Aktion auszuführen.

Kann ich den gesuchten Port und das benötigte Level mit einem Logic analyzer oder Oszilloskop herausfinden. Oder gibt es einen einfacheren Weg?

Über jeden Ratschlag wäre ich sehr dankbar.

oberallgeier
05.04.2017, 09:14
.. ein Atmel Microcontroller .. einen bestimmten Port .. mit einem Logic analyzer oder Oszilloskop herausfinden ..Vermutlich versteh ich die Frage nicht/falsch. Ich würde das Datenblatt des Controllers zu Rate ziehen und mit der Schaltung vergleichen . . .

robosapiens
05.04.2017, 09:22
Vielleicht habe ich zu wenig geschrieben. Es geht darum, dass die Schaltung als auch der Code Closed Source sind. Somit weiß ich leider nicht welcher Port des Microcontroller mein gesuchter ist, bzw welches Level er benötigt.

Ceos
05.04.2017, 09:36
Das reicht leider auch nicht an Infos.

Somit weiß ich leider nicht welcher Port des Microcontroller mein gesuchter ist

also wenn ich einen Port suche würde ich mit PORTA anfangen, der ist auf fast allen Atmels zu finden, ich glaube ATTinys haben nur PORTB XD

Spaß beiseite, was suchst du denn? Welcher Pin für die Kommunikation genutzt wird? Welcher Pin das PWM Signal für die LED ausgibt? Welcher Pin dem Controller mitteilt eine Aktion auszuführen?
Du müsstest schonmal exakter werden und mal darlegen was du hast? Eine Schaltung mit einem programmierten Controller habe ich ja schon verstnaden, wie sieht die Schaltung aus (Fotos)? Und was macht die Schaltung denn? Was genau von der Funktion willst du verstehen?

robosapiens
05.04.2017, 09:54
Danke für deine Antwort, doch leider weiß ich auch nicht mehr - genau das ist mein Problem.
Konkret geht es um ein Controllerboard für 3D-Drucker bei dem angeblich mal ein pin des Microcontrollers für die Pausefunktion implementiert wurde, aber aus mechanischen Gründen, nie umgestzt wurde. Aus diesem Grund versuche ich nun den besagten Pin zu finden. Leider weiß ich nicht, ob der pin noch aktiviert ist, wo er sitzt und welches Level er benötigt.

Meine Frage bezieht sich auf die Vorgehensweise an solch ein verzwicktes Problem.

Ceos
05.04.2017, 10:44
wenn der Atmel nciht gerade ein Ballgrid oder QFN Gehäuse ist, kann man ja zumindest mal die Pins sehen die nicht beschaltet sind (keine Leiterbahn weg geht ... denk dran es gibt evtl. Leiterbahnen unter dem Chip)
die Leiterbahnen die man sieht kann man ebenfalls verfolgen und prüfen ob sie denn alle auch ein Ziel haben oder einfach nur auf einem unbestücken Lötpad enden.
So kannst du schonmal alle "benutzen" Pins ausschließen und dann anhand der übrigen Pins mit dem Datenbaltt abgleichen welche Pins unmöglich dafür in Frage kommen.

robosapiens
05.04.2017, 10:49
Das ist ein guter Tipp, danke.

Sollte ich nun 10 Pins finden, die auf einen Lötpunkt enden, wie könnte ich weiter vorgehen um den fraglichen pin zu indentifizieren? Kann man dafür ein Oszilloskop oder logic analyzer einsetzen?

Ceos
05.04.2017, 11:06
minimale Hoffnung: es gibt nur 2 Pins
dann musst du nur ganz simpel die Spannung am Pin messen, standardmäßig ist so ein pin inaktiv und du musst quasi die polung des pin nur umdrehen .. also bei inaktiv 5V ist aktiv 0v und umgekehrt (pack aber mind. einen 2kOhm Widerstand in Reihe um den Pin nicht zu zerstören falls du doch mal einen aktiven pin erwischst)

Wichtig ist noch, dass es sein kann dass ein Pin über einen Widerstand nach GND oder VCC (5V) verbunden ist und sonst nichts, das mcht man üblicherweise als sog. PullUp oder pullDown damit der Pegel am Ausgang definiert "inaktiv" ist ... aber Atmegas haben auch interne Pull Widerstände deswegen würde ich erstmal den ersten Ansatz verfolgen. Soltest du keine unbenutzen Pins finden solltest du prüfen ob es Pins gibt die nur diesen externen PullUIp oder PullDown besitzen ... die eigentliche VCC Leitung kannst du mittels Datenblatt vom VCC Pin des Controllers aus verfolgen

robosapiens
05.04.2017, 11:43
Vielen Dank für deine Antwort. Ich werde heute Abend schauen, ob das so klappt, und gebe dann zeitnah Rückmeldung :)