-
Artikel
Diskussion:AVR Arithmetik
Division 32 Bit durch 32 Bit. Ich habe den Algorithmus mal mit ein paar Zahlen getestet und festgestellt, dass dieser nicht unbedingt korrekt rechnet. Bei einer Division sind ja verschiedene Fälle zu beachten
. Dez. 2012 (CEST) Es gibt da mindestens 3 Algorithmen, die für sich beanspruchen, einer 32-Bit Division durchzuführen. Welcher davon ist nicht korrekt? --Gjlayde 07:26, 5. Dez. 2012 (UTC)
-
Artikel
Diskussion:Festkommaarithmetik
besteht darin, vor dem Nach-Rechts-Schieben eine Zahl zu addieren, im Fall von >>13 : 1 > 13; // Division explizit ausgeführt als Schiebeoperation gerundet: a = (b * 15081 + 4096) >> 13; Weblink zum Runden. Rounding Algorithms 101 Redux bei Programmable Logic DesignLine
-
Artikel
Diskussion:Uhr
blockierfreien) Hauptschleife abgehandelt werden. Aber auch dort ist dieses hochzählen einfacher als Division+Modulo. --Gjlayde 20:42, 21. Sep. 2009 (CEST) Statt eines Flags vielleicht zur Sicherheit einen Zähler? unsigned char Tausender; unsigned char Hunderter; unsigned char Zehner; unsigned char Einer; unsigned
-
Artikel
Diskussion:Schnelle 32Bit-Integer Sinusberechnung
ARM nicht vorteilhaft. --Gjlayde (Diskussion) 19:38, 31. Okt. 2013 (CET) viele ARM haben keine HW Division. also doch zutreffend. --Schris (Diskussion) 21:35, 31. Okt. 2013 (CET) Optimierung. Wenn man 16 Stützstellen nimmt, kann die /10 Division durch eine Schiebeoperation optimiert werden. Es verbleiben aber immer noch Divisionen bzw. Modulo durch 360 und 90. --Gjlayde (Diskussion) 13:59, 28. Okt. 2013 (CET) Ginge mit INT und Abziehen direkter und einfacher. 87.166.187.53 21:05, 28. Okt. 2013 (CET) Wenn nicht rad, dann könnte
-
Artikel
Diskussion:Soft-PWM
verwendeten Timer schlichtweg nicht zur Verfügung. Ebenso verwende ich keine Multiplikationen und Divisionen, da ATtinys diese nicht vernünftiger Zeit berechnen. Der ISR-Aufruf braucht bei mir nur 25-28 Taktzyklen (-75%). Die update-Funktion benötigt zwischen 34 (1 Kanal) und 1300 (max. 8 Kanäle) Taktzyklen
-
Artikel
Benutzer:Engineer
Digitaler_Zufallszahlengenerator_in_VHDL Digitaler_Rauschgenerator_im_FPGA Digitaler_LaPlace-Funktionsgenerator_im_FPGA Einfache Division in VHDL und ASM Erweiterung von digitalen IO-Ports Lichtsensor_/_Helligkeitssensor Stereobilder_mit_EAGLE_3D Vervielfachung der Frequenz mittels Multiplikation Widerstandsnetzwerk (ADU, Spannungsüberwachung
-
Artikel
AVR Arithmetik/Saturierung
Subtraktion sowie für andere saturierte Operatoren wie Negation, Betragsbildung, Multiplikation und Division, welche die gleichen Monotonie-Eigenschaften haben wie die "nativen" mathematischen Operatoren. Durch Zugewinn der Monotonie verliert man allerdings die Assoziativität, so daß die Reihenfolge, in
-
Artikel
Dezibel
Produkt innerhalb der Logarithmus wird eine Summe ausserhalb des Logarithmus." Analog gilt für eine Division: Umgangssprachlich: "Aus einer Division innerhalb der Logarithmus wird eine Subtraktion ausserhalb des Logarithmus." Als Spezialfall davon: Umgangssprachlich: "Eine Potenz innerhalb des Logarithmus
-
Artikel
4000 Stellen von Pi mit ATtiny2313
Inline-Assembler Hacks, ohne umständliches Hin-und-Herwandeln und Skalieren, ohne Implementierung eigener Divisionroutinen, etc. Das Programm kann daher auch als Stresstest für die Tools verstanden werden. Als Sprache wählte ich C99 und als Compiler avr-gcc 4.7 oder neuer, so daß ein Executable erzeugen wird, das
-
Artikel
AVR BASIC
ermöglichen, kann man die Operatoren durch eigene Funktionen ersetzen. Dadurch ist es möglich z.b. bei Division durch 0 einzuschreiten. Erweiterung. Die C-Erweiterungen umfassen wie schon angesprochen das Aufrufen von C-Funktionen (mit Parametern), das lesen und schreiben von C-Variablen, sowie C-Arrays. Die
-
Artikel
8051 Timer 0/1
kürzeren Zeit überläuft. Die Formeln im Quelltext kann man problemlos mit Konstanten füllen, die Division und Modulo wird dabei nicht wirklich berechnet, sondern der Compiler fügt die Ergebniswerte in den Code ein. (anders sieht es für variable Zeiten aus, dazu später mehr) Für einen Grundtakt von 1ms
darf man die (16Bit) Variablen nicht einfach in die obige Zeile einsetzen. Dabei wird sonst die Division und die Modulo-Operation wirklich ausgeführt (die sich ergebenden Zeiten sind dann für die Tonne...). Hier muss man (am besten eine Phase vorher, wenn der Timer gerade übergelaufen war) die Variable
-
Artikel
OneBitSound
lieber über die Periodendauer der Frequenz, damit der Controller nicht bei jeder Änderung deren eine Division ausführen muss. Dazu brauchen wir die Periodendauer der Randfrequenzen: Weiterhin benötigen wir die Dauer einer Frequenz beim Herunterlaufen von 200 zu 100 Hertz. Und schließlich brauchen wir noch
-
Artikel
Bootloader
Aufruf von C-Funktionen (z.B. void func(void);) Versteckten Aufruf von stdlib-Funktionen (Modulo-Division: "%", Ganzzahl-Division: "/" u.a.) Der µC hat zwar eine Multiplikationseinheit, er kann jedoch nicht dividieren. Kommt innerhalb der Interruptroutine einmal oder mehrmals die CALL-Instruktion vor,
-
Artikel
AVR Arithmetik
seriellen ASCII-Übertragung an den PC ist diese Umwandlung nötig. Sie ist ähnlich aufwendig wie eine Division, zum Beispiel für eine 32-Bit-Zahl etwa 500–900 Taktzyklen und 10 Register. Mehrere Verfahren werden angeboten: Division /10. Für eine Division pro Dezimalstelle ist nur ein Unterprogramm nötig. Der
: Using the 8-bit AVR Hardware Multiplier (Application Note, pdf, en) Wurzelfunktion Optimierte Division durch 10 Optimierte Division durch 3 Division durch reziproke Multiplikation, Tutorial Math32: Some Useful Assembler Multibyte Maths Subroutines & Macrocalls (oder hier) Elm-Chan's Bibliotheken u.a
-
Artikel
AVR-Tutorial: Uhr
zählen. Bei Auftreten des 15. ist eine Sekunde vergangen. Dies stimmt jedoch nicht exakt, denn die Division weist ja auch Nachkommastellen auf, hat einen Rest, der hier im Moment der Einfachheit halber ignoriert wird. In einem späteren Abschnitt wird darauf noch eingegangen werden. Im Überlauf-Interrupt
-
Artikel
FIFO
Code-Beispiel. FIFO mit C-Präprozessor. Hinweis: viele C-Compiler übersetzen automatisch eine Modulo-Division mit einem Divisor einer 2-er Potenz in Form einer entsprechenden Bitmaskierung. Zum einen erspart man sich dadurch das Bestimmen der entsprechenden Maske, zum anderen hat man dann den 'Bonus', dass
-
Artikel
PIC
EEPROM 14 bis 144 Pins / 12 bis 122 IOs “Single Cycle” Multiplikation 16x16 und 32/16 sowie 16/16 Division bis zu 32 Channel 10/12-bit ADC 10/16-bit DAC Digital Power, Motor Control und Audio Peripherals I2C SPI CAN PWM PMP (Parallel Master Port) USB-OTG CTMU RTCC (Real Time Clock&Calendar) DMA Channels
-
Artikel
3-Phasen Frequenzumrichter mit AVR
abhängt. Wenn der MC mit einer anderen Frequenz als 16Mhz betrieben wird, sollte auch der Parameter 'DIVISIONEER' in der Datei 'vfd.h' angepasst werden, damit die Darstellung am Display korrekt ist. Irgendwie kriege ich es nicht hin, das der Wert direkt aus F_CPU errechnet wird, wäre schön, wenn mir das mal
-
Artikel
Sprites mit FPGAs
einzeln berechnet werden muss, zum anderen weil aufwändige Berechnungen wie Sinus/Cosinus und Divisionen enthalten sind. Im FPGA ist dann lediglich die Multiplikation der X und Y Koordinaten mit den Matrixwerten notwendig. In diesem Beispiel sieht man wie das aussehen kann. Im ersten Schritt werden
-
Artikel
Festkommaarithmetik
Ziffern? Dazu wird eine MODULO Operation durchgeführt. Diese liefert den Rest einer ganzzahligen Division. 28943 MOD 10 = 3 Nun gehts an die nächste Stelle. Dazu wird die Zahl einfach durch 10 dividiert 28943 / 10 = 2894 Und nun das Spiel von vorn. 2894 MOD 10 = 4 2894 / 10 = 289 289 MOD 10 = 9 289 /
Verfügung stellen. Allerdings ist diese Vorgehesweise durch die Modulo- und anschliessende Divisionsoperation etwas ineffizient. Es werden tatsächlich zwei Divisionen durchgeführt, obwohl nur eine notwendig wäre. Der Optimizer (-Os auf der Kommandozeile von avr-gcc) „erkennt“ diese Situation und setzt
-
Artikel
MSP430
erhebliche Vorteile bringt. Als Beispiel hier ein sehr wirkungsvoller Befehl, der sehr gut für Divisionen benutzt werden kann. RPT #8 ; Setzt das (teilweise undokumentierte Repeadregister) RRUX.A R6 ; R6 = R6 » 8.R6. ;$1907 $1046 Wird zu diesem Mashinencode assembliert und in nur 2 Cyclen ausgeführt!
-
Artikel
Entscheidung Mikrocontroller
anderen Controllern in Software nachgebildet werden muss. Beispiele sind z. B. Multiplikation und Division. Wer in einer Hochsprache programmiert, merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich
-
Artikel
ARM Cortex Mikrocontroller
2004) ISBN 1558608745 Im Buch blättern Programmbeispiele aus dem Buch, u.a. FFT, FIR/IIR-Filter, Division, Wurzel ARM Assembly Language - an Introduction (2007) ISBN 1847536964 Im Buch blättern Verlagsseite "Book on demand" ARM Rechnerarchitekturen für System-on-Chip-Design (2002) ISBN 3826608542 Co-Verification
-
Artikel
AVR-Tutorial: Arithmetik8
0-Bit aufgefüllt, sondern an dieser Stelle wird der momentane Inhalt des Carry-Bits eingesetzt. Division. Anders als bei der Multiplikation gibt es auch auf einem ATmega-Prozessor keine hardwaremäßige Divisionseinheit. Divisionen müssen also in jedem Fall mit einer speziellen Routine, die im wesentlichen auf Subtraktionen beruht, erledigt werden. Division in Software. Um die Vorgangsweise bei der binären Division zu verstehen, wollen wir wieder zunächst anhand der gewohnten dezimalen Division untersuchen, wie sowas abläuft. Angenommen, es soll dividiert
-
Artikel
Entwicklungsboard mit AT91SAM7Sxxx - selbstgemacht
werden damit zu 0. Die Bitschiebeoperationen > kann man auch für eine schnelle Multiplikation bzw. Division durch Potenzen von 2 verwenden. ((n) >> 2) teilt n durch (2^2) = 4 und ((n) << 3) multipliziert die Zahl mit (2^3) = 8. Dies ist jedoch nicht unbedingt notwendig, da der Compiler diese Optimierungen
-
Artikel
AVR - Die genaue Sekunde / RTC
Comparewertes ist sehr einfach: Da haben wir ja noch mal Glück gehabt, es gibt keinen Rest bei der Division und die Sekunde ist exakt 256 * 43200 = 11059200 Zyklen lang. Theoretisch. Denn selbst wenn auf dem Quarz eine Frequenz von 11,0592 Mhz aufgedruckt ist, so schwingt er doch auf einer etwas anderen
Und beim nächsten Timerinterrupt wird dann wieder der Comparewert geladen, der das Ergebnis der Division war. Es ergeben sich somit: Exakt so, wie wir es wollten. Das Programm. Nachfolgend nun das C-Programm. Da wir ja alle nicht gerne rechnen, lassen wir das einfach den C-Compiler erledigen. D.h. wir
-
Artikel
AVR-GCC-Codeoptimierung
wiederverwendet wird. Übrigens sind diese Multiplikationsroutinen und auch die in die libgcc enthaltenen Divisionen keine "normalen" Funktionen wie sie von C erzeugt werden. avr-gcc weiß genau, welche Register diese Routinen belegen und welche nicht. Damit ist der Aufruf einer solchen Funktion billiger als ein
optimization auf Wikipedia, engl. Sensor smoothing and optimised maths on the Arduino - Multiplikation vs. Division Fußnoten. Links. Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers (Beispiel-Code)
-
Artikel
AVR-Tutorial: ADC
Quotient aus Referenzspannung und Maximalwert ist konstant. Somit muss nicht immer eine Addition und Division ausgeführt werden, sondern nur eine Multiplikation! Das spart viel Aufwand und Rechenzeit! Dabei kann sinnvollerweise Festkommaarithmetik zum Einsatz kommen. Umgekehrte Weltsicht: Eigene Betriebsspannung
die einzelnen Messungen in den Registern temp2, temp3 und temp4 als 24-Bit-Zahl aufaddiert. Die Division durch 256 erfolgt dann ganz einfach dadurch, dass das Register temp2 verworfen wird und die Register temp3 und temp4 als 16-Bit-Zahl aufgefasst werden. Eine Besonderheit ist noch, dass je nach dem
-
Artikel
AVR-GCC-Tutorial/Der UART
keine Floating Point Ergebnisse liefert, sondern Integer Ergebnisse. Das bedeutet, dass wenn durch Division auf einen Integer Wert 1.99 zugewiesen wird, 0.99 abgeschnitten werden und das Ergebnis 1.0 ist - obwohl 2.0 viel näher wäre.-->. Die Berechnung wird während des Compilerlaufs ausgeführt, beansprucht
Rundung. Aus diesem Grund kann man sich eines kleinen Tricks bedienen, indem vor der eigentlichen Division bei der Zuweisung die Hälfte des Wertes dazu addiert wird. Allgemein formuliert bedeutet das: int i = ( a + b/2 ) / b; . Dies wird in der unten angegebenen Berechnung von UBRR_VAL ausgenutzt um den
-
Artikel
LPC-Mikrocontroller
on-chip bootloader software. ROM support routines for: power profiles, USART, SPI, I2C, ADC, integer division Digital peripherals: Up to 18 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors. Number of GPIO pins is reduced for smaller packages down to 6. GPIO pins can be used as
In-Application Programming (IAP) via on-chip bootloader software. Includes ROM-based 32-bit integer division routines. Clock generation unit Crystal oscillator with an operating range of 1 MHz to 25 MHz. 12 MHz Internal RC (IRC) oscillator trimmed to 1 % accuracy that can optionally be used as a system clock
-
Artikel
Verilog
arithmetischen Operationen: + - * / mit der entsprechend bekannten Präzedenz, dass Multiplikation und Division vor Addition und Subtraktion geht. Zur besseren Lesbarkeit können, wie so oft bei Programmiersprachen, Operationen mit Klammern gruppiert werden. Leider unterstützt Verilog nicht eine Vereinfachung
-
Artikel
16/32Bit Computer/Konsole
internal memory; request in internal memory adr = sp; sp = sp + 1 neg da da = 0 - da udivgq da get division qoutinent udivgr da get division remainder udivgqh da get division qoutinent high [31 ..16] udivgrh da get division remainder high [31 ..16] udivsdd da set division divident udivsdv da set division
aus Geschwindigkeit und Hardwareaufwand zu ermöglichen. Wie bei einer normalen Division wird der Divisor und Dividend gesetzt, zusätzlich muss noch die Divsions-Bitbreite angegeben werden (max. 32 Bit). Durch den Befehl udivstep wird eine '1-Bit Division' ausgeführt, d.h. udivstep muss
-
Artikel
FAQ
ist. Und da sowohl j als auch k ein Integer sind, wird die Division als Integerdivision durchgeführt unabhängig davon, was mit dem Ergebnis weiter passiert. Erst nach der Division wird das Ergebnis in einen double überführt, um es an i zuweisen zu können. Zu diesem
Ergebnis keine auf. Aus genau diesem Grund ist zb das Ergebnis von eine glatte 0 und nicht 0.625. Die Division 5 / 8 wird als Integer Division gemacht und liefert als solche keine Nachkommastellen. Wird das Ergebnis der Division in einen double umgewandelt, um es an i zuweisen zu können, ist das Kind schon
-
Artikel
NIC
Subtraktion. Syntax: AUSDRUCK - AUSDRUCK Beispiel: Multiplikation. Syntax: AUSDRUCK * AUSDRUCK Beispiel: Division. Die Integer-Division behandelt nur den ganzzahligen Anteil der Division. Für den entstandenen Rest einer Division siehe Modulo. Syntax: AUSDRUCK / AUSDRUCK Beispiel: Bei den Grundrechenarten gilt
Punkt-vor-Strich-Rechnung. Modulo-Operator. Der Modulo-Operator berechnet den Rest einer Integer-Division. Syntax: AUSDRUCK % AUSDRUCK Beispiel: Der Modulo-Operator bindet stärker als die Grundrechenarten. Das Ergebnis von ist identisch mit: Daher ist das Ergebnis hier 2 * 2 = 4. Shift-Operatoren. Shift
-
Artikel
AVR-Tutorial: LCD
gängige Alternative. Vor allem dann, wenn keine hardwaremäßige Unterstützung für Multiplikation und Division zur Verfügung steht. Ansonsten könnte man die einzelnen Ziffern auch durch Division bestimmen. Das Prinzip ist folgendes (beispielhaft an der Zahl 52783 gezeigt): 52783 / 10 -> 5278 52783 − 5278 *
10 -> 2 5 / 10 -> 0 5 − 0 * 10 -> 5 Das Prinzip ist also die Restbildung bei einer fortgesetzten Division durch 10, wobei die einzelnen Ziffern in umgekehrter Reihenfolge ihrer Wertigkeit entstehen. Dadurch hat man aber ein Problem: Damit die Zeichen in der richtigen Reihenfolge ausgegeben werden können
-
Artikel
USB-Tutorial mit STM32
Prescaler P ergibt sich dann bei gewünschter Baudrate B_w durch: P = f_PCLK / B_w. Die normale Integer-Division in C++ ist allerdings grundsätzlich abrundend, es wäre aber wünschenswert richtig zu runden, um immer die nächstmögliche und nicht die nächste kleinere Baudrate zu erwischen. Dies kann erreicht werden
-
Artikel
Pollin Funk-AVR-Evaluationsboard
ATtiny2313 in der Simulation (Debugger) kein Unterschied festgestellt werden egal ob mit oder ohne Clock Division Factor simuliert wurde. Daraufhin wurde das Originalprogramm auf das Pollin Funk AVR Board "angepasst", d.h. LED1 und LED2 blinken wechselweise und der Taster dient als Eingabe: Taster loslassen und RESET ausführen, und das Programm arbeitet ohne Clock Division Factor Taster gedrückt halten und RESET ausführen, und das Programm arbeitet mit Clock Division Factor. Sobald die LEDs blinken, kann der Taster losgelassen werden. Ergebnis: Der Clock Division Factor
-
Artikel
ARM-ASM-Tutorial
also defines e.g. hardware behavior under exceptional circumstances (e.g. memory access errors, division by zero, etc.). Processor architectures evolve, so they have multiple versions and variants. They also define optional functionality that may or may not be present in a processor (e.g. a floating-point
-
Artikel
68HC12
einem 16 Bit Akkumulator kombinierbar I2C, SPI, AD-Wandler, mehrere Ports, Timer Multiplikation und Division Fuzzy Befehle BDM12 Interface für Flash Programmierung und Debugging unabhängig vom CPU Kern. Zwischenzeitlich durch die kompatible HCS12- (bzw. S12X-)Familie abgelöst. Unterstützung GNU Toolchain
-
Artikel
Clockgenerator in VHDL
dieses Modul verwenden (vor allem für sehr hohe Baudraten). Es wird für jede halbe Taktperiode eine Division mit Rest durchgeführt. Der Rest der vorherigen Division wird bei der nächsten halben Taktperiode wieder mit eingerechnet. So erhält man im mittel die gewünschte Ausgangsfrequenz.
-
Artikel
Einfache Division in VHDL und ASM
in C programmierbar sind, bzw. nicht über Multiplikation oder Division verfügen, sowie für FPGAs und PLDs, in denen keine Multiplizierer zur Verfügung stehen, oder genutzt werden sollen. = Methode 1 = Eine Division kann bekanntermassen grundsätzlich durch eine inverse
0 1 1 1 0 1 0 0 1 1 0 1 0 0_0 1 0 1 0 0 1 0_0 0 0 1 = x/3 = 52 + 82/256 + 1/256/16 = 52,32 Eine Division durch 7 lässt sich mit nur 4 Vektoren (1/8 + 1/64 + 1/512 + 1/4096) auf 0,1% genau durchführen. Für weitere Divisionen mit 9,11,13,17 .. etc lässt sich eine Tabelle mit Excel oder MATLAB erzeugen.
-
Artikel
CAN CRC Berechnung
durch den Divisor zu teilen. Der Rest entspricht der CAN CRC Checksumme. Der einfachste Weg diese Division in einem µController durchzuführen besteht darin, den Dividenden so weit nach links zu schieben, bis eine 1 auf der linken Seite steht. Nun wird der vordere Teil des Dividenden mit dem Divisor einer
-
Artikel
MEMS-Mikrofone
Mikrofone möglich machen. Schließlich gibt es mit dem ICS-52000 ein Mikrofon mit TDM-Ausgang (Time Division Multiplex). Hier können ähnlich wie bei I2S mehrere Mikrofone an einer Datenleitung angebunden werden, allerdings bis zu 16 Stück – ideal für Mikrofonarrays.
-
Artikel
ST7
Energiesparfunktion deaktiviert, CPU läuft mit vollem Systemtakt (=f_osc/2). Langsamer Modus (SLOW): Erlaubt Division des Systemtakts durch 2,4,8 oder 16. Warte-Modus (WAIT): Peripherie bleibt aktiv, CPU wartet auf Interrupt oder Reset. Halte-Modus (HALT): Peripherie und Oszillator Deaktiviert, CPU wartet auf Interrupt
-
Artikel
STM8
Bit, z.B. nutzbar als Speicheroffset oder für 16 Bit Arihmetik. Enthält bei 16/8- und bei 16/16-Division den Dividenden. Y Indexregister (Y): 16 Bit, nutzbar wie X-Indexregister. Divisor bei 16/16-Division. Program Counter (PC): 24 Bit, enthält Adresse des nächsten auszuführenden Befehls. Stack Pointer
-
Artikel
Multiplexen
Umkehrung des Multiplexen ist Demultiplexen. FDMA. Recht einfach zu verstehen ist FDMA (Frequency Division Multiple Access, Frequenzmultiplex). Das kennt jeder vom Radio. Es gibt nur ein Übertragungsmedium, die Luft/den Freiraum. Dennoch können viele Radiosender gleichzeitig senden bzw. empfangen werden
hören, ohne von den anderen gestört zu werden. TDMA. Etwas schwieriger ist die Sache bei TDMA (Time Division Multiple Access, Zeitmultiplex). Dieses Verfahren wird bei digitalen Telephonsystemen, Mobilfunk, LCDs, LED-Anzeigen mit vielen LEDs etc. angewendet. Beim digitalen Telephonsystem wird dabei jedem
-
Artikel
Si570
entsprechend kleiner. Aus der 5 Byte langen RFREQ-Zahl erhält man die Oszillatorfrequenz in MHz mittels Division durch 2348824,92 (dez). Für die tatsächliche Ausgangsfrequenz muß diese Zahl noch durch (HSDIV * N1) geteilt werden. Umgekehrt erhält man die RFREQ-Zahl durch Multiplikation mit dieser Konstanten, damit ist keine große Division nötig. Die Auswahl der beiden Frequenzteiler kann mit einer überschaubaren Tabelle wie oben gezeigt erfolgen. Viele Einträge sind doppelt, überschneiden sich, oder liegen unter der Grenze von 10 MHz
-
Artikel
Rechnen in VHDL
Multiplikationen werden in Multiplizierernetzwerke umgesetzt oder auf Hardwaremultiplizierer gemappt. Divisionen und Modulo-Operationen dagegen werden in der Regel nicht oder nur für Zweierpotenzen unterstützt (Xilinx ISE). Werden Divisionen benötigt, muss man einen Divisionsalgorithmus von Hand implementieren
-
Artikel
LCS-1M - Ein einfaches, preiswertes, mikrokontrollergesteuertes Zweikanal-Oszilloskop zum Selberbauen
bandwidth approx. 400 kHz Input impedance > 100 kOhm Sensitivity from 20mV/div to 1V/div (20 vertical divisions). Vertical offset 0 - 20 divisions (except for 0 - 12 divisions in 1V/div range) Record length 256 samples per channel Trigger on CH1 (rising or falling edge, selectable) or autotrigger Connects
-
Artikel
CRC
Der Empfänger kann nun die erhaltenen Daten durch das Generator-Polynom teilen. Bleibt bei dieser Division 0 Rest sind die Daten korrekt übertragen worden. Ist der Rest ungleich 0, ist ein Fehler bei der Übertragung aufgetreten. Um die ursprünglichen Daten wieder zu erhalten (natürlich nur, falls sie korrekt
0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 Jetzt führen wir die Division erneut durch und sehen uns den Rest an: Rest ermitteln 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1