Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Thread

USB HID Controller

USB HID Controller

2005-06-27 by Dave Miller

Hello All,

I am looking to design a USB HID device and I am looking for a good USB solution. In the past many have mentioned the FTDI chips which looks great for Virtual COM and other devices but I don’t see any support for HID. I am not a fan of the Cypress products either; I have used some of their first USB chips and had a real hard time with their development tools. Does anyone have an idea on the chipset to use for a HID USB device?

I know there has been some complaints about Atmels support for their own USB controllers, has this improved lately? I would prefer to use their product since I have Dev tools already.

Thanks,

Dave Miller

Re: [AVR-Chat] USB HID Controller

2005-06-27 by Jose Fuentes

Hi Dave,
I just bought a couple of AT43USB355E, and downloaded
the delopment tools from Atmel's web site.  You can
write your code using the Atmel USB wizard and compile
it with AVR GCC.


Jose

 --- Dave Miller <dave@cipherlab.com> escribió:

> Hello All,
> 
>  
> 
> I am looking to design a USB HID device and I am
> looking for a good USB
> solution.  In the past many have mentioned the FTDI
> chips which looks great
> for Virtual COM and other devices but I don't see
> any support for HID.  I am
> not a fan of the Cypress products either; I have
> used some of their first
> USB chips and had a real hard time with their
> development tools.  Does
> anyone have an idea on the chipset to use for a HID
> USB device?
> 
>  
> 
> I know there has been some complaints about Atmels
> support for their own USB
> controllers, has this improved lately?  I would
> prefer to use their product
> since I have Dev tools already.
> 
>  
> 
> Thanks,
> 
> Dave Miller
> 
>  
> 
> 



	

	
		
___________________________________________________________ 
1GB gratis, Antivirus y Antispam 
Correo Yahoo!, el mejor correo web del mundo 
http://correo.yahoo.com.ar

Re: USB HID Controller

2005-06-28 by Joel Kolstad

Hi Dave,

For an HID device, the AT43USB355E would probably work pretty well.  
Atmel has gone and made something of a "wizard" that generates the 
skeleton of _all_ the code that goes into the part, and it's very 
heavily biased towards HID devices (in case you're not aware of it, 
Atmel specifically designed the AT43USB355E to be used in Microsoft 
Xbox game controllers... previously those controllers used a separate 
USB hub IC and a USB microcontroller, and they get the contract by 
offering Microsoft a cheaper "all in one" solution... and Xbox game 
controllers are HID devices, BTW).

> I know there has been some complaints about Atmels support for 
their own USB
> controllers, has this improved lately?  

I don't know, but as of late last summer it was only slowly 
improving.  The main problem was that there was really only one guy 
working on "continuing support" of it; you can find lots of my old 
messages about Atmel on AVRFreak.org, I believe, from that time 
period.

> I would prefer to use their product
> since I have Dev tools already.

Well, I hate to break this to you, but there's really nothing in the 
standard line of development tools that'll work for you.  The 
AT43USB355E boots from a serial PROM, and there's no hardware in-
circuit debugging support (e.g., JTAG).  The Atmel demo board for the 
part uses your PC's parallel port connection to re-program that 
serial PROM (and once you're up and running, your own firmware can 
also re-program it with not much code over USB -- this is what I 
did).  

I used standard "printf" debugging, which of course isn't ideal, but 
it worked fine for me.  I did have to drop the serial port rate to 
2400bps, though -- USB interrupts have priority over time interrupts 
(this was bit-banged serial off a timer intterupt), so at 115.2kbps 
the serial transmissions would get garbled if a USB transfer came 
in. :-)

---Joel Kolstad

RE: [avr-chat] Replacement cable for original Atmel JTAG pod

2005-06-28 by Larry Barello

Ok, I know what it is now: a 30 conductor FFC cable assembly.  Now, where
can one find a one-off cable?

TIA
Show quoted textHide quoted text
-----Original Message-----
From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com]On
Behalf Of Larry Barello
Sent: Tuesday, June 28, 2005 12:33 PM
To: AVR-Chat@yahoogroups.com; avr-chat@nongnu.org
Subject: [avr-chat] Replacement cable for original Atmel JTAG pod


Anyone know where to get one & what it is?

TIA

RE: [AVR-Chat] Re: USB HID Controller

2005-06-28 by Dave Miller

Hello Joel,

Thanks for the information it is very helpful.  I didn't realize that this
was being used in the XBOX stuff, that could explain the low cost I have
been quoted on small quantities (1000 pieces less than $2).  

Let me see if I understand what you are describing for the development
process.  I understand I can't use the standard AVR ICE, bummer.  But the
part is an AVR Core and I can still write code using the Imagecraft C
compiler I have? I can also use the ISP programmer to download firmware? But
the actual USB descriptor is stored in the EEPROM?  That I can handle as I
want to be able to map the keypad as I need.  I also have a few other
non-keypad functions that I want to handle.

FYI - I am looking at the AT43USB326 for my project.  I don't plan to
implement the HUB features.

