xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

  • 1
  • 2
  • Page 2 of 2
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 21.05.2018 - 13:33  ·  #9
Hallo Thorsten,

mangels passender Hardware/Board bräuchte ich ein Bord mit XMega.
Muss nicht voll bestückt sein.

rolf
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 21.05.2018 - 13:41  ·  #10
Hallo rolf,

also SPI E beim XMEGA384C3 ergibt zwar keinen Fehler, aber es kommen auch keine Daten am SPI_E raus. Nachdem ich im Testprogramm das ganze auf

Code
// SPI_E       beim XMEGA384C3 muss soft SPI umgestellt werden !!!
//  SPIorderE        = MSB;
//  SPImodeE         = 0; // Clock Phase and Polarity
//SPIprescE        = 0; // presc = 0..3 -> 4/16/64/128. Double speed optional
//  SPIprescE        = 0, double; // presc = 0..3 -> 4/16/64/128. Double speed optional
//  SPI_SSE          = PortE, 4; // use this pin as SS chipselect

// Software LCD Treiber
  SPIdriver1       = PortE, 7, 5, 6, 4; // SCK, MOSI, MISO, SS
  SPIorder1        = MSB;
  SPImode1 = 0; // 0, 1, 2, 3


Lief das LCD-Display daran auf anhieb. Also wird es wohl so sein, der 384er hat nur 2 SPI Ports.

Ist der Software-SPI deutlich langsamer als der Hardware-SPI und macht sich das beim Display bemerkbar? (Vielleicht hast Du da mehr Erfahrung zum Thema Unterschied zwischen den beiden)

Was mich aber wundert, sind die Probleme mit dem TWI.
Wenn ich ein TWI_E oder TWI_C Daten sende und kein Baustein an diesem angeschlossen ist, hängt sich die CPU auf. Sollte da bei einem TwiStatE nicht einfach ein False kommen? Oder muss ich da zwingend ein TimeOut anlegen?

Ich habe die beiden CPUs / Anschluss-Pins verglichen, nur der SPI_E scheint bei diesem zu fehlen. Auf jedenfall funktioniert der Hardwaretreiber nicht. Obwohl er in der Adresstabelle vorhanden ist.

Ich werde jetzt mal 3 Boards mit dieser CPU bestücken, wenn das SPI_E für das LCD das einzige Problem ist, werde ich versuchen damit zu leben :-D Immerhin habe ich dann 100% mehr Ram und 50% mehr Flash für die Zukunft frei.

Ich benutze ja den
Code
// MMC_Soft
   //FAT16 = SDIO, PortB.4, PortB.2, PortB.3, iData;      // 4xDATA, CMD, CLK  4Bit Mode
   FAT16      = MMC_Soft, IData;                      // SPI
   F16_MMCport= PortB.7, PortB.3, PortB.2, PortB.4;   // SPI
  //              /CS      CLK     MOSI     MISO        // SPI

// MMC_SPI
//  FAT16          = SPI_C, PortC.7, iData;   // SPI_X, SS-Port, SS-PIN, data area
  F16_FileHandles = 2;
  F16_DirLevels  = 2;
  F16_StrLen     = 50;        // only for file of text
  // optional
  F16_MMCspeed   = superfast;     // standard, slow, fast, superfast


Beisst sich dieser Softwaretreiber mit dem SPIdriver1 oder SPIdriver2 ?

Thorsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 21.05.2018 - 16:25  ·  #11
Quote by rh

Hallo Thorsten,

mangels passender Hardware/Board bräuchte ich ein Bord mit XMega.
Muss nicht voll bestückt sein.

rolf


Hallo rolf,

ich kann Dir gerne mal ein Board zurecht machen, einige Signale sind aber über 0,5er Ziff rausgeführt, da meine Steuerung aus 3 Leiterplatten besteht (3 Ebenen). Aber ich lasse Dir eine durch den Automaten laufen und sende sie Dir mal mit dem Schaltplan zu.

Thorsten
rage
Benutzer
Avatar
Gender: n/a
Age: 64
Homepage: processanalytik.de
Posts: 235
Registered: 02 / 2007
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 30.05.2018 - 11:09  ·  #12
Hallo pvs-deck
wir haben den 384 schon lange in Betrieb. SPI_E gibt es wirklich nicht und der TWI_E hat mich lange beschäftigt. Ich könnte von ähnlichen Problemen berichten, aber schlußendlich lage es am fehlenden EnableInts($87), korrekter weise ist fehlendem EnableInts($87) nicht ganz richtig ausgedrückt, eher noch nicht ausgeführtem EnableInts($87). Die ganze Initialisierung hatte ich immer vorher erledigt, also ist der Chip da etc. Da sind eine Menge Haare grau geworden. Nachdem ich den ganzen Kram gemacht habe nachdem EnableInts($87) ausgeführt wurde läuft fast alles zur Zufriedenheit. Lediglich ein MPL115A2 macht am Bus noch Schwierigkeiten, aber den brauch ich im Augenblick auch nicht wirklich, vieleicht liegt es auch an dem Treiber für den Chip. Um es also kurz zu machen TWI_E funktioniert, auch mit den aktuellen AvrCo.
cu rage
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 30.05.2018 - 14:04  ·  #13
Also,

TWI_E geht und SPI_E nicht???
Sehr seltsam...

rolf
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 30.05.2018 - 14:15  ·  #14
Quote by rh

TWI_E geht und SPI_E nicht???
Sehr seltsam...


Hallo rolf,

da scheint das Datenblatt zu stimmen.

Aber ich habe Dir eine CPU-Leiterplatte mit xmega384C3 fertig gemacht,
kannst Du dann zum testen behalten.
Geht Heute in die Post, ist zwar die V1.02 (aktuell bin ich bei V1.05) aber die Leiterplatte Funktioniert. Dann kannst Du es mal selbst probieren.

Programmerschnittstelle ist halt noch der alte 10pol. der PDI-Adapter ist Onboard, bei den neuen Programmern musst Du einen Adapter einsetzen. Aber ich gehe mal davon aus, das Du hier und da noch einen alten rumliegen hast :-D

Thorsten
You must be logged in or your permissions are to low to see this Attachment(s).
rage
Benutzer
Avatar
Gender: n/a
Age: 64
Homepage: processanalytik.de
Posts: 235
Registered: 02 / 2007
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 30.05.2018 - 14:34  ·  #15
Hallo pvs-deck

hast Du das mit dem EnableInts($87) mal überprüft? Also ob Du ein TWIStat vor dem EnableInts($87) machst?

cu rage
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: xmega384C3 SPI Port E, ergibt keinen Fehler beim übersetzen

 · 
Posted: 30.05.2018 - 14:38  ·  #16
Quote by rage

hast Du das mit dem EnableInts($87) mal überprüft? Also ob Du ein TWIStat vor dem EnableInts($87) machst?

Nein, das habe ich noch nicht gemacht.
Das mache ich mal mit meinem kleinen Testprogramm und schaue mal im ASM-Code rein.

Thorsten
  • 1
  • 2
  • Page 2 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   141   155 · Page-Gen-Time: 0.031379s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI