Forum: Mikrocontroller und Digitale Elektronik Suche Tip zur division zweier Zahlen mit CMOS ICs


von Jan T. (cmoses-xd)


Lesenswert?

Hallo,
ich habe folgendes Problem:
ein Zähler-IC-Dekade gibt eine Zahl(variabel) aus die als Teiler einer 
anderen Zahl (konstant) verwendet werden soll.

Beispiel:
Eine Zählerdekade (4 ICs= 4 Ziffern)
hat bis zu einer Bestimmten Zahl gezählt und dann gestoppt (4536).
Jetzt soll diese Zahl verwendet werden um den Wert 100000
mit eben der Zahl des Zählers zu teilen: 100000/4536= 22,048

Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit 
Mikrocontroller.

Fällt dazu Jemandem etwas ein? kann man das vielleicht mit einem 
Johnsonzähler irgendwie mit Schieberegistern kombinieren?

Wenn das zu abstrakt war,
es geht darum diese Schaltung hier zu verbessern:
http://www.ctc-labs.de/html/body_velocount.html
Ein Geschwindigkeitsmesser der aus 2 Lichtschranken besteht,
und die Zeit in µs ausgibt.
Ich will aber das die Zahl in Meter pro Sekunde ausgegeben wird,
um schneller zu messen und nicht andauern umzurechnen.

Ist das irgendwie mit Standart Logik-ICs möglich?

von Michael (Gast)


Lesenswert?

Jan T. schrieb:
> Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit
> Mikrocontroller.

Ich würde mir das nicht als TTL-Grab antun wollen. Ein µC ist klein und 
macht das aus dem Handgelenk.

Jan T. schrieb:
> Ist das irgendwie mit Standart Logik-ICs möglich?
Ja. Viel Spaß.

von Jan T. (cmoses-xd)


Lesenswert?

Michael schrieb:
> Jan T. schrieb:
>> Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit
>> Mikrocontroller.
>
> Ich würde mir das nicht als TTL-Grab antun wollen. Ein µC ist klein und
> macht das aus dem Handgelenk.
> Jan T. schrieb:
>> Ist das irgendwie mit Standart Logik-ICs möglich?
> Ja. Viel Spaß.
Schade nicht sehr hilfreich,
dann formuliere ich es mal anders: Wie ist es mit Logik ICs möglich?

von Klaus W. (mfgkw)


Lesenswert?

Indem du die nötige Algebra auf die elementaren Operationen 
zurückführst, die mit TTL möglich sind, und das stückweise in HW 
zusammensetzt.

Das wird in der Praxis sicher keinen Sinn machen.
Jeder, der halbwegs mit seiner Zeit hinkommen muß, wird das mit einem MC 
oder FPGA o.ä. lösen.
Wenn du das unbedingt aus sportlichem Ehrgeiz und ohne technischen Grund 
diskret machen willst, wirst du dich selbst durchbeissen müssen.

von Willi (Gast)


Lesenswert?

Jan T. schrieb:
> Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit
> Mikrocontroller.

Suche mal nach rate-multiplier. CD4089 arbeiten binär, es gibt/gab aber 
auch dezimale. Damit ist das recht einfach.
Oder Du baust Dir selber einen passenden.

von Jan T. (cmoses-xd)


Lesenswert?

@ Willi , Vielen Dank das sieht nützlich aus! :-)

also so wie ich das bisher verstanden habe muss ich mir eine ALU für 
division selbst zusammen basteln...

von Martin (Gast)


Lesenswert?

Ja genau. Ich denke deine Platine wird auch rech groß werden mit den 
DIL-ICs.

von Willi (Gast)


Lesenswert?

Jan T. schrieb:
> also so wie ich das bisher verstanden habe muss ich mir eine ALU für
> division selbst zusammen basteln...

Eine ALU braucht man nicht. Ein dezimaler Rate-multiplier (HEF4527 von 
Valvo) liefert pro 10 Eingangsimpulse die am BCD-Eingang liegende Zahl 
an Ausgangsimpulsen. Durch Kaskadierung kommt man auf 2, 3 oder mehr 
Dezimalstellen. Ein Zähler am Ausgang zählt die Ausgangsimpulse und 
liefert damit das Ergebnis.

von Olaf (Gast)


Lesenswert?

> Ist das irgendwie mit Standart Logik-ICs möglich?

Das ist doch neumodischer Tand. In der guten alten
Zeit haette man das mit einem Analogrechner geloesst.

Olaf :)

von Jan T. (cmoses-xd)


Lesenswert?

Ok danke, das sind dann schon mal 2 ICs. (wobei der 4527 der neuersein 
wird)

Leider habe ich in beiden Datenblättern kein Beispiel für eine Division 
gefunden.

von (prx) A. K. (prx)


Lesenswert?

Olaf schrieb:

> Das ist doch neumodischer Tand. In der guten alten
> Zeit haette man das mit einem Analogrechner geloesst.

Ach wo, das hätte man elektromechanisch gelöst ;-). Ein Schrittmotor 
konvertiert die Zählimpulse in eine Zeigerbewegung und die Beschriftung 
vom Zeiger wird passend vorgenommen.

Das kann man übrigens auch als Ansatz für eine Bastellösung verwenden. 
Statt Zeiger nimmt man heute eine grössere Anzahl LEDs in Reihe. Dem 
Taktgeber macht man dekadisch einstellbar.

von Jan T. (cmoses-xd)


Lesenswert?

Ich habe da mal was halbwegs nützliches gefunden:

http://www.techlib.com/files/dividers.pdf

von ein bastler (Gast)


Lesenswert?

Hallo,

ich habe früher mal soetwas mit einem EPROM/FLASH gelöst (Schlagzahluhr 
fürs Rudern).

Da kann man dann auch gleich den 7Segement Deokder mit integrieren und 
das demultilplexing für die Anzeige

Nimmst Du binär Zähler oder decimal Zähler Bausteine

gehen wir mal von deinem Bsp aus brauchst du 13 bit für den Zählerstand 
und
2-3 bit für die Auswahl der darzustellenden Stellen.

Ein kleines C-Programm kann dann dir den Flash-Inhalt ausrechen, dann 
brennen Fertig ist.

Jetzt würde man natürlich eine CPLD/FPGA dafür nutzen, wenn es kein µC 
sein soll.

Gruß

bastler

von Willi (Gast)


Lesenswert?

Olaf schrieb:
> Das ist doch neumodischer Tand. In der guten alten
> Zeit haette man das mit einem Analogrechner geloesst.

Für die Nachkommastellen hätte man aber erst einmal die Chopperrelais' 
ölen müssen :-)

von Jan T. (cmoses-xd)


Lesenswert?

Danke für den Hinweiß :-)

aber mit kein µC meinte ich eigentlich das ich von programmieren und 
µController generell keine Ahnung habe.
Das mit den CMOS ICs bekomme ich noch hin, ist zwar etwas größer aber 
dafür einfacher - wie LEGO ;-)

