Implementing USB master mode in Firmware

This is a somewhat hack-ish question but maybe this is the right place.

First off, is a limited scope but fully firmware USB Host / Master feasable?

By limited scope, I mean that this Host will only be able to recognise / interact with specific USB devices and endpoints. eg. Only USB memory sticks.

The application in mind is requiring offline / removable storage and the USB memory stick is the ideal candidate but the cost of a full USB Host controller IC is prohibitive in respect of the cost of the application requiring it.

Or rather, I ask the EE forum, where could one look to find some  low level USB protocol and data frame specifications so that a USB host can be created that speaks to USB memory sticks only?

The processor in mind is a small-ish PIC 18F.
PIC18F252 with pretty much all the serial port hardware / timers that should be necessary. At about 20+ MHz, I feel this should be enough to handle the protocol parsing and processing load.

Other MCU suggestions are welcome within reason of course...
but cost is the limiting factor otherwise a commercial USB host would have been used...

ps: The project is a media playing device using USB memory devices.
pps: It's not for a commercial application, just a "hobby" one.

LVL 1
kongfrAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

publicCommented:
Gosh the full usb controller is a processor based asic. If you ask for a sample, you can get a couple for free. Not exactly prohibitive cost.
You will still need to write some code to ignore unwanted usb devices when inserted.
To find what to do you will need to study datasheets for the controller you get.
0
ddenuCommented:
Actually an embedded USB host would be a cool thing. Lots of simple USB drives exist, ie foot switches, signal lamps,data loggers etc. that could be integrated.

As far as I know the PIC devices cannot function as hosts on the USB, only as slaves.

Do we have sources for the usb host ASICs?

Thanks

Dave
0
ddenuCommented:
Doing a little searching I found this app note:

http://pdfserv.maxim-ic.com/en/an/AN1822.pdf

It sounds like it could suit your purpose.

Dave
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

Glen A.IT Project ManagerCommented:
Well, it's been a while since any comment has been made and it's time to cleanup this TA.

To the Questioner:  If one of the experts here answered your question, please accept that answer, or split points among experts if it's appropriate.

Experts, please leave any closing recommendations here within one weeks time so a final recommendation can be made - No comment means you don't care!

I'll check back and leave my final recommendation to the Cleanup TA in one weeks' time.

AlbertaBeef
EE Cleanup Volunteer
0
kongfrAuthor Commented:
Sheeow this one slipped my mind actually.

It's actually a challenge to to find / develop a fully software USB Host solution and the comments of "Just get a sample IC" demonstrate no sense of adventure in my earnest opinion....

OK to Dave, who seemed to be the only one geniunely interested in the possiblities, I will award the points.

By the way, the App note you referred to w.r.t. the USB "On-The-Go" peer to peer tech was not quite the thing I was looking for.
I had seen that it before from the Philips website and I decided against that since you've got to buy something, you're using money to solve a problem....lack of challenge.
Besides that, once you do it in software AND it's open source, then it's yours forever.

So 125 points to Dave for trying to help.
I still think it's possible so the hunt continues.


0
jimbuchheimCommented:
kongfr:
Did you ever made it work? Speak to a USB memory stick without a USB HOST ?

Also, what is your email?

Best regards,

Jimmy
0
SETPCommented:
Dear kongfr
Even your question about USB in host mode was made some time ago, I would like to try to made some contrubution on this matter.
Also I am develooing a data-logger using   PIC18F8720 with 32 Mb flash memory on its side.  The intention is to download (read and Write ) data from a flash memory stick and its data to downloaded intyo a PC (Windows  OS)

I fpund a nice chip from Cypress SL811HS able to be used as interface between the PIC and the stick memory working on dual role (Host or peripheral).  The manufacturer publish source code but I am not too sure if it is enough.
Even when I started today with this project and I have installed my fisrt chip on the board, I did not started yet with the programing and experimentation.  Cypress published soem source code for  initialization, but I am not too sure what protocol to be used...no idea.
I hope that this bring some light into the matter.
Good luck
JORGE (Pretoria- South Africa)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Components

From novice to tech pro — start learning today.