www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7SXX und TWI


Autor: Wolfgang Vickermann (vmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin neu hier in diesem Forum; also erst einmal ein freundliches 
"Hallo allerseits".

Meine Frage ist eigentlich schon beantwortet, aber um sicher zu gehen, 
ob ich das Referenzmanual und andere Beiträge richtig verstanden habe, 
habe ich folgende Frage:
Ist es möglich den TWI-Bus des AT91SAM7S256 als Slave in einem 
Multi-Master-System zu betreiben ? Nach dem Manual geht das scheinbar 
nicht, da dieser nur selbst als Master arbeitet. Auch einen Absatz über 
Arbitrierung vermisse ich. Es scheint also nur die Möglichkeit zu geben, 
am AT91SAM7S n Slaves zu betreiben, keine Weiteren Master, keinen 
Slavebetrieb. Aber vielleicht habe ich ja was übersehen?

Vielen Dank im voraus

Wolfgang

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Es geht tatsächlich nicht und, schlimmer noch, sogar der Master-Nodus 
ist total buggy. Lass am besten die Finger vom AT91SAM7 und nimm 
stattdessen einen LPC2xxx. Bei den LPC's ist manches zwar nicht so 
benutzerfreundlich gelöst, aber die Dinger funktionieren wenigstens 
anstandslos.

Autor: SAM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Master-Mode beim SAM funktioniert wunderbar. Es gibt aber Probleme 
mit den Status-Bits bei einem NACK (siehe Errata). Jeder ARM7 hat seine 
Eigenheiten. Am besten immer vorher die Errata lesen.

Ich kann dir den SAM mit seinen DMA Kanälen nur empfehlen !

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich kann dir den SAM mit seinen DMA Kanälen nur empfehlen !
Ja, das DMA beim SAM7 ist wirklich gut, kein Vergleich mit dem 
super-umständlichen DMA (und den nur 2 Kanälen) der NXP LPC's. Aber 
trotzdem, fast jedes Peripheral der SAM7-Typen hat irgendwelche Probleme 
und ich frage mich, wieso Atmel so einen halbfertigen Controller 
überhaupt auf den Markt schmeisst. Dass der IIC-Slave Modus gar nicht 
geht, ist ohnehin ein Unding!

Autor: SAM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Atmel ist das kein Vorzeigeprozessor, richtig. Dafür sind die 
Nachfolger mit IIC M/S/MM ausgestattet. Ich bin bisher immer ganz gut 
mit dem SAM7S gefahren, als nächstes werde ich einen cortex-m3 quälen. 
Da hat ARM in der 7er Sparte nochmal nachgelegt ...

Autor: SAM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Wolfgang Vickermann (vmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten.
Da muss ich mir wohl was anderes suchen.
Allerdings finde ich das schon ein bisschen armselig für Atmel. Mit den 
AVRs war ich immer sehr zufrieden.
Mit NXP habe ich (LPC2138/48) allerdings auch schon negative Erfahrungen 
im Bezug auf Doku und DMA für USB gemacht. Habe ich leider nie 
zufriedenstellend hinbekommen aber was solls. Vielleicht versuch ich es 
nochmal mit NXP.

Gruß

Wolfgang

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ja, das DMA auf den NXP's (ich benutze übrigens die 2378 und 2366'er) 
ist wirklich übel einzustellen. Aus der Doku geht kaum hervor, wie man 
es benutzen kann. Transfer-width, Burst Size usw. müssen genau zum 
Peripheral passen, sonst geht es nicht. Ich hab' mal was angehängt, das 
dir vielleicht weiterhelfen kann. Ansonsten sind die LPCs wirklich gute 
Controller. Man muss sich mehr mit ihnen auseinandersetzen und mehr 'von 
Hand' machen als vielleicht bei anderen Controllern, aber wenn man's 
erstmal hinbekommen hat, dann läuft alles ohne zu zicken.

Autor: Rooney Bob (rooney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jeder Controller hat Fehler, ist halt mal so. Gute Programmierer können 
damit leben.

Nur weil es bei LPC kein langes Errata Sheet gibt, heißt es noch lange 
nicht, dass der keine Fehler hat!!!! Atmel steht eben dazu.
Ich will jetzt aber definitiv keine Grundsatzdiskussion losbrechen 
welcher der beiden Controller besser ist. Mich nerven schon Beitrage wo 
es PIC vs. AVR geht. Einfach ausprobieren was einem mehr liegt und 
fertig.

Ich verwende den AT91SAM7S256 und ich hatte bis jetzt absolut keine 
Problem. Dennoch, Errata Sheet lesen wäre schon sinnvoll.

Autor: Wolfgang Vickermann (vmann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas P.

Ja nu, die Grundsatzdiskussion wäre vielleicht zu führen, ob es Sinn 
macht, Beiträge wie Deinen zu posten.
Aussagen wie "Ausprobieren, welcher einem besser gefällt" sind irgendwie 
redundant. Es geht in diesem Fall ja um die Möglichkeiten der einzelnen 
Prozessoren und wie sich diese mit den Anforderungen am besten decken. 
Also meine Anforderung an einen Prozessor ist in diesem Projekt die 
Fähigkeit , den TWI-Bus im Slave-Modus in einer Multi-Master-Umgebung 
betreiben zu können.

@Peter

Vielen Dank für das pdf.

Gruß

Wolfgang

Autor: Rooney Bob (rooney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja wenn du lesen könntest dann würdest solche Fragen auch nicht 
stellen

Hier der relevante Ausschnitt:

29.5.2 Modes of Operation
The TWI has two modes of operation:
• Master transmitter mode
• Master receiver mode
The TWI Control Register (TWI_CR) allows configuration of the interface 
in Master Mode. In this
mode, it generates the clock according to the value programmed in the 
Clock Waveform Generator
Register (TWI_CWGR). This register defines

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nur weil es bei LPC kein langes Errata Sheet gibt, heißt es noch lange
> nicht, dass der keine Fehler hat!!!!
die gibt es natürlich auch: 
http://www.standardics.nxp.com/support/documents/m...
Aber NXP arbeitet wenigstens an der Beseitigung dieser Fehler. Das 
Problem mit dem MAM und der Beschränkung auf 60MHz sind, glaube ich, 
schon nicht mehr vorhanden. Dagegen ich weiß nicht, ob Atmel jemals vor 
hat, den AT91SAM7s einen funktionierenden IIC Slave-Modus zu spendieren.

Autor: SAM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> schon nicht mehr vorhanden. Dagegen ich weiß nicht, ob Atmel jemals vor
> hat, den AT91SAM7s einen funktionierenden IIC Slave-Modus zu spendieren.

Der SAM7S hat nur den Master-Mode. Wo steht bitte das der SAM7S einen 
nicht funktionierenden Slave-Mode hat ?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier: 
http://epu.ref.nstu.ru/files/downloads/softndocs/A...
Eine kaputte Version davon steckt offensichtlich in den AT91SAM7s

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nunja, TWI könnte man ja noch u.U. softwaremäßig nachbilden.
Nicht so besonders toll, aber geht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.