von Willi (Gast)


Lesenswert?

Jan T. schrieb:
> Das mit den CMOS ICs bekomme ich noch hin,

Da bin ich mir nicht mehr so sicher :-)

von Klaus W. (mfgkw)


Lesenswert?

Jan T. schrieb:
> wie LEGO

LEGO wird jetzt auch gelötet?

von Jan T. (cmoses-xd)


Lesenswert?

ja wer Lust hat kann auch LEGO löten,
aber den Atemschutz nicht vergessen... ;-)

von ... (Gast)


Lesenswert?

Jan T. schrieb:
> aber mit kein µC meinte ich eigentlich das ich von programmieren und
> µController generell keine Ahnung habe.

Dann wäre das doch ein schönes Einstiegsprojekt mit einem 2x16 LCD Modul 
und einem kleinen µC.

von Edi R. (edi_r)


Lesenswert?

Willi schrieb:
> Eine ALU braucht man nicht. Ein dezimaler Rate-multiplier (HEF4527 von
> Valvo) liefert pro 10 Eingangsimpulse die am BCD-Eingang liegende Zahl
> an Ausgangsimpulsen.

Der Ansatz ist interessant, aber werden Eingangsfrequenz und BCD-Eingang 
dabei nicht multipliziert statt dividiert?

von Jan T. (cmoses-xd)


Lesenswert?

Dann werden sich hier aber wieder alle die Köpfe einschlagen welches 
Controller der bessere ist usw ;-)
Ich kenne das gebashe in anderen Foren wie z.B. von Linux vs Windows 
(Ati vs Nvidia usw..), ist zwar Sinnlos aber viele können es nicht 
lassen.

Ich habe eine starke Abneigung gegen abstraktes programmieren. Bei den 
CMOS kann ich mir alles noch bildlich vorstellen.
Klingt vielleicht komisch für alle die schon Meisterprogrammierer sind 
und hier ihre Scherze einschieben.
Die Controller die Ich gesehen habe, da wirkt das eher wie ein PC 
Programm schreiben (C oder Assembler) und da ist für mich nix zu machen.
Wenn das nicht "halbwegs" ähnlich wie Logik CMOS ist kann ich mir 
gedanklich da keine Brücke bauen.

von Ulrich (Gast)


Lesenswert?

Eine Schaltung zur Division ist halt wirklich aufwendig. Da ist der Weg 
mit dem EPROM schon nicht so schlecht.

Mit Standard Logic ICs sollte man schon so mit etwa 10-50 ICs rechnen, 
je nach Auflösung und Genialität der Schaltung. Die Rechenfunktionen aus 
der TTL Serie sind außerdem vermutlich auch zunehmend schwer zu bekommen 
(vor allem in einer Stromsparenden CMOS Version), weil es einfach keiner 
mehr braucht.

von Jan T. (cmoses-xd)


Lesenswert?

ich schätze für den Teiler brauche ich 6-8 IC zusätzlich
und die reine Messschaltung hat 6 IC's macht zusammen mind 12 ICs.
Aber besser als nix :-)

Ich frag mich nur ob das wirklich so schwer ist,
oder ob mann nicht einen simplen Divide-by-N IC per preset auf
die gemessenen µS stellen kann und dann mit vielleicht 2 ICs auskommt 
statt mit 6.
Da hilft wohl nur ausprobieren :-)

von John B. (johnbauer)


Lesenswert?

Jan T. schrieb:
> Das mit den CMOS ICs bekomme ich noch hin, ist zwar etwas größer aber
> dafür einfacher - wie LEGO ;-)

Lego kann auch rechnen:
http://www.geeky-gadgets.com/lego-calculator/

Aber Du möchtest wohl eher so was bauen:
http://acarol.woz.org/difference_engine.html
http://acarol.woz.org/antikythera_mechanism.html

Gruß
John

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Jan T. schrieb:
> Ich frag mich nur ob das wirklich so schwer ist,

Offensichtlich so scher das du hier fragen musst. Es hat schon seinen 
Grund, das erst die "großen" CPUs einen HW dividierer drin haben und 
dort dann auch meist mehrere Takte für verbraten werden, das lässt sich 
einfach nicht sinnvoll in diese Schaltung integrieren, da die ganze 
Funktion davon abhängt das einfach in jedem Takt etwas passiert (oder 
auch nicht wenn der Takt gesperrt ist).

Jan T. schrieb:
> Die Controller die Ich gesehen habe, da wirkt das eher wie ein PC
> Programm schreiben (C oder Assembler) und da ist für mich nix zu machen

Aha... also man kann erstmal µC auch in Assembler programmieren, das ist 
dann auch nicht anders als HW Bausteine zu verdrahten, ansonsten 
erschließt sich mir nicht wieso ein simples:
1
int ergebnis = 1000/zählerstand;
 einen jetzt dermaßen mental überfordern sollte.

von Willi (Gast)


Lesenswert?

Edi R. schrieb:
> Der Ansatz ist interessant, aber werden Eingangsfrequenz und BCD-Eingang
> dabei nicht multipliziert statt dividiert?

Zumindest Einer, das aufgepasst hat. Es wird beides gemacht. Zum einen 
durch 10 geteilt dann aber doch wieder mit der anliegenden Zahl 
multipliziert. Das ist hier wohl nicht so geschickt. Oder man legt den 
Kehrwert an :-)

Also neues Verfahren: fortlaufende Subtraktion des Divisors von 100000, 
bis ein Unterlauf erfolgt. Ergebnis ist dann Anzahl der Subtraktionen - 
1 wegen 'borrow'.

Das waren echt harte Zeiten, als es noch keine µCs gab!

von (prx) A. K. (prx)


Lesenswert?

Willi schrieb:

> Das waren echt harte Zeiten, als es noch keine µCs gab!

Nö, im Gegenteil, die waren einfacher als heute. Man nahm ganz banal 
eine althergebrachte Stoppuhr, baute eine andere Skala dran, und war 
fertig. Das beherrschte man wohl schon vor einem halben Jahrtausend und 
es verzierte manche Zeiger-Armbanduhr als Hilfs-Skala aussenrum.

Erst seit Digitalisierung mit Zahlenanzeige statt Skala zermartern sich 
die Leute das Hirn, wie man es möglichst umständlich numerisch dividiert 
kriegt. Davor hat man das nicht zur Laufzeit gemacht, sondern dies 
vorneweg den "Compiler" erledigen lassen (lies: beim Zeichnen der 
Skala).

von John B. (johnbauer)


Angehängte Dateien:

Lesenswert?

Hier mein Vorschlag (das Prinzip wurde ja schon genannt: fortlaufende 
Subtraktion).

