Talk:Wishlist/Sensorbox

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(User:Hns: +signature)
(User:Hns)
Line 46: Line 46:
  
 
More:
 
More:
*[http://www.iay.org.uk/blog/2003/07/my_very_first_u.html 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..."
+
*PIC16C745: [http://www.iay.org.uk/blog/2003/07/my_very_first_u.html 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..."
 
*[http://www.embedds.com/pic18f4550-usb-prototyping-board/ PIC18F4550 USB prototyping board]
 
*[http://www.embedds.com/pic18f4550-usb-prototyping-board/ PIC18F4550 USB prototyping board]
 
*[http://www.embedds.com/pic18f2550-development-board-with-usb-port/  PIC18F2550 development board with USB port]
 
*[http://www.embedds.com/pic18f2550-development-board-with-usb-port/  PIC18F2550 development board with USB port]

Revision as of 16:53, 2 November 2008

Processor discussion


--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:

  • PIC16C745: 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)

Personal tools

Processor discussion


--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)