Hallo, für ein Projekt an der Uni benötige ich ein Mikrocontroller mit 4x serieller Schnittstelle. In die engere Auswahl kam ein Embedded System mit einem Rabbit 2000 Prozessor. http://www.zworld.com/products/op6800/ Eine Frage an die "alten Hasen" hier im Forum. Hat schon jemand Erfahrungen mit den Rabbit Prozessoren gesammelt? Die Homepage und die Dokumentation des Prozessors wirken bei weitem nicht so professionell wie das bei Atmel der Fall ist; deswegen bin ich unsicher ob man mit diesem System vielleicht nicht doch auf Sand baut. Hardwaremäßig benötige ich 4 RS232 Schnittstellen. Aus dem Gerät ist eine Pfostenleiste mit 1xRS485, 2xRS232 und 1xSeriell TTL herausgeführt. Ist es möglich, z.B. mit einem LTC485 die RS485 in TTL zu wandeln und von dort aus wieder mit einem MAX232 in RS232? Danke schon mal.
Rabbit2000 ist ja nichts anderes als eine leicht aufgebohrte Microcontroller-Version der guten alten Z80 CPU - die wiederum eine modernisierte Version des ersten 8-Bit Prozessors 8080 ist. Und das Alter merkt man, beispielsweise am der etwas holprigen Umsetzung von C (die PIC Architektur ist ähnlich alt und auch da merkt man es). Zu dem aufgebohrten Teil gehört die Adressierung. Nun kann die Z80 von Haus aus nur 64KB adressieren. Alles darüber geht nur über irgendwelche Hacks wie Paging. Kann man machen. Aber muss man sich so etwa ohne Not antun, wenn man mit ARM7, M32c, Coldfire usw. auch ganz ohne Hacks beliebig Speicher adressieren kann? Also: Bleibt das Projekt mit ROM+RAM garantiert in 64KB, ist so ein System ok. Bist Du dir dessen nicht sicher, lass es, da gibt es Besseres. So arg günstig scheint mir das Teil im Vergleich zu diversen anderen Starterkits ohnehin nicht zu sein.
Du könntest auch externe serielle Schnittstellen an einen µC Deiner Wahl anschließen, um auf die geforderte Anzahl von Schnittstellen zu kommen. Von TI gibt's beispielsweise den TL16C554, das sind vier serielle Schnittstellen in einem Baustein, die programmiert werden wie die vom PC bekannte serielle Schnittstelle. Am einfachsten ist die Ansteuerung des Bausteines, wenn der µC über einen externen Adress-/Datenbus verfügt, dann schließt Du den Baustein wie extenen Speicher an und kannst mit einfachen Speicherzugriffen auf die Register des Bausteines zugreifen. Verfügt der verwendete µC nicht über einen Adress-/Datenbus, dann lässt sich dieser mit einigen I/O-Ports nachbilden, was aber aufwendiger zu programmieren ist. So schlecht ist übrigens die Z80-Architektur nicht, die bietet immerhin im Gegensatz zum beliebten AVR schon einige 16-Bit-Register.
Danke erstmal für eure Antworten. Bei dem Projekt werde ich auf jeden Fall in 64KByte bleiben. Ich bin zufällig auf der Suche in Google auf dieses Teil gestoßen. Absoulut notwendig sind für mich die 4x UART, und die Entscheidung, so wenig wie möglich Hardware bauen zu müssen (Platinen layouten usw. dauert mir halt zu lange). LCD und Tastatur sind absolut nebensächlich. Falls jemand von euch ein anderes Embedded System mit 4x seriell kennt, der sollte bitte den Finger heben :-)
Viele 8051-er haben ein 5-Kanal PCA und damit kann man prima UARTs in Software machen. Man nimmt 3 Capture-Kanäle als Empfänger und 2 Compare-Kanäle + T2 Output als Sender. Mit der HW-UART hat man dann insgesamt 4 UARTs. Von den 4 Prioritätsleveln gibt man dem PCA und T2 die höchste Priorität und dann können auch andere Interupts verwendet werden, ohne das Bit-Timing zu stören. Z.B. der AT89C51ED2 ist so einer. Peter
Vielleicht sind schon ein paar ATmega640/1280/2560 als Muster lieferbar. Diese verfuegen lt. Datenblatt ueber 4 U(S)ARTS. Zusammen mit STK500 und STK503 wenig Loeterei fuer den Prototypen. Tatsaechliche Lieferbarkeit muss man wohl bei einem Atmel-Distributor erfragen.
Vor ca. 10 Jahren hatte ich mit dem Rabbit gearbeitet. Damals waren die Z180 an der Tagesordnung. War sehr zufrieden damit. Auch das online debugging auf Source-Level und das realtime programming waren für damalige Verhaeltnisse echt gut. Waere es nicht ein Ding "made in USA", würde ich es noch heute benutzen.
@mkmk: Wenn der letzte Satz ein politisches Statement war - was vermutest Du, wo die Firma Atmel ihren Stammsitz hat?
Da kann er sich auf Skandinavien rausreden - immerhin stammt das AVR Design vor dort, und mindestens der Support anscheinend auch heute noch.
Was die Schnittstellen angeht scheinen mir andere Module sinnvoller zu sein, wie beispielsweise RCM2020. Da stehen die seriellen Signale im Originalzustand zur Verfügung. Damit entfällt die hässliche RS232-Konvertierung, die ohnehin nicht mit fertigen Modulen zu haben ist, da für dir Richtungsumschaltung von RS485 jeweils ein RTS benötigt wird, das im o.A. Rabbit nur per Schaltausgang zu haben ist, nicht jedoch als RS232-Signal. Die RS485 Transceiver musst Du also ohnehin selber stricken.
@Rufus In der Tat, meine Aussage war politisch gemeint. Und Deine Behauptung tut schon weh. Ich verarbeite zwar nicht dermassen viel uC, aber wenn man bedenkt, dass ich 2 laufende Produktionen (eine Motorola, die andere Microchip) nur aus diesem Grund auf Atmel umgestellt habe ... Komme mir schon irgendwie dumm vor! Werde mal deine Aussage etwas genauer unter die Lupe nehmen. Und hoffe doch sehr, dass Du Dich irrst.
Das Corporate Headquarter von Atmel ist in San Jose, also im Silicon Valley. Da wirst Du wohl auf Japaner umsteigen müssen. Falls das ins Profil passt (aber die sind halt auch im Irak dabei). Also besser gleich Hyperstone, die sitzen ganz patriotisch im schönen Konstanz. ;-)
"dass ich 2 laufende Produktionen (eine Motorola, die andere Microchip) nur aus diesem Grund auf Atmel umgestellt habe ..." Netter Witz. Für mich gabs ganz handfeste Gründe auf Atmel umzusteigen: Ich konnte das EPROM-Löschgerät wegschmeißen und brauchte nicht umlernen, da ich schon vorher 8051 eingesetzt hatte. Und der AT89C2051/4051 war damals (1993) der leistungsfähigste 20-Pinner weltweit. Peter
Hallo, ich möchte noch einmal die Frage mit der RS485-Konvertierung aufgreifen. Also gegeben ist ja mein Rabbit mit RS485 Ausgang. Kann ich jetzt mit einem z.B. LTC485 das ganze in TTL konvertieren und dann wieder in RS232? Man muss dazu sagen, dass im Rabbit wohl selbst ein ganz normales UART ist, bei dem man die Software anpassen kann. Ich bin ehrlich gesagt ein wenig verwirrt über A.K.'s Antwort; ich verstehe das nicht. Danke nochmals!
RS485 ist eine Halbduplexübertragungstechnik, bei der mit einer zusätzlichen Steuerleitung zwischen Sende- und Empfangsbetrieb umgeschaltet wird. Dieses Signal lässt sich aber nicht aus einer RS232-Verbindung generieren, vor allem kann eine RS232-Verbindung auch im echten Vollduplex betrieben werden. Daher ist ein nachträgliches Wandeln von RS485 in RS232 so nicht möglich. Du wirst nicht umhinkommen, direkt einen RS232-Treiber an die UART des Karnickels anzuschließen (und die zum RS485-Treiber führenden Leiterbahnen zu durchtrennen). Ein bisschen Löten, fertig.
Du schreibst, dass LCD und Tastaur nebensächlich sind. Was heisst das? Nötig oder nicht nötig? Muss drauf sein, oder kann extern sein? Basteln musst Du auf dieser Basis ohnehin, das ist dir wohl klar geworden. Ohne löten geht nur mit Modulen die bereits 4xRS232 drauf haben. Also ist es sinnvoller, ein Modul mit 4x Seriell in CMOS Pegel zu verwenden, und diese dann mit 2x MAX232 auf RS232.Pegel zu bringen. Erheblich billiger ist das zudem auch noch. Löten heisst nicht unbedingt Platine zu ätzen. Einfache Lötpunkt/Streifenrasterplatine tut's auch. Also beispielsweise eine Lötpunktrasterplatine als Träger/Anschlussverteiler für einen draufgesteckten RabbitCore und auf diesen Träger noch die beide MAXe nebst RS232-Steckverbinder drauf.
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.