Der Rückwärtszähler wird auf 100000 voreingestellt und der 
Aufwärtszähler zählt so oft bis zum Messergebnis, bis der 
Rückwärtszähler "0" erreicht hat (Auf- Rückwärtszähler zählen 
gleichzeitig). Die Anzahl der Durchläufe entspricht der Vorkommastelle.
Der Aufwärtszähler enthält jetzt den "Rest". Dieser wird um eine Stelle 
nach links versetzt in den Rückwärtszähler übernommen (Multiplikation 
mit 10 -> "borrow"). Und im Ergebnis wird jetzt das Komma gesetzt.
Jetzt wieder zählen bis der Rückwärtszähler "0" erreicht hat. Die Anzahl 
der Durchläufe entspricht der ersten Nachkommastelle.
Für jede weitere Stelle: wieder den Rest *10 in den Rückwärtszähler 
übernehmen und Zählen.

Ich hoffe das war einigermaßen verständlich.

Gruß
John

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Und wo kommt der Kasten "Steuerung" her wenn der TE doch unter keinen 
Umständen etwas Programmieren möchte? ;)

von John B. (johnbauer)


Lesenswert?

Läubi .. schrieb:
> Und wo kommt der Kasten "Steuerung" her wenn der TE doch unter keinen
> Umständen etwas Programmieren möchte? ;)

Die Steuerung besteht selbstverständlich auch nur aus diversen Zählern, 
Flipflops und Vergleichern etc.

von Nur mit Prozessor (Gast)


Lesenswert?

Jan T. schrieb:
> Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit
> Mikrocontroller.

Bleibt nur die Frage: Warum will sich das jemand freiwillig antun?

von Klaus W. (mfgkw)


Lesenswert?

Ich würde mal sagen: Was der Bauer nicht kennt, das frisst er nicht.
Man kann das tote Pferd ja solange schlagen, bis es sich wieder bewegt.

von John B. (johnbauer)


Lesenswert?

Klaus Wachtler schrieb:
> Ich würde mal sagen: Was der Bauer nicht kennt, das frisst er nicht.

Ja genau. Alles was ich nicht kenne fresse ich nicht.

von Jan T. (cmoses-xd)


Lesenswert?

Läubi .. schrieb:
> Jan T. schrieb:
>> Ich frag mich nur ob das wirklich so schwer ist,
>
> Offensichtlich so scher das du hier fragen musst. Es hat schon seinen
> Grund, das erst die "großen" CPUs einen HW dividierer drin haben und
> dort dann auch meist mehrere Takte für verbraten werden, das lässt sich
> einfach nicht sinnvoll in diese Schaltung integrieren, da die ganze
> Funktion davon abhängt das einfach in jedem Takt etwas passiert (oder
> auch nicht wenn der Takt gesperrt ist).
Offensichtlich doch nicht, wie der Vorschlag von John Bauer zeigt ;-)
Im Titel steht ich suche eine Tipp, welche Möglichkeiten es gibt
mit Logikbausteinen das Problem zu lösen. Die Idee mit den 2 Zählern
werde ich demnächst ausprobieren wenn ich Zeit habe.

> Jan T. schrieb:
>> Die Controller die Ich gesehen habe, da wirkt das eher wie ein PC
>> Programm schreiben (C oder Assembler) und da ist für mich nix zu machen
>
> Aha... also man kann erstmal µC auch in Assembler programmieren, das ist
> dann auch nicht anders als HW Bausteine zu verdrahten, ansonsten
> erschließt sich mir nicht wieso ein simples:
>
1
int ergebnis = 1000/zählerstand;
 einen jetzt dermaßen mental
> überfordern sollte.
1. das was ich gesehen habe ist definiv nicht das Gleiche wie CMOS 
verdrahten! (welcher µC ist angeblich ähnlich?)
2. Es geht darum die Geschwindigkeit von Projektilen zu messen. Ich habe 
damit vor, viele Messungen in Reihe kurz hintereinander durch zu führen. 
Dabei würde eine Pause stören,unpraktissch sein und auch in einigen 
Fällen das Ergebnis verfälschen. Wenn jemand in max. 1 Sekunde oder auch 
weniger 1/x im 4 stelligen Bereich im Kopf rechnen kann, dann glaube ich 
das nicht ohne Beiweiß.

Nur mit Prozessor schrieb:
> Jan T. schrieb:
>> Das ganze möchte ich in CMOS bauen, notfalls auch mit TTL aber nicht mit
>> Mikrocontroller.
>
> Bleibt nur die Frage: Warum will sich das jemand freiwillig antun?
Die Frage ist obsolet, die Habe ich schon beantwortet bevor Sie gestellt 
wurde.

Klaus Wachtler schrieb:
> Ich würde mal sagen: Was der Bauer nicht kennt, das frisst er nicht.
> Man kann das tote Pferd ja solange schlagen, bis es sich wieder bewegt.
und Ich würde mal sagen der Klaus frisst wahrscheinlich zuviele µC ;-)
Die Idee mit dem Pferd ist pervers; wie man von Logik-ICs auf 
Tierschändung kommt? wohl eine Charakterfrage , auf jeden Fall sehr 
makaber...


zum Schluss möchte ich mich noch für die konstruktiven Beiträge 
bedanken:
John Bauer
Willi (Gast)
ein bastler (Gast)
Ulrich (Gast)


Zu den Leuten die hier infantile Kommentare geposted haben sage ich mal 
folgendes:
Es ist nicht der Sinn eines Forums andere Leute vermeintlich lächerlich 
zu machen, sondern sich gegenseitig zu helfen.
Das habt ihr wohl noch nicht mitbekommen oder absichtlich überlesen.
Narzissmus bei "Fach"-Nerds ist wohl sehr verbreitet und verzehrt die 
eigene Wahrnehmung....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jan T. schrieb:
> Ich habe eine starke Abneigung gegen abstraktes programmieren.
> Bei den CMOS kann ich mir alles noch bildlich vorstellen.
Ich hatte schon fast einen Beitrag abgesendet, in dem ich auf ein FPGA 
verweisen wollte (wie das: 
http://www.lothar-miller.de/s9y/categories/24-Rechnen und das: 
http://www.lothar-miller.de/s9y/categories/44-BCD-Umwandlung), bin dann 
aber aufgrund der Vehemenz, mit der du Einzelgatter propagiert hast, 
wieder davon abgekommen. Ich finde es bemerkenswert, dass DU anhand 
eines Haufens schwarzer Plastikklumpen anschaulich die Funktion einer 
Platine nachvollziehen kannst. Ich brauche da immer deutlich länger, 
wenn ich vor einem Board mit 200 TTLs sitze...

BTW1:
Jan T. schrieb:
> Es ist nicht der Sinn eines Forums andere Leute vermeintlich lächerlich
> zu machen, sondern sich gegenseitig zu helfen.
Nicht schaden kann aber, auch mal über die vermeintlich abwegigen 
Kommentare nachzudenken.
> und verzehrt (Autokorrektur --> verzerrt) die eigene Wahrnehmung....
Nicht-Nachdenken bei ausgeprägtem "Ich-will-das-aber-genauso-machen" (in 
der Chemie bekannt als Nanobeschichtung, woran alles abperlt) führt auch 
zu dem beschriebenen Effekt...

BTW2:
Jan T. schrieb:
> Die Idee mit dem Pferd ist pervers; wie man von Logik-ICs auf
> Tierschändung kommt?
Nur DU bist darauf gekommen... :-o
Andere sehen darin ein altes Sprichwort, das Bauern schon lange vor der 
Einführung des Traktors kannten...
> wohl eine Charakterfrage , auf jeden Fall sehr makaber...
Also eher eine Frage das Allgemeinwissens...  ;-)

