Archiv verlassen und diese Seite im Standarddesign anzeigen : Neueinsteiger, AT90CAN128 konfrontiert, wie programmieren ?
Hallo zusammen,
ich suche nach Weisheit und hoffe Sie hier zu finden.
Ich soll für meinen Brötchengeber ein von einer Fremdfirma gebautes Programmiergerät programmieren und installieren. Dabei wird dieses Gerät über eine RS232 Schnittstelle mit einem PC verbunden und mittels einer Labview-Umgebung gesteuert. So der Plan.
Konkret wird die Kommunikation zwischen PC und Programmiergerät hardwareseitig auf einer seperaten Einsteckkarte realisiert. Diese Karte verwendet dazu einen AT90CAN128 Baustein. Die Kommunikation findet jedoch nur über RS232 statt, CAN wird gar nicht genutzt.
Und nun zu meiner Frage. Der AT90CAN128 ist auf einer Platine bereits fest verlötet. Kann dieser Baustein überhaupt programmiert werden, wenn dieser bereits verbaut wurde? Ist dazu nicht zumindest ein STK500 Board notwendig oder kann über zusätzliche Leitungen der Controller praktisch "Incircuit" programmiert werden?
Wie sieht ein den ein Programm beispielsweise aus, das die Kommunikation zwischen PC und Perepherie ermöglicht? Gibts dafür nicht bereits fertige Bausteine die das ganze hardwaremässig lösen?
Ihr seht, bei uns sind viele Fragen offen und die Mischung aus Vermutungen und Halbwissen erreicht langsam gefährliche Ausmaße.
Für hilfe wäre ich sehr dankbar.
Hallo,
zum einfachen Teil. Der AtMega bietet die Möglichkeit InSystem programmiert zu werden. Dafür benötigt man einen Programmieradapter, auch ISP genannt, und die entsprechende Software. Die Anschlüsse stehen im Datenblatt unter Serial Programing(oder so ähnlich). Ob die Beschaltung durch andere Bauteile eine Programmierung noch zulässt, kann ich dir nicht sagen.
Wurde der Controller Softwareseitig schon einmal angefasst? Es gibt auch Bootloader, die die Programmierung über die Serielleschnittstelle ermöglichen. Ein Bootloader ist aber ab Werk nicht auf dem Baustein.
Nun zum Unmöglichen, für die serielle Schnittstelle (UART) gibt es genug Programmbeispiele. Such halt kurz im Wissenbereich. Wie die Komunikation dann mit deiner Hardware aussehen muss, kann dir hier wohl niemand sagen. Die kennt hier keiner. Vielleicht wird innerhalb des Gerätes ja CAN genutzt oder doch parallele Verarbeitung? Wenn du da so gar nichts an Doku hast, wird das sehr sehr schwer.
HTH
Jens
Edit: habe dein Post noch einmal gelesen. Wo sitzt die Karte mit dem AtMega, hab es so verstanden das sie im Programmiergerät steckt, oder?
Hi,
ich denke auch daß du das nochmal etwas genauer beschreiben solltest.
Mir ist das Ganze auch nicht richtig klar.
Gruß
Christopher
Alsoooo, noch mal im Klartext und ausführlich.
Das Programmiergerät, welches von einer Fremdfirma für uns im Austausch von Patentlizenzen gebaut wurde besteht im wesentlichen aus drei Steck-karten. Einmal Spannungsversorgung, einmal Relais und einmal Kommunika-tion.
Eben um diese Kommunikationskarte geht es. Sie besteht im wesentlichen aus einem Atmel AT90CAN128. Dieser sorgt für die Abwicklung verschiede-ner Messaufgaben und die Kommunikation zwischen PC und Programmierge-rät. Auf dem PC läuft ein LabVIEW Steuerungsprogramm, welches über RS232 dem Controller sagt was er tun und lassen soll.
Weiterhin ist im Umkreis des Controllers ein Baustein MAXIM 3222CAP zu finden. Der soll wohl die Schnittstelle darstellen.
Das Hauptproblem ist weiterhin, die Hardware steht, jedoch vollkommen "nackt". Es ist auf dem Controller nichts programmiert und die LabVIEW Steuerung besteht bisher nur in den Köpfen der Programmierer. D.h. wir sind gezwungen, auch aufgrund praktisch nicht existierender Dokumentation, uns alles aus den Fingern zu saugen, wie es den gehen könnte.
Daher die von mir zu Anfang spärlichen Informationen. Wir wissen halt selber noch nicht genug um fundierte Aussagen treffen zu können.
Wenn ich das dann richtig verstehe ist der Controller quasi so wie er von ATMEL ausgeliefert wurde.
Da der Chip ja eingelötet ist und keinen Bootloader hat, bleibt euch nur die Möglichkeit den Controller über ISP zu proggen.
Solche ISP Programmer gibt es massig als Fertiggerät oder Bauanleitung - sind nicht besonders schwierig herzustellen.
Die für die ISP die benötigten Pins - meistens MISO, MOSI, SCK, Reset, +5V und GND ( Controllerabhängig ) werden auf eine ISP Buchse gelegt.
Wenn euere Entwicklungsfirma schlau war ist bereits ein solcher ISP Anschluß auf euerer Platine enthalten.
Über diesen ISP Anschluss kann der Controller dann mit einem Programm versorgt werden.
Wenn das so ist, dann solltet ihr erstmal schauen welche Kommandos Lab View für die serielle Schnittstelle erzeugt und welche Daten in welchem Format erwartet werden.
Ihr müsst also zuerst die Serielle Schnittstelle des Controllers initialisieren und dann eine Protokollstack für euer Lab View Programm implementieren. Vieleicht gibts dafür aber auch schon fertige Librarys - müsst halt mal danach suchen.
Als nächster Schritt wäre dann die CAN Schnittstelle dran. Ich selber hab mit CAN noch nichts gemacht, aber die Vorgehensweise dürfte ähnlich sein wie bei der seriellen Schnittstelle.
Nun braucht der Controller noch einen Programanteil der die seriellen Kommandos, bzw. Messwerte zwischen den Schnittstellen hin und her wandelt. Dann sollte euere Soft laufen.
Entwicklungsaufwand für einen erfahrenen ATMEL Programmierer würde ich mal so zwischen 1 und 4 Monaten ansetzen. Je nach dem wieviel Dokumentation und fertige Lib's ihr habt.
Wenn dann alles läuft könnt ihr noch einen Bootloader in den AT90... implementieren, wenn das bei diesem Chip möglich ist.
Damit ist es, je nach verwendetem Programm, möglich eine neue Softwarevariante per serieller Schnittstelle in den Chip einzuspielen.
Das dürfte aber nur interessant sein, wenn ihr das fertige Produkt an Kunden ausliefern wollt. Die können sich dann aktuellere Softwarevarianten selber auf den Controller spielen.
Bei den ATMEL AVR Controllern gibt es eine ganze Anzahl von Fuse Bits.
Was die machen solltet ihr im Vorfeld genau aus dem Datenblatt herauslesen und von Anfang an die Bits richtig einstellen. Wenn ihr da was falsches einstellt ist es möglich, das sich der Controller nicht mehr über ISP Programmieren lässt.
Dann bleiben nur noch Tricks, oder das Auslöten des Controllers.
Hallo,
Die für die ISP die benötigten Pins - meistens MISO, MOSI, SCK, Reset, +5V und GND ( Controllerabhängig ) werden auf eine ISP Buchse gelegt.
Vorsicht Falle.
Die MISO und MOSI müssen bei diesem Controller PDI und PDO sein.
Ansonsten hat wkrug alles geschrieben.
Gruß
Jens
An dieser Stelle ganz herzlichen Dank für die ausfürlichen Antworten, besonders an wkrug. Jetzt sind wir wesentlich schlauer und auch geschockt bezüglich der vorraussichtlichen Programmierdauer für einen erfahrenen Atmel Programmierer. :shock:
Bei uns ging das Gerücht um sich eine Woche einzuarbeiten und dann in ca. zwei Wochen ein fertiges und funktionierendes Programm auf den Tisch zu haben. (Buhahahahahahahaaaaaaaaaaa) :lol:
Jetzt kann man den Aufwand zumindest in einigen Detailpunkten abschätzen (Oh Graus). Na ja, stellt zumindest für dieses Quartal eine Beschäftigung dar. :roll:
Danke noch mal.
Bei uns ging das Gerücht um sich eine Woche einzuarbeiten und dann in ca. zwei Wochen ein fertiges und funktionierendes Programm auf den Tisch zu haben.
Das kommt halt auch darauf an wie fit ihr mit den LAB View Protokollen und dem CAN Bus seid und ob ihr fertige funktionierende lib's für die Schnittstellen habt oder kriegt.
Im Team kann man natürlich schnellere Ergebnisse erreichen, wenn man sich die Aufgaben vernünftig einteilt.
Ich hab hier auch von einem! Programmierer gesprochen.
Ihr habt ja auch nicht genau spezifiziert, was die Karte alles können soll.
Ein paar Relais mit LabView Aus- und wieder Einzuschalten dürfte nicht unbedingt ein großes Problem sein.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.