Thanks,
Dave Miller
Show quoted textHide quoted text
-----Original Message-----
From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com] On Behalf
Of Joel Kolstad
Sent: Tuesday, June 28, 2005 8:57 AM
To: AVR-Chat@yahoogroups.com
Subject: [AVR-Chat] Re: USB HID Controller

Hi Dave,

For an HID device, the AT43USB355E would probably work pretty well.  
Atmel has gone and made something of a "wizard" that generates the 
skeleton of _all_ the code that goes into the part, and it's very 
heavily biased towards HID devices (in case you're not aware of it, 
Atmel specifically designed the AT43USB355E to be used in Microsoft 
Xbox game controllers... previously those controllers used a separate 
USB hub IC and a USB microcontroller, and they get the contract by 
offering Microsoft a cheaper "all in one" solution... and Xbox game 
controllers are HID devices, BTW).

> I know there has been some complaints about Atmels support for 
their own USB
> controllers, has this improved lately?  

I don't know, but as of late last summer it was only slowly 
improving.  The main problem was that there was really only one guy 
working on "continuing support" of it; you can find lots of my old 
messages about Atmel on AVRFreak.org, I believe, from that time 
period.

> I would prefer to use their product
> since I have Dev tools already.

Well, I hate to break this to you, but there's really nothing in the 
standard line of development tools that'll work for you.  The 
AT43USB355E boots from a serial PROM, and there's no hardware in-
circuit debugging support (e.g., JTAG).  The Atmel demo board for the 
part uses your PC's parallel port connection to re-program that 
serial PROM (and once you're up and running, your own firmware can 
also re-program it with not much code over USB -- this is what I 
did).  

I used standard "printf" debugging, which of course isn't ideal, but 
it worked fine for me.  I did have to drop the serial port rate to 
2400bps, though -- USB interrupts have priority over time interrupts 
(this was bit-banged serial off a timer intterupt), so at 115.2kbps 
the serial transmissions would get garbled if a USB transfer came 
in. :-)

---Joel Kolstad





 
Yahoo! Groups Links

Re: [avr-chat] Replacement cable for original Atmel JTAG pod

2005-06-28 by Don

Farnell have them.  Digikey used to, haven't checked lately.
Newark are owned by Farkinell so if they don't have them listed then 
they could get them via Farnell


Cheers

Don


Larry Barello wrote:
Show quoted textHide quoted text
> Ok, I know what it is now: a 30 conductor FFC cable assembly.  Now, where
> can one find a one-off cable?
> 
> TIA
> 
> -----Original Message-----
> From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com]On
> Behalf Of Larry Barello
> Sent: Tuesday, June 28, 2005 12:33 PM
> To: AVR-Chat@yahoogroups.com; avr-chat@nongnu.org
> Subject: [avr-chat] Replacement cable for original Atmel JTAG pod
> 
> 
> Anyone know where to get one & what it is?
> 
> TIA
> 
> 
> 
>  
> Yahoo! Groups Links
> 
> 
> 
>  
> 
>

RE: [AVR-Chat] Replacement cable for original Atmel JTAG pod

2005-06-29 by Larry Barello

ATJTAGPROBE-ND - $39

Might as well get one of the clone JTAG units...

Thanks for the pointer.
Show quoted textHide quoted text
-----Original Message-----
From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com]On
Behalf Of Dave VanHorn
Sent: Tuesday, June 28, 2005 4:12 PM
To: AVR-Chat@yahoogroups.com; AVR-Chat@yahoogroups.com;
avr-chat@nongnu.org
Subject: Re: [AVR-Chat] Replacement cable for original Atmel JTAG pod


At 02:33 PM 6/28/2005, Larry Barello wrote:
>Anyone know where to get one & what it is?

Digikey carried replacements, for about $30. Comes with the project 
end circuit board.



 
Yahoo! Groups Links

RE: [AVR-Chat] Replacement cable for original Atmel JTAG pod

2005-06-29 by Dave VanHorn

At 07:05 PM 6/28/2005, Larry Barello wrote:
>ATJTAGPROBE-ND - $39
>
>Might as well get one of the clone JTAG units...

Yup.  There are a couple of suppliers. Sparkfun I think is where I 
got mine, a more robust cable as well.

Re: [AVR-Chat] Replacement cable for original Atmel JTAG pod

2005-06-29 by James Hatley

Hello Mr. Larry Barello,

I found Graham Davis's - JTAG clone (ICE-cube) unit to work very well. It
costs about the same as the replacement cable and it's a LOT smaller and
mechanically robust. Take a look...

http://www.ecrostech.com

Jim

----- Original Message ----- 
Show quoted textHide quoted text
From: "Larry Barello" <yahoo@barello.net>
To: <AVR-Chat@yahoogroups.com>
Sent: Tuesday, June 28, 2005 5:05 PM
Subject: RE: [AVR-Chat] Replacement cable for original Atmel JTAG pod