von Purzel H. (hacky)


Lesenswert?

Alternativ kann man die Aufgabe mit einem EPROM loesen. Man befuellt das 
EPROM mit den gerechneten Werten. Der Eingangswert ist die Adresse.

von Michael (Gast)


Lesenswert?

Jan T. schrieb:
> Es ist nicht der Sinn eines Forums andere Leute vermeintlich lächerlich
> zu machen, sondern sich gegenseitig zu helfen.

Hallo Jan,
aus dem Verlauf des Thread scheint sich immer deutlicher 
herauszukristallisieren, dass keine wirklich nützlichen Beiträge zu dem 
von dir gewählten Titel des Threads kommen, weil offensichtlich keine 
(bekannte?) handhabbare Lösung existiert. Kein Wunder, dass die Hilfe 
deshalb in dem Versuch besteht, dich von deinem ursprünglichen Plan 
abzubringen und auf eine mit einfachen Mitteln und ein bisschen 
Offenheit für den aktuellen Stand der Technik gangbaren Weg zu führen.
mfg
Michael

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Jan T. schrieb:
> Offensichtlich doch nicht, wie der Vorschlag von John Bauer zeigt ;-)

Hättest du dir den Vorschlag mal genauer angeschaut, wäre dir dieses 
kleine Kästchen "Steuerung" aufgefallen, welches man wohl besser 
Ablaufsteuerung genannt hätte, und da liegt genau der Punkt: Hier ist 
eine Statusmaschine nötig, die man natürlich auch in CMOS realisieren 
KÖNNTE, dann machst du aber nix anderes als das was ein Controller schon 
enthält nochmal in CMOS nachzubauen nur mit dem Nachteil, das das 
"Programm" fest verdrahtet ist.

Auch würde sowas mitnichten in einem Takt ablaufen (deshalb auch die 
nötige Ablaufsteuerung).

Jan T. schrieb:
> Ich habe damit vor, viele Messungen
> in Reihe kurz hintereinander durch zu führen
Was ist viele und was ist kurz hintereinander? Ein Standardcontroller 
langweilt sich doch dabei und kann nebenher noch die Division 
durchführen und das ganze wird nicht größer als 'ne Streichholzschaltel 
im Vergleich zu dem benötigtem Kuchenblech für deine "diskrete" Lösung.

Jan T. schrieb:
> das was ich gesehen habe ist definiv nicht das Gleiche
> wie CMOS verdrahten!
Kommt halt drauf an was man für Ähnlich erachtet. EInmalö kann man 
CPLDs/FPGAs z.B. auch Graphis Programmieren auf Gatterebene, ansonsten 
finde ich das ein
1
and r10, r11
 mit ein klein wenig Phantasie als die Verdrahtung eines Undgatters 
gesehen werden kann wenn man sich die Register einfach als 8-bit breite 
"Kabel" vorstellt.

ABer ist ja letztendlich dein Bier, aber eine Division ist ganz sicher 
nichts was man mal eben als fertigen Baustein findet.

von Jan T. (cmoses-xd)


Lesenswert?

Lothar Miller schrieb:
> Jan T. schrieb:
>> Ich habe eine starke Abneigung gegen abstraktes programmieren.
>> Bei den CMOS kann ich mir alles noch bildlich vorstellen.
> Ich hatte schon fast einen Beitrag abgesendet, in dem ich auf ein FPGA
> verweisen wollte (wie das:
> http://www.lothar-miller.de/s9y/categories/24-Rechnen und das:
> http://www.lothar-miller.de/s9y/categories/44-BCD-Umwandlung), bin dann
> aber aufgrund der Vehemenz, mit der du Einzelgatter propagiert hast,
> wieder davon abgekommen. Ich finde es bemerkenswert, dass DU anhand
> eines Haufens schwarzer Plastikklumpen anschaulich die Funktion einer
> Platine nachvollziehen kannst. Ich brauche da immer deutlich länger,
> wenn ich vor einem Board mit 200 TTLs sitze...
hier ist auch nur die Rede von ca 12 und nicht 200 :-)

> BTW1:
> Jan T. schrieb:
>> Es ist nicht der Sinn eines Forums andere Leute vermeintlich lächerlich
>> zu machen, sondern sich gegenseitig zu helfen.
> Nicht schaden kann aber, auch mal über die vermeintlich abwegigen
> Kommentare nachzudenken.
>> und verzehrt (Autokorrektur --> verzerrt) die eigene Wahrnehmung....
> Nicht-Nachdenken bei ausgeprägtem "Ich-will-das-aber-genauso-machen" (in
> der Chemie bekannt als Nanobeschichtung, woran alles abperlt) führt auch
> zu dem beschriebenen Effekt...
Du fühlst dich anscheinend angesprochen, langsam wird es lächerlich.
Es geht nicht darum "Ich-will-das-aber-genauso-machen", sondern 1.ich 
kann es nicht anders und 2.dauert die Einarbeitung in µC und das 
Programmieren
unverhältnissmäsig lang. (von 0 auf 100 in wiewiel Monaten/Jahren??)
Daher die angesprochene Nanoschicht hast du wohl selbst,
weil du die Problematik auf eine Nanoschicht zurückführst,
anstatt auf die reale Aufgabe.

> BTW2:
> Jan T. schrieb:
>> Die Idee mit dem Pferd ist pervers; wie man von Logik-ICs auf
>> Tierschändung kommt?
> Nur DU bist darauf gekommen... :-o
> Andere sehen darin ein altes Sprichwort, das Bauern schon lange vor der
> Einführung des Traktors kannten...
>> wohl eine Charakterfrage , auf jeden Fall sehr makaber...
> Also eher eine Frage das Allgemeinwissens...  ;-)
DU beziehst dich auf Allgemeinwissen und bestreitest, das tote Tiere zum 
Spass zu schlagen keine Tierschändung ist...Ja alles klar ;-).
Anstatt sich Traktoren einzuführen, wäre ein Abbau der Nanoschicht
zur sinvolleren Aufnahme von "Allgemeinwissen" angebracht ;-).
Hier postet wohl immer der gleiche "Gast" oder auch sein "Freund"....
Schau dir mal die Antwort von Micheal und Läubi an,
und nimm dir das zum Vorbild.

