EmbeddedRelated.com
Forums

ARM (or other 32 bit) MCUs in PDIP ?

Started by Simon Clubley January 27, 2012
On Fri, 27 Jan 2012 23:01:59 +0000, Simon Clubley wrote:
<snip>

> > Thanks for the interesting selection of links and ideas. > > Thanks also to everyone else for breakout board suggestions. > > For now, I would like to use continue using PDIP in my own circuits, but > I agree with people here in that I think I am going to be forced into a > breakout board type situation in the future as newer devices come along. > > And you are quite correct; it would not be too difficult to have a > series of generic breakout boards made once I make that move. > > Thanks everyone, > > Simon.
SchmartBoard has a line of adapters. Easy to work with. Never had any issues ordering from them. http://www.schmartboard.com/index.asp?page=products_smttodip -- Chisolm Republic of Texas
On Sat, 28 Jan 2012 15:14:45 -0600, Joe Chisolm
<jchisolm6@earthlink.net> wrote:

>On Fri, 27 Jan 2012 23:01:59 +0000, Simon Clubley wrote: ><snip> > >> >> Thanks for the interesting selection of links and ideas. >> >> Thanks also to everyone else for breakout board suggestions. >> >> For now, I would like to use continue using PDIP in my own circuits, but >> I agree with people here in that I think I am going to be forced into a >> breakout board type situation in the future as newer devices come along. >> >> And you are quite correct; it would not be too difficult to have a >> series of generic breakout boards made once I make that move. >> >> Thanks everyone, >> >> Simon. > >SchmartBoard has a line of adapters. Easy to work with. Never had any >issues ordering from them. > >http://www.schmartboard.com/index.asp?page=products_smttodip
One feature of the Schmartboard is their "ez technology" which puts the SMT leads onto recessed pads, so they sort of "fall into place." Can't get much easier... -- Rich Webb Norfolk, VA
On 2012-01-28, Mark Borgerson <mborgerson@comcast.net> wrote:
> In article <jg1er7$md3$1@dont-email.me>, > clubley@remove_me.eisner.decus.org-Earth.UFP says... >> >> Therefore, this leaves the option which we have been discussing which is >> having some bare generic adapter templates made which, when populated, >> would contain nothing but the IC in question plus the 0.1 inch pitch >> pinouts. > > I would add to that a handful of decoupling capacitors---which will be > more effective when not separated from the MCU power pins by the > connectors and traces of the breakout board. >
That's a good point. Thanks.
> You should also consider adding parts you know you'll need for most > cases, like a crystal and, perhaps, resistors that set default boot > behavior (boot0 and boot1 pins on the STM32 series).
As long as I didn't do anything which stopped the board template from been used for different ICs which happen to share the same packaging, that's something to consider.
>> >> The real problem with this, and this is the core problem here, is working >> with components that small. I don't currently have the skill set required >> for that and I am not sure what extra equipment is required in case I need >> help soldering something that small in case my hands are not steady enough. > > If you can print legibly, your hands are probably steady enough. A good > binocular microscope is handy for more than soldering and shouldn't cost > more than $300.
While such a microscope would be affordable, for me, that would count as a investment I would not want to make until I was sure of myself. Therefore, when I finally take the plunge, I would build up experience with the larger pitch sub-DIP sized packages before trying to get too adventurous. :-)
>> >> I don't need any of the handholding stuff which you see in the commercial >> toolchains. I just write my own headers (using the datasheet) if they are >> not available or the manufacturer uses coding conventions I disagree with. > > For some of the more complex ARM chips, the headers can run to several > thousand lines. I usually start with the headers from the software > provider and often replace some with my own definitions when I disagree > with their style.
Oh, I know just how big some of them are. :-) What I did on the last set of headers was to copy-and-paste the register summaries in the documentation for the register blocks I needed to access into emacs and then edited them using keyboard macros. It doesn't take all that long once you've done a couple or so. The last set of headers was for a ARM9 processor and once I stopped trying to define register bitfields using structs[*] and went back to using masks, creating the header files was a little tedious but quite painless otherwise. Simon. [*] I wanted to try writing headers which used structs instead of masks to access register bitfields (at least for those registers whose usage was suitable for such a struct), but while gcc was loading the register using a ldr, it was sometimes writing the field back using strb instead of str. A walk through the gcc manual didn't reveal any pragma or attribute directives of interest, so I reverted back to masks. (And yes, everything was marked as volatile.) -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world
On 2012-01-28, Rich Webb <bbew.ar@mapson.nozirev.ten> wrote:
> On Sat, 28 Jan 2012 15:14:45 -0600, Joe Chisolm ><jchisolm6@earthlink.net> wrote: > >>SchmartBoard has a line of adapters. Easy to work with. Never had any >>issues ordering from them. >> >>http://www.schmartboard.com/index.asp?page=products_smttodip > > One feature of the Schmartboard is their "ez technology" which puts the > SMT leads onto recessed pads, so they sort of "fall into place." Can't > get much easier... >
Several people have now pointed me in the direction of these people. I'll have a look through their website and get up to speed on what they offer. Thanks for the pointer everyone. Simon. -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world
On 28/01/12 21:42, Ed Beroset wrote:
> dp wrote: > >> Oh, and for rework you will need two soldering irons, that is how >> I do it at least. I also have a blower (hot air station, I believe), >> but I have been getting away without having one in the past. >> And I manage boards like this one more or less routinely: >> >> http://tgi-sci.com/misc/nmc3top.gif > > The large IC on that board looks like a BGA package. I've been avoiding > BGA for home projects because I can't figure out how I would possibly > troubleshoot and rework such a board with exotic stuff like an X-ray > inspection machine, etc. Have you got experience with BGA on a budget? > > Ed
I presume the trick is to solder it correctly the first time, so you don't need rework or troubleshooting. In general, wide-pitch BGA's (1 mm or 1.25 mm) are easier to solder correctly than fine-pitch SMTs (0.5 mm or 0.6 mm), because there is more space between the "legs". But you have to get your board layout correct, and avoid having too many bulky or high components nearby - they disrupt the airflow and make the heating uneven. I have no experience of doing this myself at home - though I have heard of people doing it using a toaster (on its side).
In article <jg1umi$k7o$1@dont-email.me>, 
clubley@remove_me.eisner.decus.org-Earth.UFP says...
> > On 2012-01-28, Mark Borgerson <mborgerson@comcast.net> wrote: > > In article <jg1er7$md3$1@dont-email.me>, > > clubley@remove_me.eisner.decus.org-Earth.UFP says... > >> > >> Therefore, this leaves the option which we have been discussing which is > >> having some bare generic adapter templates made which, when populated, > >> would contain nothing but the IC in question plus the 0.1 inch pitch > >> pinouts. > > > > I would add to that a handful of decoupling capacitors---which will be > > more effective when not separated from the MCU power pins by the > > connectors and traces of the breakout board. > > > > That's a good point. Thanks. > > > You should also consider adding parts you know you'll need for most > > cases, like a crystal and, perhaps, resistors that set default boot > > behavior (boot0 and boot1 pins on the STM32 series). > > As long as I didn't do anything which stopped the board template from been > used for different ICs which happen to share the same packaging, that's > something to consider. > > >> > >> The real problem with this, and this is the core problem here, is working > >> with components that small. I don't currently have the skill set required > >> for that and I am not sure what extra equipment is required in case I need > >> help soldering something that small in case my hands are not steady enough. > > > > If you can print legibly, your hands are probably steady enough. A good > > binocular microscope is handy for more than soldering and shouldn't cost > > more than $300. > > While such a microscope would be affordable, for me, that would count as a > investment I would not want to make until I was sure of myself. Therefore, > when I finally take the plunge, I would build up experience with the larger > pitch sub-DIP sized packages before trying to get too adventurous. :-) > > >> > >> I don't need any of the handholding stuff which you see in the commercial > >> toolchains. I just write my own headers (using the datasheet) if they are > >> not available or the manufacturer uses coding conventions I disagree with. > > > > For some of the more complex ARM chips, the headers can run to several > > thousand lines. I usually start with the headers from the software > > provider and often replace some with my own definitions when I disagree > > with their style. > > Oh, I know just how big some of them are. :-) > > What I did on the last set of headers was to copy-and-paste the register > summaries in the documentation for the register blocks I needed to access > into emacs and then edited them using keyboard macros. It doesn't take all > that long once you've done a couple or so. > > The last set of headers was for a ARM9 processor and once I stopped trying > to define register bitfields using structs[*] and went back to using masks, > creating the header files was a little tedious but quite painless otherwise. >
Great minds think alike! The excessive use of structs was one of the reasons I ended up with some of my own headers for the STM32 series. OTOH, the ARM instruction set and the IAR compiler do produce pretty efficient code for struct-type headers using the base + offset addressing modes.
> Simon. > > [*] I wanted to try writing headers which used structs instead of masks to > access register bitfields (at least for those registers whose usage was > suitable for such a struct), but while gcc was loading the register using > a ldr, it was sometimes writing the field back using strb instead of str. > > A walk through the gcc manual didn't reveal any pragma or attribute > directives of interest, so I reverted back to masks.
I've used IAR for most of my non-Linux projects with the ARM chips. When I was writing for a StrongArm system using GCC, I didn't spend too much looking at the assembly language results. Other problems with making Linux behave in a near-real-time system got most of my attention.
> > (And yes, everything was marked as volatile.)
Mark Borgerson
In article <JdmdnV5Ln4uVHrnSnZ2dnUVZ8hKdnZ2d@lyse.net>, 
david.brown@removethis.hesbynett.no says...
> > On 28/01/12 21:42, Ed Beroset wrote: > > dp wrote: > > > >> Oh, and for rework you will need two soldering irons, that is how > >> I do it at least. I also have a blower (hot air station, I believe), > >> but I have been getting away without having one in the past. > >> And I manage boards like this one more or less routinely: > >> > >> http://tgi-sci.com/misc/nmc3top.gif > > > > The large IC on that board looks like a BGA package. I've been avoiding > > BGA for home projects because I can't figure out how I would possibly > > troubleshoot and rework such a board with exotic stuff like an X-ray > > inspection machine, etc. Have you got experience with BGA on a budget? > > > > Ed > > I presume the trick is to solder it correctly the first time, so you > don't need rework or troubleshooting. > > In general, wide-pitch BGA's (1 mm or 1.25 mm) are easier to solder > correctly than fine-pitch SMTs (0.5 mm or 0.6 mm), because there is more > space between the "legs". But you have to get your board layout > correct, and avoid having too many bulky or high components nearby - > they disrupt the airflow and make the heating uneven. > > I have no experience of doing this myself at home - though I have heard > of people doing it using a toaster (on its side).
I've used the electric frying pan technique with some boards for which I purchased a stencil and solder paste. I found it worked better with the dozens of 0805 resistors and capacitors than with the fine-pitch ADC chips on that board. When the order came in for another 80 boards after the first 20, I bit the bullet and took the time to document things well enough for a local assembly house with a pick-and-place machine. Mark Borgerson
On Sat, 28 Jan 2012 23:00:34 +0000 (UTC), Simon Clubley
<clubley@remove_me.eisner.decus.org-Earth.UFP> wrote:

