
Chciałem zaprezentować Wam mój ostatni projekt który jest tzw „evaluation board”.
Urządzenie to zostało zaprojektowane jako swego rodzaju projekt pośredni ,ponieważ potrzebny jest mi on do innego większego projektu ale samo w sobie jest pełnoprawnym urządzeniem. Płytka może być z powodzeniem używana zarówno do testowania oprogramowania , pisania własnego jak i dobra baza pod naukę jednego z wybranych języków programowania.
Na początku sam szukałem gotowych zestawów ,tak aby przynajmniej w większości mogłyby okazac się przydatne oraz w miarę elastyczne.Wiele z dostępnych cenowo układów ewoluacyjnych ma kilka istotnych wad, zaprojektowane są np. pod jeden konkretny typ procesora(o ile przy nauce programowania przesiadanie się na inny uPc nie jest problemem ,to przy testowaniu softu pod konkretne urządzenie jak i symulacje jest już utrudnieniem) , często peryferia lub linie programatora połączone są z uPc „na stałe” lub nie mamy możliwości wyprowadzenia wszystkich nóżek procesora na zewnętrzny układ(np. płytkę stykową) itp. itd
Z czasem pewnie udałoby się znaleźć odpowiedni moduł jednak jak to u hobbystów bywa takie przeszkody są najlepszą motywacją do stworzenia własnego urządzenia
Głównym założenie było takie aby urządzenie obsługiwało praktycznie każdy mikroprocesor niezależnie od obudowy czy to DIP czy TQFP , aby obsługiwany był każdy procesor od ATTINY przez M128 po AT91SAM. Do tego wszystkie z peryferii dostępnych na płytce były niezależne od siebie i dołączane do procesora tylko wtedy gdy ich potrzebuje. Podobnie rzecz się ma z programatorem którego linie podłączone na stałe do wykorzystywanych przez aktualny program wyprowadzeń, mimo że mamy do czynienia z układami ISP często wprowadzają one zakłócenia. Dzięki możliwości zasilania zarówno z USB lub/i z zasilacza, gniazdom zewnętrznym z szynami danych oraz zasilaniem oraz wyprowadzeniom wszystkich peryferii jak i nóżek procesora nie zależnie od siebie na zewnątrz moduł ten staję się niezwykle elastyczny i wygodny w użytkowaniu.
Poniżej wypiszę podstawowe peryferia oraz funkcje urzadzenia:
-zasilanie z USB , z zasilacza 12V lub obu na raz w przypadku konieczności większego zapotrzebowania na prąd niż 500mA
-programowanie przez USB procesora osadzonego w „gnieździe” ,lub zewnętrznego układu zawierającego uPc. Jest też możliwość przełączenia gniazda na tryb wejściowy w celu programowania procesorów innych niż AVR –np. ARM wraz z JTAG
-możliwość wyboru napięcia zasilania zarówno dla programowanego procesora w gnieździe , zewnętrznego uPc
- wyprowadzone piny zasilania 3,3V oraz 5V dla płytek dołączanych do urządzenia (np. LCD)
- wyprowadzone wszystkie szyny danych(TWI, USART itp) dla AVR w dwóch gniazdach dla zewnętrznych układów(konfigurowane jumerami)
Gniazda są dublowane czego używam do podłączenia mojego DIY analizatora stanów/linii na USB ,dzięki czemu widzę wysyłanie oraz poprawność danych pomiędzy uPc a układem I2C
- gniazdo karty SD z wyborem pracy dla procesorów zasilanych z 3,3V lub 5V wybierany zworkami(dzielniki napięcia na liniach danych)
- buzzer
- odbiornik podczerwieni
- encoder obrotowy z przyciskiem
- 6 przycisków typu switch
- 4 wys siedmio-segmentowe wraz z tranzystorami sterującymi (wspólna anoda)
- 2 potencjometry montażowe do obsługi przetworników A/C
- dioda SFlux do zastosowań w trybie regulacji PWM
- pamięć szeregowa 24c64
- 8 diod LED dowolnego użytku
- wejście liniowe
- wyjście PWM na gniazdo RCA
- aktywny filtr LPF wraz z wzmacniaczem o regulowanym wzmocnieniu z wyj RCA (PWM-Line Out)
- gniazo wej-wyj dla programowania zewnętrznych układów , programowania głównego procesora innym programatorem (lub dla programowania ARM)
- LCD HD44780 w trybie do wyboru 4 lub 8 bit ze stałym lub programowo sterowanym podświetleniem(PWM)
Do urządzenia dzięki prostocie podłączania i braku konieczności przerabiania wtyczek ze starszych projektów powstał też mini hub obsługujący każda wtyczkę do 2x40 pin z wyborem modułu oraz wyprowadzeniami dla gold pinów( na razie dla LCD oraz RS 232 wraz z FT232)
Pod programowane procesory przygotowane są specjalne płytki wpinane w socjet. Maksymalna ilość to 80 pinów co daje nam możliwość pełnej obsługi chyba wszystkich AVR , XMEGA oraz wielu ARM . Jeżeli płytkę wykonamy zgodnie z rozmieszczeniem pinów zasilania oraz pinów programatora każda płytka z uPc jest z nimi zgodna. Jeżeli jednak będzie konieczność zmiany pinów zasilania oraz programowania można je pozamieniać by uniknąć komplikowania płytki(dla dużych uPc)
Na razie powstały płytki dla mega 8 , 16 oraz 128 (SMD) , AT91SAM7S256 oraz DIP40
W połączeniu z pochyloną w stronę użytkownika podstawą na której umieściłem układ i wieloma jego funkcjami oraz możliwościami rozbudowy czyni ten zestaw bardzo przydatny, wygodny i łatwy w użytkowaniu dla każdego elektronika-programisty.
Poniżej zamieszczam kilka fotek zarówno z prac jak i gotowego urządzenia i proszę o komentarze

Pozdrawiam wszystkich forumowiczów i życzę (nieco spóźnione ale zawsze) wesołych i pogodnych świąt









Cool? Ranking DIY