Rzeczywiste produkty elektroniczne stopniowo stają się inteligentniejsze, zarówno dzięki implementacji wbudowanej aplikacji, jak i połączeniom z powrotem do platformy chmurowej lub aplikacji. Zespoły zajmujące się rozwojem wbudowanym muszą współpracować, aby tworzyć te nowe generacje produktów. Jednym z obszarów, w których inżynier układu PCB, programista wbudowany, a nawet inżynier MCAD mogą napotkać opóźnienia w zakończeniu projektu, jest wybór I/O. Dzieje się tak, gdy masz do czynienia z konektorami, peryferiami i procesorem hosta.
Aby ułatwić sprawę obu stronom, chcę podzielić się swoim doświadczeniem w pracy z programistami wbudowanymi w celu optymalizacji wyboru I/O oraz całego procesu zakończenia układu PCB. Dzięki nieco współpracy na początku, można ułatwić trasowanie PCB i rozwój wbudowany na końcu.
Uważam, że każdy członek zespołu rozwojowego powinien rozumieć, czego potrzebują inni członkowie zespołu, aby odnieść sukces. Chodzi tu również o efektywne wykorzystanie zasobów, unikanie inżynieryjnych bagnisk, które zajmują dni na rozwiązanie, i szybkie wejście na rynek.
|
|
|
|
|
|
|
|
|
|
|
|
Umieściłem gwiazdkę (*) przy wpisach listy pinów, ponieważ dokładny proces przypisywania I/O zależy od konkretnego komponentu używanego do uruchomienia aplikacji wbudowanej. Czy jest to prosty MCU, gdzie dostępne I/O są ustalone w konkretnych lokalizacjach, czy jest to FPGA, które może mieć dostosowany układ pinów w pewnych bankach? Innym aspektem są złącza: czy układ pinów jest ustandaryzowany, czy układ pinów jest ustalony przez inną płytę w zestawie, czy może być dostosowany?
To tutaj zaczynamy dostrzegać wyzwanie, z jakim muszą się zmierzyć projektant PCB i programista urządzeń wbudowanych, pracując razem nad wyborem I/O. Jak obie strony mogą dojść do porozumienia i ustalić układy pinów, selekcję I/O i ostatecznie układ PCB?
Moim zdaniem, najlepiej działa to, gdy układ pinów na głównym procesorze jest elastyczny, tzn. aplikacja będzie zaimplementowana w FPGA. W takim przypadku I/O mogą być ustawione przez programistę w logice urządzenia, co skutkuje tym, że projektant PCB będzie musiał pracować z przypisaniami pinów, które otrzyma.
Problem jest następujący: jeśli przypisania pinów są podawane indywidualnie dla każdego pinu, może to nie prowadzić do optymalnego trasowania, co skutkuje bałaganem połączeń krzyżujących się, aby dotrzeć do komponentów. Zamiast tego, jeśli deweloper wbudowany po prostu przekaże przypisania banków projektantowi PCB, wówczas projektant PCB może wybrać piny w banku, aby uzyskać optymalne połączenia.
Przypisując banki w FPGA zamiast konkretnego rozmieszczenia pinów, projektant może użyć narzędzia takiego jak zamiana pinów, aby przesunąć przypisania I/O w obrębie banku pinów. Jeśli zamiana pinów jest pożądana, wówczas może być wymagany niestandardowy symbol schematyczny, aby właściwie oddzielić piny do ich odpowiednich banków. Użycie niestandardowego symbolu umożliwia znacznie szybsze grupowanie pinów do operacji zamiany pinów podczas trasowania PCB.
Moim zdaniem, to działa najlepiej, gdy rozmieszczenie pinów na głównym procesorze jest ustalone, tj. w przypadku MCU i jego peryferiów. W MCU lokalizacje I/O są zasadniczo ustalone. Można mieć pewną elastyczność w zakresie sposobu wykorzystania każdego I/O, na przykład przy użyciu banku GPIO. Jednak przypisania pinów lub funkcji dla standardowych interfejsów mogą być ustalone (np. SPI, piny ADC, piny PWM, I2C itp.).
W tym przypadku, myślę, że najlepiej, jeśli projektant PCB wybierze piny, które będą używane do dopasowania do różnych komponentów. Projektant PCB musi wybrać w ramach ustalonego rozmieszczenia pinów, więc będzie musiał rozwiązać, jak umieścić komponenty w taki sposób, aby układ PCB był rozwiązywalny. Po umieszczeniu i trasowaniu, zadaniem projektanta PCB jest poinformowanie programisty wbudowanego, które piny są używane do określonych funkcji.
Gdy rozmieszczenie pinów na twoim złączu jest ustandaryzowane, wtedy jest to trochę dzika karta. Mówię tak, ponieważ "ustandaryzowane" może oznaczać dwie różne rzeczy:
Jeśli żadna z tych sytuacji nie ma miejsca, wówczas układ wyprowadzeń jest konfigurowalny. W projektach, w których miałem do czynienia z innymi płytami w większym zespole, często mieliśmy swobodę w ustalaniu układu wyprowadzeń, zazwyczaj dlatego, że budowaliśmy obie płyty. W każdym przypadku obie strony muszą współpracować, aby ustalić obiektywnie „najlepszy” układ wyprowadzeń dla złącza i jak to się ma do procesora.
Zespoły, które muszą współpracować nad skomplikowanymi produktami, mogą uzyskać dostęp do kompletnego zestawu funkcji projektowych wspierających współpracę, korzystając z Altium Designer®. Wszyscy zainteresowani projektowaniem produktu mogą uzyskać dostęp do kompletnego zestawu narzędzi do projektowania PCB, które mogą wspierać zadania związane z rozwojem wbudowanym, jak również funkcje projektowania kabli i wiązek. Kiedy zakończysz projektowanie i będziesz chciał udostępnić pliki swojemu producentowi, platforma Altium 365™ ułatwia współpracę i udostępnianie projektów.
Dopiero zaczynamy odkrywać możliwości, jakie oferuje Altium Designer na Altium 365. Zacznij swoją darmową próbę Altium Designer + Altium 365 już dziś.