Forum: Mikrocontroller und Digitale Elektronik Spracheingabe per uController


von Franz Tomac (Gast)


Angehängte Dateien:

Lesenswert?

Hi!

Ich habe ein echtes problem!
Meine Aufgabei st es eine Sprachsteuerung zu basteln,

das heißt ich soll ein ding programmieren das 3 wörter speichern kann
und erkennt (zb rauf, runter, stopp)

so, ich habe jetzt ein programm, siehe anhang plus eine pdf datei die
das ein wenig beschreibt, nur ich kenne mich da überhaupt nicht aus,
der code ist in assembler geschrieben, den müsste ich einmal verstehn,
kommentieren können,  und dann sollte er nicht für den motorola
baustein sein sondern für den

infineon sab-c517A-ln

ich habe zirka 6 wochen (bissi weniger ) zeit dafür, und sitze ziemlich
in der klemme!

ich hoffe es gibt ihr jemanden der sich damit gut auskennt und mir
hlefen könnte, am besten wäre ein wiener mit dem ich mich treffen
könnte, ansonsten über chat!

hoffe es mledet sichj emand!

danke im vorraus

franz

von Martin S. (Gast)


Lesenswert?

Na ist doch alles schon vorhanden, dann bist du ja in 2 Wochen fertig
und hast 4 Wochen Zeit, den Frühling zu genießen g

Nee, mal ganz ruhig. Zuerst einmal: Das was du da geposted hast ist
schön dokumentiertes Zeugs, der Assembler-Code ist sorgfältig
strukturiert und dokumentiert, es gibt (abstrakte) Flußdiagramme welche
den Algorithmus beschreiben.

Daß du jetzt nicht genau weißt was Register A bei der einen CPU macht,
und ob man dazu Register Y der 2. CPU nutzen kann ist ja nicht so
tragisch.

Versuch erst einmal die grundsätzliche Idee hinter dem Geschehen zu
verstehen. Bis zu einem gewissen Grad mußt du eh verstehen was dei
derzeit genutzte CPU macht. Du kommst also nicht umhin, dir dir
Architektur beider CPUs anzueignen.

Sollst du denn nur die Software-Seite wahrnehmen, oder auch den
Hardware-Teil?


Wenn du weißt das du 6 Wochen Zeit hast, dann mach dir einen
"Schlachtplan" mit passenden Zeitvorgaben. Du benötigst:

1. passendes Entwickler_Werkzeug für den 6805 bzw. 8051 (Compiler).
Möglicherweise kannst du auf den Compiler für 6805 ja verzichten.

2. Eine Möglichkeit, den entwickelten Code in den Chip hinein zu
bekommen (vielleicht macht das ja derjenige der für die Hardware
zuständig ist)

3. Hardware-Schaltungs-Redesign

4. Aufbau der neuen Hardware

5. Verständniss vom bestehenden Code zwecks Software-Redesign

6. das eigentliche Software-Redesign

7. Eine Umsetzung und Austesterei des Ganzen



Zeitrahmen: Wieviel Zeit pro Tag kannst du entbehren innerhalb der
verfügbaren 40 Tage ? Überlege scharf wann was zu tun sein könnte / bis
wann was da sein müßte.

von Franz Tomac (Gast)


Lesenswert?

danke für die schnelle antwort :)

nur wir haben bis jetzt c in uVision programmiert, und sind incht
iwrklich assembler fit :/

deswegen is blöd für uns (sind 3leute) , hardware her, haben wir die
eine schaltung aufgebaut die in der pdf datei drinnen war, aber nur bis
zum ersten opv,

so das die sprachimpulse zu 0er und 1er werden,

nur wir sind ziemlich auf uns alleine gestellt, lehrer hat uns das zur
verfügung gestellt :)

es wäre sehr hilfreich jemanden zu haben der sich gut damit auskennt
und uns unter die arme greifen könnte!!!

von Martin S. (Gast)


Lesenswert?

Na ja, habt ihr denn das grundsätzliche Funktionsprinzip verstanden?

Schnapp dir das Datenblatt vom 8051, schau nach daß du
Compilerwerkzeuge bekommst (möglicherweise auch vom bestehenden 6805
Code), und versuch dir einen Code-Prototypen zu basteln.

Die einzelnen Routinen (Module) des 8051 müssen ja noch nix können,
aber zumindest kannst du ja das Programm genau so gliedern (das scheint
mir vernünftig)


Und wenn du das alles soweit im Griff hast (Nutzung des Compilers,
Prozessor mit (möglicherweise momentan noch nicht sehr gehaltvollem)
Code vollpumpen, dann hst du schon mal sehr viel erreicht.

von Franz Tomac (Gast)


Lesenswert?

danke mal :)

aber ich denke wir brauchen sicher noch hilfe!!

von Martin S. (Gast)


Lesenswert?

Ist ja schön wenn ihr noch Hilfe braucht, aber wenn du nicht
artikulieren kannst worin die Hilfe bestehen soll "dann ist euch nicht
zu helfen".

