www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik XC167 TwinCAN Modul


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich stehe vor folgendem Problem. Obwohl ich beim Phytec XC167 das 
startup file entsprechend für das integrierte TwinCAN Modul abgeändert 
habe, tut sich nichts.

Folgende Änderungen habe ich durchgeführt:

CANDIS=0 -> TwinCAN enabled
$(CONFIG_CS7=1) -> LxBus enabled
-> Adressraum abgepasst

Auch Hinweise aus dem errata sheet habe ich beachtet.


Was ändert sich denn überhaupt nennenswertes über das TCONCS Timing 
Register?

Wäre für Hilfe wirklich dankbar!

rk

Hier der wichtigste Auszug aus dem startup file. Das komplette File 
findet ihr im Anhang.



; ========== CONFIGURE EXTERNAL BUS BEHAVIOUR FOR CS7 AREA ===========
;
; --- Set CONFIG_CS7 = 1 to initialize the ADDRSEL7/FCONCS7/TCONCS7 
registers
; --- Note: The CS7# chip default at reset allows to access the on-chip 
Twin-CAN
$SET (CONFIG_CS7 = 1)
;
; Definitions for Address Select register ADDRSEL7
; ================================================
;
_ADDR7      EQU 0x200000     ; Set CS7# Start Address (default 200000H)
;
_SIZE7      EQU 4*KB         ; Set CS7# Size (default 1024*KB = 1*MB)
                             ; possible values for _SIZE7 are:
                             ;    4*KB            (gives RGSZ1 = 0)
                             ;    8*KB            (gives RGSZ1 = 1)
                             ;   16*KB            (gives RGSZ1 = 2)
                             ;   32*KB            (gives RGSZ1 = 3)
                             ;   64*KB            (gives RGSZ1 = 4)
                             ;  128*KB            (gives RGSZ1 = 5)
                             ;  256*KB            (gives RGSZ1 = 6)
                             ;  512*KB            (gives RGSZ1 = 7)
                             ; 1024*KB  or  1*MB  (gives RGSZ1 = 8)
                             ; 2048*KB  or  2*MB  (gives RGSZ1 = 9)
                             ; 4096*KB  or  4*MB  (gives RGSZ1 = 10)
                             ; 8192*KB  or  8*MB  (gives RGSZ1 = 11)
                             ;                    (RGSZ1 = 12 .. 15 
reserved)
;
; Definitions for Function Configuration Register FCONCS7
; =======================================================
;
; ENCS7: Enable Chip Select (FCONCS7.0)
_ENCS7     EQU    1     ; 0 = Chip Select 0 disabled
                        ; 1 = Chip Select 0 enabled
;
; RDYEN7: Ready Enable (FCONCS7.1)
_RDYEN7    EQU    1     ; 0 = Access time controlled by TCONCS7.PHE7
                        ; 1 = Access time cont. by TCONCS7.PHE7 and 
READY signal
;
; RDYMOD7: Ready Mode (FCONCS7.2)
_RDYMOD7   EQU    1     ; 0 = Asynchronous READY
                        ; 1 = Synchronous READY
;
; BTYP7: Bus Type Selection (FCONCS7.4 .. FCONCS7.5)
_BTYP7     EQU    2     ; 0 = 8 bit Demultiplexed bus
                        ; 1 = 8 bit Multiplexed bus
                        ; 2 = 16 bit Demultiplexed bus
                        ; 3 = 16 bit Multiplexed bus
;
;
; TCONCS7: Definitions for the Timing Configuration register
; ==========================================================
;
; PHA7: Phase A clock cycle (TCONCS7.0 .. TCONCS7.1)
_PHA7       EQU    0    ; 0 = 0 clock cycles
                        ; : = :
                        ; 3 = 3 clock cycles
;
; PHB7: Phase B clock cycle (TCONCS7.2)
_PHB7       EQU    0    ; 0 = 1 clock cycle
                        ; 1 = 2 clock cycles
;
; PHC7: Phase C clock cycle (TCONCS7.3 .. TCONCS7.4)
_PHC7       EQU    0    ; 0 = 0 clock cycles
                        ; : = :
                        ; 3 = 3 clock cycles
;
; PHD7: Phase D clock cycle (TCONCS7.5)
_PHD7       EQU    0    ; 0 = 0 clock cycles
                        ; 1 = 1 clock cycle
;
; PHE7: Phase E clock cycle (TCONCS7.6 .. TCONCS7.10)
_PHE7       EQU    0    ; 0 = 1 clock cycle
                        ; : = :
                        ; 31 = 32 clock cycles
;
; RDPHF7: Phase F read clock cycle (TCONCS7.11 .. TCONCS7.12)
_RDPHF7     EQU    0    ; 0 = 0 clock cycles
                        ; : = :
                        ; 3 = 3 clock cycles
;
; WRPHF7: Phase F write clock cycle (TCONCS7.13 .. TCONCS7.14)
_WRPHF7     EQU    0    ; 0 = 0 clock cycles
                        ; : = :
                        ; 3 = 3 clock cycles
;
;----------------------------------------------------------------------- 
-------

Autor: rk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So,

hab alles selbst hinbekommen.

Hat sich also erledigt!

Autor: TManiac (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre schön, wenn du noch ein kurzes "und so habe ich das Problem gelöst" 
schreibst.

Auch wenn mein XC16x zur Zeit einstaubt (weil der XC22xx einfach 
bequemer ist), würden andere bestimmt auch gerne teilhaben.

Danke
TManiac

Autor: rk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ok, hier eine kleine Zusammenfassung:

Datei start_v2.66:

CANDIS = 0  -> TwinCAN enabled

Die Einstellungen für den LxBus wie oben gepostet verwenden.
Wichtig: Startadresse muss auf 0x200000 zeigen und CONFIG_CS7 = 1.
FCONS7 und TCONS7 wie oben übernehmen.

Wichtig: Bei Verwendung des Phycore-XC167 sind die Aus-/ und Eingänge 
des TwinCAN Moduls standardmäßig auf Port 4. Diese müssen softwareseitig 
auf Port 9 gelegt werden (über Register DP9, die beiden Port 9 
ALTSEL-Register und CAN_PISEL).

Dann sollte es klappen!


Grüße
Robin

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.