Talk:Wishlist/Sensorbox
From Openmoko
(Universal (PIC, ARM) USB driver information) |
(→User:Hns: +signature) |
||
Line 58: | Line 58: | ||
Universal (PIC, ARM) USB driver information: | Universal (PIC, ARM) USB driver information: | ||
*[http://wiki.sikken.nl/index.php?title=LPCUSB#USB_virtual_COM_port USB virtual COM port] | *[http://wiki.sikken.nl/index.php?title=LPCUSB#USB_virtual_COM_port USB virtual COM port] | ||
+ | --[[User:Glenn|Glenn]] 15:45, 2 November 2008 (UTC) |
Revision as of 17:45, 2 November 2008
Processor discussion
- Please use the ARM processor (32bit address space) - it has no Bank switching; ARM has a big linear directly addressable memory. Can get flashed by this open source tool: lpc21isp, yahoo download (after user registration).
- Look e.g. on the cheap LPC214x quote: "...The LPC214x series is the only ARM7® microcontroller family with full USB 2.0 compliance and USB.org certification..." (LPC2144-LPC2148 has 14 ADC multiplexed channels - two internal ADCs). Chip price: digikey.com: LPC2144 US$ 8.4, LPC2148 US$ 11.2. The ARM architecture is "old" (from 1983), wildly known, used, efficient(high mips/watt) and uses low power (different kind of deep sleep).
- Test/development/production boards:
- USB powered through USB-flash port, only mentions 2 ADC-ports: embeddedartists.com: LPC2148 Education Board (two USB ports - one for programming via a ftdi-chip(USB<->serial) - and one directly connected to LPC2148)
- ARM MP3/AAC Player Quote: "...This is my MP3/AAC player project. The difference to most other players is that decoding is not done on a specialized IC (like VS1001), but directly on the microcontroller. It can play MP3 (all bit rates) and AAC (up to ~256 kbps) from SD card in real time. The project is work in progress..."
- LPC2148-based Line-tracing Race Car Robot Kit
- ARM7 LPC2148 mini board, ARM7-Base development board for LPC2148
- ARM1136JF-S-based: buglabs.net, Some applications, bugcommunity wiki
- Gumstix
- AT91SAM7S256 (ARM) based: Lego Mindstorms NXT, NXT Programming Software
- Alekto; DIN RAIL mountable
- Atmel AT91SAM7X256 based (also ARM): Controller Board Overview, makingthings.com, sourceforge.net: makingthings
- Open source support:
- Links:
- Please use the ARM processor (32bit address space) - it has no Bank switching; ARM has a big linear directly addressable memory. Can get flashed by this open source tool: lpc21isp, yahoo download (after user registration).
--Glenn 14:25, 2 November 2008 (UTC)
User:Hns
This is what has been thought of: a simple processor that still suppports A/D converters and USB. A good candidate appears to be PIC16C765 Cost is approx. 5 USD.
Using an ARM processor just to convert some samples per second into USB appears to be overkill to me on first though. But the PIC is just one of the options to considered. A drawback appears that the ADC resolution is just 8 bit. This is quite coarse for some sensors. 12 bit would be better...
So what we need:
- single chip
- supports USB and approx. 8 ADC channels without many external components
- low power
- readily available development tools
PIC16C765 is a bad development platform, because it can only be programmed once (OTP). It is also not possible to update to newer enhanced firmware versions for the same reason.
There is also:
But for almost the same or a little more, you get much more with ARM.
More:
- July 25, 2003 My Very First USB Peripheral Quote: "...For example, I wanted to change the number of buttons and add a couple of LEDs. To do this, you need to build new HID report descriptors and there you run into problems with incomprehensible standards documentation and inconsistent operating systems implementations...One last item that fits in under "firmware" better than anywhere else is the issue of vendor IDs. Like PCI and other "plug and pray" bus systems, your device presents a vendor ID and a product ID so that the host operating system can locate appropriate drivers. Unlike those other systems, there is no "experimental" vendor ID or apparently any way to get a legitimate vendor ID other than paying the USB Implementers Forum a minimum of $1500 every couple of years...If you want a host application of your own talking to a collection of custom peripherals you've designed, though, things are much harder..."
- PIC18F4550 USB prototyping board
- PIC18F2550 development board with USB port
- PIC18F2550 Experimentierboard Quote: "...Es gibt bei Microchip mehrere Code-Beispiele wie man Programme für den PIC schreibt. Als HID (Human Interface Device), über eine spezielle DLL von Microchip oder als CDC-Device (Communication Device Class). Letzteres habe ich hier benutzt. CDC arbeitet [=works] über einen virtuellen COM-Port. Man schreibt seine Programme so als würde man eine serielle Schnittstelle [=interface] ansprechen. Für CDC ist kein spezieller Treiber[=driver] erforderlich..."
- PIC18F2550 USB HID Oscilloscope Quote: "...Using HID means that this oscilloscope does not require drivers (only the oscilloscope software)..."
--Glenn 14:23, 2 November 2008 (UTC)
Universal (PIC, ARM) USB driver information:
--Glenn 15:45, 2 November 2008 (UTC)