HILFE: Infineon C515C und UART SCC2692

Gast #1083592
Lesenswert?

Hallo Forum.

Leider hat die SUCHEN- Fkt. und mrs. google mir nicht weitergeholfen. 
Deshalb baue ich jetzt auf euch, da hier schon viel nützliches zufinden 
war.

Ich betreibe einen C515C und es ist soweit alles klar, I/O Pins lassen 
sich beschreiben und auch lesen...

Jetzt muss ich einen SCC2692 in Betrieb nehmen und bin noch am 
verzweifeln mit /RD und /WR. Beide Signalleitungen sind mit dem Chip 
verbunden, allerdings kann ich kein einziges Register lesen. Deshalb 
weiß ich nicht, ob das Schreiben der Register funktioniert.

Mit dem Oszi gemessen habe ich bereits Adress-, Datenbus, sowie /CS und 
/RD, auch /WR. Leider wird das /RD ni aktiviert. Jetzt habe ich im 
Internet was gefunden, dass man irgendwie das /PSEN noch mit verwenden 
muss.

Falls es weiterhilft, das Board ist auf einem miniMODUL515C von Phytec 
verbaut.

Vielen Dank für Eure Hilfe
#1083613
Lesenswert?

/PSEN ist nur dafuer da den Programmspeicher zu enablen.

Was hast du den alles verbunden ?

Prozessor            Duart
/RD ------------------ /RD
/WR ------------------ /WR
A0..3 ---------------- A0..3


So was du jetzt noch beschalten musst ist das /CEN Signal.
Hast du noch externens RAM auf deiner Platine ?
Wenn Ja must du durch eine Dekodierlogik dafuer sorgen das entweder das 
RAM eingeschaltet wird oder der Duart.

Das RAM wird normalerweise mit CS = 0 am RAM eingeschaltet dazu die 
invertierte Funktion bilden und das  an /CEN vom  Duart anschliessen.
Und auch den Reset nicht vergessen.

Ansonsten muesste ich einen Schaltplan sehen um genaueres zu sagen.

Gruss Helmi
Gast #1083634
Lesenswert?

Hallo Peter,

gibt es andere Möglichkeiten auf den Chip zuzugreifen? Habe irgendwo 
gelesen, dass man /RD mit /PSEN ver-x-odern muss... anderswo sollte man 
es ver-n-ANDen.

vielen dank für die hilfe
#1083641
Lesenswert?

>gibt es andere Möglichkeiten auf den Chip zuzugreifen? Habe irgendwo
>gelesen, dass man /RD mit /PSEN ver-x-odern muss... anderswo sollte man
>es ver-n-ANDen.

Das gilt nur fuer externe RAMs.

So kann man aus der Harvard Architektur eine von Neumann Architektur 
machen. Also man kann dann im RAM Programme ausfuehren was sonst nicht 
geht. Fuer IO-Bausteine brauchst du das nicht zu machen.

Ueberigens wenn du einen Keil C Compiler hast geht der exterene Zugriff 
mit

XBYTE[portaddr] = Wert   zum setzen
Wert = XBYTE[portaddr]   zum lesen


Gruss Helmi
Gast #1083685
Lesenswert?

Hallo nochmals...


also, ging jetzt zu kompilieren... Danke für den Tipp...
Allerdings gab es immer noch keinen read-strobe /RD... Irgendwie greift 
der auf was anderes zu... mit hilfe des mon51 kann ich den 
entsprechenden registerwert ja auch zurücklesen...
Gast #1084277
Lesenswert?

@helmi


Also habe jetzt auch den read_strobe... soweit erstmal danke...

warum es jetzt getht? keine ahnung...

Ich habe alleridngs noch weitere Fragen, ob schon mal jemand mit dem 
UART gearbeitet hat...
Ich bekooe den baudrate generator irgendwie nicht zum laufen...
Gast #1084280
Lesenswert?

> also ich habe dein programm übersetzt und messe am /RD Pin konstante 5V,
> allerdings habe ich jetzt am /PSEN Chip reichlich aktion...
Was sagt der ASM-Output? Wird wirklich mit MOVX a,@dptr gearbeitet?
Was macht das CS1-Signal? Kannst du da was sehen?

PSEN wird massig arbeiten, wenn das ein Controller ohne internes Flash 
ist.

Noch etwas, hast du das Schaltplan-Symbol selbst gemacht?

Ralf
Gast #1084282
Lesenswert?

> Ich habe alleridngs noch weitere Fragen, ob schon mal jemand mit dem
> UART gearbeitet hat... Ich bekooe den baudrate generator irgendwie nicht
> zum laufen...
Zeig deinen Code, und wir zeigen dir, wo der Fehler ist :)

Ralf
#1084312
Lesenswert?

noch_ein_gast wrote:
> Ich habe alleridngs noch weitere Fragen, ob schon mal jemand mit dem
> UART gearbeitet hat...

Also ich nicht.
Wenn ich mal ne 2.UART brauche, nehme ich entweder nen MC mit 2 UARTs 
oder mache eine in Software.
Mit der Capture/Compare-Unit kann man sehr gut ne SW-UART programmieren.


Hab grad mal bei Farnell geguckt, der SCC2692 ist ja extrem teuer und 
nur als DIP verfügbar.


Peter
Gast #1103991
Lesenswert?

Vielen Dank an alle.

Ich konnte das Problem lösen...

Es lag daran, dass der Controller ständig auf den internen XRAM 
zugegriffen hat und nicht die Daten auf dem UART gelesen bzw. 
geschrieben hat.

BTW, danach musste man noch das MonitorPRG entfernen und das eigene PRG 
direkt flashen.

Trotzdem danke für die zahlreichen Tipps.

MfG

noch_ein_gast

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren