Hallo zusammen, ich habe ein paar grundsätzliche Fragen "ob das so geht" da ich in dem Gebiet noch nicht viel Erfahrung habe. Folgendes: Ich habe im AVR Studio ein Programm geschrieben welches ich zur Zeit auf ein Hobby-Roboter-board mit einem Atmega32 lade und dort laufen lasse. Auf dem controller ist werksseitig ein Bootloader integriert, und die hex file mit mittels einem kleinen Loaderprogramm (beim Roboter mit dabei) per UART auf den Controller geladen. Soweit so gut. Nun, meine Frage: Ich möchte nun selbst einen Prototypen mit einem ATMEGA32 bauen, diesen aber per ISP programmieren. Muss ich hierbei etwas beachten wegen Bootloader/kein Bootloader und Schnittstelle UART/SPI? Oder kann ich einfach die ISP Schnittstelle anschließen (siehe schematic) und per Programmierdongle das Programm aufspielen.
Wenn du per SPI flashen willst, brauchst du kein UART und keinen Bootloader. Nur den Programmierer (AVRISPmkII o.ä.), Kabel und Spannungsversorgung.
Atmel hat eine Appnote für Designs mit ISP und Benutzung eines SPI-Busses. Der SPI Bus zu den externen ICs (hier SPI EEPROM) ist dort mit Serienwiderständen vor den ISP-Signalen geschützt. http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP-Pins_am_AVR_auch_f.C3.BCr_andere_Zwecke_nutzen Bei dem 74HC409 am SPI Bus verstehe ich deine Schaltung nicht. Ich hätte erwartet, dass du eine "Enable" Leitung hast, die unterscheidet, ob du das SPI EEPROM oder das 74HC409 ansprechen willst. Derzeit ist das 74HC409 immer aktiv. Überleg dir nochmal intensiv, ob du wirklich AVREF fest auf externe 5V klemmen willst. Es ist bad practice wenn man am µC auf die Abblockkondensatoren zwischen Vcc und GND zu verzichtet.
Ouh, Fehler, die AVCC soll eigentlich mit 10nF auf Masse. Der 74HC409 is immer aktiv, ja. Ich unterscheide ja mit der "CS" leitung am EEPROM ob es aktiv sein soll, damit es inaktiv ist wenn ich mit dem HC kommuniziere. Sollte doch kein Problem sein, oder? Hab das so von dem bestehendem Board übernommen, daamit ich später wenn ich vom einen aufs andre Board switchen will nicht die Software/lib anfassen muss, zumindest nicht diesen Teil.
Ich habe kein Datenblatt des 74HC409 und kann daher die Funktion nicht exakt nachvollziehen (z.B. Flackern dann die LEDs usw.). Mir gefällt vom Design her nicht, dass das 74HC409 ebenfalls aktiv ist, wenn dein µC mit dem SPI EEPROM redet. Möglicherweise hat es danach einen undefinierten Status und du musst es nochmal korrekt ansprechen. Technisch könnte man vielleicht die CS Leitung des SPI EEPROMS über einen Logikbaustein (NOT?) mit der Enable Leitung des 74HC409 verheiraten und so nur einen Bausteil auf dem SPI-Bus ansprechbar machen. Oder du opferst eine weitere I/O-Leitung deines µCs.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.