Forum: Mikrocontroller und Digitale Elektronik AT91SAM7SXX und TWI


von Wolfgang V. (vmann)


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

von Peter (Gast)


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.

von SAM (Gast)


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 !

von Peter (Gast)


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!

von SAM (Gast)


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 ...

von SAM (Gast)


Lesenswert?


von Wolfgang V. (vmann)


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

von Peter (Gast)


Angehängte Dateien:

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.

von Rooney B. (rooney)


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.

von Wolfgang V. (vmann)


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

von Rooney B. (rooney)


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

von Peter (Gast)


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/microcontrollers/pdf/errata.lpc2366.pdf
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.

von SAM (Gast)


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 ?

von Peter (Gast)


Lesenswert?


von Marko (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.