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
/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
noch_ein_gast wrote:
> Leider wird das /RD ni aktiviert.
/RD wird nur beim Befehl "MOVX A,@DPTR" benutzt.
Peter
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
>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
Also, # @helmi. hier die beschaltung des UART. Das Chipselect-Signal wird schon vorkodiert geliefert, liegt auch an (mit Oszi gemessen). Allerdings fehlt mir bei aktiviertem Chip-Select der /RD - Strobe.
Helmi? also mit XBYTE[ADDR] zugreifen habe ich probiert... geht mit keil nicht zu compilieren... trotzdem danke
>geht mit keil nicht zu compilieren... trotzdem danke
Wie so geht das nicht zu compilieren ?
Hast du auch die absacc.h eingebunden ?
Schaltplan schein soweit OK zu sein.
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...
Also mit #include <absacc.h> void main(void) { char ch; while(1) { ch = XBYTE[ADDR]; } } Hast du keine Pulse am RD pin vom Prozessor ?
@helmi... also ich habe dein programm übersetzt und messe am /RD Pin konstante 5V, allerdings habe ich jetzt am /PSEN Chip reichlich aktion...
@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...
> 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
> 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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.