Forum: Mikrocontroller und Digitale Elektronik floating point portiert von PIC auf AVR?


von Rudi D. (rulixa)


Lesenswert?

Baue gerade ein LC-meter mit t2313.
Es gibt ja viele davon. Aade war der erste der das veröffentlicht hat.
Sowohl SPRUT (PIC und asm) als auch Cappels.org (t2313 mit c ) arbeiten 
mit floating point.
SPRUT rechnet mit Frequenzverhältnissen, was im Fall von 1, bei Integer 
Mathematik völligen Unsinn liefert, aber hier kann man sich mit 
Stellenwertverschiebungen (1 Byte reicht für 1/256 Rasterung statt 1) 
gut helfen.
Cappels rechnet einfach mit der Thompson Formel.

Hat vielleicht jemand die PIC asm Routine auf AVR asm portiert?

Ich bin derzeit dabei es mit 32bit math32x package (asm) zu realisieren.
Damit ich mit den Zahlen gut zurechtkomme führe ich Verschiebungen der 
Werte bytewise durch, was für die Auflösung des Ergebnisses erforderlich 
ist.
(Ziel 1pf und 10 nH als LSB).

Hat jemand vielleicht zusätzliche Tips?

LG Rudi

von Falk B. (falk)


Lesenswert?

@Rudi D. (rulixa)

>SPRUT rechnet mit Frequenzverhältnissen, was im Fall von 1, bei Integer
>Mathematik völligen Unsinn liefert, aber hier kann man sich mit
>Stellenwertverschiebungen

Das nennt man Festkommaarithmetik

MFg
Falk

von [Frank] (Gast)


Lesenswert?

@ Rudi D.
Hier gibt es das Ganze mit 2313 in Assembler.
http://home.ict.nl/%7Efredkrom/pe0fko/LCMeter/

von Rudi D. (rulixa)


Lesenswert?

vielen Dank für beide Antworten.
Zum Glück habe ich vor der Pension bei Philips gearbeitet und so ist 
"Nederlands" kein Problem.

In der Zwischenzeit habe ich die Formel abgewandelt auf

Cx = k/fx² -Co.
Ist die wenigste Rechenarbeit. Auch die Kalibrierung ist einfachst.
Co = k/fx² ohne externes C (oder Kurzschluss statt L)
Hab noch nicht den letzten Link nachgeschaut.
Freu mich schon aufs asm Arithmetikfile.

Der Frequenzzähler mit 2313 24bit ist fertig, ebenso ein VFD-Display mit
2313, das über RS232 mit dem Zähler verbunden ist.
Man kann also auch das Resultat am PC ausgeben, wer will, was heißt, 
dass die Rechnerei im Zähler stattfinden wird.

Nochmals herzlichen Dank für die schnellen Antworten.
LG Rudi

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.