-----------------------------------------

Michael schrieb:
> Jan T. schrieb:
>> Es ist nicht der Sinn eines Forums andere Leute vermeintlich lächerlich
>> zu machen, sondern sich gegenseitig zu helfen.
>
> Hallo Jan,
> aus dem Verlauf des Thread scheint sich immer deutlicher
> herauszukristallisieren, dass keine wirklich nützlichen Beiträge zu dem
> von dir gewählten Titel des Threads kommen, weil offensichtlich keine
> (bekannte?) handhabbare Lösung existiert. Kein Wunder, dass die Hilfe
> deshalb in dem Versuch besteht, dich von deinem ursprünglichen Plan
> abzubringen und auf eine mit einfachen Mitteln und ein bisschen
> Offenheit für den aktuellen Stand der Technik gangbaren Weg zu führen.
> mfg
> Michael

Hallo,
vielen Dank für den Hinweiß und die nützliche Antwort.
Zu dem Plan muss ich sagen das bisher Niemand der "µC-Fanatiker" (oder 
auch der normalen µC-Nutzer) einen Vorschlag gemacht hat welcher µC sich 
z.B. für mich eignen würde ohne die Logik nach einem Programmierschema 
zu gestallten, sondern auch grafischer Basis so wie man es mit CMOS auch 
machen kann.
Wenn man sich das grafisch wie z.B. einem Modualsynthesizer aufbauen 
könnte
wäre das sehr gut. Es lohnt sich jedoch nicht für eine einzige
Aufgabe ca. 1 Jahr sich damit zu beschäftigen C oder generell 
programmieren zu lernen (und in Boards und µC zu investieren).
Sicher wird es auch Leute geben die das in 6 Monaten hinbekommen ...
Ich bin aber nicht der Programmierer Typ
und habe aber auch noch ein Privat- und Berufsleben. Wie gesagt es geht 
hier um eine einzige "Hobby"-Aufgabe wo nutzen und Aufwand entscheidet 
und nicht die Größe der Platine :-) (um es vorweg zu nehmen, 12 CMOS ICs 
verdrahten dauertweniger als 1 Tag bei mir)


-------------------------------------------------------


Läubi .. schrieb:
> Jan T. schrieb:
>> Offensichtlich doch nicht, wie der Vorschlag von John Bauer zeigt ;-)
>
> Hättest du dir den Vorschlag mal genauer angeschaut, wäre dir dieses
> kleine Kästchen "Steuerung" aufgefallen, welches man wohl besser
> Ablaufsteuerung genannt hätte, und da liegt genau der Punkt: Hier ist
> eine Statusmaschine nötig, die man natürlich auch in CMOS realisieren
> KÖNNTE, dann machst du aber nix anderes als das was ein Controller schon
> enthält nochmal in CMOS nachzubauen nur mit dem Nachteil, das das
> "Programm" fest verdrahtet ist.
>
> Auch würde sowas mitnichten in einem Takt ablaufen (deshalb auch die
> nötige Ablaufsteuerung).
Wenn das Programm fest ist, habe ich kein Problem damit.
Es soll ja 1 Gerät mit einer bestimmten Aufgabe werden die nicht 
verändert wird.

> Jan T. schrieb:
>> das was ich gesehen habe ist definiv nicht das Gleiche
>> wie CMOS verdrahten!
> Kommt halt drauf an was man für Ähnlich erachtet. EInmalö kann man
> CPLDs/FPGAs z.B. auch Graphis Programmieren auf Gatterebene, ansonsten
> finde ich das ein
1
and r10, r11
 mit ein klein wenig
> Phantasie als die Verdrahtung eines Undgatters gesehen werden kann wenn
> man sich die Register einfach als 8-bit breite "Kabel" vorstellt.
>
> ABer ist ja letztendlich dein Bier, aber eine Division ist ganz sicher
> nichts was man mal eben als fertigen Baustein findet.
Vielen Dank für den Hinweiß, ich habe mal kurz nachgeschaut und die 
FPGAs scheinen eher Richtung mini PC zu driften , die CPLDs eher das was 
ich evt verwenden könnte.
Mir ist wichtig für eine einzige Aufgabe nicht gleich einen PC mit 
USB,Ethernet usw zu bauen  (überspitzt gesagt), wenn es normale 
Logikgatter
dafür auch reichen würden.(nur eben mit einem Größenunterschied)
Bisher habe ich auf der Link sammlung nur das Modkit gefunden
(http://www.mikrocontroller.net/articles/Linksammlung)
Gibt es noch weitere "grafische" Programmiermöglichkeiten?

von John B. (johnbauer)


Lesenswert?

Ich glaube nicht, dass 12 ICs reichen. Auch wenn mein Vorschlag recht 
übersichtlich aussieht, braucht man dafür bestimmt 20 bis 30 ICs 
(mindestens).
Auch wenn Du zwei Tage brauchen würdest, das ganze zu verdrahten, 
brauchst Du zuerst die konkrete Schaltung. Und um diese zu entwickeln 
reicht ein Wochenende nicht aus.
Hast Du einen Simulator? Dieser ist für die Entwicklung bestimmt sehr 
nützlich:
http://ozark.hendrix.edu/~burch/logisim/

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jan T. schrieb:
> Du fühlst dich anscheinend angesprochen,
Ja. Aber du hast den Hintersinn offenbar nicht verstanden....
Seis drum.

Jan T. schrieb:
> Es geht nicht darum "Ich-will-das-aber-genauso-machen", sondern
> 1.ich kann es nicht anders und
Die Abhilfe dazu heißt: Lernen. Und die Zeit, die du in solche 
Hardwarebasteleien vergräbst, könntest du in uC-Programmierung 
investieren.
> Wie gesagt es geht hier um eine einzige "Hobby"-Aufgabe wo nutzen
> und Aufwand entscheidet
Ist das dein letzes Projekt? Du kannst dir nicht vorstellen nochmal so 
eine Aufgabe angehen zu wollen? Willst du auch in 10 Jahren alles noch 
mit TTL-ICs aufbauen?
> 2.dauert die Einarbeitung in µC und das Programmieren ... lang.
Nur zur Erinnerung: ich war der mit VHDL und den CPLDs/FPGAs...
> (von 0 auf 100 in wiewiel Monaten/Jahren??)
Mit uCs mit deinen Vorkenntnissen (Platine mit 20 ICs in 1 Tag gefädelt) 
schaffst du deine Aufgabe ohne vorkenntnisse in luftigen 2 Wochen.
Mit FPGAs dauert es markant länger und der Weg ist ein wenig steiniger. 
Aber es ist Hardware und macht Spass... ;-)

