AVRUB - uniwersalny bootloader

Prezentowany projekt to uniwersalny bootloader dla mikrokontrolerów AVR, który nie wymaga modyfikacji kodu dla konkretnego układu – wystarczy odpowiednia modyfikacja definicji.

W internecie znajdziemy wiele projektów bootloaderów, ale każdy z nich jest dedykowany pod konkretny układ. Gdy chcemy z nich skorzystać musimy dokonać wielu modyfikacji, a i tak mamy do dyspozycji tylko podstawowe funkcje. Dodatkowo podczas modyfikacji mogą pojawić się trudne do odnalezienia błędy.

Prezentowany projekt bazuje na bootloaderze do ATMega128 autorstwa pana ChaoMa. Wspiera większość typów mikrokontrolerów AVR, które mają możliwość samoprogramowania, obszar bootladera oraz UART (można wykorzystać RS232, RS485 lub RS422, a po pewnych modyfikacjach także USI, SPI i I2C). Kod zajmuje od 300 do 1k słów pamięci Flash w zależności od zastosowanego układu, konfiguracji, wybranych funkcji oraz stopnia optymalizacji.

Cechy projektu:
  • bootloader dla wiele typów mikrokontrolerów AVR
  • wpiera mikrokontrolery AVR z wieloma modułami UART
  • komunikacja w standardach RS232, RS485, RS422
  • automatycznie oblicza prędkość transmisji
  • napisany w AVR GCC, 100% kod w C
  • zoptymalizowany kod, zajmuje mało pamięci
  • pozwala na wybór implementowanych funkcji w zależności od potrzeb
  • wspiera Watchdog
  • pozwala użytkownikowi na zastosowanie diody LED do sygnalizacji stanu
  • współpracuje z programem Terminal
  • weryfikacja podczas zapisu do pamięci Flash
  • można zdefiniować rozmiar sekcji programu użytkownika
  • i więcej...
Kod dla mikrokontrolera oraz program na PC dostępne tutaj:
avrub_en.zip
avrubd.zip

Komentarze (0) dodane przez admin May 6, 2008 (12:56PM)

Więcej MIPS, mniej mA - czyli AVR32!

AVR32 Atmel stworzył pierwszy procesor o architekturze godnej 21go wieku, spełniający warunki dużej wydajności oraz małego poboru mocy. AVR32 jest 32-bitowym procesorem RISC zaprojektowanym z myślą o zwiększeniu przetwarzania w cyklu zegarowym, co pozwala na osiągnięcie tego samego celu z mniejszą częstotliwością zegara taktującego, a co za tym idzie – zmniejszenia poboru mocy.

Architektura Harvardzka oraz wiele szybkich magistral systemowych gwarantują wysoką wydajność, natomiast różne tryby uśpienia oraz dynamiczne skalowanie częstotliwości (Dynamic Frequency Scaling) zapewniają niski pobór mocy. Podrodziny UC3 i AP7 są wpierane przez narzędzia rozwojowe firmy Atmel (np. darmowy AVR32 Studio).

32-bitowe mikrokontrolery UC3 wspierają instrukcje DSP i osiągają do 83 DMIPS @ 66MHz oraz zużycie energii na poziomie 1.3mW/MHz.

32-bitowe mikrokontrolery AP7 wspierają instrukcje DSP oraz tryb SIMD. Osiągają do 210 DMIPS @ 150MHz i dostarczają rozwiązanie SoC (System on Chip) z pełnym wsparciem dla Linux'a.

Komentarze (0) dodane przez admin April 30, 2008 (12:36PM)

AVR XMEGA

XMEGANowa rodzina AVR XMEGA™ to 8/16-bitowe mikrokontrolery o zwiększonej wydajności oparte o rdzeń AVR. Zwiększenie wydajności jest zagadnieniem ważnym w dzisiejszych czasach, gdyż dostępne mikrokontrolery 8/16-bitowych nie spełniają już ciągle rosnących wymagań. Zapotrzebowanie na wysoką wydajność połączone z obniżeniem kosztów, rozmiarów i zużyciem energii doprowadziło do powstania nowych mikrokontrolerów, które spełniają te warunki.

Układy AVR XMEGA to:
  • druga generacja technoligii picoPower
  • innowacyjny system zdarzeń zapewniający szybką komunikację między peryferiami niezależną od CPU
  • 4 kanałowy kontroler DMA
  • 100% przewidywalne zależności czasowe
  • szybki 12-bitowy przetwornik AD i DA
  • wspomaganie szyfrowania AES oraz DES
Mikrokontrolery AVR XMEGA mają te same charakterystyki co dobrze znane układy AVR, pracują już przy napięciu 1.6 V z wydajnością dochodzącą do 32 MIPS dla zegara 32MHz. Wielkość zastosowanej pamięci Flash wynosi od 16KB do 384KB. Układy dostępne są w obudowach od 44 do 100 pinowych. XMEGA są mikrokontrolerami ogólnego przeznaczenia. Przykładowe zastosowania to aplikacje audio, ZigBee®, medyczne, sieciowe, pomiarowe, transmisji optycznej, sterowania silników, w urządzeniach zasilanych bateryjnie itp.

Bardzo niski pobór mocy – druga generacja technologii picoPower zastosowana w AVR XMEGA zwiększa czas życia baterii. Zasilanie na poziomie 1.6 V oznacza, że urządzenia zasilane bateryjne (np. telefony komórkowe) mogą pracować przy napięciu 1.8V (+/- 10%) zmiejszając zużycie baterii.
System zdarzeń - innowacyjny system zdarzeń w XMEGA pozwala na bezpośrednią komunikację peryferiów - bez kożystania z CPU i DMA. Zapewnia to w 100% przewidywalny i krótki czas reakcji na zdarzenie. Maksymalnie 8 równoczesnych zdarzeń lub przerwań w peryferiach może automatycznie rozpocząć działanie w innych peryferiach.
XMEGA Event System

12-bitowy przetwornik AD i DA - przetwornik AD pozwala na próbkowanie z częstotliwością do 2MS/s, natomiast DA - 1MS/s. Dodatkowo mikrokontrolery XMEGA posiadają 4 komparatory analogowe.
Kontroler DMA - 4 kanałowy kontroler DMA pozwala na szybką, niezależną od CPU transmisję danych co znacząco zwiększa wydajność systemu. Kontroler DMA w XMEGA obsługuje transfer pomiędzy wszystkimi kombinacjami pamięci danych i peryferiów.
XMEGA DMA

Kompatybilność i narzędzia - XMEGA używa tego samego zestawu instrukcji, co dobrze znane mikrokontrolery AVR, dzięki czemu istniejący kod może być w prosty sposób zastosowany dla nowych układów. Cała rodzina XMEGA jest w 100% kompatybilna pod względem rozmieszczenia pinów i zastosowanego kodu. XMEGA jest wspomagane przez istniejące dla mikrokontrolerów AVR oprogramowanie (komilatory i środowiska uruchomieniowe są takie same dla wszystkich mikrokontrolerów AVR).
XMEGA Tools

Wszystkie układy XMEGA pracują w zakresie napięć 1.6 - 3.6 V i częstotliwości do 32MHz oraz posiadają:
  • 4 kanały DMA
  • 8 kanałów systemu zdarzeń
  • silnik kryptograficzny AES oraz DES
  • zegar czasu rzeczywistego
  • detektor spadku napięcia (BOD)
  • watchdog
  • wewnętrzny zegar RC


Komentarze (1) dodane przez admin April 29, 2008 (6:59PM)