New to USB Device Driver Development

Hi - I have an mechanical device which has 6 different operational functions. I want to develop a USB interface for the device. Effectively, I want to replace a manual "six position" switch with a USB solution so I can control the device through software.

  1. How should I select a USB controller
  2. How should I select a Firmware solution
  3. How best should I develop the software to communicate with the firmware.

I am a novice and would appreciate any guidance. Is this possible?

Thank you

Paul

Reply to
Paulus
Loading thread data ...

Any controller will do the job, it's a case of cost, tools, package and language of choice. IIRC there are PIC solutions, ARM solutions, 8051 solutions and proprietary solutions.

That depends entirely on the answer to #1 above.

Depends on your application and your OS. The simplest way is to create your device as a "HID" device - that way you won't have to write any device drivers at all, which is a *big* plus under windows. But HID devices have limitations. If it's a one-off lab environment and you don't need high-speed, high-bandwidth communications then HID will do the job.

Definitely.

If you opt for the Cypress EZ-USB FX option (and I'm *not* suggesting it is the best, cheapest or easiest solution) there's example source on the net and you can write your firmware with the freeware SDCC C compiler.

Others may know of easier, cheaper solutions!?!

Regards,

--
Mark McDougall, Engineer
Virtual Logic Pty Ltd, 
21-25 King St, Rockdale, 2216
Ph: +612-9599-3255 Fax: +612-9599-3266
Reply to
Mark McDougall

formatting link
may have something to suit you lots of options.

Don...

--
Don McKenzie
E-Mail Contact Page:               http://www.dontronics.com/e-mail.html

Micro,TTL,USB to 1.5" color LCD http://www.dontronics.com/micro-lcd.html
USB,RS232 or TTL to VGA Monitor http://www.dontronics.com/micro-vga.html
World's smallest USB 2 TTL Conv http://www.dontronics.com/micro-usb.html
Reply to
Don McKenzie

Take a look at the U4x1 devices at

formatting link
Are you creating a one-of solution?

-Rob

Reply to
Huey

formatting link

Reply to
Donald

For the simplest solution I would look at FTDI chips in particular FT245 to give 8 digital lines and their driver already done for you.

Then you can take the lines to your logic, to replace the switch.

Does not sound to me that you need an extra controller.

--
Paul Carpenter          | paul@pcserviceselectronics.co.uk
    PC Services
              GNU H8 & mailing list info
             For those web sites you hate
Reply to
Paul Carpenter

What kind of switch is this. Does it ground a low power signal to ground in each position or is this switching mains voltages at several Amperes in each position ? You may have to consider isolation and safety issues.

For this kind of simple one-of-six interfacing, I would suggest just using the PC parallel port.

However, since you insist of using USB, I would suggest using some USB to LPT converter, which is supplied with some driver software that mimics a real parallel printer port. In this way, this device can be controlled just as a parallel printer. Your remote controlled switch can be used even with computers without USB by directly connecting it to the LPT port.

Paul

Reply to
Paul Keinanen

FTDI245: an USB interface chip with drivers for all popular OS. It has a bit-bang mode, so you have 8 i/o to control. There is no need to develop a driver, your app only has to talk to the d2xx dll.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.