Jan T. schrieb:
> Vielen Dank für den Hinweiß, ich habe mal kurz nachgeschaut und die
> FPGAs scheinen eher Richtung mini PC zu driften , die CPLDs eher das was
> ich evt verwenden könnte.
Nur sind CPLDs leider 1. am Aussterben und 2. für deine Aufgabe 
eigentlich zu klein. Ich habe es gerade eben ausprobiert:
>>> Beispiel:
>>> Eine Zählerdekade (4 ICs= 4 Ziffern)
>>> hat bis zu einer Bestimmten Zahl gezählt und dann gestoppt (4536).
>>> Jetzt soll diese Zahl verwendet werden um den Wert 100000
>>> mit eben der Zahl des Zählers zu teilen: 100000/4536= 22,048
Ok, du willst drei Nachkommastellen, d.h. als Integer-Division wird das 
dann 100000000/4536000=22048 und anschliessend wird das Komma 
entsprechend gesetzt (BTW: einfacher wäre es hier den Divisor 100000 um 
den Faktor 1024 hochzuskalieren, denn dann ist die Hochskalierung des 
Dividenden ein einfaches Umverdrahten). Das heißt: du brauchst einen 
Teiler mit 28 Bit Eingangsbreite. Der passt nicht in ein "übliches" mit 
144 Makrozellen, weil schon 147 FFs gebraucht werden. Wenn du keine 
Nachkommastellen willst, dann hättest du 17 Bits, das resultiert in 93 
FFs, trotzdem pass das Design wegen der Routing-Ressourcen nicht in ein 
Xilinx 9500 CPLD. Ein XCR3256XL-7-TQ144 würde aber reichen... ;-)

> Mir ist wichtig für eine einzige Aufgabe nicht gleich einen PC mit
> USB,Ethernet usw zu bauen  (überspitzt gesagt), wenn es normale
> Logikgatter dafür auch reichen würden.
> (nur eben mit einem Größenunterschied)
Als kleine Nachdenk-Hilfe und evtl. Fortbildungs-Anstoß: ich brauchte da 
mal ein Signal, das ca. 5 Minuten nach dem Einschalten kommen musste. 
Randbedingung: so gut wie kein Platz. Alle Versuche, das mit einem 555er 
oder CMOS-ICs zu machen, fielen zu groß aus. Irgendwann nahm ich dann 
einen 6-Pin uC im SOT63 Gehäuse, dessen internen Oszillator, und fertig 
war die Laube. Ein Programm mit 10 Zeilen (vorrangig eine Schleife um 
ein Delay) war nach 10 Minuten geschrieben.

von Peter D. (peda)


Lesenswert?

Jan T. schrieb:
> 1.ich
> kann es nicht anders und 2.dauert die Einarbeitung in µC und das
> Programmieren
> unverhältnissmäsig lang. (von 0 auf 100 in wiewiel Monaten/Jahren??)

Du mußt nicht auf 100%, für Deine Aufgabe reicht es, wenn Du 10% 
schaffst.
Du kannst ja erstmal nur die Division in SW machen und wenn Du dann Blut 
geleckt hast, auch die Zeitmessung und Anzeige.

Heutzutage hat ja eigentlich jeder in der Schule schon mal programmiert, 
also ganz unbedarft kannst Du ja nicht sein,
Bei MCs sind 2 Programmiersprachen populär, C oder Bascom.

Neben der Division brauchst Du noch 2 Funktionen, die dezimal nach binär 
wandeln und zurück, da eine CPU immer nur binär rechnet. Aber die sind 
bereits in den Bibliotheken drin, muß man nicht selber schreiben.

Du mußt Dir erstmal garnichst kaufen. Lade Dir von Atmel das AVRStudio4 
und den WINAVR runter, installiere es und probier mit dem Simulator rum.
Oder lade die Bascom-Demo runter.


Ich hab früher auch viel mit Logik-ICs gemacht, aber sowas kann ich 
nicht aus dem Ärmel schütteln bei erträglichem Aufwand.


Peter

von Holm T. (Gast)


Lesenswert?

@Jan T:
Die Welt ist pöse. Alle sind pöse. Keiner will Dir verraten wie es mit 
den von Dir angestrebten einfachen Mitteln möglich ist Dein Problem zu 
lösen, Sowas Dummes aber auch. Wenn ein Hammer das einzige Werkzeug ist 
das man besitzt, fängt alles um einen herum an wie ein Nagel 
auszusehen..

Du willst Rechnen und wunderst Dich darüber das Leute Dir einen Rechner 
für die Aufgabe nahe legen.
Wenn Du mit CMOS Logik ICs klar kommst, kommst Du auch mit Assembler und 
µC klar, Du mußt nur wollen, nach einer guten Woche funzt das Ding und 
es kann mehr als die Division, z.B. die ganze Anzeige multiplexen und 
evtl. Tasten abfragen.
Du mußt nur wollen, helfen werden Dir dann hier sicher Einige.
Wenn Du natürlich nur CMOS Logikgatter verdrahten kannst und auch nicht 
lernen willst: Keine Hände, keine Kekse!

Evtl. ist Dir ja die AM29C01 oder 74C181 primitiv genug um Dich 
einzuarbeiten, ach so ja, man braucht dazu noch eine Ablaufsteuerung 
vorzugsweise mit Mikroprogrammspeicher aka Steuerwerk, Datenbusse, 
Datenspeicher für Festwerte und veränderliche Daten, Taktgeneratoren und 
mehrere Hände voll Logik-ICs und Treiber..


Gruß,

Holm

von John B. (johnbauer)


Angehängte Dateien:

Lesenswert?

Hallo Jan,
Du kannst den anderen ruhig glauben. Ich bin auch der Meinung, dass Du 
in der Zeit, die Du brauchen würdest das ganze mit CMOS-ICs aufzubauen, 
Du dich genau so gut in die µC-Programmierung einarbeiten könntest.

Ich greife desshalb mal den Vorschlag mit den EPROMs auf. Die von
 - ein bastler (Gast)
 - Ulrich (Gast)
 - Multi Oschi (Firma: ooh) (hacky)
kamen.
Vor vielen Jahren hatte ich mal einen Decoder für eine Matrixanzeige mit 
EPROMs gebaut, das war vom Prinzip ähnlich. Und ich denke, dass dies die 
einfachste Lösung ohne µC ist.

Die zwei 4520 braucht man, weil deine Schaltung Zähler mit 
7-Segment-Decoder verwendet. Für die EPROMs ist ein Binärcode zur 
Ansteuerung wesentlich günstiger. Angesteuert werden die vier 
Binärzähler von Clock und Reset aus der bestehenden Schaltung.
Die EPROMs enthalten, für jeden Zählerstand, die berechnete 
Geschwindigkeit in m/s (pro EPROM zwei Dezimalstellen). Für die 4511 
benötigt man 7-Segmentanzeigen mit gemeinsamer Kathode.
Aus reinem Interesse hab ich mal ein Programm geschrieben, welches die 
EPROM-Daten berechnet. Hat ca. 1/2 Stunde gedauert. Die Daten befinden 
sich im Anhang.

