Wstępnie programowane układy scalone do montażu powierzchniowego

22

Próbuję skonfigurować płytkę drukowaną z atmega168 i bez nagłówka programowania. Zamierzam użyć szeregowego programu ładującego (na płycie jest ft232) do przeprogramowania, ale zastanawiam się nad najlepszym sposobem na zaprogramowanie programu ładującego. Czy ktoś jeszcze tego próbował? Mam problem ze znalezieniem gniazda ZIF TQFP-32.

penjuin
źródło
3
Robisz to tylko raz?
Dirk
Zrobię to przez całą partię (> 1)
penjuin

Odpowiedzi:

21

Może być łatwiej wyciągnąć piny programujące do niektórych padów, a następnie użyć pogopinów, aby podłączyć programator.

pogopin

Toby Jaffey
źródło
3
Jeśli tablica jest gęsta, możesz również zamienić istniejące przelotki w punkty programowania. Musisz usunąć soldermaskę i ewentualnie zmienić rozmiar podkładki i otworu. Rząd padów może być o wiele łatwiejszy, jeśli pasuje.
jluciani
co do cholery są pogopins ... czy mówisz o nagłówku ISP 2x3 (patrz moja odpowiedź poniżej)
vicatcu
4
Szpilki Pogo to metalowe pręty ze sprężynowymi szczytówkami. Są często używane w urządzeniach testowych, gdy trzeba wykonać tymczasowe połączenie z obwodem.
pingswept
Zdjęcie szpilek pogo: flickr.com/photos/pingswept/2280832792
pingswept
10

Po prostu umieść nagłówek ISP na swojej płycie jako „alternatywę” dla seryjnego programu ładującego. Następnie użyj czegoś takiego jak AVRISP MkII, aby zaprogramować plik heksadecymalny i połączyć się z AVRStudio. Być może używasz go tylko raz, aby załadować program ładujący, ale jest to zdecydowanie najbardziej opłacalne rozwiązanie, jakie znajdziesz.

W przypadku, gdy nie wiesz, co mam na myśli przez nagłówek ISP, jest to nagłówek męski 2x3 z następującym pinout:

2x3 pin    connect to AVR pin
1          MISO
2          VCC
3          SCK
4          MOSI
5          RESET
6          GND

Piny o nieparzystych numerach znajdują się w jednym rzędzie, piny o nieparzystych numerach znajdują się w drugim rzędzie, a w przeciwnym razie kolejne piny sąsiadują ze sobą. Na układzie planszy patrząc na górny układ pady są ponumerowane w następujący sposób (lub dowolny spójny obrót):

2 4 6
1 3 5

Podłącz to w ten sposób i powinieneś być w stanie podłączyć dowolny programator obsługujący ISP (np. AVRISP MkII, STK500 itp.)

vicatcu
źródło
2
Widzę wiele desek, które mają miejsce na taki nagłówek (albo rzędy otworów przelotowych, albo rzędy padów SMT) do lutowania na płycie, ale brakuje samego nagłówka. Zakładam, że producent wykorzystuje wspomniane przez Joby pogo-piny, aby tymczasowo dotknąć programatora do tych padów na płycie.
davidcary
10

Jeśli kupujesz je w dużych ilościach, często możesz kupić chipy bezpośrednio od dostawcy wstępnie zaprogramowanego za pomocą modułu ładującego. Nie jestem pewien, czy Atmel oferuje tę usługę, ale wiem, że Microchip to robi, więc zakładam, że oni też to robią.

mjh2007
źródło
4

Potrzebujesz adaptera do montażu powierzchniowego . Dzięki temu łatwo jest znaleźć gniazdo ZIF.

Te QFP są dość drogie, ale stosy większości śladów można uzyskać dość tanio z Sparkfun lub innych stron .

pingswept
źródło
1
eBay jest również doskonałym miejscem na zdobycie gniazd ZIF i podobnych akcesoriów.
Dirk
1
Nie jest konieczne - na ogół znacznie łatwiej jest wykonać programowanie w obwodzie na płycie po umieszczeniu części.
Jason S
3

Odniosłem ogromny sukces dzięki tej konfiguracji.

STK600 z TQFP32 ZIF . Pozwoli ci to zaprogramować swoje układy przez USB przed umieszczeniem ich na płycie.

Jimmie Clark
źródło
2

Programowanie w systemie jest dobrym pomysłem. W razie potrzeby pozwoli ci również zaktualizować oprogramowanie wewnętrzne. Inne sposoby prawdopodobnie obejmują zrobienie łóżka igielnego lub jego zamiennika.

Jako kompromis, możesz upewnić się, że gdzieś są potrzebne punkty testowe na potrzebnych (GND,! RST, SCK, MOSI, MISO, + V) i zrobić łóżko igielne, aby je dopasować. Wtedy nie potrzebujesz rzeczywistego złącza / układu ISP na pokładzie. Możesz to rozszerzyć, aby przeprowadzić również zautomatyzowane testy produkcyjne.

XTL
źródło
1

Mówisz o partiach> 1, a następnie prawdopodobnie nie warto, ale z pewnością dotyczy to większych partii, powiedzmy 100 i więcej.

Dzięki programowaniu w obwodzie programujesz urządzenie po złożeniu płytki, a więc z kontrolerem zamontowanym na płytce. Na spodzie płytki drukowanej mam pola testowe, które wyprowadzają na zewnątrz potrzebne do programowania sygnały. Zazwyczaj jest to JTAG , ale może to być również port szeregowy. Poproś dział techniczny, aby zbudował przyrząd testowy ze sprężynowymi kołkami testowymi pasującymi do pól testowych.

sprężynowe kołki testowe

Będziesz także potrzebował pinów testowych do zasilania . Zazwyczaj dodaję kilka dodatkowych pinów testowych, na przykład do pomiaru określonych parametrów, lub kanał komunikacyjny, w którym mikrokontroler może się zidentyfikować (pomyśl wersję oprogramowania). Nie możesz mieć zbyt wielu punktów testowych. Nie potrzebujesz zajętego przestrzenią złącza (które również kosztuje) i możesz umieścić podkładki testowe gdziekolwiek zechcesz. Zawsze jest miejsce na podkładkę 2 mm.

Szablon testowy kosztuje koszty materiałów i robocizny, ale naprawdę potrzebujesz go, jeśli masz dużą produkcję, a następnie równie dobrze możesz go użyć do zaprogramowania urządzenia.
Po zaprogramowaniu można uruchomić urządzenie na przyrządzie testowym i wykonać szereg testów funkcjonalnych .

stevenvh
źródło