Forum: FPGA, VHDL & Co. DIY Calculator Hardware Projekt


von Helmut Z. (hzulu)


Lesenswert?

Hallo,

Wir, Johannes Hausensteiner und ich, moechten hier ein Projekt 
vorstellen, das wir in den letzten 11 Monaten, von Grund auf entwickelt 
haben. Von "Grund auf"  bezieht sich sowohl auf das Projekt selbst, 
(keine fertigen Cores verwendet) sondern auch was unser Wissen 
bezueglich FPGA, VHDL etc. betrifft.
Mit Hilfe dieses Forums war es uns moeglich die meisten, der sehr 
zahlreich vorhandenen Wissensluecken in den Geheimnissen der Erstellung 
synthesefaehigen Codes, zu fuellen.

Ganz spezieller Dank geht an:
Andreas Schwarz, dem Betreiber dieser Webseite.
Falk Brunner, Stefan Hanke und vielen anderen, fuer deren zahllosen 
Beitraege, welche uns oft aus verzwickten Problemen geholfen haben.

Das gesamte "DIY-Calculator Hardware Projekt" (Soft- und Hardware 
Fertigungsdaten) ist unter GPL lizenziert.

Die Projektseite mit der kompletten Geschichte, Entwicklungsumgebung 
(Bugzilla, SVN Archiv, Mailinglisten) und Download ist unter 
http://diycalculator.pcl.at zu finden.

Jeder, der Spass daran hat, ist hiermit herzlich eingeladen sich in den 
Mailinglisten/Bugzilla zu registrieren und Meinungen, Vorschlaege und 
vielleicht auch Code beizutragen...

have a lot of fun!
Helmut Zulus

von TheMason (Gast)


Lesenswert?

sieht ja witzig aus :-)

mich würde interessieren wie ihr die tastatur gemacht habt. sind das 
einzelne tasten. irgendwie sieht das auf dem bild aus als wenn ihr das 
irgendwie anders geamcht [knackfrösche ?!] habt.

von Helmut Z. (hzulu)


Lesenswert?

TheMason wrote:
> sieht ja witzig aus :-)
>
> mich würde interessieren wie ihr die tastatur gemacht habt. sind das
> einzelne tasten. irgendwie sieht das auf dem bild aus als wenn ihr das
> irgendwie anders geamcht [knackfrösche ?!] habt.

Die Tastatur ist nur eine Leiterplatte mit 3 teiligen Kupferflaechen 
fuer jede Taste. Ein Teil ist die X Koordinate, in der Mitte ist GND und 
der 3. Teil ist die Y-Koordinate. Die Tastflaechen selber sind mit 
Loetstopmaske und Siebdruck ueberdeckt.
Alle Koordinatenflaechen werden ueber hochohmige Widerstaende (220k) mit 
dem KeyCLK (~15kHz) beaufschlagt. Wenn man mit dem Finger beruehrt, wird 
durch die Erhoehung der Kapazitaet gegen Masse (~10pf) der KeyCLK um 
~3uS verzoegert, mit einem CMOS Schmittrigger (74HC14) entkoppelt und 
zurueck ans FPGA gefuettert. Dort gibt es dann ein geniales VHDL Modul 
welches die Verzoegerungen erkennt, entprellt, ueber eine Tabelle nach 
8Bit kodiert, an ein Input Port der (embedded) CPU legt, einen kurzen 
Pieps (fuer das taktile Feedback) erzeugt und einen Interrupt ausloest.

War deshalb notwendig, weil die 73 Tasten eine Menge Geld kosten und 
ausserdem kein Platz fuer die Beschriftung uebrigbleibt.

lg
helmut

von TheMason (Gast)


Lesenswert?

coooole sache.
ich habe hier im forum von peter danneggers sensor-taste gelesen. der 
macht das da ja genauso (kapazitätsmessung)
wäre vielleicht auch noch für mich eine idee sowas mit einem fpga + ein 
bischen analog-technik umzusetzen ...
nicht schlecht herr specht ...

von Stefan H. (stefanhanke)


Lesenswert?

Danke für die Blumen! :)
Die Idee, das in HW nachzubauen, ist klasse!

Zwei Fragen:
Warum habt ihr keine Standard-PC-Tastatur genommen?
Wieviel kostet das Herstellen des PCBs und das Auflöten?
Das PCB an sich zu entwickeln ist wahrscheinlich auch sehr aufwändig.

 -- stefan

von Helmut Z. (hzulu)


Lesenswert?

@Stefan
heute schon so frueh unterwegs? oder noch Ueberhang von gestern? ;-)

> Warum habt ihr keine Standard-PC-Tastatur genommen?
weil die Hardware genauso aussehen und verhalten soll wie die virtuelle 
Version des DIY Calculators.
Ausserdem gibt es beim Virtuellen eine "Workbench" Option. mit einer 
(virtuellen) PC Tastatur. Diese Option wird bei der Hardware Version mit 
der PS2 Buchse (auf dem FPGA Board) unde einer richtigen PC Tastatur 
realisiert. Die VHDL Module fuer die Bedienung der PS2 Tastatur und die 
(zum Virtuellen kompatible) Schnittstelle an die DIY-CPU muss aber erst 
noch geschrieben werden.

