Monday 2 February 2015

Why are the pinouts of LPC21xx all over the place?


I am working as a winter intern at a robotics company. My job is to assist the lead embedded developer in... whatever he wants my assistance in.


About a week back, I was handed a NXP blueboard with LPC2148 on it. Although I loved the more processing power (compared to the ATmega32s I had been working on), I found something very odd about the ARM7 based controller. If you look at the pinout here



LPC2148 pinout


you would notice that the port pins are just all over the place. In the AVR series everything is arranged cleanly with all the port pins together. Why is it not so in the LPC21xx? I cannot find any logic at all, they are not arranged by pin number or by functionality (like all the JTAG pins together). It seems like the designers just stacked the pins in a random form.


Can any body please explain the reason behind this?



Answer



It will certainly be a consequence of how the chip is laid out internally, combined with the fact that it is fairly rare on microcontroller applications to need blocks of consecutive IO pins to make wide buses etc., so grouping together isn't a high priority and not worth spending additional silicon area on. Of course this logic breaks down somewhat on parts with external bus interfaces, making layout, particularly with QFPs something of a nightmare, but volume users will probably be using BGAs anyway to save space - I've always thought 208QFPs look a bit ridiculous..!


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...