We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I have problem with USB device. I'm loading prodram to my AT91SAM7SE-EK (for example HID MOUSE PROJECT) and it wasn't work. Computer recognize the device but it can't instal. I use Windows Vista, but try on XP and Windows 7 and always was the same. Please help me.
Did you erase the MCU code FLASH by putting J5-1 jumper, described on this chapter of the user's guide ?
Getting Started with AT91SAM7SE Microcontrollers www.atmel.com/.../doc6295.pdf 4.2 Loading the Code
Atmel chips often require this operation. It's troublesome.
Tsuneo
The program loaded correctly on the board. It was working well on other PCs (on Windows XP or 7). In my PC system recognize the HID driver, installation success, but driver can't start. (Code 10).
> It was working well on other PCs (on Windows XP or 7).
Then, the board and firmware seem fine.
>In my PC system recognize the HID driver, installation success, but driver can't start. (Code 10).
The problem is specific to your PC. One of the code 10 reason of HID class driver is that insufficient bandwidth remains for the HID (ie. interrupt endpoints) on the bus. Do you have any other device(s) on the USB ports of the PC, especially USB audio device? If so, reduce the connected devices into just mouse/keyboard and the Atmel board, and try it again.
When the cause is insufficient bandwidth, these gadgets solves the problem. - USB Add-in PCI (PCIe) card OR - multi-TT hub (Belkin F5U234v1, F5U237v1, etc)
I've used a USB HUB and it's working xD I don't know how but it works well. Could you explain me why with USB HUB it's works? And thank you very much for you help and time.
> Could you explain me why with USB HUB it's works?
Interrupt and isoc endpoints reserve required bandwidth at enumeration. If bus bandwidth doesn't remain for new device of these endpoints, enumeration fails. Windows show code 10 error. It was your case.
Nowadays, PC USB ports are high-speed capable. These ports connect to two USB host controllers (HCs), high-speed (HS) HC and low-/full-speed (FS/LS) one. Depending on the device speed, the ports select one of the HCs. As the Atmel chip is a FS device, it is connected to FS/LS HC, when the board is directly plugged in to the PC USB port.
The bandwidth of the FS/LS HC of your PC saturates with the Atmel board. Maybe it is shared by too many devices, mouse/keyboard, audio device, etc.
When a HS (USB2.0) hub is inserted between the Atmel board and the PC port, the hub translates FS transactions into HS ones. Now, the board is connected to HS HC on the PC, instead of FS/LS one. In this reason, the board is successfully enumerated over the hub.
Thank You very much !!!