> ATJTAGPROBE-ND - $39
>
> Might as well get one of the clone JTAG units...
>
> Thanks for the pointer.
>
> -----Original Message-----
> From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com]On
> Behalf Of Dave VanHorn
> Sent: Tuesday, June 28, 2005 4:12 PM
> To: AVR-Chat@yahoogroups.com; AVR-Chat@yahoogroups.com;
> avr-chat@nongnu.org
> Subject: Re: [AVR-Chat] Replacement cable for original Atmel JTAG pod
>
>
> At 02:33 PM 6/28/2005, Larry Barello wrote:
> >Anyone know where to get one & what it is?
>
> Digikey carried replacements, for about $30. Comes with the project
> end circuit board.
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>

Re: [AVR-Chat] Re: USB HID Controller

2005-06-29 by Kathy Quinlan

Dave Miller wrote:
> Hello Joel,
> 
> Thanks for the information it is very helpful.  I didn't realize that this
> was being used in the XBOX stuff, that could explain the low cost I have
> been quoted on small quantities (1000 pieces less than $2).  
> 
> Let me see if I understand what you are describing for the development
> process.  I understand I can't use the standard AVR ICE, bummer.  But the
> part is an AVR Core and I can still write code using the Imagecraft C
> compiler I have? I can also use the ISP programmer to download firmware? But
> the actual USB descriptor is stored in the EEPROM?  That I can handle as I
> want to be able to map the keypad as I need.  I also have a few other
> non-keypad functions that I want to handle.
> 
> FYI - I am looking at the AT43USB326 for my project.  I don't plan to
> implement the HUB features.
> 
> Thanks,
> Dave Miller

Nope Mate,

The WHOLE program resides in the serial eeprom. If Imagecraft has the 
header files etc, then sure you can use it. But the Wizard from atmel, 
which generates the framework, only works with GCC and IAR :(

Regards,

Kat.

Re: [AVR-Chat] Replacement cable for original Atmel JTAG pod

2005-06-29 by Don

> I found Graham Davis's - JTAG clone (ICE-cube) unit to work very well. It
> costs about the same as the replacement cable and it's a LOT smaller and
> mechanically robust. Take a look...
> 
> http://www.ecrostech.com
> 

Does anyone know if this is to be JTAGII compliant in the future?

Re: USB HID Controller

2005-06-29 by Joel Kolstad

Hi Dave,

--- In AVR-Chat@yahoogroups.com, "Dave Miller" <dave@c...> wrote:
> Let me see if I understand what you are describing for the 
development
> process.  I understand I can't use the standard AVR ICE, bummer.  
But the
> part is an AVR Core 

Yes, it's an AT90S8515 at its core with the USB "peripheral" grafted 
on into memory space.  It's a reasonably clean interface -- much 
better than some USB microcontrollers I've seen.

> and I can still write code using the Imagecraft C
> compiler I have? 

Nope, they only support GCC and IAR.  I bitched about this but didn't 
get anywhere with them. :-)  Surprisingly enough, if you look through 
Atmel's source code, you'll find the occasional "#ifdef IMAGECRAFT" 
(whatever IMAGECRAFT really is to detect their compiler), so clearly 
someone at Atmel once worked on trying to get it to work but never 
finished.

Why can't you just re-compile Atmel's code yourself for any 
compiler?  Because Atmel considers one particular source code file 
that implements the functionality of the hub portion of the IC 
proprietary and will only give you the object code for it.  Hence, 
unless you can figure out how to get Imagecraft to support the object 
file format used by IAR or GCC (I certainly couldn't), you're out of 
luck.

Atmel _does_ or ("will," with a little pushing) provide all _other_ 
source code files for the IC (the routines for USB enumeration via 
control read/write commands, basic routing routines for other USB 
commands, etc.), so with effort, you could attempt to get it working 
under Imagecraft without the USB hub functionality (the source code 
already has #ifdefs in case you don't care about the hub 
functionality).  At that point, if you're REALLY ambitious, you could 
write your own USB functionality code and provide the world with a 
great service by releasing it publically.

Personally, I had a deadline, I was doing this as a paid project, so 
I just punted, used GCC, and called it good. :-)

GCC does produce noticeably larger (and I suspect slower) code that 
IAR or Imagecraft, but for free the price is right, and it didn't 
matter for my project.  

> I can also use the ISP programmer to download firmware? 

When the '355 wakes up, it copies 24KB out of a serial EEPROM into 
its RAM and then starts executing at the reset vector.  How you get 
that serial PROM programmed the very first time is up to you -- if 
you get Atmel's evaluation kit, they have a little board with a PAL 
on it and a parallel port connection that'll do it for you (the PAL 
switches PROM control between the '355 and the parallel port).  Once 
you get the thing bootstrapped the first time, you can (with the use 
of a couple of spare I/O pins) use the '355 itself to re-program the 
PROM.

So... no AVRISP, no STK500, no nothing.  Just you and a serial prom 
and some means to initially program it...

Oh, hey, here's a nice anecdote: The programming software for AVR's 
evaluation board doesn't know how to reset an EEPROM that's been 
write protected (internally).  I had their software crash one day and 
it somehow wrote to the write protection bits, at which point I had 
to go off and use PonyProg to completely erase the EEPROM!  

> But
> the actual USB descriptor is stored in the EEPROM?  

Technically it's in RAM, but since all RAM initially comes from the 
PROM, effectively the answer is "yes."

---Joel

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.