www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Maximale Übertragungsrate


Autor: LC-HC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI, ich hab wieder mal eine Frage zum M16C/62A.
Im Moment sende ich Daten mit 500kHz an die serielle Schnittstelle
S I/O 3. Allerdings benötige ich eine Bandbreite von 1Mhz. mit 500kHz
klappts, mit 1Mhz kommt nur müll raus. Mal kurz zur Anwendung:
Über den S I/O 3 Empfange ich wie gesagt mit 500kHz 252 Bytes, die ich
mir nach dem 252ten Byte per printf() anzeigen lasse. Dies klappt auch
soweit, jedoch liefern mir mit 1Mhz übertragene Daten unzulässige
Ausgaben. Mich interressiert jetzt eigentlich nur, ob es eine
Einschränkung in der Taktfrequenz gibt. Ich kann wie immer dazu nichts
finden.

mfg und danke,

LC

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlen da nicht ein paar Angaben?
z.B. Taktrate der MCU, Programmcode der Empfangsroutine etc.
hast du schonmal dran gedacht das die Zeichen schneller reinkommen,
als
du sie abholst?

Autor: LC-HC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal danke für die Antwort. Die CPU läuft mit 10 Mhz, das solte
schnell genug sein, um aus dem S I/O 3 Register BYytes lesen zu können,
die mit 1Mhz ankommen. Die Empfangsroutine ist eine ganz gewöhnlich
ISR,
die jedes Byte in einem incrementierten Array speichert. Mir geht´s
eigentlich nur um eine eventuelle Beschränkung der Taktrate von der ich
nichts finden kann, die aber eine Erklärung darstellen würde.

mfg,

LC

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du schonmal in Assembler nachgerechnet ob das wirklich klappt?
Ein schneller Test wäre auch am Anfang der ISR Portpin setzen und am
Ende löschen und die Zeiten am Oszi anschauen. Oder am Ende der ISR
nachschauen ob schon wieder Daten in der Schnittstelle sind-> dann
wirds knapp.

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal genau nach, wieviele Takte ein ISR-Aufruf benötigt. Bei einem
AVR zum Beispiel dauert ein Interruptaufruf 4 Takte, dazu noch reti von
3 (villeicht sogar 4). Dazu noch ein paar Takte, die du in der ISR
selbst "verbrätst" und du kommst schnell über die 10 dir zur
Verfügung stehenden.
Versuche (vor allem bei solchen Datenraten) das Auslesen sequenziell in
einer Routine ohne ISRs zu machen, weil das einfach zu viele
Ressourcen ins nichts verbrät.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende doch bitte den DMAC. Alles andere ist zwecklos.

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn sich nichts geändert haben sollte (altes Datenblatt von 2000), gilt
bei den asynchronen Seriellen: interner Takt /1, /8 oder /32 danach
durch Baudrate und zum Schluss durch 16 (/2 synchron). Das hieße für
10MHz maximal 625kbit/s (62500 Interrupts) asynchron und 5Mbit/s
(625000 Interrupts) synchron

Autor: LC-HC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, großes Danke für die vielen Anregungen. Mach jetzt Feierabend...
;)
Den Tip mit DMAC hab ich auch g´rade bekommen. Das Setzen des Portpins
hatte ich auch schon getan, jedoch mit den erwarteten Wert am Oszi,
aber trotzdem ideal zum debuggen. Morgen früh wird nochmal getestet.

Thx, cya, mfg,

LC

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.