EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

AT90USB1287 OTG host compatibility with devices?

Started by Unknown April 29, 2007
Hi,

I would like to discuss with anyone who has some experience
interfacing the AT90USB1287 to various USB devices.

Have you found any that don't work?

I have two devices which are detected correctly - Lexar 32MB jump
dirve and a Lenovo USB sound device .... I have two that are don't get
detected correctly and they are a 512MB Imation flash drive and  a
Gigafast 102.11g wireless fob.

The code goes screwy in this section when one of the "bad" devices is
plugged in (snippet from the atmel demo programs)

      case DEVICE_UNATTACHED:
         for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE
lookup table with device EP addr
         Host_clear_device_supported();        // Reset Device status
         Host_clear_configured();
         Host_clear_device_ready();
         Usb_clear_all_event();                // Clear all software
events
         Usb_enable_vbus();                    // Give at least device
power supply!!!
         if(Is_usb_vbus_high())
         { device_state=DEVICE_ATTACHED; }     // If VBUS ok goto to
device connection expectation
      break;

So when it hits Usb_enable vbus(); the jtag mkii goes awry ...

Any one else run into this - I am using a AT90USBKEY - I am using the
latest code from Atmel and winavr ...

I was runing the key on a 9v battery but did switch to a wallwart just
to be sure and no diff..

Glenn

