-         

Ergebnis 1 bis 4 von 4

Thema: SPI und ISP mit AT90CAN128

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2006
    Beiträge
    20

    SPI und ISP mit AT90CAN128

    Anzeige

    Hallo!

    Wir bauen im Zuge einer Diplomarbeit einen Roboter und müssen auch Platinen planen. Dabei ist folgendes Problem aufgetreten:
    Wir wollen sowohl SPI zur Kommunikation auf der Platine und auch ISP zum Programmieren am Prozessor (AT90CAN12 verwenden. Das Problem besteht nun darin, dass der Pin PB1 (SCK) sowohl für SPI als auch für ISP benötigt wird. Wie SPI anzuschließen ist geht aus dem Datenblatt des Prozessors hervor (MOSI, MISO, SCK), wie ISP angschlossen werden muss haben wir im Datenblatt nicht gefunden. Wir haben jedoch ein Entwicklungsbord (ATMegaEvoBoard mit AT90CAN12, auf dem ISP-Programming möglich ist. So haben wir uns beim Schaltplan dieses Boards schlau gemacht und wollten ISP wie am Entwicklungsboard anschließen. Hierbei wird jedoch PE0 (RXD0), PE1 (TXD0) und eben auch PB1 (SCK) verwendet.
    Wie kann man also verwirklichen, dass beides funktioniert?

    Danke schon im Vorraus!
    mfg Patrick

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Der ISP-Programmer ist eigentlich auch nix anderes als ein SPI-Master.
    Ich weiß nicht, woher Du die Anschlussbelegung mit PE0 und PE1 hast, aber normalerweise wird der ISP ebenso wie ein SPI-Gerät an MISO, MOSI und SCK angeschlossen (zusätzlich noch an RST).

    Schau Dir mal die Application Note AVR910 an, speziell Seite 3, da steht alles drin...

    [edit]
    Ich habe gerade noch mal Datenblätter gewälzt - der Mega128CAN hat eine extra SPI-Schnittstelle zum Programmieren (PDI, PDO auf PE0, PE1). Die SCK Leitung wird gemeinsam mit dem normalen SPI benutzt.
    Ich würde einfach die SCK-Leitung so beschalten, wie es in der AppNote angegeben ist und PDI, PDO ganz normal verbinden.

    Bin mir nicht sicher, aber eigentlich sollte auch der 128er über MISO und MOSI zu programmieren sein...
    [/edit]

    Gruß,
    askazo

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2006
    Beiträge
    20
    Danke für die Hilfe!

    Ich habe die Beschaltung von der Dokumentation unseres Entwicklungsboards (http://www.microcontroller-starterki...gaEvoBoard.zip). Meinst du mit "Mega128CAN" den AT90CAN128? Denn ich habe auf der Atmel HP keinen Mega128CAN gefunden?!
    Ich hab mir nun überlegt, wie ich den Controller beschalten will--> siehe Bild unten
    Stimmbt diese Beschaltung? Wenn nein, wie dann?

    mfg
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken spi_isp.jpg  

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Ja, mit Mega128CAN meinte ich den AT90CAN128....
    Ist mir sowieso schleierhaft, warum die den AT90... genannt haben, bis auf die zusätzliche CAN-Schnittstelle ist der nämlich nahezu identisch mit dem ATMega128, die sind auch Pin-Kompatibel.

    Deine Beschaltung sollte so funktionieren. Wenn Du auf Nummer sicher gehen willst, kannst in die SCK-Leitung zwischen dem ISP-Anschluss und der Abzweigung zum SPI noch einen Widerstand einsetzen, so wie's auch in der Application Note gemacht wird. Als Wert würde ich 10k nehmen.

    Gruß,
    askazo

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •