I am trying to use a Vinculum VNC1L device to access USB Flash but am having
some problems which look to me like the protocol is broken. Yes, I have
contacted FTDI/Vinculum support but recent questions have gone unaswered
(and unacknowledged). So I am asking here if anyone has experience of the
device and its protocol?
The story so far.
* I have a board designed that has an NXP ARM, RAM, ROM, LCD and the
Vinculum thingy.
* I have flashed the chip with the VDAP firmware version 3.66 and verified
it.
* I'm currently big-banging the low level 'SPI' signals even though the CPU
can do 'standard' SPI on these pins. This is to minimise the issues at this
stage. The Vinculum SPI is an abuse of the term since the interface is only
superficially like SPI.
* I can talk to the chip and have read/written data successfully, but
unreliably.
My problem, though, is this. Most of the command protocol consists of
sending commands and receiving status and data. Thats all well and good.
However, when a USB device is plugged into or unplugged from either USB host
port I get an asynchronous notification, by which I mean bytes are received
via the interface without having sent a request. The problem a see with this
is that there is a race condition where receive data is flushed just before
sending a command then an asynchronous status measage is mixed up with then
command response because it was generated between the flush and receipt of
command. I can't see how its possible to get round this. My concern is when
data is being written to a USB Flash device while a mouse/keyboard/printer
or whatever is being connected on the other host port.
Has anyone seen this problem? Any pointer to resolving it?
Thanks in advance,
Peter