>On 2012-01-28, Mark Borgerson <mborgerson@comcast.net> wrote:
>> If you can print legibly, your hands are probably steady enough. A good >> binocular microscope is handy for more than soldering and shouldn't cost >> more than $300. > >While such a microscope would be affordable, for me, that would count as a >investment I would not want to make until I was sure of myself.
How about this for only $200? <http://www.microscope.com/omano-om24l-stereo-microscope.html> I've had one for a couple of years and love it, although I mostly use it for inspection and do the actual work while wearing an OptiVisor. Pros: Inexpensive. Good optical range, where 20x isn't too much magnification to work under when it's really necessary and 40x is good for inspection (some folks prefer 10x/30x). Rechargeable battery-powered LED illumination, so you can take it to the work w/o (more) cords getting in the way. Cons: 3.25" to the center of the FOV from the mounting post limits the size of the possible working piece (although it's possible to gain an additional 1/2" by lifting the work up to clear the metal piece that holds the post). Not the best optics in the world (some internal reflections) but decent. Lots of other choices for a stereo 'scope at the parent site, from around $110 to north of $5000. -- Rich Webb Norfolk, VA
On Jan 28, 10:42=A0pm, Ed Beroset <bero...@mindspring.com> wrote:
> dp wrote: > > Oh, and for rework you will need two soldering irons, that is how > > I do it at least. I also have a blower (hot air station, I believe), > > but I have been getting away without having one in the past. > > And I manage boards like this one more or less routinely: > > >http://tgi-sci.com/misc/nmc3top.gif > > The large IC on that board looks like a BGA package. =A0I've been avoidin=
g
> BGA for home projects because I can't figure out how I would possibly > troubleshoot and rework such a board with exotic stuff like an X-ray > inspection machine, etc. =A0Have you got experience with BGA on a budget? > > Ed
Like David mentioned getting the board right is important. But this is almost never 100% doable so one wants to be as flexible as possible. On that (and other 1.27mm BGA boards I have done) I drill _every_ BGA pad, and route up to 3 traces between the pads on the top and bottom board sides. The inner layers are ground and power only (somewhat split, e.g. the 2.5 and 3.3V on that board are on the same split plane under the BGA). Works OK and one does have some - indeed not big - room for error. Soldering the thing right is not an issue (once you get used to it... the first board I did 10+ years ago got a lot of reflows but worked eventually). Having drilled (0.2mm after plating) under each ball it is essential to have all balls well attached to the BGA chip; they do not always come like that from the manufacturer. If a ball is "cold" soldered to the BGA it flows all down the hole and soldering has been a failure. To prevent this I reflow the BGA once balls up with some flux, then wash it for the final usage - has always worked. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/
Mark Borgerson <mborgerson@comcast.net> writes:

> In article <jg1umi$k7o$1@dont-email.me>, > clubley@remove_me.eisner.decus.org-Earth.UFP says...
[...]
>> >> Oh, I know just how big some of them are. :-) >> >> What I did on the last set of headers was to copy-and-paste the register >> summaries in the documentation for the register blocks I needed to access >> into emacs and then edited them using keyboard macros. It doesn't take all >> that long once you've done a couple or so. >> >> The last set of headers was for a ARM9 processor and once I stopped trying >> to define register bitfields using structs[*] and went back to using masks, >> creating the header files was a little tedious but quite painless otherwise. >> > Great minds think alike! The excessive use of structs was one of the > reasons I ended up with some of my own headers for the STM32 series. > > OTOH, the ARM instruction set and the IAR compiler do produce pretty > efficient code for struct-type headers using the base + offset > addressing modes.
I quite like the peripherals defined as structs on STM32 but I threw away most of the rest. Great for debugging, you can just print the struct in gdb and see the state of the peripheral. [...] -- John Devereux