www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA zur Display und/oder RAM Ansteuerung?


Autor: Marcus M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muß für ein Projekt ein "Datensammler" bauen.
Diese soll folgende Komponenten enthalten:
- 6 - 8 stellige alphanumerische Segmentanzeige
- NVRAM Baustein mit ca. 4 Mbit parallel
- Tastatur
- sowie noch zwei Schnittstellen.

Das hierbei die Wahl direkt auf den Atmel MEGA128 fällt, ist bei o.g.
Aufzählung schon relativ klar.

Was mir im Moment nur Kopfschmerzen bereitet, ist das die Ansteuerung,
selbst im Bus-betrieb von den Segmentanzeigen (10 I/O's) und dem Ram
(27 I/O's), sowie der Tastatur (7 I/O's) schon fast alle I/O's
belegt.

Könnte ein FPGA in einer solchen Konfiguration die Ansteuerung des
RAMS, wie auch der Anzeige über einen 8-Bit Datenbus und einen 16 bit
Adressbus realisieren - als 24 I/O's?

Was können diese Logikbausteine und was können sie nicht?
Danke für Eure Erfahrungsberichte!

Gruß Marcus

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGA ist sicherlich Overkill. Tut's statt dem NVRAM nicht auch ein
billiger serieller Flash-Baustein (DataFlash z.B.)?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Je nach Geschwindigkeit könntest Du auch eine Porterweiterung benutzen.
Dafür nimmt man u.a. Latches, Schieberegister (per SPI) oder
I2C-Portexpander. Du könntest auch einen zweiten Microcontroller
einsetzen, der z.B. für das Display und die Tastatur zuständig ist.

Markus

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über ein 8 Bit-Datenbus-System kannst du sowohl Ram, Tastatur, Anzeige
ansteuern. Es braucht nur noch ein Adress-Selektierer (74138) und ein
paar Latches (74573/74574).

Autor: Marcus M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erstmal Danke für Eure Antworten, ich habe schon öfters mit Latches und
Porterweiterungen gearbeitet. Diese sind zwar prinzipiell für einen
solchen Einsatz brauchbar, allerdings da ich bateriebetrieben arbeite
und die Laufzeit sehr lange sein sollte, ist mir der Stromverbrauch
ziemlich wichtig. Ein weiterer Punkt ist die Tatsache, dass die
Schaltung nicht wesendlich größer als die Tastatur sein darf (50 x 70
mm).
Mich würde deshalb wirlich sehr interessieren, welche Möglichkeiten ein
FPGA überhaupt hat, da ich mir darunter nur logikgatter vorstellen kann
und weiß nicht, wie komplex man diese ansteuern kann und wie
leistungsfähig das ganze Konzept ist.
Ich würde nämlich auch gerne z ueiner Hardware und SoftwareUART
übergehen. Dafür muß ich aber PIN's einsparen!

Danke Marcus

Autor: beta-frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Marcus,

ein CPLD, z.B. Coolrunner der XC95xx-Familie von www.xilinx.com, dürfte
hier besser als ein FPGA geeignet sein. Wird genauso in VHDL etc.
programmiert, externer EEPROM (bzw. alternativ "booten" durch den µC)
entfällt, leicht erhältlich, Entwicklungsumgebung von Xilinx
downloadbar.

Frank

Autor: Marcus M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@FRank:

Danke, schau ich mir mal an.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein FPGA ist nicht der erste Baustein der mir einfallen wuerde wenn ich
eine Schaltung speziell fuer Batteriebetrieb entwickeln wuerde. Auch
dann nicht wenn man extra nach stromsparenden sucht.

Ich wuerde als Datenspeicher eine MMC Karte am SPI-Bus verwenden. Fuer
die Anzeige wuerde ich dann ein I2C-Bus Display von Pollin verwenden.
Und als Prozessor ein Mega8. Eventuell wuerde es auch ein anderer
Prozessor machen, aber 1kB Ram sollte es schon sein weil du 512Byte als
Buffer fuer die MMC Karte brauchst.
Dann besteht deine Elektronik fast nur aus einem Mega8 mit internem
Takt, alles laeuft mit 3.3V und fertig ist die Laube.

Olaf

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns auf Stromverbrauch ankommt, dann sind doch CMOS-Logik-ICs
(74HC138, 74HC573) super: passiert nix, fließt auch nix.

Ansonsten sollten es schon die Coolrunner (XCR3128) sein, sind nämlich
echt CMOS, aber nur 3,3V.

Ich würde aber auch zu den Atmel-Dataflashs raten (SPI = 4
Anschlüsse).


Peter

Autor: Marcus M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

mit den CMOS IC's hast Du schon recht, aber die nehmen doch viel Platz
weg.
Ich schau mir mal die Dataflashes von Atmel an, mal sehen, was die so
drauf haben - Größe und Wiederbeschreibbarkeit.
Die Coolrunner hab ich mir schon angeschaut und die sind echt klasse.
Such nur noch ein paar mehr Infos zu den Dingern.

@Olaf:
Nein, es darf kein Display sein, sondern muß eine alphanumerische
Segmentanzeige werden, die Displays sind leider etwas empfindlicher,
als für dieses Einsatzgebiet annehmbar. Leider sind "Wurfversuche"
nicht ausgeschlossen.
Trozdem Danke

Gruß

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst mit "alphanumerisch" so eine 7-Segmentanzeige mit LEDs?

Wenn ja dann musst du dir um den Stromverbrauch eines CPLD/FPGA ja
keine Sorgen mehr machen. :-)

Ich meinte uebrigens ein relativ kleines Modul wie es in Radios oder
Handys verwendet wird und die halten auch schon was aus. Pollin hat da
gerade ein sehr billiges als 16-Segmentdisplay. Ausserdem kannst
du noch RDS und Stereo einschalten.

Du solltest nicht glauben das klobige 7-segmentanzeigen robuster sind.
Die sind bloss schwerer. Das fuehrt bei brutaler Misshandlung dann eher
zu kalten Loetstellen.

Olaf

Autor: Marcus M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Olaf,

was ist eigentlich mit diesem Fluoreszenz Modul, 10 x 14 stellig?

Weißt Du da etwas drüber?

Gruß

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VFDs sind Elektronenröhren, also aus Glas und luftleer.

Wenns runterfällt isses kaputt.

Und im Stromverbrauch sind sie schlecher als LEDs.

Wenn die LEDs nicht ständig leuchten müssen und man low-current LEDs
(Kingbright) nimmt, sind sie durchaus auch für Batteriebetrieb
geeignet.


Peter

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.