closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

TWI slave mit XMega

CPU -CPU verbindung

RichardT offline
Benutzer
Avatar
Gender: male
Location: NAMIBIA 
Age: 49
Posts: 19
Registered: 02 / 2013
Private message
Subject: TWI slave mit XMega  -  Posted: 12.09.2017 - 13:57   -  
Hallo an Alle

Wollte mal wissen ob jemand schon mal einen XMega als Slave mit I2C/TWI gebraucht hat. Brauche evtl ASM code. Eigntlich möchte ich ein Netzwerk aus mehreren XMegas verbinden, muss aber nur sehr geringe Datenmengen (30 byte pro minute) (auch sehr langsam möglich) verschicken (Ein Master) und von allen Anderen empfangen (viele Slaves ca 13)

Würde mich über Rat und Vorschläge freuen. USART geht sicher auch, ist aber nicht so elegant.
Grüsse
Richard
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5109
Registered: 03 / 2002
Homepage Private message
Subject: Re: TWI slave mit XMega  -  Posted: 12.09.2017 - 18:46   -  
Hallo Richard,
ein ähnliches Thema hatten wir schon mit einem SPI-Slave!
Nicht zu empfehlen aus div. Gründen.
RS485 Netzwerk ist das optimale dafür, vor allem da die XMegas
ausreichend UARTs haben...

rolf
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 52
Posts: 1199
Registered: 03 / 2003
Private message
Subject: Re: TWI slave mit XMega  -  Posted: 13.09.2017 - 11:26   -  
Hallo Richard,

welchen XMega möchtest du dafür verwenden? Ich versuche gerade etwas ähnliches: ein LED-Dot-Matrix-Display-Modul (53mm Schrifthöhe, 5x7-Matrix), welches via I²C angesprochen wird. Ich möchte 16, besser 32-Module auf einen Bus hängen können.
Das Layout ist zwar mit einem Mega schon fertig, aber ein XMega wäre mir lieber. Ich habe nur das Problem: wo privat günstig kaufen? Ein XMega16A4 würde vollkommen ausreichen.

Übertragen werden soll nur der ASCII-Code des anzuzeigenden Zeichens (natürlich zusammen mit der eingestellten I²C-Adresse).

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5109
Registered: 03 / 2002
Homepage Private message
Subject: Re: TWI slave mit XMega  -  Posted: 13.09.2017 - 13:52   -  
Hallo Harry,
Nehme doch für das Netzwerk RS485 und für das Display I2C.
Damit umgehst du alle I2C Netzwerk schweinerreien.
Rolf
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 52
Posts: 1199
Registered: 03 / 2003
Private message
Subject: Re: TWI slave mit XMega  -  Posted: 13.09.2017 - 15:51   -  
Hi Rolf,

der XMega treibt direkt (über Transistoren) die LED-Matrix und kümmert sich um I2C. Es gibt keinen speziellen Treiber. Außerdem wird das ein "Ich-will-das-testen"-Projekt. Nicht weil ich muß, sondern weil ich es will ;)

Gruss
Harry

PS: Bin ab Freitag in S beim angeln :)
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
go down go up
RichardT offline
Benutzer
Avatar
Gender: male
Location: NAMIBIA 
Age: 49
Posts: 19
Registered: 02 / 2013
Private message
Subject: Re: TWI slave mit XMega  -  Posted: 13.09.2017 - 17:23   -  
Hallo Harry

I werde wohl das mit dem RS485 ausprobieren da ich auch andere Projekte mit z.B. Modbus habe. RS485 ist ein rein Hardware Standard somit ist das Protokol frei wählbar und via jedem UART möglich. Bei I2C hast du ASM nötig mit einigen Interrupts die dann bedient werden müssen
Good Luck.
go down go up
Harry offline
PowerUser
Avatar
Gender: male
Location: GERMANY  zwischen Augsburg und Ulm
Age: 52
Posts: 1199
Registered: 03 / 2003
Private message
Subject: Re: TWI slave mit XMega  -  Posted: 13.09.2017 - 19:55   -  
Hallo Richard,

das mit dem ASM kann ich nicht glauben, da ich seit Jahren via I2C grafische Displays mit einem eigenen Mega-Prozessor steuere. Ich habe mir dazu ein einfaches Protokoll ausgedacht.

z.B.:
• $11 = chDrawRect(Xs,Ys,Xe,Ye,Pattern:Byte) (Datenlänge: 6)
Byte 1: X-Koordinate oben/links
Byte 2: Y-Koordinate oben/links
Byte 3: X-Koordinate unten/rechts
Byte 4: Y-Koordinate unten/rechts
Byte 5: Pattern
• $12 = chFillRect(Xs,Ys,Xe,Ye,Pattern:Byte) (Datenlänge: 6)
Byte 1: X-Koordinate oben/links
Byte 2: Y-Koordinate oben/links
Byte 3: X-Koordinate unten/rechts
Byte 4: Y-Koordinate unten/rechts
Byte 5: Pattern

Ich sende also via I2C $12,3,3,120,34,$FF und das Display zeichnet ein Rechteck (Befehl Rechteck=$12) mit den Eckkoordinaten und Muster $FF.
Vorteil: Ansteuerung ist auch mit einem Mega8 möglich. Im Display sind auch div. Fonts und ca. 40 Festgrafiken gespeichert. Da die Displays in X- und Y-Richtung nie größer als 255 Pixel waren, reichen Bytes als Variablen. Es gibt auch eine Funktion, die 2 Koordinaten, einen Winkel und eine Größe übermittelt braucht und daraus eine Windrose mit Gradangabe zeichnet :)

Gruss
Harry
Elektronik arbeitet mit Rauch - wenn man den Rauch raus läßt, funktioniert es nicht mehr.
Electronics works with smoke - if you let the smoke out, it works no longer.
This post has been edited 2-times. Last edit: 13.09.2017 - 19:59 by Harry.
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5109
Registered: 03 / 2002
Homepage Private message
Subject: Re: TWI slave mit XMega  -  Posted: 14.09.2017 - 14:42   -  
Hallo Harry,

ich denke Richard meinte wohl die notwendigen Interrupts beim TWI/I2C Slave.

rolf
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 17.10.2017 - 09:52