Poczyniłem pewne prace nad ATMega i chcę poszerzyć swoje horyzonty. Mam kilka układów z serii Cortex M4 i chciałbym, aby ARM odpowiadał Breadboarduino
Planuję albo wytrawić własną deskę, albo użyć deski do wybijania ARM, a resztę powlekać. Bardzo mile widziane byłoby odniesienie lub schemat minimalnych składników.
Czy są jakieś dobre zasoby do określenia minimalnych wymaganych komponentów do obsługi, a najlepiej zaprogramowania układu ARM?
AKTUALIZACJA:
Jestem otwarty na alternatywne propozycje sprzętu. Poniżej znajduje się układ, z którym obecnie próbuję pracować:
arm
microprocessor
prototyping
ZnArK
źródło
źródło
Odpowiedzi:
To naprawdę zależy od używanych żetonów - nie określiłeś, który masz. Zazwyczaj potrzebujesz co najmniej kryształu, oddzielania czapek i resetowania logiki. Interfejs programowania może być prostym interfejsem JTAG.
Wszystko to należy jednak podać w karcie danych chipów.
Aktualizacja (dla STM32F407):
Spójrz na następujące strony w arkuszu danych
Nie będziesz potrzebował obwodu resetującego (jest zintegrowany - patrz strona 23) lub oscylatora (zintegrowany oscylator 16 MHz jest wybierany podczas uruchamiania, patrz strona 22). Więc za pomocą deski LQFP144 breakout (jak ten z futurlec (patrz dolna część strony) może być naprawdę mało.
Możesz także spojrzeć na schemat płyty STM32F4DISCOVERY (patrz instrukcja obsługi , strona 33). To, co widzisz, to podstawowy obwód - a nawet zawiera zewnętrzne kryształy.
źródło
Czy na pewno chcesz to zrobić dla Cortex-M4? To duży skok w stosunku do AVR i nie wiem, jak byś wykorzystał wszystkie jego funkcje. Na początek Cortex-M4 zwykle jest w dużym pakiecie, zwykle ponad 80 pinów dla części podstawowych, a 200+ nie jest wyjątkiem, pomyśl QFP lub BGA. Czy zrobisz deskę z dwoma rzędami po 40 szpilek do deski?
Cortex-M4 jest również przeznaczony do dużych prędkości: zwykle od 120 MHz do 200+ MHz. OK, może nie być konieczne zaprojektowanie płytki drukowanej dla tych prędkości, jeśli używasz PLL na chipie. Ale co z urządzeniami peryferyjnymi, takimi jak USB czy Ethernet?
Oczywiście można go uruchamiać przy niższych prędkościach i pomijać większość funkcji na chipie, ale zastanawiam się, po co jest Cortex-M4 na początek. Myślę, że Cortex-M3 lub nawet -M0 jest bardziej odpowiedni na początek. Nie chcę cię zniechęcać, chcę pozostać realistą.
Jeśli nie chcesz iść do przodu z Cortex-M4 można zrobić z minimalnym sprzętu zewnętrznego. Na przykład NXP LPC407x ma wewnętrzny oscylator RC, który jest domyślnym oscylatorem podczas resetowania, więc nie potrzebujesz nawet kryształu. Reset obwodu i odpowiednie oddzielenie zasilania będą wszystkim, czego potrzebujesz, aby go uruchomić.
W przypadku Cortex-M0 NXP LPC111x może być warte obejrzenia. To prawda, że nie ma dużo pamięci, ale jest dostępny w pakiecie DIL-28 , co jest rzadkością dla ARM. Alternatywnie możesz użyć płyty rozwojowej, takiej jak LPCXpresso ,
gdzie prawa połowa to tablica aplikacji, którą można oddzielić od łącza LPC. Jak widać, aplikacja nie wymaga prawie żadnego zewnętrznego sprzętu. A jeśli lutujesz na nim zestaw nagłówków, możesz podłączyć go do płyty chlebowej.
źródło
Jak mówi Steven, to dość duży skok do ARM z 8-bitowej mikro, więc spodziewaj się sporo nauki / czasu spędzonego po drodze.
Nie wybrałbym też M4 dla twojego pierwszego ARM, po prostu dlatego, że nie był zbyt długi i jest tam mniej wsparcia / informacji. Myślę, że M3 lub M0 to lepszy wybór i będzie dużo do zrobienia.
Z pewnością możesz stworzyć własną planszę, ale może lepiej byłoby najpierw złapać małą / tanią tablicę programistów. Jeśli chodzi o rozwój, istnieje wiele opcji, od darmowych (eclipse + GCC + OpenOCD) po drogie (Keil, Rowley itp.) Osobiście używam Raisonance Ride7 IDE i narzędzi z ARM M3 / M4s serii STM32, co jest nieco tańsze niż Keil / Rowely, ale wystarczająco dobry.
Rzuć okiem na jedną z prostych tablic deweloperskich od kogoś takiego jak ST, Olimex itp. Ta tablica programistów ma około najprostszego schematu, jaki mogłem znaleźć, dla STM32 Cortex-M3.
źródło
Arduino powodu powinny być na zewnątrz dość szybko:
Chip to SAM3X8 Cortex-M3 firmy Atmel. Być może warto poczekać, jeśli znasz już tablice w stylu Arduino i dokumentację w stylu Atmel. A ponieważ będzie to oprogramowanie typu open source, aby spełnić wymagania Arduino, możesz oczywiście to zrobić.
źródło
Poleciłbym sprawdzić, czy Mbed jest urządzeniem cortex-m3 z kilkoma ładnymi urządzeniami peryferyjnymi, nxp zapewnia kompilator i wiele bibliotek i bibliotek społecznościowych, to naprawdę łatwy sposób na zaprogramowanie go i jest już w pakiecie do użycia na płycie breadboard. Myślę, że byłby to najłatwiejszy sposób przejścia z AVR na ARM.
źródło
Wiele części ST może, przynajmniej jeśli nie korzysta z nadajnika-odbiornika USB, spływać z wewnętrznego szybkiego oscylatora.
Zasadniczo oznacza to, że „obwód” składa się z zaślepek obejściowych i kilku oporników w takich rzeczach jak reset i zakończenie w interfejsie SWD.
Płyty ewaluacyjne ST w wysokości 8-10 USD zaprogramują części, które umieścisz na własnej tablicy za pośrednictwem magistrali SWD; są dla nich również narzędzia typu open source, dzięki czemu możesz bezpośrednio ustawić programowanie w swoim Makefile.
Wybór czegoś w 48 PQFP prawdopodobnie ułatwi ci życie przy pierwszej próbie na stole. Możesz je montować bez powiększenia (wystarczy mieć cienki warkocz, aby naprawić mostek lub dwa, które prawdopodobnie utworzysz z każdej strony), ale pomocny byłby dostęp do lupy.
źródło