On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote:
> Hi, > > I would like to discuss with anyone who has some experience > interfacing theAT90USB1287to various USB devices. > > Have you found any that don't work? > > I have two devices which are detected correctly - Lexar 32MB jump > dirve and a Lenovo USB sound device .... I have two that are don't get > detected correctly and they are a 512MB Imation flash drive and a > Gigafast 102.11g wireless fob. > > The code goes screwy in this section when one of the "bad" devices is > plugged in (snippet from the atmel demo programs) > > case DEVICE_UNATTACHED: > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > lookup table with device EP addr > Host_clear_device_supported(); // Reset Device status > Host_clear_configured(); > Host_clear_device_ready(); > Usb_clear_all_event(); // Clear all software > events > Usb_enable_vbus(); // Give at least device > power supply!!! > if(Is_usb_vbus_high()) > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > device connection expectation > break; > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > Any one else run into this - I am using a AT90USBKEY - I am using the > latest code from Atmel and winavr ... > > I was runing the key on a 9v battery but did switch to a wallwart just > to be sure and no diff.. > > Glenn
Am I the only one using the AT90USBKEY for host mode? ;) It appears that plugging in some devices and attempting to apply power causes the AT90USB1287 to reset. Can any one confirm if this is a known problem? Glenn
On May 1, 6:48 am, rg.jo...@rogers.com wrote:
> On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote: > > > > > > > Hi, > > > I would like to discuss with anyone who has some experience > > interfacing theAT90USB1287to various USB devices. > > > Have you found any that don't work? > > > I have two devices which are detected correctly - Lexar 32MB jump > > dirve and a Lenovo USB sound device .... I have two that are don't get > > detected correctly and they are a 512MB Imation flash drive and a > > Gigafast 102.11g wireless fob. > > > The code goes screwy in this section when one of the "bad" devices is > > plugged in (snippet from the atmel demo programs) > > > case DEVICE_UNATTACHED: > > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > > lookup table with device EP addr > > Host_clear_device_supported(); // Reset Device status > > Host_clear_configured(); > > Host_clear_device_ready(); > > Usb_clear_all_event(); // Clear all software > > events > > Usb_enable_vbus(); // Give at least device > > power supply!!! > > if(Is_usb_vbus_high()) > > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > > device connection expectation > > break; > > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > > Any one else run into this - I am using a AT90USBKEY - I am using the > > latest code from Atmel and winavr ... > > > I was runing the key on a 9v battery but did switch to a wallwart just > > to be sure and no diff.. > > > Glenn > > Am I the only one using the AT90USBKEY for host mode? ;)
We are getting a prototype board for the chip, but not ready yet.
> > It appears that plugging in some devices and attempting to apply power > causes the AT90USB1287 to reset.
Probably watchdog reset.
> > Can any one confirm if this is a known problem?
It sounds like a software issue.
On May 1, 11:18 am, linnix <m...@linnix.info-for.us> wrote:
> On May 1, 6:48 am, rg.jo...@rogers.com wrote: > > > > > On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote: > > > > Hi, > > > > I would like to discuss with anyone who has some experience > > > interfacing theAT90USB1287to various USB devices. > > > > Have you found any that don't work? > > > > I have two devices which are detected correctly - Lexar 32MB jump > > > dirve and a Lenovo USB sound device .... I have two that are don't get > > > detected correctly and they are a 512MB Imation flash drive and a > > > Gigafast 102.11g wireless fob. > > > > The code goes screwy in this section when one of the "bad" devices is > > > plugged in (snippet from the atmel demo programs) > > > > case DEVICE_UNATTACHED: > > > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > > > lookup table with device EP addr > > > Host_clear_device_supported(); // Reset Device status > > > Host_clear_configured(); > > > Host_clear_device_ready(); > > > Usb_clear_all_event(); // Clear all software > > > events > > > Usb_enable_vbus(); // Give at least device > > > power supply!!! > > > if(Is_usb_vbus_high()) > > > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > > > device connection expectation > > > break; > > > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > > > Any one else run into this - I am using a AT90USBKEY - I am using the > > > latest code from Atmel and winavr ... > > > > I was runing the key on a 9v battery but did switch to a wallwart just > > > to be sure and no diff.. > > > > Glenn > > > Am I the only one using the AT90USBKEY for host mode? ;) > > We are getting a prototype board for the chip, but not ready yet. > > > > > It appears that plugging in some devices and attempting to apply power > > causes theAT90USB1287to reset. > > Probably watchdog reset. > > > > > Can any one confirm if this is a known problem? > > It sounds like a software issue.
Hi Thanks for the reply ... I don't think it is the software as some devices work okay ... It appears as if the mcu is being reset when vbus is being applied - I am going to check the descriptors (of the problem devices) for their power requirements. Glenn
On May 2, 8:59 am, rg.jo...@rogers.com wrote:
> On May 1, 11:18 am, linnix <m...@linnix.info-for.us> wrote: > > > > > On May 1, 6:48 am, rg.jo...@rogers.com wrote: > > > > On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote: > > > > > Hi, > > > > > I would like to discuss with anyone who has some experience > > > > interfacing theAT90USB1287to various USB devices. > > > > > Have you found any that don't work? > > > > > I have two devices which are detected correctly - Lexar 32MB jump > > > > dirve and a Lenovo USB sound device .... I have two that are don't get > > > > detected correctly and they are a 512MB Imation flash drive and a > > > > Gigafast 102.11g wireless fob. > > > > > The code goes screwy in this section when one of the "bad" devices is > > > > plugged in (snippet from the atmel demo programs) > > > > > case DEVICE_UNATTACHED: > > > > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > > > > lookup table with device EP addr > > > > Host_clear_device_supported(); // Reset Device status > > > > Host_clear_configured(); > > > > Host_clear_device_ready(); > > > > Usb_clear_all_event(); // Clear all software > > > > events > > > > Usb_enable_vbus(); // Give at least device > > > > power supply!!! > > > > if(Is_usb_vbus_high()) > > > > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > > > > device connection expectation > > > > break; > > > > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > > > > Any one else run into this - I am using a AT90USBKEY - I am using the > > > > latest code from Atmel and winavr ... > > > > > I was runing the key on a 9v battery but did switch to a wallwart just > > > > to be sure and no diff.. > > > > > Glenn > > > > Am I the only one using the AT90USBKEY for host mode? ;) > > > We are getting a prototype board for the chip, but not ready yet. > > > > It appears that plugging in some devices and attempting to apply power > > > causes theAT90USB1287to reset. > > > Probably watchdog reset. > > > > Can any one confirm if this is a known problem? > > > It sounds like a software issue. > > Hi Thanks for the reply ... > > I don't think it is the software as some devices work okay ... It > appears as if the mcu is being reset when vbus is being applied - I am > going to check the descriptors (of the problem devices) for their > power requirements. > > Glenn
Works Lexar 32 MB Flash drive - 90ma Lenovo USB Sound device - 100ma Microsoft Optical mouse - 100ma Doesn't work Imation 512 MB Flash drive - 200ma Trendnet 424UB 802.11b/g - 400ma GigaFast WF748-CUI 802.11b/g - 500ma Glenn
On May 2, 6:31 am, rg.jo...@rogers.com wrote:
> On May 2, 8:59 am, rg.jo...@rogers.com wrote: > > > > > On May 1, 11:18 am, linnix <m...@linnix.info-for.us> wrote: > > > > On May 1, 6:48 am, rg.jo...@rogers.com wrote: > > > > > On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote: > > > > > > Hi, > > > > > > I would like to discuss with anyone who has some experience > > > > > interfacing theAT90USB1287to various USB devices. > > > > > > Have you found any that don't work? > > > > > > I have two devices which are detected correctly - Lexar 32MB jump > > > > > dirve and a Lenovo USB sound device .... I have two that are don't get > > > > > detected correctly and they are a 512MB Imation flash drive and a > > > > > Gigafast 102.11g wireless fob. > > > > > > The code goes screwy in this section when one of the "bad" devices is > > > > > plugged in (snippet from the atmel demo programs) > > > > > > case DEVICE_UNATTACHED: > > > > > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > > > > > lookup table with device EP addr > > > > > Host_clear_device_supported(); // Reset Device status > > > > > Host_clear_configured(); > > > > > Host_clear_device_ready(); > > > > > Usb_clear_all_event(); // Clear all software > > > > > events > > > > > Usb_enable_vbus(); // Give at least device > > > > > power supply!!! > > > > > if(Is_usb_vbus_high()) > > > > > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > > > > > device connection expectation > > > > > break; > > > > > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > > > > > Any one else run into this - I am using a AT90USBKEY - I am using the > > > > > latest code from Atmel and winavr ... > > > > > > I was runing the key on a 9v battery but did switch to a wallwart just > > > > > to be sure and no diff.. > > > > > > Glenn > > > > > Am I the only one using the AT90USBKEY for host mode? ;) > > > > We are getting a prototype board for the chip, but not ready yet. > > > > > It appears that plugging in some devices and attempting to apply power > > > > causes theAT90USB1287to reset. > > > > Probably watchdog reset. > > > > > Can any one confirm if this is a known problem? > > > > It sounds like a software issue. > > > Hi Thanks for the reply ... > > > I don't think it is the software as some devices work okay ... It > > appears as if the mcu is being reset when vbus is being applied - I am > > going to check the descriptors (of the problem devices) for their > > power requirements. > > > Glenn > > Works > Lexar 32 MB Flash drive - 90ma > Lenovo USB Sound device - 100ma > Microsoft Optical mouse - 100ma > > Doesn't work > Imation 512 MB Flash drive - 200ma > Trendnet 424UB 802.11b/g - 400ma > GigaFast WF748-CUI 802.11b/g - 500ma > > Glenn
So, are they exceeding the power requirements? 100ma is the typical default.
>> > I don't think it is the software as some devices work okay ... It >> > appears as if the mcu is being reset when vbus is being applied - I am >> > going to check the descriptors (of the problem devices) for their >> > power requirements. >> >> > Glenn >> >> Works >> Lexar 32 MB Flash drive - 90ma >> Lenovo USB Sound device - 100ma >> Microsoft Optical mouse - 100ma >> >> Doesn't work >> Imation 512 MB Flash drive - 200ma >> Trendnet 424UB 802.11b/g - 400ma >> GigaFast WF748-CUI 802.11b/g - 500ma >> >> Glenn > > So, are they exceeding the power requirements? > 100ma is the typical default. >
More important`: How much can your power supply support? -- Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may not be shared by my employer Atmel Nordic AB
On 2 Mai, 15:31, rg.jo...@rogers.com wrote:
> On May 2, 8:59 am, rg.jo...@rogers.com wrote: > > > > > > > On May 1, 11:18 am, linnix <m...@linnix.info-for.us> wrote: > > > > On May 1, 6:48 am, rg.jo...@rogers.com wrote: > > > > > On Apr 28, 11:32 pm, rg.jo...@rogers.com wrote: > > > > > > Hi, > > > > > > I would like to discuss with anyone who has some experience > > > > > interfacing theAT90USB1287to various USB devices. > > > > > > Have you found any that don't work? > > > > > > I have two devices which are detected correctly - Lexar 32MB jump > > > > > dirve and a Lenovo USB sound device .... I have two that are don't get > > > > > detected correctly and they are a 512MB Imation flash drive and a > > > > > Gigafast 102.11g wireless fob. > > > > > > The code goes screwy in this section when one of the "bad" devices is > > > > > plugged in (snippet from the atmel demo programs) > > > > > > case DEVICE_UNATTACHED: > > > > > for (c=0;c<MAX_EP_NB;c++) {ep_table[c]=0;}// Reset PIPE > > > > > lookup table with device EP addr > > > > > Host_clear_device_supported(); // Reset Device status > > > > > Host_clear_configured(); > > > > > Host_clear_device_ready(); > > > > > Usb_clear_all_event(); // Clear all software > > > > > events > > > > > Usb_enable_vbus(); // Give at least device > > > > > power supply!!! > > > > > if(Is_usb_vbus_high()) > > > > > { device_state=DEVICE_ATTACHED; } // If VBUS ok goto to > > > > > device connection expectation > > > > > break; > > > > > > So when it hits Usb_enable vbus(); the jtag mkii goes awry ... > > > > > > Any one else run into this - I am using a AT90USBKEY - I am using the > > > > > latest code from Atmel and winavr ... > > > > > > I was runing the key on a 9v battery but did switch to a wallwart just > > > > > to be sure and no diff.. > > > > > > Glenn > > > > > Am I the only one using the AT90USBKEY for host mode? ;) > > > > We are getting a prototype board for the chip, but not ready yet. > > > > > It appears that plugging in some devices and attempting to apply power > > > > causes theAT90USB1287to reset. > > > > Probably watchdog reset. > > > > > Can any one confirm if this is a known problem? > > > > It sounds like a software issue. > > > Hi Thanks for the reply ... > > > I don't think it is the software as some devices work okay ... It > > appears as if the mcu is being reset when vbus is being applied - I am > > going to check the descriptors (of the problem devices) for their > > power requirements. > > > Glenn > > Works > Lexar 32 MB Flash drive - 90ma > Lenovo USB Sound device - 100ma > Microsoft Optical mouse - 100ma > > Doesn't work > Imation 512 MB Flash drive - 200ma > Trendnet 424UB 802.11b/g - 400ma > GigaFast WF748-CUI 802.11b/g - 500ma > > Glenn- Zitierten Text ausblenden - > > - Zitierten Text anzeigen -
USB OTG specification says max power is 30mA so if the circuitry is made as per requirements of the USB OTG it doesnt have to deliver more than 30mA, it may deliver more but it really isnt required. If you are using non-OTG devices then check the power supply Antti
On May 2, 9:31 am, rg.jo...@rogers.com wrote:
> On May 2, 8:59 am, rg.jo...@rogers.com wrote: > > > > > Have you found any that don't work? >
> > Works > Lexar 32 MB Flash drive - 90ma > Lenovo USB Sound device - 100ma > Microsoft Optical mouse - 100ma > > Doesn't work > Imation 512 MB Flash drive - 200ma > Trendnet 424UB 802.11b/g - 400ma > GigaFast WF748-CUI 802.11b/g - 500ma > > Glenn
Atmel suport indicated that the devices that don't work most likely exceed the 100ma spec for current at enumeration time. OTG spec 8ma should be available at enumeration time. They offered two work arounds 1) Disable the BOD fuse (by default it is set to 2.6V) 2) Add a capacitor (~22=B5) to the regulator I have done step 1 so far and that allows the devices I had an issue with to enumerate. I am also using a 12v (1000ma) power supply (just what I happended to have on hand) Hope this helps someone else. Glenn

The 2024 Embedded Online Conference