IO warrior spurious behavior

This is the English forum for all topics related to IO-Warrior. Please post in English only

Moderator: Guido Körber

Post Reply
willem
Posts: 17
Joined: Tue Oct 25, 2005 3:09 pm
Location: Netherlands

IO warrior spurious behavior

Post by willem »

Hello all,

we are using the IO warrior 56 (and SDK) to control custom made hardware. When using the SPI bus sometimes it fails to work. We witnessed that it both worked and not worked on the same pc (which is a DELL T3400 with an Intel Core 2 Duo 3 GHz processor). There doesn't seem to be a pattern in the failure. On an older pc with just a single core, the problem doesn't appear, however we are not sure if it is multi core related. Can anyone help us? Software is the same across pc's

There is an old forum item related to it: 'IOW56 SPI transmission: not all bytes are read' (http://www.codemercs.com/phpBB2/viewtop ... +duo#p5482). We are already have incorporated the recommendation to add a timeout (of 2 ms) after a write. However the forum item closes with mentioning that the issue has been resolved.

Wkr,
Willem (and Egon)
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO warrior spurious behavior

Post by Guido Körber »

Exactly how does the communication fail?
willem
Posts: 17
Joined: Tue Oct 25, 2005 3:09 pm
Location: Netherlands

Re: IO warrior spurious behavior

Post by willem »

Hi Guido,
I "talk" to a DAC (MCP4822).
ChipSelect of the DAC connected to SPI-SS on IOW56.
IOW-56 SPI Enable set to 01, Mode set to 00, clock to FF

Just 2 bytes to sent.

Whenever things are working (and they do on the "old" DELL precission 380 single core) I can perfectly init the DAC (4 bit)and set the output to any value (12 bit).

Whenever the system fails, I don't see any change on the ADC output (so after a power-on the output remain 0Volt), so I gues there is no or corrupt data on the SPI bus.

(btw, is there a nice/easy way to monitor SPI traffic in order to find out if correct data is sent??)

Regards,
Willem
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO warrior spurious behavior

Post by Guido Körber »

So the IO-Warrior continues to react properly but the data makes no sense?

Does that happen only for singe data packets or do you lose the function totally?

Have you taken a look at the USB supply voltage? We have seen many really bad systems there even from well known manufacturers. The USB voltage must not be below 4.25V at the connector of the IO-Warrior.
willem
Posts: 17
Joined: Tue Oct 25, 2005 3:09 pm
Location: Netherlands

Re: IO warrior spurious behavior

Post by willem »

The supply on IOW is 4.75V, this voltage is comming from the USB port of the PC wich is actually 5.05Volt.
The voltage drop is caused by a shottky power diode in serie, because I want to have the option (selectable by a jumper) to have the IOW also supplied from my board. At the moment IOW56 supply just and only comes from the USB port.


Does that happen only for singe data packets or do you lose the function totally?

I don't know, just see the DAC doesn't work, so for SPI there seem to be total function los.
However other commands to the same IOW56 (like setting port levels) are working fine all the time on all PC's.
So just SPI problems....

Willem
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO warrior spurious behavior

Post by Guido Körber »

Can you check with a scope if anything is going on at the SPI lines?
willem
Posts: 17
Joined: Tue Oct 25, 2005 3:09 pm
Location: Netherlands

Re: IO warrior spurious behavior

Post by willem »

Hi all,

We finally found a way to get our system into this "problem" mode, this maybe a help to find a solution...

Our hardware is using the USB power for just and only the IOW56 module, external power source for DAC and other electronics connected to the IOW.
To get the system into problems we have to :

-quit our IOW56 application
-disconnect the USB connection to the IOW56 module for > 5seconds
-leave the external power to associated hardware connected

if we re-connect the USB port and statup the application, we come into problem mode (no SPI, however simple IO is working)

To get out of this error mode we have to:
-complete switch off PC (hence power down USB)
-disconnect the external power source to the associated IOW56 hardware (> 15 seconds)
-then reconnect external power
-startup PC
-start up PC application

Although we could make a kind of procedure (never disconnect the USB cable...) for our users to prevent getting into this failure we really would like to solve it either within in hardware or software.

Any suggestions??

Regards,

Willem
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO warrior spurious behavior

Post by Guido Körber »

This sounds like a brown-out problem where the IO-Warrior gets some power via its protection diodes from the logic signals that get their power form the external source. This can result in it not properly restting.

Can you switch the external power off when there is no Vbus from the USB?
willem
Posts: 17
Joined: Tue Oct 25, 2005 3:09 pm
Location: Netherlands

Re: IO warrior spurious behavior

Post by willem »

Hi Guido,
Would be possible, although some redesign is needed...
How about the option (available on my hardware by just placing a jumper) to supply the IOW56 module both from PC's USB bus AND 5V supply from the additional hardware?
Of course (power-shottky)diode is placed in series to prevent these supplies start "supply" each other......

Regards,
Willem
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IO warrior spurious behavior

Post by Guido Körber »

May be worth a try.
Post Reply