USB interface

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Megahertz on Mon Apr 27 22:44:52 MST 2015

I've been looking around examples/pointers (and granted maybe I haven't been looking in the right places) but I am wanting to interface a PC with the LPC1343 chip.

What I've got is a LPC1343 chip soldered onto a break out board and have been able to write some code to turn on and off a LED. I've even gone as far as to write a small bit of code to control some laser galvanometers and have gotten them to draw a box on the wall. Going further than that I have the chip writing data to a pair of shift register chips which in turn are wired up to some R/2R ladder DAC's which allows me to control the angle of the galvanometers to draw various shapes. Pretty basic stuff....

What I would like to do is to actually send commands from the PC to the device and control the galvanometers from there via USB. I've started digging into the USB standard and have come to the conclusion that I will probably need to write my own device driver for my device as I don't feel that using the windows HID driver would give me enough bandwidth/updates per second. Ideally I'd like to shoot for bulk transfers.

I do have 12+ years programming experience however most of that has been related to game programming (Network, 3D graphics, opengl/directx, etc... etc...) Granted I'm a bit rusty as I haven't done much in the way of programming for the last 8 years or so, I don't feel it will be that difficult to get back into things, read some documentation and cook up a windows driver. I do understand it will take time and I have a bit of a learning curve ahead of me but given my past experience and accomplishments I'm sure I'll figure things out.

I am however new to the world of microcontrollers and have barely just gotten into things.

I've done my share of googling/ youtubing to find some examples or guidance and have for the most part come up empty handed.

Is what I am trying to do even possible with this chipset?

Also I would like to avoid using other peoples libraries if at all possible.

I guess at the most basic level I would like to plug the device in and have windows request the PID/VID and have the device send off the necessary information for windows to even go searching for the correct driver. I think that would be a good start and I can progress from there.

Any thoughts/ideas/pointers to reading material/examples would be greatly appreciated.