Hallo zusamen, ich habe das Problem, dass ich Daten aus einem Flash-Memory (M25P64) der über SPI an einen µC (renesas R5F2122CKFP) angeschlossen ist mit dem PC auslesen möchte. Zum Debuggen und Flashen des µCs verwende ich den E8a von Renesas. Dieser nutzt die UART1. Dann würde mir ja noch die UART0 bleiben um mit einem weiteren Interface manuell mit dem µC zu kommunizieren, oder? Die Idee ist, einen Programmabschnitt im µC zu haben, der erkennt wenn UART0 verwendet werden soll (zB Interrupt), also der Stecker angeschlossen ist. Daraufhin soll dann der µC folgendes tun: - Daten aus dem M25P64 auslesen - Daten an die UART0-Schnittstelle senden müsste doch so gehen, oder? Über den Debugger komme ich jedenfalls nicht an die Daten ran danke ich. Der debuggt und flasht nur. welche Pins benötige ich dann für die UART0-Schnittstelle? Im Datenblatt sind insgesamt 5 Pins angegeben (2x TXD, 2xRXD, 1xCLOCK), aber ich dachte man braucht dazu eigentlich nur 1x TXD, 1x RXD und 1x CLOCK (+interrupt pin)? Welche Software und Hardware(fertig - nicht selber basteln)benötige ich für die UART0? Vielen dank und Grüße, Michael
Michael T. schrieb: > Hallo zusamen, > > ich habe das Problem, dass ich Daten aus einem Flash-Memory (M25P64) der > über SPI an einen µC (renesas R5F2122CKFP) angeschlossen ist mit dem PC > auslesen möchte. > Zum Debuggen und Flashen des µCs verwende ich den E8a von Renesas. > Dieser nutzt die UART1. Dann würde mir ja noch die UART0 bleiben um mit > einem weiteren Interface manuell mit dem µC zu kommunizieren, oder? > Die Idee ist, einen Programmabschnitt im µC zu haben, der erkennt wenn > UART0 verwendet werden soll (zB Interrupt), also der Stecker > angeschlossen ist. > Daraufhin soll dann der µC folgendes tun: > - Daten aus dem M25P64 auslesen > - Daten an die UART0-Schnittstelle senden > > müsste doch so gehen, oder? Über den Debugger komme ich jedenfalls nicht > an die Daten ran danke ich. Der debuggt und flasht nur. > > welche Pins benötige ich dann für die UART0-Schnittstelle? Im Datenblatt > sind insgesamt 5 Pins angegeben (2x TXD, 2xRXD, 1xCLOCK), aber ich > dachte man braucht dazu eigentlich nur 1x TXD, 1x RXD und 1x CLOCK > (+interrupt pin)? Siehe Pin Assignments/Pin Functions im Datenblatt bzw. Abschnitt 15 Serial Interface im Hardwaremanual. UART0: TXD0, RXD0, CLK0, falls der synchrone Modus benutzt wird, bzw. falls man die Baudrate im asynchronen Modus extern vorgeben will UART1: TXD1, RXD1 > Welche Software und Hardware(fertig - nicht selber basteln)benötige ich > für die UART0? http://eu.renesas.com/fmwk.jsp?fp=/products/mpumcu/r8c_family/r8c2x_series/&cnt=Application_Notes.jsp&title=Application%20Notes&lid=2780 Hardware? FT232R oder fertiges Modul ala http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=47&title=Cables%3A+TTL-232R+and+variants oder z.B. MAX3222E + USB->RS232-Wandler > Vielen dank und Grüße, > Michael p.s. am Controller hängen nicht zufällig noch ein paar 24-Bit ADCs?
hallo Arc Net, es hängen keine 24bit ADCs am µC. Warum fragst du? Danke für die Info zur UART Schnittstelle. Mir ist aber bei den Seriellen Schnittstellen was nicht ganz klar: Ich möchte die UART1 für den E8a Debugger nutzen. Ausserdem möchte ich 4 Slaves an die SSU-Schnittstelle anschließen, darunter auch die 2 Speicherbausteine. Die UART0 möchte ich nun als serielle Schnittstelle zum PC nutzen um im µC manuell (vom PC aus) ein Programm zu starten, dass die Speicherbausteine ausliest und die Daten an die UART0 schickt. Jetzt komme ich aber mit den Bezeichnungen der Schnittstellen nicht ganz zurecht: Für die Slaves brauche ich den SSU (= Clock synchronous serial I/O with chip select, vgl kap 16.2 im Datenblatt). Kann es sein, dass der SSU-Modus den UART1 beansprucht? Also dass der UART1 nicht verwendet werden kann, wenn der SSU aktiv ist? Folglich kann man nicht Debuggen wenn der SSU benutzt wird bzw andersrum. Und was ist beim UART0 die gängigere Variante wenn ich mit dem PC kommunizieren will? CLOCK extern vorgeben, oder die interne CLOCK des µC nutzen? Danke und Grüße, Michael
habe gerade gesehen, dass man mit dem UART0 den Clock SYNCRONOUS mode einstellen kann. Mit UART1 geht das nicht(nur ASYNCRONOUS). Wird jetzt der UART0 für SSU verwendet? wenn das so wäre, dann könnte ich ja nicht per SSU auf die SLaves zugreifen und die Daten über UART0 an den PC schicken, oder? Wäre es dann möglich den UART1 zu verwenden wenn der E8a-Debugger nicht angeschlossen ist? Grüße, Michael
Also ich habe jetzt keine Lust fuer dich dein Datenblatt zu lesen, aber bei manchen Controllern war es noch so das man die Ausgaenge der RS232 auf einen anderen Pin umschalten konnte. Wobei dir das aber nicht viel helfen wird wenn du nunmal den Debugger an der seriellen laufen haben willst. Bei neueren Typen, ich setze z.B einen R8C29 ein, redet der Debuger mit dem Controller ueber die Resetleitung. Da kostet dich das dann keinen Port. Notfall musst du halt auf einen anderen Typen umstellen, oder auf den Debugger verzichten. Olaf
Hallo Olaf, zum Glück hast du nicht nachgeschaut! Sind ja immerhin 550Seiten. Ich dachte nur, falls jemand schonmal was Ähnliches gemacht hat und da sofort Auskunft geben kann,wärs toll. Das mit dem Datenblatt durchlesen erwarte ich ja auch nicht, ich hoffe dass ist nicht so rübergekommen. Aber vielen Dank für die Rückmeldung. Zum Problem: Falls es jemand anderem so ergeht wie mir, dann hab ich jetzt die Antwort (nachdem ich mich durch renesas durchtelefoniert habe): UART1 ist für den E8a-Debugger reserviert. Damit sind nicht unbedingt die Pins am Controller gemeint sondern die SFRs. Der E8a wird beim R8C/22K nur über die Pins "Reset" und "Mode" angeschlossen. Zur Frage SSU und UART0: SSU und UART0 sind zwei verschiedene Module und können gleichzeitig verwendet werden. UART0 wird demnach nicht für den SSU-Modus gebraucht. Das SSU-Modul Wiederum kann als SPI oder IIC konfiguriert werden. Damit wäre zumindest für mich dieser Thread beantwortet. Danke nochaml an alle und Grüße, Michael
..ok, der Thread ist zwar beantwortet, aber jetzt habe ich noch eine Hardware-Frage: Was muss ich beachten, wenn ich ein entsprechendes USB-to-RS232-Kabel an die UART hängen will? Muss ich den Ground-Pin des Kabels an das SchaltungsGND verbinden? Brauche ich bei TDX oder RDX einen PullUp oder Pulldown? Grüße Michael
Michael T. schrieb: > hallo Arc Net, > > es hängen keine 24bit ADCs am µC. Warum fragst du? Weil das, insbesondere noch mit den Details 4 Slaves davon 2x Speicher, sehr ähnlich zu einer Schaltung ist, die hier vor ca. zwei Jahren gemacht wurde. Controller war der R5F21228KFP (die 64 kiB-Variante), 4 SPI-Slaves davon 2x M25P80... > Und was ist beim UART0 die gängigere Variante wenn ich mit dem PC > kommunizieren will? CLOCK extern vorgeben, oder die interne CLOCK des µC > nutzen? Hängt vom Rest ab... - Controller läuft mit dem internen Takt: Siehe High-Speed On-Chip Oscillator Circuit Electrical Characteristics im Datenblatt, je nach Spannung/Temperatur und gewünschter Baudrate kann es klappen (man kann auch versuchen über FRA1 die Frequenz abzugleichen) - Controller läuft mit externem Quarz/Oszillator: passende Frequenz (Baudratenquarz): kein Problem keine passende Frequenz: externer Takt für UART0 - Hängt PC und Controller ein USB->Seriell Adapter mit z.B. FT232R, sind auch "gerade"/"andere" Baudraten (500k, 250k etc.) möglich, was u.U. die Wahl des Controllertakts vereinfacht > Muss ich den Ground-Pin des Kabels an das SchaltungsGND verbinden? Ja > Brauche ich bei TDX oder RDX einen PullUp oder Pulldown? Nein, keine externen, die internen Pull-ups im Controller reichen normalerweise > Der E8a wird beim R8C/22K Vorsicht bei den unterschiedlichen Varianten R8C/22 != R8C/2k ;-)
Hallo Arc net, Danke für deine Hinweise, du hast natürlich recht: es muss R8C/22 heißen! Ich werde auch einen USB-RS232 Adapter in Form eines Kabels benutzen. Mit Hterm kann man da scheinbar gut mit "spielen" und verschiedene Baudraten einstellen. Ich verwende ein externes 10MHZ Quarz für den µC. Aber ich glaube ich kann die Baudrate im µC einstellen, zumindest in einem begrenzten Bereich. Eine Frage ist noch offen: Brauche ich Pullups oder Pulldowns an TXD oder RXD? Grüße & Danke, Michael
Michael T. schrieb: > Eine Frage ist noch offen: Brauche ich Pullups oder Pulldowns an TXD > oder RXD? Nein. Du brauchst aber einen Pegelwandler, wenn dein USB-RS232 Adapter RS232 Pegel hat.
ah ok, dann ist es in ordnung. Ich habe extra ein Kabel rausgesucht, in dem schon alles integriert ist. Pegelwandler ist auch dabei. Vielen Dank, dann kome ich erstmal weiter. Ab jetzt gehts wahrscheinlich mit Softwarethreads meinerseits weiter ;) Grüße, Michael
Welches Kabel hast du genau? Man kann "Pegelwandler ist drin" auch lesen als "es ist ein Pegelwandler von USB nach RS232 drin". Das würde dir nicht weiterhelfen, weil du auf R8C Seite auf TTL kommen musst. Die Werte für die TTL High/Low Pegel hängen von Vcc (5V, 3,3V, ???) deines µCs ab.
Oh, ok also ich werde wohl folgendes Kabel bestellen: http://de.farnell.com/ftdi/ttl-232r-3v3/kabel-usb-ttl-level-ser-konverter/dp/1329311 Meine Versorgungsspannung am µC ist 3.3V. Ich hoffe das passt? Vielen Dank für die nochmalige Nachfrage! Grüße, Michael
Sieht gut aus. Mir gefällt besonders die Vielfalt unterstützter Betriebssysteme.
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.