lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Wed, Feb 11, 2009 at 12:22 PM, Tony Bauer <> wrote:
More embedded notes (with some Lua content):

Yes, the LPC2478 is pretty nice.  My brother was looking at using one
at work (no Lua, though), but that project is currently on hold.

Somebody will make a Cortex M3 with an external bus.  The NXP LPC17xx
series (Cortex M3) looks pretty nice; the LPC1768 has 64K RAM, 512K
flash, MAC, USB OTG, 2xCAN, 4xUART, PWM, QEP, etc, but no external

I am willing to bet that either Luminary or ST Micro will be the first out the gate with such a design.  In fact ST Micro has a new line of chips on the back burner to release some time this year I think, but you have to sign an NDA to see the product map, which I have not done so have no clue as to whats there.  I personally think they may be waiting to pop right on the market with available product as soon as Luminary announces what it has up its sleeves.  They seem to be in a tight heat with each other as far as parts competition goes. 

I agree its too bad that ST does not have a cortex part with Ethernet though, as they are the lowest price chip on the market right now with the STM32F103ZET6 (512K Flash, 64K RAM, CAN, USB, 8 timers, 4 of which are capable of doing QEI, 2 of which are capable of doing motion PWM, 5 U(S)ARTS, 3 SPI, 2 I2C etc etc..... in an LQFP144) at $10.25 *IN SINGLES* at AVNET. 

I do not think that Luminary can compete with ST on price at the moment because of process size (smaller process size means more dice per wafer which means cheaper chips... but you already knew that :)  Thats of course assuming that ST uses a smaller process then Luminary does (Isn't Luminary Fabless?).

One thing that has made me pro ST (besides the price) is that ST seems to characterize the power consumption of their chips better then Luminary does.  They also seem to use less power then either Luminary or NXP parts at the same clock.  However, that may be misleading as the Luminary parts have faster flash in them, so mips/watt may be less in the Luminary parts then in the ST ones when running from Flash, but I have no data to back that up (or dispute it).

In reality, all the really cool chips are BGA, but those make QFPs
look easy to prototype.  There are companies selling products that
claim to make prototyping with SMT parts easier, such as SchmartBoard,
but I haven't tried them.

QFP's (and QFN's) *ARE* easy to prototype with, esp if you designed the part footprint yourself. QFP's can be soldered in a jiffy with a rake soldering technique, and when you get good at it you won't even need to use solder braid to get the shorts out because there won't be any. QFN's take a little bit longer (the ones with a thermal pad on the bottom are easier IMO because you can fix them down with it) but are also a no brainer.  I designed a powersupply/LIPo charger with an LTC3556 USB power manager chip and hand soldered it. First proto worked perfectly, no bridges or anything.  It took me 2-3 hrs to complete the soldering job, all by hand.  My next protos will hopefully be done by toaster method, but I need to build a controller first.  Its kinda hard to get the parts when your unemployed :P

I personally think that most peoples fears to soldering SMT parts is due to them never having tried it.  Before I first started using SMT in my designs I thought the same thing.  One day I just broke down and used some SMT parts on a small design, one that would be ok to trash if I fudged it up.  Soldering the board was much much easier then I first thought, even the QFP's! (It was an ATMega128 design).  Since then I have never wanted to go back to through hole parts, except for little pieces of free wired 'art' that I have made. :)

Still, ARM MCUs are getting down in size; the STM32F103T8 has 20K RAM,
64K flash in a 36 pin QFN.  But to run Lua decently, you'll need at
least a QFP80 (e.g. LPC1758 with 64K, ST STR911FAM4x with 96K SRAM).
BTW, you always have to read the fine print; for example, in both the
STR9 and LPC238x, the 96K SRAM is also used for the Ethernet buffers,
so if you use the network, you won't actually have 96K available.

So very true.  All of the large ram NXP parts are like that.  They have a 64K main RAM area, and 2 16K buffer/DMA areas for the Ethernet and USB controllers.  Supposedly you can execute out of the DMA RAM, but I think some of the parts have eratta related to that...  And I would not hold my breath on the NXP Cortex-M3 parts, it took over a year between when some of the LPC24xx parts were 'released' and when they actually became available to purchase in any real quantities.  The LCD parts were the worst I believe, just becoming available around 2 months or so ago.

Compilers & DSPs: most DSPs need the manufacturer's compilers (I know
TI's do); however, IIRC, the ADI Blackfin DSPs use gcc.  Someday I may
try compiling Lua for a TI C6701 board, but that's not going to happen
for a while.

CAN is a 1Mbps network, so there's no way a UART will work.  You can
add them externally, e.g. via a SPI port.

Meh, UARTS in some chips can go up to 4Mbps now.  I do agree that using SPI would be easier though, as Microchip has SPI->CAN bridge chips available.

Finally, because this bugs me, some terminology notes:
SoC - System on a Chip.  So, a chip that integrates almost everything
a piece of equipment (system) needs.  A good example is a highly
integrated chip for MP3 players.
SiP - System on a Package.
MCU - Microcontroller.  A CPU that includes all its memory on chip.
MCUs go back to the very early days, with such chips as the Intel
8042, before the term SoC was ever used.
MPU - Microprocessor.  A CPU that needs external memory (e.g. x86,
Atmel AT91RM9200)

If there really is enough interest, we should start thinking about
starting a dedicated embedded processor Lua mailing list.  Then we can
go off topic without fear!

I agree 100%!  I would love to continue this discussion.