Mac Biostar wrote:
> You know, the real problem with V-Bus is it grabs a good amount of
> processing power and you have to constantly poll it. There is
> always a consequence for cheap.
Indeed. It is also not quite standards compliant on the USB, and it
is unable to do any error correction, which is a rather nice feature
that USB gives one for free, using actual USB hardware.
> Are there any good development boards/software on the processors
> you have suggested?
Unfortunately no, no boards for those exact processors, but there are
some good boards for processors in the same family or ones that are
similar enough.
The NXP LPC11U24 is a Cortex-M0 with USB. There's a neat board for
the LPC1343, which is a Cortex-M3 with USB:
https://www.olimex.com/Products/ARM/NXP/LPC-P1343/
I use this board for education, as does Alessandro Rubini (maybe you
recognize the name from the Linux kernel device drivers book) and
both our materials are online.
http://cbs.stuge.se/ is mine, and in
the links.html file there are links over to Alessandros really great
examples.
The difference between Cortex-M0 and M3 is there, but is not very
relevant for this application. There are other processors in the
LPC11U family (Cortex-M0 with USB) that have boards, for example:
https://www.olimex.com/Products/ARM/NXP/LPC-H11U14/
However the LPC11U14 lacks the very convenient USB bootloader found
in both LPC11U24 and LPC1343, so an external programmer would still
be neccessary, or at the very least using the UART bootloader, which
isn't as fun. There's also no USB connector. More work; not worth the
few EUR saved on the development board, and the two chips 1343 vs.
11U24 are similar enough that code will not need many changes.
So if you want to look at ARM, there is that LPC-P1343 development
board for a prototype 0, next step would be making a PCB with the
LPC11U24, crystal, caps, voltage regulator, caps, USB connector,
reset button and bootloader button. If you prefer you can go straight
for that step of course, software development will be the same.
As for the PIC, I was way too tired and got the part number wrong.
Sorry about that. The part available is PIC16F1459. $1.96 in single
qty, DIP20 and SO20 can be sampled or ordered from Microchip, or
ordered from DigiKey.
http://www.microchip.com/samples/Default.aspx?DeviceFamily=PIC16F1459
http://www.microchipdirect.com/ProductDetails.aspx?Category=PIC16F1459
http://www.digikey.com/product-detail/en/PIC16F1459-I%2FP/PIC16F1459-I%2FP-ND/3671489
The family is PIC16F1454, PIC16F1455, and big brother PIC161459.
The two smaller ones come in 14-pin packages. Big brother in 20.
PIC16F1455 will be available in a few weeks it seems, but is not
at the moment. (They were announced last week.)
http://www.microchipdirect.com/ProductDetails.aspx?Category=PIC16F1455
No neat development boards for these products, only an older kit for
previous low-pin-count devices.
http://www.microchipdirect.com/productsearch.aspx?Keywords=DV164139
For the PICs there is Holger Oehm's PicUsbFirmware in just a single
assembly file, really well written, which supports PIC18F13K50 and
PIC18F2550 at the moment and would need to be adapted to the
PIC16F145x series, but that would not take very long just by
comparing data sheets.
It would of course be possible to build also using e.g. that
PIC18F13K50, but then you need crystal and more supporting components
again, and could probably just as well go the ARM route with all the
benefits of development ecosystem and the USB bootloader in ROM.
//Peter