Hallo zusammen, folgendes Problem stellt sich mir. Für eine Projektgruppe an der Uni benötige ich eine Möglichkeit Daten seriell mit 10 MBit zu senden. Da ich privat mit dem AVR und LPC arbeite würde ich gern einen der Beiden benutzen. Leider finde ich nichts darüber hier im Forum. Nur 10 MBit Netzwerkanschluss. Aber nichts über 10 MBit SPI oder IIC. Kann mir da jemand einen Tip geben ober es mit einem der Beiden µC überhaupt geht. Gruss Sacha.
10MHz I2C gibt es nicht. AVRs können SPI als Master bis CLK/2 und als Slave bis CLK/4. Master geht also mit den neueren 20MHz-Typen bis 10MHz, Slave nicht. LPCs können mit dem SSC als Master bis CLK/2, als Slave bis CLK/12. Master geht also bis 30MHz, Slave bis 5MHz. Bist du dir sicher, dass mit deiner seriellen Verbindung 2-3 Leitungen gemeint sind, d.h. Takt plus Daten (evtl. 2x Daten bei SPI), nicht nur eine Leitung?
Hallo SPI mit 10 MBit ist möglich. Ich habe das zwischen zwei TMS 470 von TI schon gesehen. Die TMS 470 sind ARM 7 TDMI genauso wie die LPC 2XXX Serie, also sollten die LPC das auch können. Wichtig ist jedoch das ein DMA Modul vorhanden ist, das die SPI direkt bedienen kann. Ohne DMA kannst du das Byte oder Wort zwar mit 10Mbit übertragen, bekommst jedoch sehr lange Pausen zwischen den einzelnene Übertragungen.
Eigentlich benötige ich nur 2 Leitungen(Daten). Es geht darum Daten über einen Flexray Bus zu schicken. Da wir bis an seine Grenze(10 MBit) gehen müssen, muss ich leiber nen 10 MBit Signal generieren und empfangen evtl. auch analysieren (BitFehlerRate). Die 30 MHz Master reichen da zum senden völlig aus aber wenn er nur mit 5 MHz empfängt wird es schon schwierig.
@Ralph: Für SPI ist die Peripherie zuständig, nicht der Prozessor. Ob das also ARM7TDMI sind, ist für den SPI-Takt nicht relevant.
Master/Slave != Senden/Empfangen. Nur ist bei SPI immer einer der Master und einer der Slave, in welcher Richtung auch immer. Wenn also bei dir an jedem Mikrocontroller ein FlexRay-Controller sitzen sollte, der per SPI angespeochen wird, dann ist sehr wahrscheinlich der Mikrocontroller der Master und der FlexRay-Controller der Slave. Dann scheiden nur die ganz alten LPCs mit ihrem 7,5Mbps-SPI aus, alle andere können schnell genug.
@Sascha Wenn ihr die volle 10Mbit über Flexray ausnutzen wollt werdet ihr entweder eine deutlich höhere Bandbreite über SPI benötigen oder einen hohen Aufwand treiben müssen, um die vollen 10 Mbit über SPI zu übertragen(Double Buffer/ DMA). Wenn Ihr wirklich die BitFehlerRate von FlexRay messen wollt, dann solltet ihr beachten das euer Messsystem eine deutlich niedrigere Bit Fehler Rate als FlexRay haben muss. Das heist ihr müsst eine sehr gute Fehlererkennung bei SPI einsetzen, sonst messt ihr nachher die Bit Fehler Rate vom SPI Bus oder eueren uC. Ich denke das SPI für euere Zwecke vielleicht nicht das richtige ist.Weiterhin würde ich euch zu einem etwas schnelleren 32Bit Controller raten. Also die neuren V850(80 MHZ)oder ARM9... Was für einen FlexRay Controller wollt Ihr einsetzen?
Nun stellt sich nur ein Problem: Wenn ich SPI richtig verstanden habe erzeugt der Master den Takt zur synkronisation auf der Clockleitung. Nun arbeitet der Flexray Transsiver eher als Pegelumsetzter und ist Taktunabhängig. Zum senden ist das Unbedenklich, aber beim Empfang wird es schwierig ohne weiteren Schaltungsaufwand. Zumal evtl. auch die Signallaufzeiten berücksichtig werden müssen.
Mit FlexRay wird es sein wie mit CAN, Ethernet, usw: da noch kein µC selber FlexRay beherrscht, wird sich zwischen µC und dem FlexRay-Transceiver ein FlexRayController befinden müssen. Und ich habe so den Verdacht, dass es genau der ist, der dir in deinem Konzept noch fehlt. Und der den Hautpaufwand ausmacht.
@ sepp Uni Dortmund. In dem Projekt geht es ersteinmal darum über einen Signalgenerator(gesteuert über USB) ein 10 MHz Signal zu erzeugen. Dieses mittels TJA1080 übers Flexray zu übertragen und mittels DigiOszi (auch USB gesteuert und ausgelesen) zu messen. Der TJA1080 wird, von einer zu entwickelnder IO Karte gesteuert. Soweit alles kein Problem. Mathlab steuert, misst und wertet alles aus. Nun dachte sich der Prof. SG und Oszi kann man sich hier sparen und alles via µC machen(in Rahmen seiner Möglichkeiten, allso keine 50MHz abtastung).
@A.K. Genau hier setzt der µC ein. Flexray ist einwenig aufwendiger als CAN oder LIN. Das Protokoll kann der µC übernehmen und das Steuerung des TJA kann auch ein Mega8 ganz ohne Probleme. Aber die 10 MBit sind mein Problem!
>Mit FlexRay wird es sein wie mit CAN, Ethernet, usw: da noch kein µC >selber FlexRay beherrscht, wird sich zwischen µC und dem >FlexRay-Transceiver ein FlexRayController befinden müssen. Doch die gibt es schon.
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.