> Wieviel kostet das Herstellen des PCBs und das Auflöten?
bei 500 Stk (soviel sind fuer's Erste geplant) - ca. Euro 3,50/Stk
die Bestueckung des Keypad, incl. Bauteile (ohne Display) ca. Euro 10,-

> Das PCB an sich zu entwickeln ist wahrscheinlich auch sehr aufwändig.
Ich betreibe seit ca. 25 Jahren ein PCB Layout Buero - ein Layout in 
dieser Kategorie mache ich in der Mittagspause ;-) - OK - nicht ganz, 
der Siebdruck fuer die Sensor Tasten war etwas aufwaendig.

lg
helmut

von Stefan H. (stefanhanke)


Lesenswert?

Helmut Zulus wrote:
>> Das PCB an sich zu entwickeln ist wahrscheinlich auch sehr aufwändig.
> Ich betreibe seit ca. 25 Jahren ein PCB Layout Buero - ein Layout in
> dieser Kategorie mache ich in der Mittagspause ;-) - OK - nicht ganz,
> der Siebdruck fuer die Sensor Tasten war etwas aufwaendig.
Na dann. :)

Woher kommt eigentlich das Wissen, welche Transistoren/Widerstände/etc. 
oder Netzteile benötigt werden? Gibt es eine Art Plan, der besagt, wie 
ein Chip anzuschließen ist? Ich habe da die leise Befürchtung, dass man 
schon relativ tiefe Kenntnisse der Elektrotechnik haben muss, um selbst 
ein PCB-Layout zu basteln...

 -- stefan

von Helmut Z. (hzulu)


Lesenswert?

Stefan Hanke wrote:
> Woher kommt eigentlich das Wissen, welche Transistoren/Widerstände/etc.
> oder Netzteile benötigt werden? Gibt es eine Art Plan, der besagt, wie
> ein Chip anzuschließen ist?
Das Datenblatt des Chips und die entsprechenden Application Notes.
Im Hardware Teil des Wiki 
http://diycalculator.pcl.at/index.php/DIY-Calculator_Hardware:Hardware_Project 
ist nachzulesen, dass es einiger "Iterationen" bedurfte, um das 
gewuenschte Ergebnis zu erzielen, bzw. die Fehler auszubessern.
Die Dimensionierung der Stromversorgung beschraenkt sich heutzutage (zum 
Glueck!) auf das geringfuegig modifizierte Nachbauen der Application 
Notes des Regler IC's. Der diskrete Aufbau eines Schaltreglers, welcher 
auch zuverlaessig funktioniert, waer' sonst eine ziemlich haarige Sache.

> Ich habe da die leise Befürchtung, dass man schon relativ tiefe Kenntnisse
> der Elektrotechnik haben muss, um selbst ein PCB-Layout zu basteln...
Das ist nur eine Frage des Alters. Irgendwann hat man schon soviele 
Fehler  begangen (und hoffentlich daraus gelernt), dass man intuitiv das 
Richtige tut ;-)

lg
helmut

von Marius S. (lupin) Benutzerseite


Lesenswert?

Hatte bei der Einleitung gedacht das wäre ein Bastler-lernprojekt 
gewesen. Aber die Platine sieht ja sehr profesionell aus. Warum das 
ganze so profesionell aufziehen und gleich 500 Stück fertigen? Also 
einen Taschenrechner bekommt man aus China bestimmt günstiger...

von Helmut Z. (hzulu)


Lesenswert?

Marius Schmidt wrote:
> Hatte bei der Einleitung gedacht das wäre ein Bastler-lernprojekt
> gewesen. Aber die Platine sieht ja sehr profesionell aus. Warum das
> ganze so profesionell aufziehen und gleich 500 Stück fertigen? Also
> einen Taschenrechner bekommt man aus China bestimmt günstiger...

.. noch dazu ist das Ding so gross, dass man es als Taschenrechner gar 
nicht verwenden kann ;-)

Das Ganze ist als "Add On" zu dem Buch "How Computers do Math" zu 
verstehen. Anhand einer fiktiven CPU, wird in diesem Buch, mit Hilfe 
eines virtuellen DIY Calculators, das Grundprinzip eines Prozessors in 
allen Details beschrieben. Mit ausfuehrlichen Uebungen kann die 
Assemblerprogrammierung und die Umsetzung arithmetischer Algorithmen 
gelehrt/gelernt werden.
Die Implementation in Hardware geht noch einen Schritt weiter. Damit 
kann dann auch der Befehlssatz der CPU veraendert bzw. erweitert werden. 
In dem verwendeten FPGA ist noch ausreichend Platz um z.B. eine Floating 
Point Unit zu integrieren.
Es ist auch gedacht, dass, basierend auf der FPGA Platine, noch andere 
Zusatzplatinen (statt des Keypads) entwickelt werden - z. B. Digitales 
Radio oder Funkuhr mit Phasendemodulation des Zeitsignals. Eventuell 
auch mit begleitendem Buch.
An ein Selberbauen der Hardware war eigentlich nicht gedacht - waer' 
auch ein bissl schwierig mit dem Fruehstueckstoaster die BGA's 
aufzuloeten ;-)

lg
Helmut

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.