-
Artikel
AVR Checkliste
'Sicherungen'), die das Verhalten des Prozessors auf grundlegender Ebene bestimmen. Ein häufiger Fehler ist beispielsweise, dass über die Fuse "CKSEL" ( clock select ) die falsche Taktquelle gewählt wurde. Die meisten AVRs können mit dem internen Oszillator ( internal R/C ), mit einem externen Oszillator
Für serielle, asynchrone Kommunikation per UART sollte man deshalb immer einen Quarz oder einen Oszillator verwenden, egal bei welcher Baudrate: 3% Fehler sind immer 3% Fehler, egal ob bei 1200 oder 9600 Baud. Falls doch der interne Oszillator verwendet
-
Artikel
AVR-Tutorial: UART
nicht! Auch ist der interne Oszillator temperaturempfindlich. Damit hat man dann den schönen Effekt, dass eine UART-Schaltung, die im Winter noch funktionierte, im Sommer den Dienst verweigert. Außerdem muss bei der Berechnung
die folgenden Macros. Die rechnen sogar den Fehler aus und brechen die Assemblierung ggf. ab. Das ist dann praktisch idiotensicher. Wer dennoch den internen RC-Oszillator verwenden will, muss diesen kalibrieren. Näheres findet man dazu im Datenblatt
-
Artikel
AVR Bootloader optiboot Assemblerversion
installierten Bootloaders einfacher, selbst mit einem anderen PC. Unterstützt die Anpassung der Oszillator-Frequenz für den AVR internen RC-Oszillator. Dadurch ist auch in Problemfällen die Benutzung eines Bootloaders mit fester Baudrate möglich. Das Laden des optiboot Programms in den jeweiligen AVR
LFUSE Einstellung. Im ersten Beispiel paßt die Betriebsfrequenz 16 MHz nicht zu dem gewählten RC-Oszillator Betrieb. Korrekt wäre ein Aufruf wie make atmega328p LFUSE=E2 F_CPU=8000000 BAUD_RATE=38400. Hier soll aber gezeigt werden, daß beim Erstellen des Bootloaders versucht wird, Fehler zu vermeiden.
-
Artikel
AVR-Tutorial: Equipment
es viele Möglichkeiten zur Taktversorgung, die Wichtigsten sollen hier gezeigt werden: interner RC-Oszillator (das ist der Auslieferungszustand), Keramikresonator, Quarz, Quarzoszillator. + Vergleich der AVR-Taktquellen Typ Genauigkeit Vorteile Nachteile interner RC-Oszillator 1…5 % • XTAL1/
0,0001 % (engl. one part per million, der millionste Teil) Achtung: Ein ATmega8 wird mit aktiviertem internen RC-Oszillator ausgeliefert. Um eine andere Taktquelle zu aktivieren, müssen die AVR Fuses des Prozessors verändert werden. Das muss jedoch sehr vorsichtig gemacht werden, siehe Artikel. Keramikresonator
-
Artikel
AVR-GCC-Tutorial/Der UART
(ATmega, ATtiny) verfügen über einen bis vier USART(s), dieser unterscheidet sich vom UART hauptsächlich durch interne FIFO-Puffer für Ein- und Ausgabe und erweiterte Konfigurationsmöglichkeiten. Die Puffergröße ist allerdings nur 1 Byte. Die Hardware. Der UART basiert auf normalem TTL-Pegel
Quarzanschluss (z.B Atmega328), die den Timer2 im Asynchron Modus benutzen, müssen intern mit dem RC-Oszillator getaktet werden. Dieser sollte dann kalibriert werden: Kalibrieren des internen Oszillators mit Timer2 als Zeitbasis Die UART-Register. Die UART wird über vier separate Register angesprochen. Die
-
Artikel
Quarze und AVR
und wird somit nur noch von Quarzoszillatoren überboten. Außerdem sind Quarze im Gegensatz zum internen RC-Oszillator weniger temperaturabhängig. Verwendung. Quarze sind in folgenden Situationen sinnvoll / notwendig: Interner Oszillator des µC zu langsam Interner Oszillator des µC zu ungenau Bei Verwendung des UART Bei zeitgenauen Anwendungen wie Uhren Wahl der richtigen Frequenz. Vor allem als Anfänger denkt man sich, ich kaufe einfach mal 10MHz, das ist eine so schön gerade Zahl. Allerdings sind diese Quarze
-
Artikel
Launchprog
sich auf die Baudrate der eintrudelnden Daten aufzusynchronisieren. Die meisten Software-UARTs benutzen also den internen RC-Oszillator. Das erste Zeichen sollte meist ein 'U' sein(0b01010101 oder 0x55). Der Nachteil an dieser Sache ist, dass das erste gesendete Zeichen nicht bei jeder steuernden
wird über eine Art Software-PLL der RC-Oszillator des MSP430G2211 getrimmt. Nach dem Start hat man dann hinreichend stabile 16MHz Haupttakt. Wer wissen will, wie das genau geht, kann sich den Sourcecode zur Software-UART von Rick Kimball ansehen
-
Artikel
Schwingquarz
= 500Hz. Bzw. eine Frequenz zwischen 9.9995MHz und 10.0005MHz. Verwendung. Quarzstabilisierte Oszillatoren werden immer dann eingesetzt, wenn die Anforderungen an die Grundgenauigkeit und/oder die Stabilität der Frequenz zu hoch sind, als daß sie durch RC- oder LC-Oszillatoren eingehalten werden könnten
Baudraten erreichen, siehe dazu Baudratenquarz. Mit "runden" Frequenzen entstehen u.U. einige Prozent Fehler. Quarze in Eagle. In Eagle findet man Quarze in der Bibliothek "Crystal" in der Untergruppe "Crystal". Im Forum wurde eine Bibliothek mit mehreren SMD-Quarzen und Oszillatoren hochgeladen: Siehe Eagle-Bibliotheken
-
Artikel
Und noch 'ne Nixie-Uhr
Betriebsspannung benötigt. Kein Quarz und keine externe Reset-Schaltung. Der ATMega1284P wird von dem internen 8MHz-Oszillator angetrieben. An B7 soll eine Kontroll-LED mit Widerstand nach +5V. Sie hat keine Funktion, hilft aber bei ersten Tests. Beim ersten Flashen müssen folgende Fuses angepasst werden: - Reset-Schaltschwelle auf 2,7V - JTAG aus - Takt-Teiler 1:8 aus - interner 8MHz-Oszillator ein Wichtig: auf keinen Fall SPIEN verändern ! Stromversorgung und USB-Seriell-Modul. Die Stromversorgung erfolgt über ein USB-Netzteil oder der USB-A-Buchse eines angeschlossenen
-
Artikel
AD-Wandler
Ein-Bit-Audio, PDC) und 24 Bit - in Sonderfällen noch mehr. Den, durch die Wandlung entstehenden Fehler zwischen dem tatsächlichen Wert und dem ausgegebenen (gewandelten) Wert, nennt man Quantisierungsfehler. Er entsteht durch die unvermeidbare Rundung und die Art der Wandlung. So entstehen durch die Nichtlinearität der Bauteile ebenfalls Fehler, wodurch die theoretisch möglichen Auflösungen der Messprinzipien niemals erreicht werden. Der Wandlungsvorgang benötigt immer eine gewisse Zeit, während der die Eingangsgröße konstant bleiben muss
-
Artikel
GPS-Platine mit Tyco-Modul
AT91R40008-66AI (ARM7TDMI-Familie) ist eine CPU 32-Bit vom Hersteller Atmel. Er besitzt 256 kB internes SRAM aber kein internes Flash-ROM. Zur dauerhaften Programmspeicherung wird ein externes Flash-ROM (Atmel AT49BV322A) verwendet. Andere Projekte mit dieser Kombination JTAGOMAT Ethernut3 Links Atmel
NavMe-Board. Verwenden der RXD0 Leitung als IO Leitung. Pin 15 am AT91R40008 wird statt als RXD0 Leitung (UART) als Input- bzw. Output-Pin für eine externe Schaltung verwendet. Siehe auch Forumsbetrag, Demoprogramm (7-Zip Archiv) und nebenstehendes Bild. Achtung: Im Bild ist leider ein Fehler in der Legende.
-
Artikel
USB IO Expander
eingebauten Halbleiterrelais können Ströme bis zu einem Ampere schalten. Sie sind durch optionale interne 5x20mm Sicherungen abgesichert, so dass auch hier eine Beschädigung der Hardware fast ausgeschlossen ist. SPI. Weiterhin befindet sich eine SPI Schnittstelle im Gerät. Diese kann frei konfiguriert
PC Software: Überarbeitete interne Struktur + übersichtlicherer Code USB Kommunikation überarbeitet: erhöhte Stabilität Ergänzung von neuen Modulen wesentlich vereinfacht Paneel auf der linken Seite ausblendbar (für kleinere Monitore
-
Artikel
Glossar
verwendbare Auflösung eines A/D- oder D/A-Umsetzers ERC: Electrical Rule Check, ein Prüfvorgang auf Fehler in einem PCB-Layout, bzw einem Schaltplan. ESR: Equivalent Series Resistance, der effektive innere Widerstand von z.B. Kondensatoren. F. FBGA: Fine Ball Grid Array: Eine Gehäusebauform für ICs. FCU
SDF: Signal Delay File: Eine Datei für zeitgenaue Simulationen in der Digitaltechnik, welche die internen Zeitverzögerungen beschreibt. SDR: Software Defined Radio: Allgemeine Bezeichung für mathematisch - per Software erzeugte - und modulierte elektromagnetische Wellen in der HF-Technik, speziell der
-
Artikel
Der Multiplex Sensor Bus (MSB)
weiteres define übernimmt das Abfragen des Pegels. MB_Bitlen enthält die Zeitdauer für ein Bit in µS. UART. Da der Tiny85 keinen HW-UART besitzt muss er in Software nachgebildet werden. Das Senden eines oder mehrerer Bytes auf den Bus gestaltet sich einfach. Es müssen nur alle 8 Bit im korrekten zeitlichen
der Drucksensor wird per I2C direkt an den Controller angeschlossen. Externe PullUp Widerstände fehlen. Aus Platzgründen werden die internen des Controllers verwendet. Zur Spannungsmessung kommt ein Spannungsteiler 10k/1k3 zum Einsatz. So können Spannungen bis 26 Volt (6 Lipozellen) gemessen werden.
-
Artikel
PIC
RAM bis zu 1024 Byte EEPROM (Richtwert: 100000× wiederbeschreibbar) 6 bis 100 Pins / 4 bis 70 IOs Interner Oszillator 8/10/12-bit ADC 5/8-bit DAC SPI I2C UART CAN USB PWM Komparator Operationsverstärker Hardwaremultiplizierer 8×8 CTMU (Charge Time Measurement Unit, für Cap-Touch-Anwendungen) Ethernet rfPIC12F675
32MHz Internal Oscillator 8MHz, 32kHz 32MHz, 32kHz Comparators 2 2 ADC-Channels 14 14 Communication 1xUART, 1xI2C/SPI 1xUART, 1xI2C/SPI CCP 1xECCP, 1xCCP 3xECCP, 2xCCP Timer 2x8bit, 1x16bit 4x8bit, 1x16bit Preis Reichelt (30.03.2012) 2,65€ 2,15€ Hier sieht man gerade bei dem verbreitetem PIC16F84A, dass
-
Artikel
STM32
Pin z.B. bei STM32F4, STM32F2 und STM32F1 Performance line) PLL zum erhöhen der Taktfrequenz aus internem RC-Oszillator externes Taktsignal Quarz Waitstates für Zugriff auf Flash werden je nach Modell durch unterschiedliche Hardware weitgehend eliminiert Jedes Peripheriemodul ist separat einschaltbar,
des internen Flash (ISP-routinen, EEPROM-Emulation). Der I2C hat diverse Fehler, welche im Errata des jeweiligen Modells (z.B. STM32F105xx and STM32F107xx Errata sheet ) zu finden sind. Workarounds hierzu finden
-
Artikel
AVR Bootloader in C - eine einfache Anleitung
Project/Configuration Options) und tragen die richtige Taktfrequenz ein (Im Beispiel nutzen wir den internen Oszillator mit 8 Mhz). Danach gehen wir zum Reiter Custom Options. Dort klicken wir auf Linker Options und geben dann im Textfeld daneben -Ttext=0x1800 ein. Danach drücken wir auf Add. Was bewirkt
des Beginns der .text Sektion wird auf die (Byte-)Adresse 0x1800 gesetzt. Schritt 2 - Einbinden der UART Library von Peter Fleury. Wie bereits erwähnt, wird für die serielle Kommunikation auf der AVR-Seite die UART-Library von Peter Fleury verwendet. Nach dem Download werden die uart.c und uart.h in das
-
Artikel
AVR-GCC-Tutorial
Grundlagen von avr-gcc in Verbindung stehen. All diese Seiten gehören zur :Kategorie:avr-gcc Tutorial. UART: → Hauptartikel: Der UART ADC: → Hauptartikel: Analoge Ein- und Ausgabe (ADC) Timer: → Hauptartikel: Die Timer und Zähler des AVR LCD: → Hauptartikel: LCD-Ansteuerung Watchdog: → Hauptartikel: Der Watchdog
Capture Ereignis Timer/Counter 1 Compare Match Timer/Counter 1 Überlauf Timer/Counter 0 Überlauf UART Zeichen empfangen UART Datenregister leer UART Zeichen gesendet Analoger Komparator Die Anzahl der möglichen Interruptquellen variiert zwischen den verschiedenen Microcontroller-Typen. Im Zweifel hilft
-
Artikel
AVR-Tutorial: IO-Grundlagen
programmieren. Hinweis: Konfigurieren der Taktversorgung des ATmega8. Beim ATmega8 ist vom Hersteller der interne 1-MHz-Oszillator aktiviert; weil dieser für viele Anwendungen (z. B. das UART, siehe späteres Kapitel) aber nicht genau genug ist, soll der Mikrocontroller seinen Takt aus dem angeschlossenen 4-MHz-Quarzoszillator
die prozessortypischen Bezeichnungen für die verschiedenen Register definiert. Wenn diese Datei fehlen würde, wüsste der Assembler nicht, was mit PORTB , DDRD usw. gemeint ist. Für jeden AVR-Mikrocontroller gibt es eine eigene derartige Include-Datei, da zwar die Registerbezeichnungen bei allen Controllern
-
Artikel
AVR In System Programmer
Herzstück ist ein ATtiny85, der im Gegensatz zu allen ATmegas und fast allen ATtinys auch über den internen RC-Oszillator mit 16 MHz betrieben werden kann. Ein Quarz ist daher nicht erforderlich. Die für V-USB erforderliche Genauigkeit erreicht der Programmer über einen Synchronisationsschritt, der bei
sein, dass sie während Reset hochgezogen werden. Manche SPI-Slaves haben die bereits an Bord. Die internen Pullups im AVR sind keine Hilfe, da sie während Reset abgeschaltet sind. siehe auch AVR HV-Programmer
-
Artikel
WordClock mit WS2812
verschiedene Revisionen von den Nucleo-Boards: "MB1136 C01": Der STM32F4x1 läuft nur mit dem ungenauen internen Oszillator "MB1136 C02 bis C04": Der STM32F4x1 erhält seinen 8MHz Takt vom ST-Link-Device Damit auch das Board mit der Revision "MB1136 C01" zuverlässig im HSE-Modus mit 84MHz läuft, sind folgende
Version 1.5.9. Unterstützung der neueren ESP Versionen 0020000903 und AT 0.21.0.0 Vergrößerung der UART-FIFOs Verallgemeinerung der UART-Funktionen zwecks besserer Konfiguration Überarbeitung der MCURSES-Monitor-Oberfläche STM32 Version 1.5.8. Bugfix: Fehler in 1.5.7 (Falsche Behandlung des DMA-Buffers
-
Artikel
Reichelt-Wishlist
Oscillatorfrequenz 0 bis +70°C | Quarz mit 3,200 MHz * Quarzoszillator 9,8304 MHz | SMD Quarze/ Oszillatoren in flachen, kleinen SMD Gehäusen (SMX-A/-B) | SMD-Quarze mit Standardgehäuse (z. B. HC49/US & HC49/UP) | * SMD Oszillator CFPS-72 16 MHz, für AVR-Anwendungen | Sonstiges. Lötfähige (SMD-) Kühlkörper
und FT2232BM (2xUART auf USB)(noch nicht unter USB einsortiert) CAN-Bus Controller MCP2515 | VLSI MP3 Decoder | | | | z.Zt. unter CAN-Bus(!) einsortiert. Bitte auch die neuen Gehäuse (ROHS) und Typen mit ins Angebot nehmen
-
Artikel
IRMP
irmp_ISR überhaupt kein Problem. Ein Quarz ist nicht unbedingt notwendig, es funktioniert auch mit dem internen Oszillator des AVRs, wenn man die Prescaler-Fuse entsprechend gesetzt hat, dass die CPU auch mit 8MHz rennt ... Die Fuse-Werte für einen ATMEGA88 findet man in irmp-main-avr.c. Scannen von unbekannten
wird in IRMP eine Protokollierung eingeschaltet: Es werden dann die Hell- und Dunkelphase auf dem UART des Microntrollers mit 9600Bd ausgegeben: 1=Dunkel, 0=Hell. Eventuell müssen dann die Konstanten in den Funktionen uart_init() und uart_putc() angepasst werden; das kommt auf den verwendeten AVR-µC