Pages: [1] 2 3 ... 6   Go Down
Author Topic: USB Host controller  (Read 12798 times)
0 Members and 1 Guest are viewing this topic.
Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I want to port Maxim MAX3421E USB host controller code to Arduino. The code is [censored] here; in addition to that there is some short description on my site( and link to the code). The code is being developed for Microchip 8-bitters, however, the only hardware-specific part of it is SPI peripheral initialization, the rest is written in plain C. I have the following questions:
1. Does it make sense? The MAX3421E is very nice controller for small micros - it does all the timing, acknowledgements, etc., even I/O buffers are not necessary since it has its own. However, it's 3.3V part and as far as I can see, there is not too many 3.3V Arduinos.
2. What 3.3V Arduinos are available? So far I can only find one called Pro from Sparkfun. I need something full-size to be able to wear a protoshield.

Thank you,
Oleg.
Logged

/felis

0
Offline Offline
Newbie
*
Karma: 0
Posts: 44
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

seeeduinos 5V/3.3V selectable by a switch  
Logged

Bristol, UK
Offline Offline
Edison Member
*
Karma: 1
Posts: 1197
Exhibitor at UK Maker Faire
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Could you use a 5V to 3.3V level shifter chip such as the MAX3370?
Logged

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

There is quite a bit of signals to level shift, about 10. It's not a big deal by itself since there will be plenty of space left on the shield board anyway. However, I'd like to avoid extra soldering during prototyping and use 3.3V, at least for now.
Logged

/felis

0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'd guess (since I couldn't find the datasheet) only 5 are required (4 for SPI plus the interrupt).

One of the 3.3V arduinos should do nicely.

Looks like a nice way to add a USB keyboard to an arduino.  Be sure to let us know when you succeed!

-j

Logged

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Be sure to let us know when you succeed!

I'm soldering a shield already. It pays to live close to Sparkfun :-).
Logged

/felis

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17293
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
It pays to live close to Sparkfun .

No, it would cost me a fortune if I lived close to Sparkgap  smiley-wink

Lefty
Logged

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Logged

/felis

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Made MAX3421E talk. Wondering if pins that I use are right?

http://www.circuitsathome.com/mcu/programming/arduino-usb-host


Logged

/felis

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Got low-level functions working. The code is here -> http://github.com/felis/ArduinoUSBhost/tree/master, the quick demo here ->http://www.circuitsathome.com/mcu/programming/arduino-usb-host-part-2-classes.
Logged

/felis

SF Bay Area
Offline Offline
Edison Member
*
Karma: 11
Posts: 1244
Arduino Ninja
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I may have to stand on your shoulders pretty soon, have been kicking around an idea for a while. Lots of cameras can be controlled over USB using PTP, including most Nikon DSLRs, many Canons, etc. The USB interface allows you to control pretty much every aspect of the shot. End goal is very portable device (instead of a laptop) that allows you to make fine-tuned bracketed exposures with no limits on number of shots or adjustment, interval shots, etc. The libgphoto2 project has done most of the work figuring out what cameras support which functions.
Logged

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What is "standing on my shoulders"? I am from Russia originally and have difficulties understanding idioms:-). Is it good or bad?
Logged

/felis

SF Bay Area
Offline Offline
Edison Member
*
Karma: 11
Posts: 1244
Arduino Ninja
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

It means that I would use your work (which you have been so kind as to document thoroughly) as a foundation to build up a higher level application.

You are standing on the shoulders of the Arduino development team, who are standing on the shoulders of the Wiring team, who are standing on the shoulders of AVR-GCC team, and so on. smiley-wink
Logged

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 206
Posts: 12858
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
What is "standing on my shoulders"?

It's a compliment and an acknowledgement.


These may shed some light...

http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants
http://www.aerospaceweb.org/question/history/q0162b.shtml


- Brian
Logged

Louisville, CO
Offline Offline
Full Member
***
Karma: 2
Posts: 174
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
It means that I would use your work

Please do. I'll be glad to help; hoping to have some time on a weekend to continue porting the code. My biggest problem is lack of C++ knowledge, but I'm working on it.
Logged

/felis

Pages: [1] 2 3 ... 6   Go Up
Jump to: