-
Artikel
RFM69
Stromaufnahme 22 mA/11 mA/0,3 µA 45 mA/16 mA/0,1 µA FIFO Größe 16 Bit 66 Bytes Syncmustererkennung Fest 0x2DD4 oder 0xD4 Frei bis zu 8 Bytes Ansteuerung. Das Funkmodul kommuniziert über die SPI Schnittstelle mit dem µC. Im einfachsten Fall werden SCK, MISO, MOSI und NSS benötigt. Am besten führt man auch
Antennenanschluss ANT 2 3.3V Versorgungsspannung VDD 3 GND GND 4 DIO3 FifoFull PllLock Rssi SyncAdress TXReady nINT/VDI 5 MOSI SPI Daten Eingang SDI 6 SCK SPI Takt SCK 7 NSS Chip select nSEL 8 MISO SPI Daten Ausgang SDO 9 DIO0 PllLock (FS, TX) CrcOK (RX) PayloadReady (RX) SyncAddress (RX) Rssi (RX)
-
Artikel
Raspberry Pi Einführung
gefragt wird gibt man wieder root ein. Wenn man kein Display angeschlossen hat, muss man die IP-Adresse, die der Raspberry Pi sich vom DHCP-Server geholt hat, herausfinden. Wenn der DSL-Router diesen Dienst bereitstellt, kann man meistens auf der Web-Oberfläche eine Liste der verteilten IP-Adressen
, in CIDR-Notation. Wenn man z.B. in einem Netz ist, in dem IP-Adressen von 192.168.1.0 bis 192.168.1.255 verteilt werden, muss man 192.168.1.0/24 verwenden. Nachdem man die IP-Adresse herausgefunden hat, verbindet man sich per SSH zu ihr und loggt sich als root, Passwort
-
Artikel
AVR-GCC-Codeoptimierung
size-sort -S foo.elf ergibt eine Liste mit der Größe aller Objekte: die erste Spalte enthält die Adresse, die zweite Spalte die Größe, die dritte den Typ und die vierte Spalte den zugehörigen Symbolnamen. Der Typ ergibt sich aus der folgenden Zuordnung, wobei Großbuchstaben globale Symbole kennzeichnen
direkte umwandelt. Um indirekte Adressierung im erzeugten Code zu erzwingen, kann man die Struktur-Adresse als Parameter übergeben: oder – als hässliche Lösung – dem Compiler des Wissen um den Inhalt von ptime per Inline-Assembler nehmen: Dies führt denn zu folgendem Code, der um 25% kleiner ist und nur
-
Artikel
Produktentwicklung
Häufig gibt es eine Idee, und man glaubt fest an den kommerziellen Erfolg dieser Idee. Was dann fehlt ist ein Leitfaden, wie man sein Produkt entwickleln und selbst vermarkten kann. Leider ist Literatur zu diesem Thema sehr rar. Daher soll dieser
anzupassenden Referenzen abgesehen, folgendermassen aus: {| border="1" cellpadding="10" CE-Konformität Firma Adresse Erklärt, dass das Produkt „Bla - Bla“, auf dies sich diese Erklärung bezieht, gemäss den Bestimmungen der Richtlinien • 73/23/EWG (Niederspannung) • 89/336/EWG (EMV) mit den folgenden Normen • EN
-
Artikel
16/32Bit Computer/Konsole
memory StackPointer start at $8000 on reset XXXX * 16 bit $XXXX Der Reset-Vektor befindet sich an Adresse $0000, der Stackpointer an Adresse $8000 (am Ende des internen RAMs). Der Interruptvektor zeigt nach dem Reset auf Adresse $0010 (sollte nach dem Reset an die benötigte Position verschoben werden). Ab Adresse $8000 wird die Komponente UCtrl in den Adressraum 'gemappt' (diese Komponente enthält Register für externe Hardware Peripherie etc.). externe Memory Map (Standardkonfiguration). Über den 'externen
-
Artikel
Raspberry Pi YAIR (Yet Another Internet Radio)
MPD Client. Die App wird via Google Play Store installiert und dann wie folgt konfiguriert: Server Adresse: lokale IP des Raspberry Pi angeben, bei meinem Router kann ich für einzelne Geräte eine feste IP per DHCP vergeben. Server Port: bleibt auf 6600, entsprechend default in mpd.conf Server Passwort:
Decoder beruht auf einer State-Machine, die schrittweise die einzelnen Bits erkennt und dann in Adresse und Daten zerlegt. Nach der Erkennung eines kompletten Kommandos wird steht rCounter auf dem Wert 12 und das Hauptprogramm beginnt mit der Decodierung (Aufruf "DecodeRemote()"). Die Software kann
-
Artikel
DDS
Phasenakkumulator hat eine Breite M von typisch 8-48 Bit. Die höchstwertigsten N Bits (N <= M) bilden die Adresse für einen Speicher (Look UpTable), in welchem die Kurvenform abgelegt ist. Die niederwerigen Bits sind die Nachkommastellen, welche Rundungsfehler reduzieren. Sie sind wesentlich für das richtige
Störsignale des DA-Wandlers ("Treppenstufen" Oberschwingungen) herauszufiltern. Die LookUpTable kann fest (ROM), programmierbar (RAM, Arbitrary Waveform Generator) oder auch in Echtzeit berecht sein. Die Kurvenform entspricht aus praktischen Gründen fast immer einer Sinusfunktion. Für den Fall anderer Wellenformen
-
Artikel
Webby
sehr beschnitten und es ist nicht möglich Kernel-Bootparameter einzustellen. Die Bootparameter sind fest im Kernel einkompiliert: Wenn man also den Kernel von extern bootet wird trotzdem das rootfs aus dem NAND des Webby verwendet. Auf etwas unkonventionelle Weise kann man auch ohne rekompilierung den
kopieren will. Im /factory Verzeichnis befinden sich nur die Dateien mit der Seriennummer und der HW Adresse, dafür ist eine eigene Partition unnötig... Die cramfs Images können unter Linux wie folgt gemountet werden: Man sollte gleich noch die mtd-utils Dateien unter sbin nach /bin kopieren, dann hat man
-
Artikel
Sprites mit FPGAs
Einfachste Implementierung. Im einfachsten Fall gibt es genau ein Sprite mit einem Bild im ROM und fester Position des Sprites. Hier ein Beispielcode: Hier wird geprüft ob das aktuelle Pixel {x,y} sich im Bildbereich des Sprites {posx..size,posy..size} befindet. Wenn ja, wird der Farbwert aus dem ROM gelesen
einfache, 100% Transparenz. Prioritäten. Liegen 2 Sprites übereinander, so gibt es meistens eine feste Reihenfolge mit der gezeichnet wird, z.b. der niedrigste oder höchste Index wie im Beispiel weiter oben. Reicht dies nicht aus, so können weitere Prioritäten festgelegt werden. Die Implementierung
-
Artikel
Temperatursensor
sind scheinbar Temperatursensoren und A/D-Wandler in einem. Wenn man genauer hinschaut, stellt man fest, dass es sich um direktwandelnde Sensoren handelt. Die Temperatur wird ohne Umweg über eine analoge Zwischengröße (Spannung oder Strom) in ein digitales Signal überführt. Die Datenkommunikation erfolgt
Bits konfigurierbar. Je kleiner die Auflösung, desto kürzer ist die Messzeit. Der DS18S20 hat eine feste Auflösung von 12 Bits, wobei die unteren 4 Bits aufwändiger auszuwerten sind als beim DS18B20. Der DS18S20 ist als Ersatz für den DS1820 gedacht. Der Hersteller empfiehlt den DS18B20 für Neuentwicklungen
-
Artikel
AVR-GCC-Tutorial/Assembler und Inline-Assembler
auffindbaren Label. Das "+w" wird als Inline-Assembler Constraint (Nebenbedingung) bezeichnet und legt fest, wie der Compiler mit dem Ausdruck count umzugehen hat. w steht für eine bestimmte Registerklasse, nämlich die Register R24...R31: SBIW brauch eines dieser Register mit gerader Registernummer. Dass
Compiler weiß, wie der Aufruf aussieht. Für Interruptroutinen braucht man sie nicht, dort wird nur die Adresse in die ISR-Vektortabelle eingetragen. Dafür muss nur das Label per .global Direktive im Quelltext der .S Datei dem Linker mitgeteilt werden. Mit den beiden #ifdef __cplusplus Blöcken am Anfang und
-
Artikel
USB Koppelfeld für Festplatten
zehnpolige Steckverbindung mit der Steuerplatine verbunden. Das Bedienkonzept steht noch nicht im Detail fest, nur soviel: Über den Dreh-Drück-Geber läßt sich das System einschalten und der anzuzeigende Wert auswählen. Angezeigt werden die Nummern der aktiven Festplatten und die gemessenen Spannungen an den
I2C-Protokoll zu adrerssieren. Der 74HC138 enthält kein Latch. Um unerlaubte Zustände beim Umschalten der Adresse am 3:8 Decoder zu vermeiden, muß der Mikrocontroller beim Umschalten das globale Slave-Select-Signal "/SS" auf "high" halten. (ToDo: Schaltbild aktualisieren) Die I2C-Adresse des Baugruppenträgers
-
Artikel
FT8xx Library
zu erstellen, dafür habe ich in der tft.c in meinem Test-Projekt am Anfang Defines für die Start-Adressen. Ein neues Feature der BT81x ist die Möglichkeit ein externes NOR SPI-FLASH mit bis zu 2GBit zu benutzen. Die RiTFT Module von Riverdi werden mit 64MBit geliefert, für die EVE3 Module von Matrix Orbital
grundsätzlich eine Art Scheduler zu benutzen der in einem Ereignis-gesteuerten Programmablauf für ein festes Zeitintervall sorgt. Die main.c im Test-Projekt implementiert das soweit, Plattform-spezifisch für AVR Controller. Die nächsten Dateien sind dann wieder Plattform unabhängig: tft.c - drei Funktionen
-
Artikel
FIFO
Funktionsprinzip. Ein FIFO benötig immer einen Schreib- und Lesezeiger. Zeigen beide auf die gleiche Adresse, ist der FIFO leer. Die Differenz ergibt die Anzahl der Elemente im FIFO. Schreib- und Lesezeiger werden beim Zugriff erhöht. Sie können allerdings nicht unbegrenzt wachsen, denn das würde den gesamten
nichts mehr damit zu tun. Die Umsetzung eines FIFOs in Software heißt Ringpuffer und weist auch eine feste Puffergröße auf. Wesentlicher Vorteil gegenüber der verketteten Liste ist die schnellere Ausführungszeit und der geringere Aufwand. Für sehr schnelle Anwendungen gibt es auch kleine bis relativ mittlere
-
Artikel
GoFlexHome
Skript von jeff doozan tut es bei mir nicht, siehe: ) nc -u -p 6666 -v 192.168.1.100 6666 (Die IP Adresse wurde vorher mit fw_setenv ipaddr festgelegt, siehe oben.) Wenn alles klappt, landet in einer interaktiven uBoot Shell. Sieht in etwa so aus: U-Boot 2010.06-00695-gbd23130-dirty (Aug 30 2010 - 23:
Platte ist offenbar nicht out-of-the-box gegeben. Was man machen muß, damit es geht, steht noch nicht fest. Es reicht nicht aus die arcNumber zu ändern. Siehe Forum Thread ab: Mögliche Patches und Anleitung hier: Bisher (3.2.2011) sind die Kernel-Patches für die GoFlex nicht upstream (2.38.2) LEDs. Wer möchte
-
Artikel
AVR-GCC
den Downloads kommen dann noch 2 Umgebungsvariablen: Damit legt ihr das Installationsverzeichnis fest und fügt auch gleich das Verzeichnis für die ausführbaren Dateien zum Pfad hinzu. Im Folgenden gehe ich von diesem Ordner-Layout aus: $HOME + BuildToolchain | + Downloads | | | + binutils | + gcc |
size-sort --print-size -r -td aufgerufen und gibt eine vierspaltige Liste aus: Die erste Spalte ist die Adresse, die zweite die benötigte Größe, die dritte der Typ und die vierte der Name des Symbols. Alle Symbole vom Typ "T" (globale Funktionen), "t" (lokale Funktionen) und letztlich auch die mit einem "D"
-
Artikel
Digitaler Rauschgenerator im FPGA
Rauschbits ebenfalls noch ändern kann, indem man einen weiteren Oszillator nutzt, der zyklisch Adressen generiert, die einen von mehreren Multiplexern mit wechselndem Bitmapping auswählt. Auch lassen sich mehrere Rauschgeneratoren überlagern, um die Auflösung zu erhöhen. wobei das Problem auftritt,
die statistisch vollkommen gleichverteilt sind. Einschätzung der Qualität. Simulation. Bereits mit festen Werten für die Inverterverzögerungen, die ja real starken Zufällen unterworfen sind, produziert eine ModelSIM-Simulation für die 2fach-Lösung ein sehr komplexes Muster mit geringer Wiederholrate. In
-
Artikel
STM32
CMSIS, für Chips der verschiedenen Hersteller, stark vereinfacht möglich sein (z.B. einheitliche Adressen für Core-Hardware/Sys-Tick-Counter). Die CMSIS ist im Download der STM32 Standard Peripheral Library enthalten. Die Compiler-Hersteller liefern eine jeweils zur ihrer Tool-Version passende bzw. geprüfte
adapter mit eingebautem GDB hierzu gibt es diverse Nachbauanleitungen. Der Controller hat auch einen fest eingebauten Boot-Lader. Damit läßt er sich auch über eine gewöhnliche serielle Schnittstelle programmieren, ohne dass man einen JTAG-Adapter benötigt. Dies erfordert ggf. entsprechende Konfiguration
-
Artikel
Festkommaarithmetik
wie bei '%' ). 'S' ist eine avr-gcc-Erweiterung: Es interpretiert den übergebenen Zeiger als Flash-Adresse und liest die Bytes intern mit pgm_read_byte() . Anders als bei Windows, wo "%S" mit Unicode zu tun hat. Dadurch ist die printf-Funktionalität recht umfangreich, und das erklärt die Größe sowie warum
Ausgabebreite auf 16 Bit oder gar 8 Bit Weglassen der Vorzeichenverarbeitung (dann nur unsigned-Anzeige) Feste Formatierung (bspw. "%I" entspricht "%5,i" : Ausgabe mit Komma und 1 Nachkommastelle) Festverdrahtung des Ausgabestroms bspw. auf lcd_putc() Die Lösung. Die allerwenigsten Anwendungen benötigen die
-
Artikel
Pollin Funk-AVR-Evaluationsboard
einen neuen Zählerstand umzusetzen. Da die Funktion rs232 den Zählerstand ändern soll, wird ihr die Adresse der Zählervariable (&zaehler) übergeben, d.h. es wird hier mit Zeigern (Pointern) gearbeitet. Per RS232 können komfortabel mehr Informationen ausgegeben werden als über die beiden LEDs. Im Beispiel
würde ich beide Schaltungsoptionen einbauen. Die Ausgabe des dekodierten Signals (Togglebit Anm. Adresse, Kommando) kann mit einem RS232 Terminalprogramm betrachtet werden, Anschluss des Pollin Boards an die serielle Schnittstelle vorausgesetzt. Die RS232-Einstellungen sind 19200 Baud, 8 Batenbits, No
-
Artikel
Hilbert-Transformator (Phasenschieber) mit ATmega
omega * t ) ; y' = omega * A * cos( omega * t ) ). Ohne Spiegelfrequenz kann man das nur für eine feste Frequenz mischen. Bei einem Frequenzband braucht man das synthetische Filter. Der Hilbert-Transformator erzeugt aus einem Sinus-Signal das um 90° verschobene Cosinus-Signal. Ein Beispiel in Python:
Hilbert Transformers" Irgendwo im Web hatte ich den vollständigen Artikel als PDF gefunden, leider die Adresse nicht notiert, Google findet nur kostenpflichtige Downloads. Dutta / Kumar On Digital Differentiators, Hilbert Transformers, and Half-Band Low-Pass Filters dank Schrifterkennungsprogramm leicht lädiert
-
Artikel
AVRDUDE
Initialisierung wird ein prozessweiter Exception-Filter installiert Ein zweiter „Remote Thread“ ändert die Adresse von kernel32.dll:GetVersionEx(). Die Ersatzroutine liefert als Plattform Windows 9x/Me. Auch genannt API-Hooking. Der Grund für den zweiten „Remote Thread“ ist, dass dieses Verhalten bei regulärer
eventueller try/except-Blöcke kommt Der Filter (also das Stückchen Kode in der InpOut32.dll) stellt fest, dass es sich tatsächlich um einen IN- oder OUT-Befehl handelt. Der Befehl wird einfach übersprungen und inpoutx64.sys bemüht, per DeviceIoControl() die E/A-Operation im Kernel Mode auszuführen. Kontext-Register
-
Artikel
RFM12 Protokoll Stack
FSK-Modulation Sync-Erkennung auf 0x2D 0xD4 Definiert werden muss jedoch noch: Baudrate (Vorschlag: feste Kanal-Baudraten-Zuordnung) Zuordnung von Frequenzen zu Kanälen Bandbreite der Kanäle Management der Sendeleistung/Empfangsempfindlichkeit API Layer 2: Data Link. Media Access Control (MAC). Hier noch
kümmert sich um die Sicherung der zu übertragenden Daten. Außerdem können Geräte direkt mit ihrer Adresse (7-Bit) angesprochen werden. FEC Alle Bytes werden auf eine 16-Bit Hamming-Sequenz erweitert, wodurch die Datenrate halbiert wird. Dies erlaubt es einzelne Bitfehler zu korrigieren. Bei zu vielen
-
Artikel
DDS basierter Funktionsgenerator mit AD5930
braucht man nur noch die Bitlänge von 8 auf 16 umstellen und kann durch direktes Schreiben der Adressen den AD5930 programmieren. Als Beispiel soll gezeigt werden, wie ein 1MHz Sinussignal schnell per Hand mit diesem Tool programmiert werden kann: 06db - setzt die notwendigen Einstellungen in ControlRegister
kostenlos Programm FilterPro von Texas Instruments zum Einsatz. Wir legen folgende Randbedingungen fest: Passband: Low-Pass Circuit-Type: MFB Single-Ended bzw. MFB Fully Differential Anzahl Pole: 4 Cutoff Freq. 1,5M Filter Type: Butterworth Value Display: Component Values Components: Res. E48 und Cap.
-
Artikel
AVR Transistortester
TP2 Port ausgegeben werden. Der TP1 Port ist dabei auf Masse geschaltet. Pulsweitenmodulation mit fester Frequenz und einstellbarer Pulsweite auf dem TP2 Port. Der Zähler 1 wird für diese Funktion als 10-Bit Zähler benutzt. Der TP1 Port ist auf Masse geschaltet. Die Pulsweite kann durch kurzen Tastendruck
pour trois variantes mis à disposition par Asko B. se trouvent dans le fil de discussion sous l'adresse : Mikrocontroller.net/topic/248078?page=4#2891344 Voici l'article concernant le première version du testeur de transistors par Markus F. : AVR-Transistortester Downloads (deutsch). Die aktuelle Version
-
Artikel
PHILIPS VP5500 VoIP Telefon
Updateserver von KPN zuzugreifen (den es nicht mehr gibt). Glücklicherweise geschieht dies nicht über eine feste IP, sondern über einen Hostnamen, so dass man an dieser Stelle sich durch einen eigenen DNS den Domainname auf einen eigenen Server umleiten kann. Daher ist im eigenen Netzwerk eine Umleitung des DNS erforderlich (oder ein DHCP-Server, der die Adresse des DNS bekanntgibt. Stichworte 'Static DNS', ..). Das Gerät holt sich dann ein Updatepaket, das den Telnet-Zugang aktiviert. Dann lässt sich per Terminal (Linux. Windows: ....) die Kommandozeile
-
Artikel
Codebase für LPC1xxx
IOCON_PIO1_8' für GPIO 1.8, 'IOCON_PIO2_2' für GPIO 2.2, etc.). Achtung: Da dies ein Pointer ist, muß die Adresse (und nicht der Wert) des Registers übergeben werden. Dies wird erreicht in dem ein '&' vor das entsprechende IOCON Register gesetzt wird, z.B.: 'gpioSetPullup(&IOCON_PIO2_2, gpioPullupMode_Inactive
Keine No example currently available. uartRxBufferDataPending. void uartRxBufferDataPending() Stellt fest, ob Daten im FIFO sind. Wenn ein odermehr Bytes im FIFO enthalten sind, wird eine '1' zurückgeliefert Ist der Puffer leern wird eine '0' zurückgeliefert. Übergabeparameter: Keine Siehe das Beispiel
-
Artikel
Word Clock Variante 1
auch noch verdrahtet werden. Unter dem ‚B‘ wurde eine zusätzliche RGB-LED vorgesehen (D1). Diese ist fest mit Out 2 – 4 verbunden und zeigt so den DCF Empfang an. Falls die Anzeige des DCF Empfangs nicht gewünscht ist, braucht die LED98 sowie die Widerstände R114, R115 und R116 nicht bestückt zu werden.
habe ich Haushalts-Alu-Folie verwendet. Für die Klebung werden die 8 mm x 0.5 mm Magneten an dem fest gepressten 8 mm x 4 mm Magneten fixiert. Der Kleber wird dünn auf die Oberfläche des 8 mm x 0.5 mm Magneten aufgetragen, die Plexiglasscheibe korrekt positioniert und mit Hilfe von Gewichten während
-
Artikel
Reichelt-Wishlist
. 24LC256 oder 24AA256 oder 24LC512 oder 24AA512 | | 24AA02E48 (EEPROM mit einprogrammierter MAC-Adresse) * 3.3V async SRAM ab 16KByte | | 3.3V DRAM | * EEPROM mit SPI Schnittstelle 25XX Serien | * F-RAM mit SPI von RAMTRON | | FM25L16 o. FM25L256 SPI-FRAM * FPGA Konfigurations-EEPROMS AT17LV256, AT17C65
beschränken. Die meisten sind eh im Cent-Bereich und es dürfte logistisch einfacher/schneller sein, feste Stückzahlen vorzuhalten, was man preislich sicher an die Kunden weitergeben kann ;) Private Bestellungen an den Arbeitsplatz: Da ich oft nicht zur Post gehen kann, wenn eine private Bestellung von