Stepping up from Arduino

leon_heller:
It should be fairly easy to implement a software UART, although timings can be difficult to calculate with the ARM. You could also use one of the existing UARTs with a multiplexer by modifying the board.

Leon

Leon thanks for your information.

I need the third serial on the ollimex to communicate to my existing arduino boards that handle serial communications.

Based on your comment It could be challenging to get the timings correctly.

What would be the easiest way to communicate from the ollimex lcp2148 to my existing ardunio designs? I can change things on the arduino side easily to handle other type of communication.

Thank You

How about SPI?

Leon

There is an app note [AN10689 on the NXP sited that discusses a software UART. (Source code listing is included in the .pdf) I’ve barely glanced at it so I can’t say if it would be useful.](http://www.standardics.nxp.com/support/documents/microcontrollers/pdf/an10689.pdf)

Thanks Leon and hsutherl for all the information.

Then knowing that I might choose a two wire communication so I can either change to software UART or i2c.

I’m checking the arduino/atmega168 to see if the pins for i2c can be used as a GPIO too.

Thank You

Temo

Coridium’s libraries for C and BASIC for the LPC2xxx family include bit banged serial that use a timer set at 1 microsecond ticks.

Using the timer and depending on crystal choice you can get within a couple percent even at 115Kbaud.

This comment about the Coridium Armite is directed more to rjl than to Temo. I don’t disagree with the comments about the limititations of the Armite. But the Armite does work right out of the box, while the learning curve for a lot of the other development boards can be VERY steep, and the tool setup extremely painful.

About 20 months ago we bought an ARMite for a specific task at my workplace. Within a few days we had modified the included demo program to read calibration data from an i2c eeprom and then repeatedly cycle through 6 analog channels and report the voltages to a small tcl program running on a PC.

Contrast that with the Olimex LPC-2148 board and arm-usb-ocd jtag interface I bought through SparkFun about a month ago. (Bear in mind that I’ve spent considerable time between then and now trying to get familiar with the ARM architecture, controllers, and tools.) To start with, openocd didn’t work for me. About a week ago I progressed to the point where gcc, binutils, openocd, gdb, and insight are all working together (on windows), and I can actually step through a small program. I’m “resting” a bit before trying to figure out what my problem is with Eclipse. Even with the generous support of many individuals here and on the gnuarm and lpc2000 forums, I’m still tearing my hair out trying to get this stuff to work.

So, I’m not saying the ARMite is the ultimate development platform. It most certainly is not. But, depending on your circumstances, it might be a good starting point. Some pro’s and cons:

  • +) Cost is right

    +) Can be powered from USB

    +) Basic compiler included

    ++) Development tools work out of the box

    -) LPC2103 not the newest or most powerful

    -) No JTAG port

    -) Not all pins of LPC2103 brought out

    -) supplied I2C routine uses GPIO/SW

    -) power not brought out to breadboard area

    –) P0.14 hardwired to FTDI chip



  • We didn’t use the Basic compiler.

    With P0.14 hardwired the way it is, the FTDI chip holds the lpc2103 in reset unless/until it is commanded otherwise via USB. This is fine for many applications…

    -Hugh

    hsutherl:
    This comment about the Coridium Armite is directed more to rjl than to Temo. I don’t disagree with the comments about the limititations of the Armite. But the Armite does work right out of the box, while the learning curve for a lot of the other development boards can be VERY steep, and the tool setup extremely painful.

    I agree! For ease of use it is hard to beat. I have developments boards with MCUs ranging from the LPC2103 to LPC2378 used for testing the Armaide Oberon-07 compiler. When I'm testing anything thing new that doesn't depend on a specific peripheral I always choose the ARMmite first as it is by far the easiest to connect to a PC (just a single USB port handles the power and RS232 communication). I use FlashMagic to upload the Oberon software. FlashMagic automatically controls the Reset and programming pins. There is no need to switch jumpers and press the reset switch (sometimes in hard to reach places) that you have to to on some boards.