"Wir wissen nix und wollen alles" wird wohl nicht zielführend sein.

von Franz Tomac (Gast)


Lesenswert?

naja =)

wir müssen uns zeile pro ziele mal auseinandersetzen, und jemand der
assembler programmiert wäre schön wenn der das mit uns durchgehen
könnte, weil uns der kommentar zurzeit net viel sagt :(

von Martin S. (Gast)


Lesenswert?

Zum Verständniss des gesamt-Ablaufs ist es erst mal NICHT erforderlich,
die einzelnene Assembler-Befehle verstanden zu haben.

Die Strukturierung in verscheidene Module und die algorithmische
Beschreibungd es ganzen gibt jede Menge Informationen her. Habt ihr die
alle verstanden?

Ob der (neue) Prozessor im Inetrupt- oder Polling-Modus betrieben
werden soll, ist sicherlich eine architektonische Besonderhheit, welche
diskussionswürdeig ist. Aber darüber zu philiosphieren was denn nun
überhaupt ein Interupt grundsätzlich ist, ist sicherlich Basiswissen,
was ihr euch erst mal aneignen soltet. Und sowas ist wiederum nicht
hochgradig Prozessor (oder Assembler-Dialekt) spezifisch.

von Franz Tomac (Gast)


Lesenswert?

"Die Strukturierung in verschiedene Module und die algorithmische
Beschreibung des ganzen gibt jede Menge Informationen her. Habt ihr
die
alle verstanden?"

nein voll nicht :/

von Martin S. (Gast)


Lesenswert?

Na immerhin ne ehrliche Antwort. Das schätz ich mehr als das
drumherum-gelabere. So ist doch schonmal klar wo eure
"Hilfsbedürftigkeit" anfängt.

Ich will mal einen unpassenden Vergleich herziehen: Was nützt es dir,
wenn ich dir für einem exotischen Prozessor (der keine
Gleitzahlen-Arithmetik kann) beschreibe, wie eine SIN(x) Funktion
aufgebaut werden kann, wenn du das Grundsatzprinzip einer FFT (Fast
Fourier Transformation) nicht verstanden hast, welche unter anderen
derartige trigonometrische Funktionsaufrufe benötigt ???? Der Ansatz
müßte also sein: "Verstehe was eine FFT ist, und akzeptiere, daß es da
drin eine sin(x) Funktion braucht, und daß dein prozessor keine
Gleitzahlen kann."

Das ganze nennt sich dann "Top-Down-Ansatz": Zuerst die
Rahmenhandlung verstehen, und dann zum Kleinkram vordringen. So würde
ich es auch hier versuchen. Aber jetzt genug der Belehrungen.

1. Wenn du die grundlegenden Werkzeuge (meint hier:
Assembler/Compiler-IDE) nicht bedienen kannst (möglicherweise noch
nicht mal weist welceh du nutzen sollst), dann nützt dir das auch nicht
wirklich, daß du weist daß euer Prozessor 72 Register hat oder sostigen
krams. Ein "Hello World" oer "hello LED" Programm sollte da schon
umsetzbar sein, sonst bleibt alles nur Theorie. Die Gliederung in
verschiedene Teil-Module, die Nutzung von Makro-Anweisungen sowie das
übertragen von übersetzten Code in den Chip sind Basis-Fähigkeiten,
welceh ebenfalls erworben werden wollen.

2. Ohne die Kenntniss darüber was ein Mikroprozessor/Controller ist
sollte das ganze auch nicht funktioneren. Wenn du nicht weist welche
Bedeutung ein "return from Interupt" grundsätzlich bedeutet (oder was
eine Interupt-Routine ist), ist es müßig darüber zu philosophieren ob
das in dem einen Prozessor RETI und beim anderen IRET heißt.

3. Zum konkreten Programm: Schmeiss vorab erst ma alles weg was
offensichtlich ist: Der Prozessor muß ein paar Tasten abfragen, und ein
paar LED bedienen. Das braucht irgendwelche Ports, und sollte nicht
schwierig zu verstehen sein. Sowohl der eine wie der andere prozessor
hat Ports. Das läßt sich (ohne jetzt schon genau zu wissen wie und wo)
sicherlich recht einfach "umsetzen"

4. der "knifflige" Teil ist sicher die sonstige Funktionskomponenten
und die Kernfunktiond es ganzen Systems. Das ganze ist in dem
PDF-Dokument ausführlich beschrieben. Wenn euch das zu englisch ist,
müßt ihr es halt in deutsch üebrsetzen, dann werden manche Sachverhalte
viel klarer.


Ich denke mal, daß sind schon mal ne Menge Aufgaben, die ihr da vor
euch habt.

von Franz Tomac (Gast)


Lesenswert?

ok danke! =)

FFT, wurde ziemlich genau behandelt, nur für mich ist es net klar, da
muss ich durchs skriptum nochmal durch, und werde mir mal deine punkte
zu herzem nehmen und es so angehen! danke für die hilfe! =)

falls etwas unklar ist, melde ich ich =)

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.