Der Messbereich reicht von
1,526 m/s (65535 µs) bis 990.099 m/s (101 µs)

1..100 µs werden als 0__.__0 dargestellt (überlauf)
0 µs wird als 00_.___ dargestellt

Gruß
John

von DirkB (Gast)


Lesenswert?

Und wie soll er jetzt die EPROMs brennen?

Er hat noch nicht programmiert, er will nicht programmieren, wozu sollte 
er da einen EPROM-Brenner haben?

Du hast ihm ja jetzt schon Arbeit abgenommen, aber ich denke, für Jan 
bleibt das ganze Teufelszeug.

Trotzdem, welchen µC würdet ihr vorschlagen?

Den AVR Butterfly? Der ist fertig mit Display.
Oder ...

von Nur mit Prozessor (Gast)


Lesenswert?

Jan T. schrieb:
> 1.ich kann es nicht anders

Du meintest: Du willst es nicht anders. Das ist ein Unterschied.

> 2.dauert die Einarbeitung in µC und das Programmieren
> unverhältnissmäsig lang. (von 0 auf 100 in wiewiel Monaten/Jahren??)

Etwas so einfaches sollte selbst für einen Anfänger in ein oder zwei 
Tagen machbar sein. Aber wenn man schon morgens mit einer 
Verweigerungshaltung aufsteht, dann ist natürlich Hopfen und Malz 
verloren.

von martin (Gast)


Lesenswert?

@Jan

Wenn Du schon 4 ICs brauchst um die Impulse zu zaehlen, dann glaubst Du 
doch nicht ernsthaft mit 12 ttl ICs eine Division zu schaffen.

von Harald M. (mare_crisium)


Lesenswert?

Jan,

mir ist egal, ob und mit welchem Aufwand Dein Vorhaben praktisch 
umgesetzt werden kann - ich finde es auch als reine Denksportaufgabe 
interessant.

Hast Du schonmal was von "stochastischer Mathematik" gelesen? Man kann 
Zahlen nämlich auch anders als als Binärzahlen darstellen: Nämlich 
einfach als Anzahl Impulse in einem Zeitfenster fester Länge. Also: Eine 
10 wird dargestellt, indem innerhalb des festen Zeitfensters 10 Impulse 
gesandt werden. Damit man mit solchen Impulsfolgen auch rechnen kann, 
muss man dafür sorgen, das die Impulse untereinander keinen festen 
Abstand haben, sondern statistisch über das Zeitfenster verteilt sind. 
Daher das Adjektiv "stochastisch".

Additionsglieder bestehen bei dieser Technik aus einem einfachen 
OR-Gatter; Subtraktionsglieder aus einem AND. Multiplikationen und 
Divisionen sind aufwendiger, es geht aber auch.

Die Anwendungsmöglichkeiten sind interessant: Das Nervensystem codiert 
seine Botschaften ja auch nicht in Binärzahlen, sondern als 
Impulsfolgen.

Ciao,

mare_crisium

von m.n. (Gast)


Lesenswert?

John Bauer schrieb:
> Aus reinem Interesse hab ich mal ein Programm geschrieben, welches die
> EPROM-Daten berechnet. Hat ca. 1/2 Stunde gedauert.

Da ich gerade mit AVR Studio spiele, habe ich eine halbe Stunde 
verbracht, um die gesamte Meßaufgabe in einen ATmega88 zu packen. INT0 
und INT1 sind die Eingänge für die Lichtschranken und die Ausgabe 
erfolgt mit einem LCD 2x16, was die Zeit (1. Zeile) und Geschwindigkeit 
(2. Zeile) anzeigt.
Mit obigem Beispielwerten kommen bei 4.5360ms allerdings 22.046 m/s 
heraus :-)
Wenn mal wieder schlechtes Wetter ist, packe ich es ggf. in die 
Codesammlung.

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Es geht auch mit adder, inv und xor CMOS IC.
Hab mal die parallele Schaltung im unteren Drittel auf der Seite:
http://www.cs.umbc.edu/~squire/cs411_l10.html
in Logisim nachgebaut.
http://ozark.hendrix.edu/~burch/logisim/

Ist aber nur 7bit / 4bit. 100000 braucht 17bit.
Das ist mir aber schon im Simulator zu viel Aufwand :-)

Wer Lust hat kann die Schaltung ja noch erweitern.

Den full adder kann man auch noch zerlegen:
http://en.wikipedia.org/wiki/Adder_%28electronics%29

von Harald M. (mare_crisium)


Lesenswert?

Harald M. schrieb:
>
> Hast Du schonmal was von "stochastischer Mathematik" gelesen?
>

Da hab' ich einen Fehler gemacht: Der Fachausdruck heisst "stochastische 
Rechentechnik". War schon spät gestern.

Ciao,

mare_crisium

von Jan T. (cmoses-xd)


Lesenswert?

Hallo,
vielen Dank für die vielen Tipps, logisim sieht interessant aus.
Kann man damit auch Entwürfe irgendwie in einen µC übertragen? (oder ist 
das nur für Lehrzwecke bestimmt?)

@Lothar Miller
zu der Genauigkeit, die muss nur 1 Meter/s sein und darf zusätzlich eine 
Toleranz von +-1m haben und die  Kommastellen brauche ich nicht.
Das meiste was ich messen will ist in der Regel 50m/s oder schneller
(Armbrust,CO2 Softair,Luftdruckgewehr, und später
für ein Coilgunprojekt)
Ich habe gerade gesehen es gibt auch 8 Pin µC mit weißwasichfürfeatures 
:-)
http://ww1.microchip.com/downloads/en/devicedoc/40040b.pdf

@ John Bauer
ich hatte zwischendurch auch die Idee die Division mit einer 
"Übersetzungstabelle" zu umgehen , aber das war dann zu aufwändig,
jedenfalls ohne einen großen Speicher.
Danach hatte ich die Idee Mit dem cd4018 cmos
einen Teiler aufzubauen, und falls das funtioniert wie ich mir das denke 
dann würde ich probieren diesen auf 16 Bit vergrößern.
(http://pdf1.alldatasheet.com/datasheet-pdf/view/26855/TI/CD4018.html)
Wie soll dein Vorschlag so mit den eproms funtionieren, ich dachte das 
sind nur Speicher? (bzgl. dem auslesen der Werte)
Welches Programm benutzt du für das Diagramm?

@ Dirk, danke ich habe mir das Board mal angeschaut, ich habe auch etwas 
gefunden das vielleicht besser ist: Arduino Einsteigerset.
(und das dann mit Modkit bearbeiten)

@ Nur mit Prozessor
Wie schon gesagt ich habe einfach die Schwierigkeit
von Digital Elektronik auf die C-Prgrammierung zu kommen,
das ist für mich ein komplett anderes Fach.
Das sollte man nicht missverstehen, ich kann mich zwar gut in 
Logikschaltungen reindecken und modifizieren aber die
"Handhabung" bzw die Denkweise in C ist komplett anders.
Ich hatte auch mal vor 2 Jahren angefangen mich in C einzulesen habe
dann aber nach 8 Kapiteln abgebrochen weil ich keinen Sinnbezug
zur Praxis herstellen konnte. Für mich liegen da schon Welten zwischen
C und Digital Logik.
daher bitte keine verweigerungsreininterpretationen mehr :-)

