Dlaczego pinout LPC21xx jest wszędzie?

10

Pracuję jako stażysta zimowy w firmie robotyki. Moim zadaniem jest pomagać wiodącemu programistowi osadzonemu w ... czymkolwiek, czego on potrzebuje od mojej pomocy.

Mniej więcej tydzień temu otrzymałem tablicę NXP z LPC2148. Chociaż podobała mi się większa moc obliczeniowa (w porównaniu do ATmega32, nad którymi pracowałem), znalazłem coś bardzo dziwnego w kontrolerze opartym na ARM7. Jeśli spojrzysz na pinout tutaj

Pinout LPC2148

można zauważyć, że szpilki portów są wszędzie. W serii AVR wszystko jest uporządkowane ze wszystkimi pinami portu razem. Dlaczego tak nie jest w LPC21xx? Nie mogę znaleźć żadnej logiki, nie są one uporządkowane według numeru pinu lub funkcjonalności (jak wszystkie piny JTAG razem). Wygląda na to, że projektanci ustawili szpilki w przypadkowej formie.

Czy ktoś może wyjaśnić przyczynę tego?

Rick_2047
źródło
LOL! Ostatnio użyłem LPC2478 z podobnym problemem. Użyłem peryferiów SDRAM, które dosłownie miały piny rozmieszczone wokół całego peryferii quada. Sprawia, że ​​utrzymanie równej długości linii jest koszmarem. Sądzę tylko, że łatwiej im to w ten sposób wyprodukować.
bt2
Ostatnio dużo portuję (atmega32 na lpc2148) i musiałem przenieść kod do sterowania lcd na lpc. Teraz na atmega32 użył tylko dwóch portów (16-bitowej magistrali danych). Pomyślałem więc, że po prostu uzyskam dostęp do FIO1 za pomocą dwóch słów (FIO1DIR2 itp.), Ale ku mojemu przerażeniu musiałem lutować przewody zamiast używać męskich nagłówków, ponieważ wszystkie piny nie są razem.
Rick_2047,
3
Dobra wiadomość: nie robią tego, aby cię dręczyć. :-)
stevenvh

Odpowiedzi:

7

Z pewnością będzie to konsekwencja wewnętrznego układu czipu, w połączeniu z faktem, że w aplikacjach mikrokontrolerów dość rzadko potrzeba bloków kolejnych pinów IO do tworzenia szerokich magistrali itp., Więc grupowanie nie jest priorytetem i nie warto wydawać na to dodatkowego obszaru krzemowego. Oczywiście ta logika psuje się nieco na częściach z zewnętrznymi interfejsami magistrali, co sprawia, że ​​układ, szczególnie z QFP, to coś w rodzaju koszmaru, ale użytkownicy wolumenu prawdopodobnie i tak będą używać BGA, aby zaoszczędzić miejsce - zawsze uważałem, że 208QFP wyglądają trochę śmiesznie. !

mikeselectricstuff
źródło
wybacz noobness, co to jest BGA?
Mark Harrison,
@Mark Harrison, Ball Grid Array, brak pinów, po prostu szereg kulek lutowniczych, zwykle bardzo wysokiej gęstości (pomyśl 121+ pinów na czymś, co miałoby 44 lub 64 pinów), ale koszmar do układania i projektowania.
Thomas O
11

Istnieje wiele powodów, dla których pinouty są takie, jakie są.

Najpierw najłatwiej poradzić sobie z pinami zasilania / uziemienia. Zaawansowane układy rozmieszczą piny zasilania / uziemienia, aby zminimalizować indukcyjność i zmniejszyć „obszar pętli” sygnałów plus ścieżkę powrotną sygnału. Poprawi to jakość sygnału i zmniejszy EMI / RFI. Absolutnie najgorszą rzeczą, jaką możesz zrobić dla mocy / uziemienia, jest to, co zrobiono na oryginalnych częściach serii 74xxx z mocą w jednym rogu i uziemieniem w drugim. Xilinx ma białą księgę na swoim układzie „rzadkiego szewronu”, co jest interesujące. Jeśli szukasz na ich stronie internetowej, mają oni wiele innych artykułów i prezentacji mówiących o tym z rzeczywistymi zmierzonymi wynikami i innymi rzeczami. Inne firmy zrobiły podobne rzeczy bez szumu i dokumentacji.

W przypadku MCU, w których większość pinów jest konfigurowalna przez użytkownika, naprawdę nie ma dobrego ani złego sposobu wykonania pinoutu (z wyłączeniem zasilania / uziemienia). Jest prawie pewne, że cokolwiek zrobią, będzie źle. To bardzo przypomina kupowanie sukienki dla żony - bez względu na wszystko, będzie to niewłaściwy rozmiar, styl, kolor, dopasowanie itp. Możesz to zrekompensować programowo, używając różnych styków GPIO, lub kreatywnej płytki drukowanej routing lub przez mało kreatywne routing PCB (czyli po prostu dodanie kolejnych warstw).

Inną możliwością jest to, że Pinouty które zostały zoptymalizowane dla routingu PCB na minimalnym warstw, ale nie widzisz tego. Na przykład procesory, które wymagają podłączenia do określonego mikroukładu (lub pamięci RAM), często mają pinouty zaprojektowane w celu ułatwienia tego łączenia / routingu. Jest to powszechne w takich rzeczach, jak chipsety Intel z procesorami Intel. Jest to jedyny sposób, w jaki można uzyskać dwa ponad 800 kulowych układów BGA do połączenia ze sobą na 4- lub 6-warstwowej płytce drukowanej wypełnionej innymi płaszczyznami zasilania / uziemienia. W takich przypadkach często pojawiają się notatki aplikacji wyjaśniające sposób wykonywania routingu.

