-
Artikel
Schrittmotoren
der Periode von Schritt zu Schritt sind bestenfalls für kleine Beschleunigungen von sagen wir mal 1 bis 2 kHz ausreichend. Will man auf 5 bis 8 kHz drehen, muss vieles bedacht werden: 1. Das größte Manko vorneweg: Das sinkende Drehmoment bei hoher Drehzahl bedingt durch den Abfall der Stromanstiegsgeschwindigkeit
diese die erste Ableitung der Geschwindigkeit nach der Zeit ist, ist der Verlauf der Geschwindigkeit 1-cos(0..2pi) = 1+cos(pi..3pi) Nachteil: Maximale Beschleunigung in der Mitte 55% höher als bei linear. Kompromiss: Quadratische Rampe (Beschleunigung steigt linear an): 33% höheres Drehmoment erforderlich
-
Artikel
Multi-Domäne-Systeme
etwas theoretische Abhandlung lässt sich anhand einer Beispiele sehr einfach nachvollziehen. Beispiel 1: Mechanik Translationsbewegung Schritt Systemvariable Mechanik Zusammenhang Energie 1 Primärgröße X Impuls p 2 Differenzgröße Y Geschwindigkeit v 3 Flussgröße I X Kraft F 4 Extensum Ex Weg s Anmerkungen
Geschwindigkeit in „Volt“ ausgegeben wird. Da jedoch prinzipiell SI-Einheiten verwendet werden, entspricht 1V = 1m/s. Die Grenzgeschwindigkeit der fallenden Kugel beträgt also 47.63 m/s oder 171.5 km/h. Simulationsdatei für LTspice Berechnung der Parameter Nachricht an den Autor:. Feinmechaniker Downloads.
-
Artikel
Compilerfehler
Nebeneffekte sind z.B. das Verändern globaler Variablen. Beispiel: int z; int foo (int x) { int a = 1; int b; // b (und damit a) werden im weiteren Verlauf zwar noch verwendet, aber // der Wert in b ist dem Compiler bekannt. Er braucht also keine Variable // "b" anzulegen. b ist also in einem Debugger
: Most often reported Non-Bugs Five top causes of nasty embedded software bugs von Michael Barr, 4/1/2010, www.eetimes.com. (Race condition, Non-reentrant function, Missing volatile keyword, Stack overflow, Heap fragmentation) Five more top causes of nasty embedded software bugs von Michael Barr, 11
-
Artikel
Logic Analyzer
1 MByte) Ankopplung über RS232 Java Software Der SUMP Logic Analyzer hat wahlweise einen einfachen Trigger (Rising/Falling mit Maskierung) oder einen komplexen 4stufigen Trigger, sowie einen einfachen
5volt tolerant channels USB interface, USB powered Die Software hat Interpreter für RS232, SPI, I2C, 1-Wire und einen A/D-Wandler. Software in action: Overview and using RLE : * Capturing & Decoding UART data: Eine fertige Platine gibts von www.Seeedstudio.com für 50$ oder in Deutschland bei für 45,22
-
Artikel
AVR-Tutorial: Arithmetik8
, wird ein 0b vorangestellt): 0b10011011 = 1 * 128 ( 128 = 2 hoch 7 ) + 0 * 64 ( 64 = 2 hoch 6 ) + 0 * 32 ( 32 = 2 hoch 5 ) + 1 * 16 ( 16 = 2 hoch 4 ) + 1 * 8 ( 8 = 2 hoch 3 ) + 0 * 4 ( 4 = 2 hoch 2 ) + 1 * 2 ( 2 = 2 hoch 1 ) + 1 * 1 ( 1 = 2 hoch
um die Zahl 0b11111111 . In Dezimalschreibweise wäre das die Zahl 0b11111111 = 1 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 1 * 4 + 1 * 2 + 1 * 1 oder ausgerechnet: 255. Wird also mit 8 Bit Arithmetik betrieben, wobei alle 8 Bit als signifikante Ziffern benutzt werden (also kein
-
Artikel
Batteriemonitor mit Dual Slope Wandler
Aufladungszeiten in Form von Zählerständen ermitteln kann. Dazu eignet sich am Besten der 16-Bit Timer1 des ATmega168. Er verfügt zudem über einen Capture-Betrieb, bei dem der Zählerstand hardwaremäßig über einen Flankenwechsel am ICP-Pin im ICR1-Register gespeichert werden kann. Der Timer1 wird folgendermaßen
ist. Ist dies geschehen, erzeugt der Komparator eine steigende Flanke und der Zählerstand des Timer1 wird in dem ICR1-Register gespeichert. In der Interrupt-Routine für den Capture-Betrieb wird anschließend der Wert des ICR1-Registers in die Variable ad_wert kopiert. Nachdem die Interrupt-Routine beendet
-
Artikel
MMC- und SD-Karten
steigenden Taktflanke ein, als SPI-Modi eignen sich somit Mode 0 (CPOL=0, CPHA=0) und Mode 3 (CPOL=1, CPHA=1) (siehe auch Serial Peripheral Interface). Bei MMCs ist der SPI-Modus nicht genau spezifiziert, somit kommt es durchaus mal vor dass der SPI-Modus je nach Karte unterschiedlich gewählt werden
Floppy Emulator von Retromaster (PIC32 @ 80 Mhz, 16 Mb SDRAM) Weblinks. Difference-between-slc-mlc-tlc-3d-nand
-
Artikel
RFID-Zeiterfassungs Terminal
Wannenstecker, Stiftleisten, Poti, Folienkondensatoren, Quarz, Uhrenquarz, RTC DS1307, Summer, Flachkabel, Sub-D Stecker) OKW (Gehäuse Hersteller): Gehäuseunterteil, Gehäusedeckel, Wandhalterung, Abdeckstreifen Transparent für individuelle farbliche Gestaltung Gehäuse auch bei Conrad erhältlich TES-Frontdesign:
Serverzeit ermitteln und RTC setzen Funktion (Kommen/Gehen usw.) anhand Uhrzeit ermitteln Funktionstext (1 = Kommen, 2 = Gehen, usw. ermitteln und anzeigen) Wochentagtext ermitteln anhand Tage (1-7) Bei Tastendruck Funktion setzen (Kommen/Gehen/Dienstgang usw.) Bei RFID Interrupt Anfrage senden (TerminalID
-
Artikel
PAL
für "Phase Alternating Line" und invertiert die Phase des Rot-Differenzsignals von Zeile zu Zeile, d.h. der (R-Y-Anteil) des Farbsignals wird nach jeder übertragenen Zeile um 180° gedreht. In der Pop-Kultur gibts je nach Standort des Betrachters auch die Akronyme Perfect At Last oder Picture Always
programmierbare Logik. PALs bestehen aus einer programmierbaren AND und einer festen OR Matrix. PALs sind nur 1x beschreibbar da die Verbindungen auf dem Chip durch das "durchbrennen" von Verbindungen beim Programmieren hergestellt werden, PROM Technik. PALs wurden zunächst in bipolarer Technik realisiert und
-
Artikel
Kapazitiver Koppler
Beschreibung. Zur galvanischen Trennung elektrischer Signale wird i.d.R. ein Optokoppler eingesetzt. Optokoppler haben jedoch spezifische Nachteile, die zu Einschränkungen in einigen Schaltungen führen. Alterung der Lichtquelle (LED Degradation) Geschwindigkeit Temperaturbereich
Produktfamilie. Die Nomenklatur der Produktfamile ist ISO72xy-X x: Anzahl der Koppler y: Variante X: A - 1 Mbps B - 5 Mbps C - 25 Mbps M - 150 Mbps Einfachkoppler. Zweifachkoppler. Dreifachkoppler. Vierfachkoppler. externe Links. ISO Kopplerfamilie
-
Artikel
Einstieg in die ARM Entwicklung
für die Toolchain gelten aber auch für die Verwendung einer anderen IDE wie z. B. Eclipse +border="1"| Tabelle 1: Eingesetze Software und deren Versionsnummern Software Version Open On-Chip Debugger R717 2008-06-19 Yagarto Tools 2007-03-03 YAGARTO GNU ARM Toolchain 2008-09-28 Netbeans IDE + C/C++ Pack 6.1 Putty beta 0.60 ATMEL AT91-ISP v1.12 Windows Vista Command Shell (cmd) 6.0.6001 Hardwareinstallation. Das verwendete SAM7-H256 Board von Olimex kann auf zwei Arten angesprochen werden. Über den Atmel
-
Artikel
Absolute Beginner
Drahts fürs Steckbrett sind in folgendem Thread nützliche Informationen zu finden: *Widerstände: 330 Ω, 1 kΩ, 3.3 kΩ, 10 kΩ, 100 kΩ, 1 MΩ (lies: "Ohm"/"Kilo-Ohm"/"Mega-Ohm"). Ob man sich Kohleschicht- oder Metallfilmwiderstände kauft, ist zunächst unerheblich. Potentiometer: 1 kΩ, 10 kΩ, 100 kΩ Elektrolytkondensatoren
: 1N4148, 1N4007; BAT43 oder BAT85 (Schottky) LEDs verschiedenfarbig, je nach Geschmack. Man sollte zumindest einige Farben haben, um unterschiedliche Betriebszustände u.ä. anzuzeigen. Transistoren: BC547
-
Artikel
X86
Pipeline, FPU jetzt auf dem Chip und nicht mehr als Coprozessor 80586 (aka Pentium) 2-Wege superskalar, d.h. der Prozessor kann theoretisch pro Takt zwei Instruktionen ausführen, längere Pipeline Pentium MMX Neue Befehle und Register um mit Multimediadaten besser umgehen zu können Pentium II 3-Wege superskalar, längere Pipeline Pentium IV OPs statt der eigentlichen Befehle im 1st-Level Cache, längere Pipeline, architekturbedingt höherer Takt möglich, neue Befehle AMD64 64-Bit Erweiterung des x86 Designs, mehr Register, mittlerweile von Intel in Lizenz genommen Abwärts-Kompatibilität
-
Artikel
Aquarium-Steuerung
Aquarium-Steuerung. Als Controller fungiert ein PIC . Dieser besitzt unter anderem 128kB Flash, 12 Bit A/D Wandler, USB. Zum Einstellen der Parameter wird dieser per USB mit einem PC verbunden. Momentaner Stand: LCD-Ausgabe Temperaturmessung mittels DS18B20 Berechnung von Sonnenauf- und -untergang Berechnen
die Uhrzeiten. Für die Mondphase benötigt man das Datum. Als Rückgabewert erhält man: 0 = Neumond 1 = Viertelmond (zunehmend, Sichel nach links) 2 = Halbmond (zunehmend, Sichel nach links) 3 = 3/4 Mond (zunehmend, Sichel nach links) 4 = Vollmond 5 = 3/4 Mond (abnehmend, Sichel nach rechts) 6 = Halbmond
-
Artikel
Xilinx timing constraints
Cpld:2 - Cannot apply TIMESPEC AUTO_TS_F2F = Wenn ich anstatt "Di <= not Di;" ersatzweise "Di <= Di + 1;" einsetze bekomme ich keine Warnungen mehr. Antwort. Hm, da man nicht viel weiss muß man qualifiziert raten. Ich nehmen an, du baust einen CPLD und hast keine Timingconstraints angegeben (.ucf file
die Makrocell Logik und wahrscheinlich auch die switchmatrix genutzt. Die FF werden wohl im Modus, D_FF mit Enable und synchronen Set/Reset genutzt. Also es gibt etliche genutzte Pfade mehr in dem Counterdesign. Damit findet im zweiten design der timinganalyzer sehr wohl Pfade, auf die die Timingconstraints
-
Artikel
RFID Antenne
Drahtwiderstand der Antenne = Resonanzfrequenz (hier 125kHz) = Induktivität in Henry (H) Drahtwiderstand R d. = Antennenradius in cm = Windungen = Spezifischer Widerstand (bei Kupferdraht ≈ 0.017 Ω·m) = Draht-Querschnittsfläche in mm 2 : = Drahtdurchmesser in mm Serienwiderstand. Durch den Serienwiderstand
Antennengüte Rechnung. Bei und kHz bekommt man kHz Dies bedeutet, dass man bei einer Frequenzabweichung von ±1.56kHz zu 125kHz bereits nur noch –3db (die Hälfte) des maximal möglichen Signals "empfangen" würde. Links.
-
Artikel
AVR-GCC-Tutorial/Assembler und Inline-Assembler
16-Bit Wert als Parameter, und der Inline-Assembler dekrementiert diesen Wert so lange, bis er zu –1 unterläuft, was die Schleife beendet. Inline-Assembler hat hier den Vorteil, dass die Laufzeit – abgesehen von Interrupts, die gegebenenfalls während der Scheifenausführung auftreten – unabhängig von
dass es sich bei der Datei um eine Assembler-Quelle handelt. Die Quelle wird zunächst präprozessiert, d.h. man kann Direktiven wie #include und #define verwenden. Danach wird die präprozessierte Datei an den Assembler übergeben. Alternativ kann die Endung .S verwendet werden. Bei einer anderen Dateiendung
-
Artikel
AVR-Tutorial: Speicher
flüchtig nein nein ja Größe beim ATtiny2313 2 KB 128 Byte 128 Byte Größe beim ATmega8 8 KB 512 Byte 1 KB Größe beim ATmega32 32 KB 1 KB 2 KB Größe beim ATmega2560 256 KB 4 KB 8 KB Flash-ROM. Das Flash-ROM der AVRs dient als Programmspeicher. Über den Programmieradapter werden die kompilierten Programme
als Speicher für Messwerte oder Einstellungen benutzen. RAM. Das RAM ist ein flüchtiger Speicher, d.h. die Daten gehen nach dem Ausschalten verloren. Es kann beliebig oft gelesen und beschrieben werden, weshalb es sich zur Speicherung von Variablen eignet, für die die Register R0-R31 nicht ausreichen
-
Artikel
Bebilderung
Informationen wie Bemaßung oder Graphen gut erennbar bleiben. In einer Grafik, die eine Funktion mit 1 Pixel breite darstellt und die auf 3000×2000 Pixel ausgelegt ist, wird nach einer für Wiki-Seiten vernünfigen Skalierung nicht mehr viel übrig bleiben. Daher sollte bei einer Grafik auch immer deren
, Fließtext in Grafiken zu schreiben. Stattdessen sollte Fließtext als solcher geschrieben werden, d.h. auf der Bildbeschreibungsseite als Information zur Grafik bzw. in einem Artikel, der die Grafik verwendet als Thumbnail-Text. Keine Siamesischen Zwillinge: Grafiken, die als Siamesische Zwillinge
-
Artikel
Avr-gcc Bugs
4.7.2 53448 __attribute__((aligned(2))) ignored 4.7.1 53256 Attribute 'interrupt' shall override attribute 'signal' 4.7.1 53065 ICE: in replace_reg_with_saved_mem, at caller-save.c:1125 4.7.1 53033 Wrong register number for 3-byte loads via X 4.7.1 52737
of save/restore of RAMPX/Y/Z/D SFRs in ISR pro-/epilogue 4.7.1 52505 __memx address space reading unintentionally from RAM 4.7.1 52496 avr-specific built-ins missing memory barrier 4.7.1 52488 ICE: unreconizable addqi -2000 insn 4.7.1
-
Artikel
CAN als Hausbus
Linie. Beide Verkabelungsarten lassen sich auch mischen, so dass beide Vorteile zum Tragen kommen. D.h. die Kabel werden sternförmig vom Sternmittelpunkt zu jedem Busteilnehmer gezogen. Beginnend von einem Teilnehmer (der als Busanfang festgelegt wird) wird das Buskabel über ein Adernpaar zum Teilnehmer
sowieso Cat5-Leitung vorsieht, so sind von den 4 Adernpaaren durch diese Verkabelungsart 2 Paare belegt, 1 - 2 weitere Paare können dann für Versorgungsspannung oder ähnliches verwendet werden. Baumverkabelung. Bei CAN per Spezifikation nicht erlaubt, da an den Stichleitungen Reflexionen zu Störungen führen
-
Artikel
Entscheidung Mikrocontroller
PIC16F84A (5.5V) MSP430F2618 (3V) Einheit 32KHz 62 80 45 - k.A. µA 100KHz 0,3 0,5 - - 0,084 rowspan=4|mA 1MHz, 2MHz* 1,5 2,3 4 - 0,5 8MHz, 4MHz* 5 7/15** rowspan=2|- 4,5 4,2 16MHz, 20MHz* - 20 20 9,5 (3,3V) [*] Abweichende Taktangabe für PIC16*F84A, da hier keine entsprechenden Werte für die Frequenzen des
Aufgrund stark unterschiedlicher Befehlssätze verschiedener Controllerfamilien ist das Gelernte nie 1-zu-1 übertragbar und meist nur direkt auf einen einzigen Prozessor oder allenfalls auf eine Familie "verwandter" Produkte anwendbar. Dennoch kann man sich mit einiger Erfahrung recht schnell in einen
-
Artikel
Speicherdirektzugriff (DMA) mit dem ATxmega
aktuellen Quell- zur Zieladresse. Die Anzahl der Bytes entspricht hierbei der Burst Length und kann 1, 2, 4 oder 8 Bytes betragen. Während eines Bursts wird der Datenbus des ATXMega komplett vom DMA-Controller beansprucht und andere DMA-Kanäle können in dieser Zeit auch nichts kopieren. Source/Destination
Wert zu befüllen, z.B. um einen Speicher zu nullen. Die implementierte Version läuft synchron ab, d.h. der Vorgang ist mit Beendigung der Methode ebenfalls beendet. DMAController.h. DMAController.cpp. Ausblick. Leider ist es in dieser Version noch nicht möglich sämtliche Triggerevents komfortabel mit
-
Artikel
TV-out
pro Sekunde dargestellt, also insgesamt 25*625=15625 Zeilen pro Sekunde. Eine Zeile dauert demnach 1s/15625Zeilen = 64 µs/Zeile. Davon sind aber nur 52 µs sichtbar, die andere 12 µs werden für den horizontalen Strahlrücklauf benötigt. Der vertikale Strahlrücklauf dauert 1,5 ms (entspricht 25 Zeilen)
(Atmega8515 @ 16 MHz, PAL). Es werden die drei RGB-Signale und das Composite Sync Signal erzeugt, d.h. ggf. ist noch ein NTSC/PAL-Encoder notwendig. PAL/RGB 32x24 Zeichen mit 2x4bit Farben von Eddy-B (ATMega32 @ 16 MHz, PAL). Auch hier werden 3 RGB-Signale und ein Composite Sync Signal erzeugt. The
-
Artikel
ARM-DevCpp
Compilers). Ähnliches gilt für die C++-Includes, hier ist C:\Programme\GNUARM\include\c++\3.4.3 (4.0.1 für den 4.0er Compiler) nötig (noch nicht getestet, ggf. Unterverzeichnisse hinzufügen). Nun ist die Umgebung schon fast fertig eingerichtet. In der Karteikarte Programme müssen nun noch die richtigen
eine Haupt-Datei hinzu: Projekt->Neue Datei. Hier schreibt man eine Routine int main(void){ while(1); } mit einer Endlosschleife rein. Danach speichert man diese (Datei->Speichern) unter dem Namen main.c. Hersteller Spezifischer Code. Weiterhin muss dem Projekt noch der Startup-Code hinzugefügt werden
-
Artikel
Mac OS X
CC5X unter DOSBox ausführen. Von Microchip gibt es einen billigen Brenner für Anfänger namens PICkit 1, der den Vorteil hat, dass er über USB angeschlossen wird. Die OSX-Software von Microchip meldet mir beim Schreiben einen Fehler, scheint aber dennoch zu funktionieren. Alternativ gibt es auch noch die
sogar als Freeware-Version. Elektroniksoftware. Neben den hier genannten Programmen sind außerdem i.d.R. alle Open-Source-Programme für X/Linux unter Mac OS X kompilierbar. Eagle Layout Editor IVIonOSX - VHDL- und Verilog-Simulator, Open Source DirectVHDL - VHDL-Simulator, $ 99 Hardware. Macs sind durchdesigned
-
Artikel
FPGA Soft Core
Spartan3 OpenCores T51-Core 8051 IP Core entfällt ja, VHDL 64k asm, Basic, C, ... sdcc, MCS-Basic, ... 1-4 cycle 8051 open IP-Core Oregano Systems LatticeMico8 Lattice ja, Verilog & VHDL asm, C GNU Toolchain open IP-core Lattice PicoBlaze Xilinx ja, VHDL 2k (1024 Befehle) asm (DOS/ dosbox) lt. Xilinx 100
Version davon ist auch bei OpenCores erhältlich, dort ist der reine Prozessor-Code noch unter eine 1-Klausel-BSD-Lizenz (die Peripherie aber auch dort bereits unter GPL). Panda. Es steht eine grafische Builder-SW zur Verfügung, um ein System inklusive Peripherien zu generieren, ohne VHDL schreiben zu
-
Artikel
Digitaler Zufallszahlengenerator in VHDL
wird, führt aber immer wieder zu ähnlichen Sequenzen und ist zudem in vielen Fällen vorhersagbar - d.h. bei jedem Start identisch. Ein klassischer Rauschgenerator hingegen kann nicht wirklich sicherstellen, dass jede Zahl in einem bestimmten Zeitraum mindestens einmal auftaucht und fabriziert ferner
die ursprünglichen Gruppen, die beim Einschreiben entstehen, verwischt. Auch das Einleiten in einen 1:n FIFO mit nachträglicher gruppenweisen Tauschung ist sehr effektiv. Leistung. Durchmischung. Bei der Verwendung von 7 Einschreibepattern und 11 Auslesepattern ergeben sich bereits 77 verschiedene Datenmuster
-
Artikel
KFZ Diagnosegeräte
Chrysler, GM, Opel CAN: ISO15765/SAEJ2480: Für OBD-2 seit 2008 vorgeschrieben. KW1281 (VW) KW71/DS1/DS2 (BMW) KW81/KW82/div. GMW (Opel) D2/GGD/VDS (Volvo, wobei VDS mit Standard UDS kompatibel sein müsste) Mehr hier: blafusel.de/obd/faq.html#faq20 Marktübersicht. Die Hardware ist relativ simpel, auch
Bemerkungen OP-Com Opel OP-Com.hu 900 € ? VCDS VAG (VW, Audi, Seat, Skoda, etc.) Ross-Tech.com 400 € - 1.200 € Sehr viele Möglichkeiten beim Auslesen und Ändern. Alle Steuergeräte. Gut dokumentiert. VAG-COM VAG Vorgänger vom VCDS VAGdashCOM/CAN VAG shop.VAGdashCOM.de offline nur km-Stand und Schlüssel anlernen
-
Artikel
AVR TWI
Bustreiber mit offenem Kollektor bzw. Drain am Bus anliegen, ergibt sich eine logische UND-Verknüpfung. D.h., sobald irgendein Gerät auf einer der Busleitungen Low-Pegel anlegt, liegt automatisch die gesamte Busleitung auf Low. Der Bus hat nur High-Pegel, wenn alle angeschlossenen Geräte auch High-Pegel
Komponente. Ein weiteres Bit bestimmt, ob ein Lese- oder ein Schreibzugriff durchgeführt werden soll (R/W=1 -> Lesen; RW=0 -> Schreiben). Das 9. Bit dient der Bestätigung. Wenn ein Slave bemerkt, dass er angesprochen wird, so bestätigt er dies, indem er mit dem 9. Taktzyklus (ACK) von SCL die SDA-Leitung auf
-
Artikel
LiFePO4
Ladevorgang sehr einfach hinzubekommen. Als erstes muss man für einen konstanten Ladestrom (CC) von z.B. 1 A sorgen. Jetzt muss man nur noch dafür sorgen, dass die max. Ladespannung nicht überschritten wird, indem man diese konstant (CV) auf z.B, 3,6 V hält. Wenn sich jetzt mit der Zeit der Akku lädt, verkleinert
veraltete NiMH-Zellen, welche sich bei sehr schlechter Qualität um bis zu 5 % pro Tag entladen können (i.d.R. 10-20% pro Monat bei guten Zellen). Neuere LSD- bzw. Ready2Use-NiMH-Akus weisen eine Selbstentladung von nur ca. 10% pro Jahr auf, wobei direkt nach dem Aufladen weitere bis zu 10% im ersten Monat
-
Artikel
EFM32
Serial Bootloader, 1-2x USART, 1x LEUSART, 1x I2C 2x 16bit Timer, 2x 3 Compare/Capture/PWM Channels, 1x 16bit LETIMER (Low Energy), 1x 24bit Real Time Counter, 1x Pulse Counter, Watchdog, Power-on Reset, Brown-Out Detector
Taktzyklen ausgeführt, was die Verweildauer im Aktivmodus erheblich reduziert. ARM Cortex M3 bietet 1.25DMIPS/MHz, d.h. er benötigt nur ca. 1/4 der Taktzyklen eines MSP430 und verbraucht somit weniger Energie. Zusammen mit dem geringen Stromverbrauch im Aktivmodus von 150µA/MHz verbaucht der EFM32 daher
-
Artikel
C ohne Makefile
avrdude -c usbasp -p $M -B 12 -U flash:w:"$F".hex:i; exit; */ include int main(void) { DDRB= 0xFF; while(1) { PORTB= 0x03; // ... } return 0; } Voraussetzungen. Neben avr-gcc wird im Beispiel das weit verbreitete Programm avrdude verwendet. Natürlich kann auch jedes andere Programm zur Übertragung der am
Befehlszeilenkommando kann man sich anzeigen lassen, welche Assembler-Befehle der C-Compiler erzeugt hat: avr-objdump -D -m avr -S -j .text -j .data hier_der_quelldateiname.elf C-Programmierer mit guten Assemblerkenntnissen werden hier so manche Überraschung finden. Teilweise lernt man neue Kniffe, die man danach selbst
-
Artikel
AVR32 Studio Einstiegshilfe
verwenden des Studio unter Linux fehlen noch, ebenso zum proggen und hw-debuggen. Installation. Windows. 1. AVR32 Studio laden und installieren 2. AVR32 GNU Toolchain laden und installieren 3. FLIP-Tool laden und installieren 4. AVR32-Studio ausführen Das auf der Eclipse-IDE basierende Studio fragt beim ersten
objdump -h -S View topic - avr32-gcc How to get assembly language listings? :: AVR Freaks avr32-objdump -d -S View topic - Pure assembly? :: AVR Freaks Wie sich reines ASM verwenden lässt, und viele hilfreiche Tips mehr. Zu Großer Code durch Newlib View topic - where does these add-on codes came from? ::
-
Artikel
Retrocomputing auf FPGA
zu Shift und Tastenmatrix ist in einem Record hinterlegt Die Spalten (col) werden in dem Record von 1 bis 8 nummeriert, die Zeilennummer reichen von 1 bis 4. Die Shifttasten sind mit NON,S1,S2 und S3 codiert. Im FPGA wird diese codierung in einen ROM mit 7bit breiten Datenworten umgesetzt. Von deisen
zwei Tasten gedrückt sein können (bspw S1 für x) wird in der zweiten Phase die zeilennummer über den zweiten Port zurückgelesen und die Zeilennummer der eigentlichen Taste hinzugefügt. Beim Loslassen einer Taste wird für die S1|S2|S3 und für
-
Artikel
ZPU: Softcore Implementierung auf Spartan-3 FPGA
) Bus: Wishbone-Bus 32 Bit Peripherie: Interrupt-Controller UART (8N1) SRAM VGA PS/2 Onboard-I/Os Einleitung. Im Rahmen des Projekts stand ein Experimentierboard Spartan-3 von Xilinx zur Verfügung. Das Spartan-3 ist ein Einsteigerboard (s. Abbildung 1) mit einem XC3S200
für die Interfaces sind hart kodiert und lassen sich durch Anpassung im softcore_top.vhd anpassen. 1. RS-232-Schnittstelle: Einen UART mit 8 Datenbits, 1 Stopbit, Parity none und 115200 Baud (in der Datei soft-core_config.vhd festgelegt). Bei Eintreffen eines Zeichens am UART wird ein Interrupt ausgelöst
-
Artikel
Uc-wiki:Kategorieneinteilung
Harvard-Architektur Hauptseite Heap-Fragmentierung IC ISP Interpreter JTAG Java Jfig Kellerspeicher Kernel L293D LCD LED LPC-P1 LPC-P2106 LPC2100 LPC210X LPC21XX LTC1257 Linux Lizenzbestimmungen Lizenzumstellung Lizenzumstellung Logische Verkn�pfungen MIDI MMU MP3 MRAM MSPGCC Mac OS Madistor Makro Manchester Mikrocontroller
-
Artikel
Part-DB RW - Lagerverwaltung
Widerstandsrechner Barcodegenerator und Scanfunktion für Barcodes Verschiedene mitgelieferte Themes 3D Footprints Unterstützung von BBCode, in den Bauteilen Suche mittels regulärer Ausdrücke Auflistung von Teilen an einem Lagerort, mit einem bestimmten Footprint oder eines bestimmten Herstellers automatische
hier: Version 0.3. Links. PART-DB RW Fork/Weiterentwicklung: Diskussion: Github repository (bis v0.3.1): Github Fork v0.4.0: andere Softwareprodukte mit vergleichbarer Funktionalität: Teileverwaltung von Gutmensch (App. basiert): Elektronik Lagerverwaltung, EleLa ein anderes Lagerverwaltungsprogramm,
-
Artikel
STM32 Eclipse Installation
Projekt hat geht auch CTRL-B. Die Funktionen des Demo-Projekts Blink-LED auf Prot A.0, Port C.7, PortD.3,4,7,13 (STM3210C-EVAL Board) Initialisieren aller Variablen Initialisieren Clock auf HSI, 8MHz Initialisieren IO-Pins der LED's Initialisieren Timer für Systick Main-Schleife in der die Timer-Variablen
Peripherie leichter planen. Jedoch sollte man bei diesem Tool aufpassen: Wenn man z.B. zu erst CAN1 heraussucht und später FS_USB, so ist FS_USB nicht möglich. Wenn man das anders herum macht, so wird CAN1 auf alternative Pins gelegt und die Zuordnung klappt. Somit sollte man erst die Peripherie auswählen
-
Artikel
DebugWIRE
Physik. debugWIRE ist als sogenannter Eindrahtbus konzipiert, ähnlich wie der Dallas (jetzt Maxim) 1-wire-Bus. Es erfolgt eine bidirektionale Datenübertragung über nur einen einzigen Draht (und Masse als Bezugspotential). Um die Applikation in den ihr zur Verfügung stehenden Pins möglichst wenig einzuschränken
Während sich der Controller im debugWIRE Mode befindet, ist die SPI-Schnittstelle vollkommen autonom. D.h. am SPI angeschlossene Hardware wird nicht beeinflusst oder beeinflusst ihrerseits die debugWIRE-Verbindung. Die Kommunikation mit dem Controller findet ausschliesslich über den Reset-Pin statt. Beim
-
Artikel
I²C
gleichzeitig angesprochen werden können. Ein Problem mit manchen Slaves ist der eingeschränkte Adressbereich, d.h. sie liegen auf einem definierten Bereich und haben darin z.b. nur 3 Bit als Programmieroption. Somit schließen diese Slaves indirekt andere Adressen aus. Adressierung. Der (oder die) Master sprechen
Manche interpretieren einen lange niedergehaltenen Takt auch als Reset. Daher sind Taktraten von unter 1kbps in der Regel nicht denkbar. Als Beispiel können jedoch mit einer Taktfrequenz von nur 5 kbit/s durchaus mehrere Meter überbrückt werden: Erfahrungen mit den Atmegas (gemessene I2C-Taktfrequenzen)
-
Artikel
EMV Einfache Tester
machen kann. Mit einem Handy kann man zumindest herausfinden, ob stärkere Einstrahlungen bei etwa 1 GHz (D-Netz) oder 2 GHz (E-Netz) einen Einfluss auf die Funktion der Schaltung haben. Am besten sorgt man für schlechte Empfangsverhältnisse, denn nur dann drehen die Handys so richtig die Leistung auf
-
Artikel
Brushless-Controller für Modellbaumotoren
würde das folgendermassen aussehen: Zustand Phase A Phase B Phase C Stromfluss Komparator-Eingänge 1 PWM Floating GND A --> C MITTEL NULL_B 2 Floating PWM GND B --> C MITTEL NULL_A 3 GND PWM Floating B --> A MITTEL NULL_C 4 GND Floating PWM C --> A MITTEL NULL_B 5 Floating GND PWM C --> B MITTEL NULL_A
die Kommutierungszeitpunkte bestimmen zu können. Dann habe ich eine Funktion, welche den Zustand (1 bis 6) eins weiterschaltet und die Ausgänge entsprechend setzt. Dabei werden die Pins, die das PWM-Signal enthalten sollen, einfach als Eingang definiert, wie ich schonmal erwähnte. Wichtig ist ausserdem