@ Holm Tiffe
für die beiden ICs gibts gar keine Datenblätter bei alldatasheet.com.
Das ist aber auch egal, weil es die nicht mehr bzw. nur noch zu 
Sammlerpreisen gibt ;-). Der 74C181 ist noch auf einem meiner orginal 
T.I. Wandposter aufgeführt (aus den 70ern hab es geerbt) xD
Ich werde mir dann mal Assembler anschauen für µC danke für den Tipp

von John B. (johnbauer)


Angehängte Dateien:

Lesenswert?

Jan T. schrieb:
> Wie soll dein Vorschlag so mit den eproms funtionieren, ich dachte das
> sind nur Speicher? (bzgl. dem auslesen der Werte)
> Welches Programm benutzt du für das Diagramm?

Richtig. Ein EPROM ist nur ein Speicher.
Der 27C512 hat 16 Adressleitungen (Eingänge) und 8 Datenleitungen 
(Ausgänge).
An den Adressleitungen liegt der gemessene Wert in µs (Binär), und am 
Ausgang der gespeicherte Wert in m/s. Zum Beispiel ist im EPROM in 
Adresse 4536 der Hex-Wert 0x22 gespeichert. Der Wert an den 
Datenleitungen wird über die zwei BCD-7Sgegmentdecoder und den 
LED-Anzeigen angezeigt.

Wenn zwei Stellen reichen, dann brauchst Du nur ein EPROM.

Die Werte hab ich mit einem kleinen BASIC-Programm ausgerechnet.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jan T. schrieb:
> Ich habe gerade gesehen es gibt auch 8 Pin µC mit weißwasichfürfeatures
> :-)
Di gibts sogar mit 6 Pins...

> Ich hatte auch mal vor 2 Jahren angefangen mich in C einzulesen habe
> dann aber nach 8 Kapiteln abgebrochen weil ich keinen Sinnbezug
> zur Praxis herstellen konnte.
Das funktioniert mit LESEN nicht. Und zudem gibts zu C soviele 
zigtausend schlechte Bücher, die würde sogar ich nach 2 Kapiteln 
weglegen...
Für C gilt immer noch: K&R "Programmieren in C" muß man haben.

> Das sollte man nicht missverstehen, ich kann mich zwar gut in
> Logikschaltungen reindecken und modifizieren aber die
> "Handhabung" bzw die Denkweise in C ist komplett anders.
Das ist aber auch nur wie wenn du Brot kaufen willst: in der einen 
Sprache (Hardware/Deutsch) heißt das "Brot", in der Anderen 
(Software/Italienisch) heißt das "Pane". Du weißt also schon, was du 
willst, und brauchst nur eine neue Sprache (=C) um das deinem Baustein 
mitzuteilen.

> Ich werde mir dann mal Assembler anschauen für µC danke für den Tipp
Auch ne Möglichkeit, erst mal Portugiesisch (=Assembler) zu lernen... 
;-)

von DirkB (Gast)


Lesenswert?

Jan T. schrieb:
> Ich werde mir dann mal Assembler anschauen ...

Du wolltest zwei Zahlen dividieren.
Damit wünsch ich dir viel Spaß bei Assembler.

Jan T. schrieb:
> Ich hatte auch mal vor 2 Jahren angefangen mich in C einzulesen habe
> dann aber nach 8 Kapiteln abgebrochen weil ich keinen Sinnbezug
> zur Praxis herstellen konnte.

Jetzt hast du ja einen Praxisbezug.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

noch zwei Vorschläge:
1. man kann einen Analog-Dividierer aus einem 
Analog-4-Quadranten-Multiplizierer in der Rückkoplung eines 
Operationsverstärkers bauen.

2. Der CORDIC-Algorithmus wurde 1959 erfunden und kann je nach 
Beschaltung viele mathematische Funktionen, darunter auch die Division. 
http://www.mikrocontroller.net/articles/AVR-CORDIC
die Schaltung besteht hauptsächlich aus Schieberegistern (und 
Datenmultiplexern, wenn man es nicht komplett parallel betreibt).

von spess53 (Gast)


Lesenswert?

Hi

>Du wolltest zwei Zahlen dividieren.
>Damit wünsch ich dir viel Spaß bei Assembler.

Wo ist da das Problem? Division bis 16/16 Bit gibt es als AppNote von 
Atmel. 32/32Bit findet man hier im Forum.

MfG Spess

von Purzel H. (hacky)


Lesenswert?

Eine Division in ASM ist eine gute Uebung. Die kann man erst mal im 
Simulator testen.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Such nach "reziproker Frequenzzähler" (reciprocal frequency counter), da 
wird auch dividiert.

http://www.mshopf.de/proj/avr/freq_meter.html
http://elm-chan.org/works/uctr/report.html

von Nur mit Prozessor (Gast)


Lesenswert?

Jan T. schrieb:
> ich kann mich zwar gut in
> Logikschaltungen reindecken und modifizieren aber die
> "Handhabung" bzw die Denkweise in C ist komplett anders.

Da muss ich dir Recht geben, sie ist in der Tat anders:

Viel einfacher.

Aber gut, jedem das seine. Wenn du dir unbedingt von hinten durch die 
Brust ins Auge schießen willst, wird dich niemand aufhalten.

von m.n. (Gast)


Lesenswert?

@Jan T.
Im Grunde haben Dir alle hier zu einer Auswertung mit Mikrocontroller 
geraten und für die meisten Leute hier sind Hard- und Software dafür ein 
Kinderspiel.
Exemplarisch habe ich einen Beitrag in die Codesammlung gestellt:
Beitrag "Stoppuhr – Geschwindigkeit – Pulsweite mit Atmega88"

Bei einer so einfachen Schaltung kommt niemand auf die Idee, endlose 
Zähler+Gatter zu verdrahten, um am Ende nur eine "halbe" Lösung zu 
bekommen.
Vielleicht kommst Du jetzt auf den Geschmack, mehr in Richtung Software 
zu gehen. Den Lötkolben brauchst Du trotzdem noch :-)

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.