Trzecią możliwością jest to, że jest to tak proste, jak „tak właśnie się skończyło”. Jest podobny do podejścia „cokolwiek zrobimy, będzie źle”, więc robią to, co było najłatwiejsze lub najtańsze. Nie ma tu żadnej magii ani tajemnicy. W przeszłości istniały popularne układy, ale ludzie narzekali na pinouty - więc lata później pojawiła się inna wersja tej części, która jest funkcjonalnie taka sama, ale z pinami przesuniętymi, aby ułatwić routing PCB.

Nie ważne co, w końcu „to jest to, co to jest” i po prostu sobie z tym poradzimy. Szczerze mówiąc, nie powoduje to zbyt wielu problemów i jesteśmy do tego tak przyzwyczajeni, że nie przeszkadza nam to (wiele).


źródło
czy słynna EE powiedziała „to jest to, co to jest” czy coś takiego? Na moim uniwersytecie jest profesor starej szkoły, który często to powtarzał ...
NickHalden
@JGord Jest to wspólne zdanie, stosowane na całym inżynieria, biznesu, sportu, itd urbandictionary.com/define.php?term=It+is+what+it+Is
Wiedziałem, że tak, właśnie widziałem go ze szczególnie wysokiej gęstości w EE i zastanawiałem się, dlaczego ...
NickHalden
Możesz zobaczyć niektóre obecne monitory bocznikowe w SOT23-5, które mają różne rozmieszczenie pinów Vin + i Vin-. Na przykład INA193 / 196. Praktycznie ten sam układ, ale przypuszczam, że zależy to od sposobu, w jaki plansza zostanie przeprowadzona i jaka jest optymalna sytuacja dla maszyn pick'n'place.
Hans
4

Rozmieszczenie układów scalonych jest naprawdę zdeterminowane układem obwodu na chipie wewnątrz opakowania.

Projektanci układów scalonych mają różne względy, ale jest mało prawdopodobne, aby zewnętrzne przypisanie pinów różniło się znacznie od rozmieszczenia matryc.

Jednym z rozważań byłby rozkład mocy wokół układu, co oznacza, że ​​VDD (lub VCC) i ziemia mogą pojawić się w nieoczekiwanych miejscach.

Zawsze jest ku temu dobry powód. Uwierz mi, projektanci układów scalonych nie robią rzeczy arbitralnie.

pavium
źródło
2

Jeśli przyjrzysz się uważnie, zobaczysz, że są w porządku, ale nie są zgrupowane. Prawdopodobnie sprowadza się to do łatwości produkcji układu.

alternatywny tekst

Thomas O
źródło
Jaki rodzaj zamówienia chcesz zilustrować (więcej)?
Rick_2047,
1
@ Rick_2047, spójrz na schemat, są one w kolejności.
Thomas O
Poważnie stary, nie widzę sekwencji. Twoja czerwona linia pokazuje tylko, że są wszędzie, może jestem gęsta i potrzebuję więcej wyjaśnień.
Rick_2047,
1
@ Rick_2047, zaczynając od pinu # 19 P0.0, pinu # 21 P0.1, (podążaj za czerwoną linią, zobaczysz P0.x w kolejności, z wyjątkiem kilku specjalnych wyjątków.) Są wszędzie, ale kolejność nie jest losowa.
Thomas O
Jakie jest zastosowanie? Potrzebowałbym co najmniej 8 pinów do sterowania portem danych lub przynajmniej wszystkich pinów peryferyjnych w sekwencji, aby bezpośrednio podłączyć złącze. Więc szpilki są dla mnie losowe.
Rick_2047,
2

Ma to związek z miejscami, w których dany sygnał zbliża się wystarczająco blisko krawędzi matrycy, aby utworzyć tam podkładkę łączącą. Od tego zależy kolejność, w jakiej będą piny. Czasami można przełączać kilka sygnałów, ale umieszczenie ich wszystkich w logicznej kolejności może zwiększyć rozmiar kości, co oznacza dodatkowy koszt.

stevenvh
źródło
2

Układy scalone mogą mieć warstwę redystrybucyjną, która pozwoliłaby na mapowanie dowolnego pinezki w dowolnym miejscu, ale to tylko zwiększyłoby koszt samej kości o około 5-10%.

Każdy producent wybiera jeden ze sposobów:

1) Układ scalony ze stałymi wyjściowymi pinami (nieco większa matryca => droższa)

2) Mają losowe szpilki (tańsze)

3) Posiadaj 1 dodatkową warstwę (nieco droższą w produkcji)

BarsMonster
źródło
2

Powodem jest to, że ułożenie pinów w logicznej kolejności jest znacznie niższe na liście priorytetów firmy produkującej układy scalone. Większość projektantów, na których im zależy (co zazwyczaj nie obejmuje robotów hobbystycznych), korzysta z pakietu CAD, który zawiera pinout w niektórych bibliotekach, więc też ich to nie obchodzi. Tak więc inne czynniki, takie jak efektywny układ matrycy chipowej, są ważniejsze.

Pamiętaj, że w przypadku niektórych pinów producenci chipów dbają:

  • zrównoważone pary (Ethernet, USB) są następne lub zamknięte
  • połączenia Xtal są bliskie (z pinem uziemiającym w pobliżu, ale nie na niektórych PIC ..)
  • styki uziemienia i zasilania znajdują się obok siebie lub blisko, więc w pobliżu styków można dodać nasadkę oddzielającą

Pamiętam 30 lat temu próbowałem zrobić jednostronną płytkę drukowaną do komputera Z80. Przekazano mi większość linii, ale te głupie piny magistrali danych uniemożliwiły to.

Wouter van Ooijen
źródło