Wizytówka powinna pokazywać umiejętności jej posiadacza. Umiejętnością autora jest tworzenie wyjątkowych płytek drukowanych, więc aby to podkreślić, stworzył układ wyposażony w port USB i zawierający w pamięci jego życiorys i informacje kontaktowe. Projekt urządzenia był także świetną okazją do wprawienia się w oprogramowywanie interfejsu USB używając mikroprocesorów z rdzeniem Cortex M. Autor wcześniej stworzył proste projekty z procesami Cortex M, jak sterownik przekaźnika czy emulator klawiatury USB, ale dopiero elektroniczna wizytówka była na tyle ciekawa, aby doczekać się opisu.
Aby stworzyć wizytówkę-pamięć masową USB potrzebne są dwa elementy: kontroler USB i pamięć nieulotna. Autor wcześniej pracował z procesorem LPC1343, układem o 48 wyprowadzeniach z wbudowaną biblioteką USB ROM, więc w projekcie zdecydował się użyć właśnie jego. W swojej pracowni znalazł również pamięć szeregową AT45DB. Prototyp urządzenia przygotował z użyciem niedrogiej płytki rozwojowej Olimex’u – gdy urządzenie zadziałało, autor zaprojektował schemat wizytówki, zawierający niezbędne elementy oraz pamięć AT45DB i wtyk USB. Aby zwizualizować, że układ pracuje, zastosowano czerwoną/zieloną diodę LED do sygnalizacji odczytu/zapisu danych i niebieską diodę wskazującą poprawność komunikacji przez USB.
Układ mógłby być zmontowany na małej płytce, ale skoro ma być to jednocześnie wizytówka, stworzona płytka jest nieco większa, aby na warstwie opisowej można było umieścić nazwisko, e-mail, adres strony internetowej i telefon. Finalna wersja płytki ma rozmiar 1,75x1,35 cala.
Na gotowej płytce konieczne było umieszczenie zwory, ponieważ autor zapomniał podciągnąć pinu 0_1 do zasilania, co powodowało wejście procesora w tryb ISP podczas uruchamiania urządzenia. Załączony schemat nie zawiera już tej usterki.
Na szczęście, najtrudniejsza część programu (obsługa USB) jest realizowana sprzętowo przez mikrokontroler. Wymagane było jedynie stworzenie programu zapisującego dane w pamięci AT45DB z użyciem interfejsu SPI.
W rezultacie, choć urządzenie nie może zastąpić często używanego pendrive’a, jest dobre do przechowywania niewielkiej ilości danych. Pojemność 1 MB pozwala przechowywać w pamięci życiorys, link do strony internetowej i kod źródłowy całego projektu. Prędkość zapisu jest jednak bardzo niska, ponieważ wymagany jest odstęp czasowy pomiędzy zapisywaniem kolejnych danych (pamięć masowa używa 512-bajtowego sektora, a pamięć AT45DB została zorganizowana w sektory 264-bajtowe). W czasie odczytu danych nie są wymagane żadne odstępy, więc otwieranie plików przebiega podobnie, jak w przypadku innych pamięci masowych USB.
Na stronie projektu dostępne są kody źródłowe i wzór płytki w Eagle’u.
Źródło
Fajne? Ranking DIY
