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


von Marcus M. (Gast)


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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

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

von Markus (Gast)


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

von Winfried (Gast)


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).

von Marcus M. (Gast)


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

von beta-frank (Gast)


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

von Marcus M. (Gast)


Lesenswert?

@FRank:

Danke, schau ich mir mal an.

von Olaf (Gast)


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

von Peter D. (peda)


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

von Marcus M. (Gast)


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ß

von Olaf (Gast)


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

von Marcus M. (Gast)


Lesenswert?

Hallo Olaf,

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

Weißt Du da etwas drüber?

Gruß

von Peter D. (peda)


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

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
Noch kein Account? Hier anmelden.