www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rabbit 2000 basierendes Embedded System


Autor: Stefan Heindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan Heindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: mkmk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mkmk: Wenn der letzte Satz ein politisches Statement war - was
vermutest Du, wo die Firma Atmel ihren Stammsitz hat?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da kann er sich auf Skandinavien rausreden - immerhin stammt das AVR
Design vor dort, und mindestens der Support anscheinend auch heute
noch.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: mkmk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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

Autor: Stefan Heindel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

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.