Combine two USB HID devices into one

sceadwian

Joined Jun 1, 2009
499
Are you planning on using the Viniculum? If you intend to seriously proceed with this use the Viniculums onboard micro controller are probably a good start.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
I was thinking about using the vinculums MCU but was unsure of how much scope that would give me and if that would slow down data transfer at all.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
seems I will have to use a seperate MCU. the vinculum can be set to simply transfer data from peripherals to a MCU. there are three interface options: serial UART,
parallel FIFO and SPI. Is any one interface better than the others?
 

sceadwian

Joined Jun 1, 2009
499
Depends on the speed you need and number of I/O lines you have available. UART is probably not a good idea it's relatively slow but uses few pins, fast parallel fifo will use the most number of I/O pins but be very fast. Modern SPI is quiet fast and probably the best combination of number of I/O lines vs bandwidth. I'd go with SPI as it's a good thing to know how to use in general.
As far as the micro controllers themselves I personally use Atmels AVR line of chips. PICs are another popular MCU, there are a lot of resources out there for both, and there are other chip lines out there that are perfectly serviceable.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
I was already leaning towards the AVRs
Thanks for the great advice! Now I can just focuss on learning SPI instead of all three to find the best!
 

sceadwian

Joined Jun 1, 2009
499
SPI shouldn't be too bad, there's plenty of code examples for it out there and all you have to do is follow the golden rule which is keep the SPI frequency at or bellow 1/4 of the main processors frequency. Above 1/4 of the system frequency and you can get aliasing effects and bit errors.

A good SPI test for yourself would be to access a SD(or MicroSD) card in SPI mode.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
I've just been done some reading on the new vinculum II, its seems the new chip has quite a bit of processing power available for user applications. Do you think it will be able to run a software based USB slave port like V-USB? Then I would only need the vinculum chip which would simplify the design and I wouldn't have to worry about the SPI either.
 

sceadwian

Joined Jun 1, 2009
499
I'm not sure Wrath, you after reading probably know more than I do about the chips, it's been almost a year since I've looked into them, I don't need. their capabilities. I thought the Viniculm hardware had HID support for slave devices available already. Just off the cuff I'd say their later model should be able to do it, though I'd have to read up again, and I just don't have the energy for that.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
That's ok sceadwian I don't expect you to do research on my behalf. I appreciate the help you have given me.

I know the Viniculums do support host and slave ports on their 2 dedicated ports however I want to use both of those as hosts to recieve data from the HIDs. It's the output slave port that m concerned with, I was going to send the data via SPI to a atmel AVR that was running V-USB (a software based USB port). But after reading some more on the vinculum it has quite a bit of processing power and I am just wondering if it can support a software based USB port to compliment the two onboard ports.
 

sceadwian

Joined Jun 1, 2009
499
Why? Just use two Viniculm modules together. You get real hardware/firmware based ports, you'll have an extra port, and you'll double the possible processing power, all that's needed is a high speed SPI interface between the two (got that) and you're all set. It's not gonna be simple by any means but parallel processing is being used more and more in modern architectures because it works damn good =) It makes more sense to me to use two communicating modules together with the chance of a little extra processing power overhead than it is to try to hack an extra USB port in software that probably won't work. implementing software based USB is... horrible. EVen worse than the horribleness of implementing the hardware/firmware solutions Viniculum provides =>

Feel free to go your own way, but I mentioned this early, I'm not sure you realized what I was getting at the time.
 

Thread Starter

Wrath

Joined Jun 26, 2010
17
That makes alot of sense. I have already ordered two VNC2s because my original hardware design was to use both, then I was using one with a atmel AVR and then I was trying to simplify it further by using one. But what I didn't consider was that in simplifying the hardware I was making the firmware side of things much more complex.

Ok I now have confirmed my hardware layout and got the parts on order I'll start playing around with the programing (the hard part)
 

sceadwian

Joined Jun 1, 2009
499
Good luck! Keep in touch, it sounds like a nice project to me. The possibilities for home gamers wanting to custom control remap different devices on a budget is solid thought I believe. It'd be a niche market, but I'm sure there is one, and even for learning it's great even if it's only for yourself.
 

Bosparra

Joined Feb 17, 2010
79
I just stumbled onto this thread. I have long been interested to learn more about usb. I bought the AT90USBKey, from Atmel (http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3879)

Out of the box it functions as a flash memory stick, joystick and mouse, all in one. This sounds very much along the lines of what you want. It can function as both a client and host. Unfortunately I have not yet had time to play with it, but there is a wealth of information available and the compilers and debugging tools are all freely available. Also, check out the LUFA library: http://www.fourwalledcubicle.com/LUFA.php

Please keep us updated with your progress.
 
Last edited:
Top