Vraag:
Waarom zijn de pinouts van LPC21xx overal?
Rick_2047
2010-12-24 21:59:54 UTC
view on stackexchange narkive permalink

Ik werk als winterstagiair bij een robotica-bedrijf. Het is mijn taak om de hoofd embedded ontwikkelaar te helpen bij ... waar hij mijn hulp bij wil hebben.

Ongeveer een week geleden kreeg ik een NXP blueboard met LPC2148 erop. Hoewel ik hield van de meer verwerkingskracht (vergeleken met de ATmega32's waaraan ik had gewerkt), vond ik iets heel vreemds aan de op ARM7 gebaseerde controller. Als je hier naar de pinout kijkt

LPC2148 pinout

, zou je opmerken dat de poortpinnen gewoon overal zijn. In de AVR-serie is alles netjes gerangschikt met alle poortpinnen bij elkaar. Waarom is het niet zo in de LPC21xx? Ik kan helemaal geen logica vinden, ze zijn niet gerangschikt op pincode of op functionaliteit (zoals alle JTAG-pinnen bij elkaar). Het lijkt erop dat de ontwerpers de pinnen zojuist in een willekeurige vorm hebben gestapeld.

Kan iemand de reden hierachter uitleggen?

Goed nieuws: ze doen dit * niet * om je lastig te vallen. :-)
LOL! Ik heb onlangs een LPC2478 gebruikt met een soortgelijk probleem. Ik gebruikte de SDRAM-randapparatuur die letterlijk pinnen had die rond de hele rand van de quad-pack waren verdeeld. Het maakt het een nachtmerrie om een ​​gelijke lijnlengte te behouden. Mijn enige gok is dat het voor hen gemakkelijker is om het op die manier te vervaardigen.
Ik ben de laatste tijd veel aan het porten (atmega32 naar lpc2148) en moest code overzetten om een ​​lcd naar lpc te sturen. Nu op atmega32 gebruikte het slechts twee poorten (de 16-bits databus). Dus ik dacht dat ik gewoon toegang zou krijgen tot FIO1 met twee woorden (FIO1DIR2 enz.), Maar tot mijn schrik moest ik draden solderen in plaats van de mannelijke headers te gebruiken, omdat niet alle pinnen bij elkaar zijn.
Zeven antwoorden:
user3624
2011-07-12 20:16:05 UTC
view on stackexchange narkive permalink

Er zijn veel redenen waarom de pinouts zijn zoals ze zijn.

De gemakkelijkste om als eerste aan te pakken zijn de kracht- / grondpennen. Geavanceerde chips zullen hun stroom- / aardingspennen rangschikken om inductantie te minimaliseren en het "lusgebied" van signalen plus het signaalterugkeerpad te verkleinen. Dit zal de signaalkwaliteit verbeteren en EMI / RFI verminderen. Het allerergste dat je kunt doen voor stroom / aarding is wat er is gedaan op de originele 74xxx-serie onderdelen met stroom op de ene hoek en aarde op de andere. Xilinx heeft een witboek over hun "sparse chevron" -arrangement dat interessant is. Als je op hun website zoekt, hebben ze veel andere papers en presentaties die erover praten met werkelijk gemeten resultaten en zo. Andere bedrijven hebben soortgelijke dingen gedaan zonder alle hype en documentatie.

Voor MCU's waar de meeste pinnen door de gebruiker kunnen worden geconfigureerd, is er echt geen goede of slechte manier om de pinouts te doen (exclusief stroom / aarding) . Het is bijna gegarandeerd dat wat ze ook doen, het fout zal zijn. Het is net zoals wij een jurk voor de vrouw kopen - wat er ook gebeurt, het zal de verkeerde maat, stijl, kleur, pasvorm, enz. Hebben. Je kunt dit compenseren in software door verschillende GPIO-pinnen te gebruiken of door creatieve PCB's. routing, of door niet-creatieve PCB-routing (oftewel gewoon meer lagen toevoegen).

