| View previous topic :: View next topic |
| Author |
Message |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Tue Feb 12, 2008 1:35 am Post subject: USB-I2C Interface Problems |
|
|
I noticed that there has been very little activity here since 2007. Hope some see's this. OS is WinXP
I have built the OSIF using an Atmega8 Avr. I programmed the device with V2 firmware "main.hex" file date 10/31/2007.
When I plug in the USB connector, Win XP indicates that a new hardware device is detected. No window pops up to install a driver.
In device manager the unknown usb device is indicated and no driver is associated with it.
When I try to install the driver from OpenSourceInterFace_2_1.zip, the following message appears.
"The specified location does not contain information about your hardware."
Does anyone have an idea what might be happening?? In the mean time I will continue to diagnose the problem.
Thanks |
|
| Back to top |
|
 |
bren
Joined: 01 Jul 2007 Posts: 79
|
Posted: Tue Feb 12, 2008 5:07 am Post subject: |
|
|
Hi there
I've experienced this problem before. It some times does it when I plug the usb into the computer but I can solve it by restarting the computer. I also had it when I broke one of these my self and tried to reflash the memory. I would recheck the board at the data on it.
Bren |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Tue Feb 12, 2008 5:06 pm Post subject: |
|
|
"I noticed that there has been very little activity here since 2007." Lots of lurkers, not much posting
"Does anyone have an idea what might be happening?? In the mean time I will continue to diagnose the problem."
Did you flash the firmware from the /firmware/main.hex file?
You might want to get a windows tool called USBview
http://www.ftdichip.com/Resources/Utilities/usbview.zip
see if you can see the USB device listed as 1964:0001
If not, let me know what is listed in there for the USB device, and I will give more advice.
Barry _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Tue Feb 12, 2008 10:28 pm Post subject: |
|
|
@ ginge
I used the firmware file in Version_2 Directory.
It's the hex file which is 9kb in size
I'll try the USBview and let you know.
@bren
No joy with a reboot
Thanks for the responses |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Wed Feb 13, 2008 12:21 am Post subject: |
|
|
OK Results of USBview
[loc11]DeviceFailedEnumeration:unknown device
Device Descriptor:
All 0x00 |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Wed Feb 13, 2008 12:28 am Post subject: |
|
|
You indicated you build your own board... Which set of schematics/PCB did you use?
It sounds a lot like the USB subsystem has detected a new low speed device, but the device is not communicating as it should be.
One thing I would look at is the pin32 (INT0) of the AVR is tied to Pin24 (USB -) The interrupt line is very important to the functionality of the software USB stack.
Here is the schematic of the latest revision for reference
http://headfuzz.co.uk/files/OSIF/OSIF-sch.png
Barry _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Wed Feb 13, 2008 1:04 am Post subject: |
|
|
Yep, That's the same schematic.
Only I'm using the 28 pin Dip, So the optional header is not used.
Int(0) pin 4 and PC1 pin 24
Oscillator running at 12 Mhz from a resonator.
I'm still digging. |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Wed Feb 13, 2008 1:09 am Post subject: |
|
|
Okay, one more thing I can think of is that you might want to pull reset high using a resistor and disconnect it from PB2. That is all I can think of for now. Good luck.
Barry _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Wed Feb 13, 2008 8:15 pm Post subject: |
|
|
Another question about the firmware.
There are 2 directories under Version_2.
1.) bootloader
2.) firmware
When I load the main.hex from the firmware directory there is data/code at loc 0x0000 and no data/code at loc 1800
If I load main.hex from the bootloader directory there is no data/code at loc 0x0000 but there is code at loc 1800.
Do I need to have both files loaded into the atmega8 to make it work??? |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Wed Feb 13, 2008 8:23 pm Post subject: |
|
|
The bootloader code starts at vector 0x1800 by setting the AVR fuses to allow a bootloader of 2k
The main firmware starts running at vector 0x0000 with or without the bootloader code in there, but only when you don't use the bootloader fuses.
If you use the bootloader.hex the AVR will jump from 0x1800 to 0x0000 after powerup unless you bridge some pins, in which case it will stay in the bootloader portion of the code and allow you to update firmware over USB.
If you have the capacity to flash the AVR you shouldn't need the bootloader code, and at this stage it only serves to complicate the issues you are having.
Just out of interest, what are the fuses you are burning into the AVR when flashing?
Barry _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Thu Feb 14, 2008 12:21 am Post subject: |
|
|
We have a heart beat!
I re-wired the breadboard again.
Had to plugin the USB connector a couple of times before the new hardware detected screen came up.
The software to test the open servo took 2 times to do a buss scan to see the device but it seems to work now.
Now I can test out those servo controllers from RobotJay that I purchased last year.
Thanks for all the help. |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Fri Feb 15, 2008 2:33 am Post subject: |
|
|
Not going to celebrate just yet.
Using V.61 I get the following. I tried all ten of the openservo V2.1 units with no luck.
What's not shown is when I hit scan buss again I loose the adaptor and number of adapters is -1.
Ran USBview and I'm still good there.
The servo boards have only the power,gnd,data,clk hooked up and no servo motor or servo pot.
Any sugestions?
 |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Fri Feb 15, 2008 8:57 am Post subject: |
|
|
Hi,
It sounds like the OpenServo is not initialising properly, which is casuing the I2C bus to lock. When the I2C bus locks the OSIF firmware you have will go into an infinite loop and Windows will do a forced disconnect.
How many volts are you supplying to the OpenServo? It needs at least 6.5v to operate properly.
If you are supplying the correct voltage range, you need to check the I2C bus cables to make sure that they are not the wrong way around, as this will also cause similar behaviour.
Another thing that you might want to try is to bridge a wire between the the pot centre pin and one of the other pot legs. It shouldn't make a difference, but it might.
Barry _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
enigma460
Joined: 12 Feb 2008 Posts: 23
|
Posted: Fri Feb 15, 2008 9:20 pm Post subject: |
|
|
| ginge wrote: | Hi,
It sounds like the OpenServo is not initialising properly, which is casuing the I2C bus to lock. When the I2C bus locks the OSIF firmware you have will go into an infinite loop and Windows will do a forced disconnect.
How many volts are you supplying to the OpenServo? It needs at least 6.5v to operate properly.
If you are supplying the correct voltage range, you need to check the I2C bus cables to make sure that they are not the wrong way around, as this will also cause similar behaviour.
Another thing that you might want to try is to bridge a wire between the the pot centre pin and one of the other pot legs. It shouldn't make a difference, but it might.
Barry |
I'm suppling 5.5 volts. No motor connected.
One thing I noticed is no activity(scoped); at all ,on the I2C bus even with the openservo disconnected. |
|
| Back to top |
|
 |
|