Forum: FPGA, VHDL & Co. Projektdokumentation DE0_Nano ADXL345 per I2C auslesen


von zander (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich möchte an dieser Stelle meine für das Studium erstellte Belegarbeit 
für die Allgemeinheit zur Verfügung stellen - auch unter dem Aspekt der 
hier im Forum erhaltenen Hilfeleistungen :-)

Kurzfassung:
Die Arbeit beschreibt die Modellbildung und Implementierung eines über 
die Programmiersprache C programmierbaren Mikrocontrollers (Nios II) 
innerhalb eines FPGAs. Hierfür wird das terasIC Entwicklungsboard 
DE0Nano mit dem FPGA Cyclone® IV EP4CE22F17C6N verwendet. Der auf dem 
Entwicklungsboard befindliche 3D-Beschleunigungssensor ADXL345 wird 
hierzu mittels einer I2C-Verbindung über C angesprochen und ausgewertet. 
Zur Anzeige der Beschleunigungswerte in X-, Y- und Z-Richtung kommt ein 
eigens entwickeltes LED-Erweiterungsmodul zum Einsatz. In dieser Arbeit 
sind die notwendigen Schritte zur Modellbildung, Implementierung und 
Programmierung (C und VHDL) beschrieben. Des Weiteren wird auf 
aufgetretene hard- und softwareseitige Probleme eingegangen, um 
Nachfolgearbeiten zu erleichtern.

Vor dieser Arbeit war ich blutiger Anfänger auf diesem Gebiet. Seht es 
mir daher nach, wenn etwas "komisch" oder mit der falschen Wortwahl 
ausgedrückt wurde.
Für Anmerkungen bin ich natürlich zu haben.


Folgende Forenbeiträge sind in der Zeit entstanden:

DE0_Nano mit NioII-Programm dauerhaft beschreiben:
[[Beitrag "DE0_Nano mit NioII-Programm dauerhaft beschreiben"]]
DE0_Nano ADXL345:
[[Beitrag "DE0_Nano ADXL345"]]
DE0_Nano ADXL345 SPI:
[[Beitrag "DE0_Nano ADXL345 SPI"]]


Ich hoffe dem ein oder anderen hiermit weiterzuhelfen.

Gruß
zander

von Duke Scarring (Gast)


Lesenswert?

Erstmal vielen Dank, das Du Deine Arbeit hier teilst. Das finde ich gut.

So. Nun die Kritikpunkte:

- Kapitel 4 durftest Du so einreichen? War Labview Teil der 
Aufgabenstellung? Wenn nicht, hätte ich diesen Abschnitt komplett 
weggelassen und das Thema evtl. im Ausblick erwähnt.

- Dafür hättest Du bei mir massiven Punktabzug bekommen:
1
4 USE ieee.std_logic_1164.all; 
2
5 USE ieee.std_logic_arith.all;
3
6 USE ieee.std_logic_unsigned.all;
Hier kannst Du die Begründung nachlesen: 
Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"
Schade das es Profs gibt, die den alten Quatsch (der nur Verwirrung 
stiftet) durchgehen lassen.

- Warum hast Du die UART-Ausgabe nicht etwas lesbarer gestaltet? Ein 
Zeilenumbruch nach jedem Datensatz (und evtl. rechtsbündige Ausgabe der 
Werte) hätte m.E. schon gereicht.

- Das Tabellenverzeichniss entfällt, wenn es keine Tabellen gibt.

- Die erwähnte SPI-Kommunikation im Kapitel 6 ist ja ein kleines 
Armutszeugnis. Noch dazu wo Dir ein Oszi zur Verfügung steht, womit SPI 
direkt dekodiert werden kann.

- Schick wäre es evtl. noch gewesen, die LED-Reihen als 3D-Stern/Kreuz 
anzuordnen.

So. Nun genug der Kritik. Im Grunde ist es ein hübsche Arbeit, die sehr 
viele Aspekte berührt (Sensoransteuerung, Datenverarbeitung im FPGA, 
Visualisierung am PC).

Duke

von peter (Gast)


Lesenswert?

Jup, ich finde deine veröffentliche Arbeit wunderbar.
Ich bin nur ein kleiner "alter (66) Altera-Bastler".

Ich habe auch den Nano und habe es mal für mich umgesetzt.
Zum 1.mal habe ich begriffen , wie ich in C den Nano beglücken kann.

Wunderbar und klar beschrieben.
So lernen davon auch die einfachen nicht geschulten Tüftler mit dem 
FPGA.
So etwas ist Nahrung für die Zukunft und bringt uns weiter.

---------------------------
Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"
---------------------------
Was da drin steht darfst du nicht ernst nehmen und ist für deine Arbeit 
irrelevant. Der  Duke Scarring hat nicht begriffen, das deine Arbeit 
anderen weiterhelfen soll. Ich glaube er schafft nicht annähernd so ein 
Projekt.

Ein großes Lob für dein Hilfe.


Danke.
Gruss

von Da D. (dieter)


Lesenswert?

peter schrieb:
> Was da drin steht darfst du nicht ernst nehmen und ist für deine Arbeit
> irrelevant. Der  Duke Scarring hat nicht begriffen, das deine Arbeit
> anderen weiterhelfen soll. Ich glaube er schafft nicht annähernd so ein
> Projekt.

Na, Peter, wieder sinnlos am rumstänkern? Was soll das denn immer?

von zander (Gast)


Lesenswert?

Danke für die Blumen, auch für die Verwelkten :-)

Grundlegend sollte ich vllt noch klarstellen, dass die "Prüfung" zu dem 
Thema rein mündlich abläuft. Diese Dokumentation ist nicht erforderlich! 
Das ganze ist rein für mich (und euch).
Deswegen ist die Doku z.T. auch noch nicht "vollständig", da ich das 
ganze nach und nach (wie z.B. Labview - was nicht Aufgabenstellung ist) 
erweitern möchte.

Gruß
zander

von Da D. (dieter)


Lesenswert?

zander schrieb:
> Danke für die Blumen, auch für die Verwelkten :-)

Betrachte das nicht als verwelkte Blumen, sondern als Knospen!  :-) Also 
Möglichkeiten wo noch was besser werden kann. Nennt sich konstruktives 
Feedback. Dass deine Arbeit auch so schon sehr schön ist, wurde ja auch 
schon erwähnt :)

: Bearbeitet durch User
von zander (Gast)


Lesenswert?

Um das von Peter genannte Armutszeugnis noch aus der Welt zu schaffen, 
die Lösung zum SPI findet ihr hier:
Beitrag "DE0_Nano ADXL345 SPI"

Ich hätte ja gedacht er löst das noch schnell aber so einfach schien es 
dann doch nicht zu sein :-P (nur ein Scherz!).

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.