I am supposed to be getting a sample of this chip in a few days, which
I hope to use to hack usb onto a router that doesn't support it. The
datasheet for this product is available online from alldatasheet.com,
and Maxim has a programing guide describing the registers and their
functions. Communications can be done over SPI, with the option to
bit-bang GPIOs to implement this SPI interface. The chip has 8 GPINs
and 8 GPOUTs, allowing it to replace and add to the GPIOs that the SPI
interface consumes.
I think the learning curve on a project like writing a driver for this
is a little steep for the amount of time I have right now, but I would
be willing to test anything written, and willing to learn and help as
much as I can. Its been mentioned that it will take a lot of work to
get a USB host driver for this chip, and I have no experience in low
level programing, but I am familiar with C, and I can compile a
kernel. If anyone is willing to put in the work, I think this would
be a useful contribution to the kernel codebase.
Reply by dleake●December 26, 20082008-12-26
>Hello All,
>
>I need a feedback about MAX3421E. I'm developing a particular device,
and
>my boss wondering if we are able to add on our device the USB.
>
>I'm using a Freescale MFC5213 micro, and I'm able to use SPI, so my
>question regarding the effort required to implement this part.
>I read something on the web about this component (MAX3421E), but would
be
>great for me to have a feedback directly from a developers and not from
a
>seller :)
>
>My goal is to have the possibility to write on the USB some data that
I'll
>pass by SPI and not more. I guess this device should not be plug and
play,
>so, what is your opinion about the effort required to get my goal?
>
>I don't have a particular bond with Maxim, so, any hints that you have
are
>more than welcome.
>Best regards
>Liste11
>
I am working with this same chip in a product. When you talk to a low
speed device through a hub, you need to set the LOWSPEED bit in addition
to the HUBPRE bit. this tells the MAX3421 to send the full speed preamble
to the hub and then send the message at lowspeed.
Dave
>
>
Reply by Mark Borgerson●December 5, 20082008-12-05
In article <0ae16477-db5b-4756-958b-0ec910d953c4
@r15g2000prd.googlegroups.com>, alex.louie@email.com says...
> On Dec 5, 6:39 am, Frnak McKenney
> <fr...@far.from.the.madding.crowd.com> wrote:
> >
> > I'm not familiar with either of the Maxim chips you mentioned, but
> > you might take a look at FTDI's assortment of USB interface chips:
> >
> > Frank McKenney, McKenney Associates
> > Richmond, Virginia / (804) 320-4887
> > Munged E-mail: frank uscore mckenney ayut mined spring dawt cahm (y'all)
>
> Friends don't let friends use FTDI.
>
> The SPI interface is cr@p. Setting a mode in one area changes bits in
> another. The only usable bits are MISO, MOSI, and SCLK; the rest are
> fluff.
>
> The software stinks, large. And the documentation is even worse:
> pages upon pages are left blank.
>
> Every now and then one must scrub all of the various drivers out of
> the system, and re-install. This happens so often that they published
> a utility to help. Even then all the drivers "just don't" on
> occasion.
>
> Top that off with a tech "support" group that has a huge ego and an
> attitude to match. I once sent them a 3-line C program that exposed a
> flaw in their driver (The driver returned bogus data without setting
> the error flag) and they just tossed it. Oh, and a 5-line program
> that would get their driver to lock XP up solid - all the time
> following their "documented" calling sequence exactly.
>
> I've designed FTDI out of every design, and I'm much happier for it.
> Except for these minor rants, that is.
>
Which FTDI chip were you using? I've had pretty good results with
the FT245RL and the other FT245XX chips over the last few years.
I don't like the fact that FTDI driver seems to want to install
a new copy for each different serial number---but I avoid that
by programming all my data loggers with the same serial number.
I don't envision my customers wanting to upload data from more
than one logger at a time, but I warn them anyway.
The one problem that I found---the driver gets upset if the
FT245 is trying to send data while enumeration is taking place---
is easily avoided by sensing the connection at the logger
and inserting enough delay to allow even slow PCs to finish
enumeration.
Mark Borgerson
Reply by LittleAlex●December 5, 20082008-12-05
On Dec 5, 6:39 am, Frnak McKenney
<fr...@far.from.the.madding.crowd.com> wrote:
>
> I'm not familiar with either of the Maxim chips you mentioned, but
> you might take a look at FTDI's assortment of USB interface chips:
>
> Frank McKenney, McKenney Associates
> Richmond, Virginia / (804) 320-4887
> Munged E-mail: frank uscore mckenney ayut mined spring dawt cahm (y'all)
Friends don't let friends use FTDI.
The SPI interface is cr@p. Setting a mode in one area changes bits in
another. The only usable bits are MISO, MOSI, and SCLK; the rest are
fluff.
The software stinks, large. And the documentation is even worse:
pages upon pages are left blank.
Every now and then one must scrub all of the various drivers out of
the system, and re-install. This happens so often that they published
a utility to help. Even then all the drivers "just don't" on
occasion.
Top that off with a tech "support" group that has a huge ego and an
attitude to match. I once sent them a 3-line C program that exposed a
flaw in their driver (The driver returned bogus data without setting
the error flag) and they just tossed it. Oh, and a 5-line program
that would get their driver to lock XP up solid - all the time
following their "documented" calling sequence exactly.
I've designed FTDI out of every design, and I'm much happier for it.
Except for these minor rants, that is.
AL
Reply by Bill Davy●December 5, 20082008-12-05
I used an FTDI chip and the MAX3421E.
I did not enjoy my experience with the FTDI part. One feature was that it
was SPI master and when I made the MCU (Silicon Labs F06x) into SPI slave
the speed went way down. It was also tiresome being controlled. The
sofwtare was a mess and the documentation a "challenge".
Used the MAX as a USB target (is that the word, or am I reverting to SCSI
terminology). It is an SPI slave device which meant I was in control and
SPI was quicker (use LVDS if you are going between boards). The register
set is clear and consistent, and the documentation is clear is lovely. The
sample code had me up and running in a day or two, and there was not a lot
more to do.
The WinUSB driver (from WDK 6001) works well.
I did have one problem, and still do, and that was in a way down to me. I
could not find out how to flush an end point (specifically EP2) but with
care I avoided it getting messed up.
YMMV
Bill
"Frnak McKenney" <frnak@far.from.the.madding.crowd.com> wrote in message
news:x-ednUFhLoe6sqTUnZ2dnUVZ_g-dnZ2d@earthlink.com...
> On Thu, 04 Dec 2008 08:08:09 -0600, liste11
> <andrea.listello@mmarelli-se.com> wrote:
>> I need a feedback about MAX3421E. I'm developing a particular device, and
>> my boss wondering if we are able to add on our device the USB.
> --snip--
>> My goal is to have the possibility to write on the USB some data that
>> I'll
>> pass by SPI and not more. I guess this device should not be plug and
>> play,
>> so, what is your opinion about the effort required to get my goal?
>
> I'm not familiar with either of the Maxim chips you mentioned, but
> you might take a look at FTDI's assortment of USB interface chips:
>
> http://www.ftdichip.com/
>
> Here's a possible implementation that you'd have to wire up:
>
> USB to SPI Bus Interface Sample Project (URL hand-typed)
> http://www.ftdichip.com/Projects/MPSSE/FT2232C-Proj01_v11.pdf
>
> You might also try using an off-the-shelf FTDI MM232R USB-serial
> module rigged up to operate in SPI/I2C mode. The MM232R is a tiny
> PC board only slightly larger than the USB-B socket mounted on it;
> it is available from Digi-Key and Mouser for around $20US.
>
> There are PDF copies of John Hyde's 2007 Embedded Systems Conference
> seminar ESC-242 "How to Use USB Without Knowing USB" which describes
> how to wire up an MM232R for I2C or SPI floating around the 'web,
> but I can't seem to locate one. I know you can download the code
> from his 'web site:
>
> USB Design By Example
> http://www.usb-by-example.com/
>
> here:
>
> http://www.usb-by-example.com/ESC_Examples.zip
>
> FTDI provides MSWinXX drivers (and Linux as well, if I recall) for
> the module, and the FTDI site provides datasheets for their chips
> as well the MM232R module.
>
> If you prefer I2C, you ,might take a look at this module:
>
> USB-I2C Communications Module
> http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm
>
> Hope something in this melange helps. <grin!>
>
>
> Frank McKenney
> --
> Recessions are the market's way of teaching Americans Economics.
> --
> Frank McKenney, McKenney Associates
> Richmond, Virginia / (804) 320-4887
> Munged E-mail: frank uscore mckenney ayut mined spring dawt cahm (y'all)
Reply by Frnak McKenney●December 5, 20082008-12-05
On Thu, 04 Dec 2008 08:08:09 -0600, liste11 <andrea.listello@mmarelli-se.com> wrote:
> I need a feedback about MAX3421E. I'm developing a particular device, and
> my boss wondering if we are able to add on our device the USB.
--snip--
> My goal is to have the possibility to write on the USB some data that I'll
> pass by SPI and not more. I guess this device should not be plug and play,
> so, what is your opinion about the effort required to get my goal?
I'm not familiar with either of the Maxim chips you mentioned, but
you might take a look at FTDI's assortment of USB interface chips:
http://www.ftdichip.com/
Here's a possible implementation that you'd have to wire up:
USB to SPI Bus Interface Sample Project (URL hand-typed)
http://www.ftdichip.com/Projects/MPSSE/FT2232C-Proj01_v11.pdf
You might also try using an off-the-shelf FTDI MM232R USB-serial
module rigged up to operate in SPI/I2C mode. The MM232R is a tiny
PC board only slightly larger than the USB-B socket mounted on it;
it is available from Digi-Key and Mouser for around $20US.
There are PDF copies of John Hyde's 2007 Embedded Systems Conference
seminar ESC-242 "How to Use USB Without Knowing USB" which describes
how to wire up an MM232R for I2C or SPI floating around the 'web,
but I can't seem to locate one. I know you can download the code
from his 'web site:
USB Design By Example
http://www.usb-by-example.com/
here:
http://www.usb-by-example.com/ESC_Examples.zip
FTDI provides MSWinXX drivers (and Linux as well, if I recall) for
the module, and the FTDI site provides datasheets for their chips
as well the MM232R module.
If you prefer I2C, you ,might take a look at this module:
USB-I2C Communications Module
http://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm
Hope something in this melange helps. <grin!>
Frank McKenney
--
Recessions are the market's way of teaching Americans Economics.
--
Frank McKenney, McKenney Associates
Richmond, Virginia / (804) 320-4887
Munged E-mail: frank uscore mckenney ayut mined spring dawt cahm (y'all)
Reply by Frank Buss●December 5, 20082008-12-05
Paul Carpenter wrote:
> Well recently I tried to get the datasheet for the device as it
> was only supplied on request, i.e. after giving details.
>
> I am still waiting for datasheet as so far the datasheet sent
> via email was ZERO bytes long!
Searching at Google lists it as the 3rd link:
http://www.ghielectronics.com/download/general/MAX3421E.pdf
Looks like a nice chip and should be possible to use it for adding USB
support for a fast microcontroller. Even Digikey has it for $4.86 for
quantities of 100.
Another idea would be to use a microcontroller with integrated USB, like
one of the STM32 series, or even an additional microcontroller, which can
handle the USB traffic and which are more flexible for handling the data
and preprocess it for the main CPU, e.g. the C8051F326 from Silicon
Laboratories, if you don't need a host controller.
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de,http://www.it4-systems.de
Reply by Andrew Jackson●December 5, 20082008-12-05
> I need a feedback about MAX3421E. I'm developing a particular device, and
> my boss wondering if we are able to add on our device the USB.
>
> I'm using a Freescale MFC5213 micro, and I'm able to use SPI, so my
> question regarding the effort required to implement this part.
> I read something on the web about this component (MAX3421E), but would be
> great for me to have a feedback directly from a developers and not from a
> seller :)
>
> My goal is to have the possibility to write on the USB some data that I'll
> pass by SPI and not more. I guess this device should not be plug and play,
> so, what is your opinion about the effort required to get my goal?
At one time Maxim were planning on producing their own USB host stack to
support the MAX3421E but, when I last looked, this still wasn't available.
I have used one of these in conjunction with GHI Electronics USB host
stack. This saved me some time and worked quite well enough for the
application that I had which used hub, mass storage and serial I/O
(FTDI, Prolific) devices. The performance wasn't great as one might
expect. GHI were responsive to any faults that I found and worked
around a couple of the faults in the chip on BULK endpoints.
I last used it about two years ago so I'm not sure what has changed
since then.
Andrew
Reply by Gene S. Berkowitz●December 4, 20082008-12-04
In article <MPG.23a21d089b7eaa479896c5@172.16.0.1>,
paul@pcserviceselectronics.co.uk says...
> In article <GOednRbgH6bUearUnZ2dnUVZ_gqdnZ2d@giganews.com>,
> andrea.listello@mmarelli-se.com says...
> > Hello All,
> >
> > I need a feedback about MAX3421E. I'm developing a particular device, and
> > my boss wondering if we are able to add on our device the USB.
> >
> > I'm using a Freescale MFC5213 micro, and I'm able to use SPI, so my
> > question regarding the effort required to implement this part.
> > I read something on the web about this component (MAX3421E), but would be
> > great for me to have a feedback directly from a developers and not from a
> > seller :)
> >
> > My goal is to have the possibility to write on the USB some data that I'll
> > pass by SPI and not more. I guess this device should not be plug and play,
> > so, what is your opinion about the effort required to get my goal?
> >
> > I don't have a particular bond with Maxim, so, any hints that you have are
> > more than welcome.
> > Best regards
> > Liste11
>
> Well recently I tried to get the datasheet for the device as it
> was only supplied on request, i.e. after giving details.
>
> I am still waiting for datasheet as so far the datasheet sent
> via email was ZERO bytes long!
>
> Don't even get me going on the website being browser specifc.
According to Maxim's web site (which works fine with Firefox), the
MAX3421E is _software compatible_ with the MAX3420E, for which a data
sheet is readily available for download.
According to the MAX3421E FAQ page located at:
http://www.maxim-ic.com/appnotes.cfm/an_pk/3782
-------------------------------------------------------
How does the MAX3421E electrically differ from the MAX3420E?
Both devices have two voltage pins, VCC and VL. VL serves as the
threshold voltage for the on-chip level translators, which allow the
parts to operate in mixed-voltage systems.
If you compare the two supply currents, ICC and IL, for the two parts,
you see that they differ because:
* The MAX3420E powers its oscillator, PLL, and transceiver from VCC,
and its digital logic from VL.
* The MAX3421E powers everything, oscillator, PLL, transceiver, and
its digital logic from VCC. This results in a higher ICC than for the
MAX3420E.
---------------------------------------------------------
Is the MAX3421E a drop-in replacement for the MAX3420E?
No. The MAX3421 has more signal pins than the MAX3420E, and the MAX3421E
TQFP package (5mm by 5mm) is smaller than the MAX3420E TQFP package (7mm
by 7mm).
---------------------------------------------------------
Is the MAX3421E code-compatible with the MAX3420E?
Yes. When the MAX3421E powers on or is reset, it defaults to peripheral
mode with the same register set as the MAX3420E.
[Gene here: The '3421E can be a USB peripheral OR a USB host. If all
you want to do is send a little data, you could set it up as an HID
peripheral, and Windows would recognize it as a keyboard/mouse/whatever.
If you want to do something more sophisticated, you will have to write a
driver.]
---------------------------------------------------------
What is added to the MAX3421E when operating as a USB peripheral that
makes it different than the MAX3420E?
1. The MAX3421E adds four general-purpose input pins, and four
general-purpose output pins. This brings the GPIO total to eight in,
eight out.
2. The MAX3421E adds interrupt requests for the eight general-purpose
input pins. Each pin has an interrupt enable bit and edge polarity bit
associated with it.
3. The MAX3421E has a bit called SEPIRQ. This bit allows the GPX pin
to serve as a second interrupt output pin (in addition to INT), which is
active only for the GPIN interrupts.
4. The MAX3421E can program the time at which the INT pin deasserts
and reasserts in edge interrupt mode when one interrupt is cleared and
another is pending. The MAX3420E uses a fixed time of 10.6�S for this
interval.
---------------------------------------------------------
--Gene
Reply by Chris_99●December 4, 20082008-12-04
On Dec 4, 9:08=A0am, "liste11" <andrea.liste...@mmarelli-se.com> wrote:
> Hello All,
>
> I need a feedback about MAX3421E. I'm developing a particular device, and
> my boss wondering if we are able to add on our device the USB.
>
> I'm using a Freescale MFC5213 micro, and I'm able to use SPI, so my
> question regarding the effort required to implement this part.
> I read something on the web about this component (MAX3421E), but would be
> great for me to have a feedback directly from a developers and not from a
> seller :)
>
> My goal is to have the possibility to write on the USB some data that I'l=
l
> pass by SPI and not more. I guess this device should not be plug and play=
,
> so, what is your opinion about the effort required to get my goal?
>
> I don't have a particular bond with Maxim, so, any hints that you have ar=
e
> more than welcome.
> Best regards
> Liste11
USB host-side design, eh?
75 % stack
24 % driver for your specific USB toy
1 % MAX3421 hardware interface
or something like that
if USB was simple on embedded devices, everybody would be doin' it
So if I were you I would be talking about where the stack and driver
software is coming from....
Chris