Autor zdecydował się zaprojektować urządzenie z kilku powodów: po pierwsze, lubi słuchać muzyki; po drugie – ma dużą kolekcję nagrań w formacie MP3, a po trzecie – chciał mieć możliwość ich odtwarzania w dowolnej chwili, w swoim salonie. Przygotowanie projektu rozpoczął od jednego głównego założenia: urządzenie musi być zaprojektowane na jednostronnej płytce drukowanej, aby móc ją samodzielnie wykonać. Po dwu miesiącach projektowania obwodu urządzenie stało się „gotowe do wykonania”. Główną cechą urządzenia jest możliwość sterowania „dwukierunkowego” pilotem podczerwieni – pilot może także otrzymywać informacje z urządzenia, służące do wyświetlania choćby nazw folderów i piosenek na niewielkim wyświetlaczu LCD. Dzięki temu autor może cieszyć się komfortem bezproblemowego odtwarzania 30 GB muzyki w swoim salonie.
Główne cechy odtwarzacza:
- Interfejs ATA IDE
- Wsparcie dla systemu plików FAT32 i obsługi długich nazw plików
- Wbudowany interfejs USB
- Zintegrowany zasilacz
- Możliwa zmiana oprogramowania przez port USB
- Dwukierunkowy interfejs sterowania w podczerwieni
Główne cechy pilota:
- Wbudowany podświetlany wyświetlacz LCD
- Zasilany jedynie z dwu baterii AA
- W trybie uśpienia pobór prądu wynosi mniej niż 1 uA (2,5 mA w trybie pracy)
- 5 przycisków
- Duży zakres nadawania (więcej niż 5 metrów)
Układ został zbudowany w oparciu o procesor ATMega128, taktowany zegarem 16 MHz. Jako dekoder MP3 zastosowano układ VS1001k, dający bardzo dobrą jakość dźwięku. Interfejs USB został zrealizowany za pomocą znanej i prostej w obsłudze kości FT232MB. Pewien kłopot sprawiły jedynie dwa zagadnienia: zrozumienie systemu plików FAT32 i transmisja dużej ilości informacji za pomocą podczerwieni. Aby zrozumieć działanie systemu plików FAT32, autor badał, jak wyglądają dane zapisane w poszczególnych sektorach dysku za pomocą programów typy WinHex, konfrontując to z opisem systemu FAT32 w białej księdze Microsoft’u (co jednak nie było takie proste do zrozumienia…). Z kolei w przypadku odbiorników podczerwieni typu GP1UD26xk „gęstość” stanów wysokich w transmisji danych nie może przekroczyć 45% całości transmitowanych danych, więc nadawanie z użyciem kodu Manchester musiało zostać ograniczone do prędkości 2400 bps z dwoma bitami stopu. Ze swej natury, kod Manchester ma „gęstość” stanów wysokich równą 50% - ponieważ każdej logicznej jedynce odpowiadają dwa bity ‘10’; każdemu logicznemu zeru z kolei dwa bity ‘01’. Usunięcie dwu bitów stopu z transmitowanych danych pozwala osiągnąć właśnie „gęstość” stanów wysokich wynoszącą w przybliżeniu 45%. Obsługa interfejsu ATA w trybie PIO jest bardzo prosta: podobnie, jak w przypadku przyłączania innych peryferii do mikroprocesora, w dysku twardym również dysponuje się 16-bitową szyną adresową sterującą, do którego rejestru ma nastąpić zapis lub z którego – odczyt.
Autor ostrzega, że opisane urządzenie nie zostanie wykryte przez komputer jako pamięć masowa – posiada ono po prostu szybki (1 Mbps) interfejs szeregowy i wymaga stworzenia własnego sterownika.
Schematy i wzory płytek drukowanych dostępne są na stronie projektu.
Fajne? Ranking DIY
