Jump to content

Onchip software USB for value line?

Recommended Posts

From what I can see the chips should have the capability based on what I can tell from the datasheets.


This is what I am thinking of (although this is for AVR based chips)

*cant post links yet* google V-USB


The 12MHZ main clock req is good,


The ATMEGA8 this runs on has a 4 MHz output pulse limit, while the MSP4302553 I got in my launch pad has a 12 MHz output limit, so it shouldn't have a problem.


The output voltage is already the 3.6 volts USB wants rather than the 5V from the ATMEGA8


Their program takes up 1k of program space so there is room in theory.


My question is there some underlying limitation to implementing something like this for the little MSP chips as a single chip solution in a DIP package rather than an external FTDI chip or a surface mount chip that will be hard to work with for me as a hobbyist.


I severely doubt I have the coding skill to pull something like that off, but if it is "possible" I will probably attempt it

Link to post
Share on other sites

Hello JWoodrell,

Welcome to the Forums.


This is a very good find. If we port it to the MSP430G2553(16kb), this would be awesome. All it needs is an edge triggered interrupt.



This will take alot of work. There is assembler code too.

In the readme file:

The AVR code of V-USB is written in C and assembler.
Link to post
Share on other sites

There are a couple of different at software usb versions:



http://www.justblair.co.uk/the-attiny45 ... ifier.html



All work not just on atmegas, but ATTINYs. If you can port it to the valueline (as the attiny and valuelines are supposed to be comparable) the you would be praised like a god.

Link to post
Share on other sites

Well since its "possible", i will crunch on it. expect many questions on stuff I don't understand. (I come from an industrial PLC programming background) but i have dabbled in c++. So at least this isn't complete Swahili to me.


From the best of my searching, there is only 1 implementation, and two branches for it,


igorPlug-USB (earlier code branch V-USB, considered inferior from what I can read)


USBTiny ("Dick Streefland has stripped down an older version of V-USB to the basics.")


so between V-USB and USBTiny, I will see what I can reverse engineer :) here

Link to post
Share on other sites

Well, either way, our hopes lie in you. Best thing I can gather is that it is very time sensitive, so an ossciliscope might be needed fordebugging.


All I know is once we get usbhid, first thing I want to do is make a sega genesis to usb adaptor.


Best of luck.

Link to post
Share on other sites

I would be quite surprised if this can be done. I have done a few serial protocols in software on the MSP430 and it was much more of a challenge than writing the same code for PIC or AVR.


With a MSP430 running at 16.5 Mhz there would be 11 clock cycles per USB bit. Unfortunately the MSP430 has rather slow GPIO. It takes at least 4 clock cycles to read/write a port. The PIC only takes one instruction cycle, and the AVR usually 2 clock cycles. Many other instructions are also slower than PIC and AVR.


The jitter in the DCO clock may also be a problem.

Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...