Een andere mogelijkheid is dat de pinouts zijn zijn geoptimaliseerd om de PCB op minimale lagen te routeren, maar dat zie je niet. CPU's die bijvoorbeeld verbinding met een specifieke chipset (of RAM) vereisen, hebben vaak hun pinouts die zijn ontworpen om die interfacing / routing gemakkelijker te maken. Dit komt vaak voor bij zaken als Intel CPU's met Intel-chipsets. Dat is ongeveer de enige manier waarop je twee 800+ ball BGA's kunt krijgen om met elkaar te verbinden op een 4 of 6 laags PCB gevuld met andere stroom- / aardingsvlakken. In deze gevallen zijn er vaak app-notities die uitleggen hoe de routering moet worden uitgevoerd.

En de derde mogelijkheid is dat het zo simpel is als "zo is het gekomen". Het is vergelijkbaar met de "wat we ook doen, het zal fout zijn" -benadering, dus doen ze gewoon wat het gemakkelijkst of het goedkoopst is. Geen echte magie hier of mysterie hier. In het verleden waren er chips die populair waren, maar mensen zouden klagen over de pinouts - dus jaren later zou er een andere versie van het onderdeel uitkomen die functioneel hetzelfde is, maar met de pinnen verplaatst om PCB-routering te vergemakkelijken.

Wat er ook gebeurt, uiteindelijk "is het wat het is" en lossen we het gewoon op. Het veroorzaakt eerlijk gezegd niet al te veel problemen, en we zijn er zo aan gewend dat het ons niet (veel) stoort.

zei een beroemde EE "het is wat het is" of zoiets? Er is een oude professor aan mijn universiteit die dat vaak zei ...
@JGord Het is een veelgebruikte uitdrukking die overal in techniek, zaken, sport, enz. Wordt gebruikt. Http://www.urbandictionary.com/define.php?term=It+is+what+it+Is
Ja, dat wist ik, ik heb het net gezien met een bijzonder hoge dichtheid in EE en vroeg me af waarom ...
U kunt enkele huidige shuntmonitors in SOT23-5 zien waarvan de Vin + en Vin-pinnen anders zijn gerangschikt. Bijvoorbeeld de INA193 / 196. Vrijwel dezelfde chip, maar ik veronderstel dat het ervan afhangt hoe het bord wordt gerouteerd en wat de optimale situatie is voor pick'n'place-machines.
mikeselectricstuff
2010-12-25 05:52:21 UTC
view on stackexchange narkive permalink

Het zal zeker een gevolg zijn van hoe de chip intern is ingedeeld, gecombineerd met het feit dat het bij microcontroller-applicaties vrij zeldzaam is om blokken opeenvolgende IO-pinnen nodig te hebben om brede bussen enz. te maken, dus groeperen is dat niet een hoge prioriteit en niet de moeite waard om extra siliciumgebied aan te besteden. Natuurlijk breekt deze logica enigszins af op onderdelen met externe businterfaces, waardoor de lay-out, vooral met QFP's iets van een nachtmerrie wordt, maar volumegebruikers zullen waarschijnlijk toch BGA's gebruiken om ruimte te besparen - ik heb 208QFP's altijd een beetje belachelijk gevonden ... !

pardon the noobness, wat is een BGA?
@Mark Harrison, Ball Grid Array, geen pinnen, alleen een reeks soldeerballen, typisch een zeer hoge dichtheid (denk aan 121+ pinnen op iets dat 44 of 64 pinnen zou hebben) maar een nachtmerrie om te ontwerpen en te ontwerpen.
pavium
2011-07-12 18:36:30 UTC
view on stackexchange narkive permalink

IC-pinouts worden in feite bepaald door de lay-out van het circuit op de chip in het pakket.

Er zijn verschillende overwegingen voor ontwerpers van IC-lay-outs, maar het is onwaarschijnlijk dat externe pintoewijzingen veel zouden verschillen van de die-pad-opstelling.

Een van de overwegingen is de stroomverdeling rond de chip, wat betekent dat VDD (of VCC) en aarde op onverwachte plaatsen kunnen verschijnen.

Er is altijd een goede reden ervoor. Geloof me, IC-ontwerpers doen dingen niet willekeurig.

Thomas O
2010-12-25 00:48:06 UTC
view on stackexchange narkive permalink

Als je goed kijkt, kun je zien dat ze in orde zijn, maar niet gegroepeerd. Het komt waarschijnlijk neer op hoe gemakkelijk de chip te vervaardigen is.

alt text

Wat voor soort bestelling, wil ik (meer) illustreren?
@Rick_2047, kijk naar het diagram, ze zijn in volgorde.
Serieus kerel, ik zie de volgorde niet. Je rode lijn laat gewoon zien dat ze overal zijn, misschien ben ik compact en heb ik wat meer uitleg nodig.
@Rick_2047, beginnend bij pin # 19 P0.0, pin # 21 P0.1, (volg de rode lijn, je ziet P0.x in volgorde, op een paar speciale uitzonderingen na.) Ze zijn overal, behalve de volgorde is niet willekeurig.
Wat is het nut van? Ik zou minimaal 8 pinnen nodig hebben om een ​​datapoort aan te sturen of in ieder geval alle randpinnen achter elkaar hebben om een ​​connector rechtstreeks aan te sluiten. Dus de pinnen zijn willekeurig voor mij.
@Rick_2047 Nou, P0.7 tot en met P0.14 geeft je ongeveer 8 pinnen redelijk dicht bij elkaar om een ​​datapoort aan te sturen. De pinnen staan ​​waarschijnlijk in die volgorde omdat het goedkoper is om te produceren.
Ik kan niet ontkennen dat deze ontwerpbeslissing hoogstwaarschijnlijk een gevolg is van fabricageoverwegingen. Trouwens, p0.7 staat op de onderste rij en anderen staan ​​op de rechter rij. en tussen de andere 7 pinnen is er p1.23 en p1.24. Dat lijkt me geen reeks.
@Rick_2047 het is in voldoende volgorde voor de meeste connectoren, je hoeft alleen de sporen te routeren zodat ze allemaal in dezelfde richting wijzen.
stevenvh
2011-07-12 18:39:07 UTC
view on stackexchange narkive permalink

Het heeft te maken met de plaatsen waar een bepaald signaal dicht genoeg bij de rand van de matrijs komt om daar een hechtkussen voor te maken. Dat bepaalt de volgorde van de pinnen. Soms kunnen een paar signalen worden verwisseld, maar als ze allemaal in een logische volgorde staan, kan de dobbelsteen groter worden, wat extra kosten met zich meebrengt.

BarsMonster
2011-07-12 19:48:38 UTC
view on stackexchange narkive permalink

IC's kunnen een herverdelingslaag hebben, waardoor elke pin naar elke locatie kan worden toegewezen, maar dit zou de kale kosten met zo'n 5-10% verhogen.

Elke fabrikant kiest een van de volgende manieren:

1) Ontwerpchip met vaste outputpinnen (een beetje grotere dobbelsteen => duurder)

2) Heb willekeurige pinnen (goedkoper)

3) Heb 1 extra laag (iets duurder om te vervaardigen)

Wouter van Ooijen
2011-09-20 14:41:38 UTC
view on stackexchange narkive permalink

De reden is dat het rangschikken van de pinnen in een logische volgorde ver beneden op de prioriteitenlijst van een chipbedrijf staat. De meeste ontwerpers waar ze om geven (wat over het algemeen geen hobbyrobotmensen zijn) zullen een CAD-pakket gebruiken dat de pinout in een bibliotheek heeft, dus het kan ze ook niet schelen. Andere factoren, zoals een efficiënte lay-out van de chip-dobbelsteen, zijn dus belangrijker.

Merk op dat de chipfabrikanten voor sommige pins het volgende belangrijk vinden:

  • gebalanceerde paren (ethernet, USB) zijn naast of dichtbij
  • de xtale verbindingen zijn dichtbij (met een aardingspin dichtbij, maar niet op sommige PIC's ..)
  • massa- en stroompennen zijn naast of dichtbij, dus een ontkoppeling dop kan dicht bij de pinnen worden toegevoegd.

Ik herinner me dat ik ongeveer 30 jaar geleden probeerde een enkelzijdige Z80 computerprintplaat te maken. Ik heb de meeste lijnen gerouteerd, maar die gekke databuspennen maakten het onmogelijk.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...