EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Have you ever Vinculum/FTDI support?

Started by Peter Dickerson March 24, 2010
On Thu, 25 Mar 2010 09:31:14 -0000, "Peter Dickerson" <first.last@tiscali.invalid> wrote:

>"Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk> wrote in >message news:80vk5bFcanU1@mid.individual.net... >>> None of that is an option. The hardware has a VNC1L on it and I can do >>> nothing about it at this stage except scream. The Vinculum was >>> specifically imposed on me for quick time to market (yes, really!). I >>> need a solution to my problems in weeks at most. It's not like it is >>> completely non-functional. I have acces to Flash devices working but >>> can't make anything else talk sense (USB keyboard, printer). >>> Peter >> >> Peter, >> >> I've always had reasonably prompt responses from FTDI support, you might >> want to ping them to get an answer? > >I'll give it a go, but time is running out. > >Peter >
The only time I've not had a quick response is when there's a trade show on.
On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson" <first.last@tiscali.invalid> wrote:

>"Antti" <antti.lukats@googlemail.com> wrote in message >news:36311f30-3eea-461f-92be-15165f38d6c4@g4g2000yqa.googlegroups.com... >On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...@tiscali.invalid> >wrote: >> Has anyone here ever had a response to a support query for the Vinculum >> VNC1L or anything else for that matter? I don't get as much as an >> automated >> ack. >> >> I thought the purpose of the chip was to make life easier when >> implementing >> USB host function but this is getting to be no joking matter. >> >> Peter > >FORGET about vinculum-1 > >MCU with only binaries??? > >vinculum-2 allows custom programming, but i did not see the toolchain >downloads > >as of USB host, just take AT32UC3 >cheap and free open USB host stacks >easy
Also look at PIC24FJ64GB004 - USB OTG with source libraries for about a third the cost of VNC1L and you get the CPU for free... My biggest complaint is that Microchip's linker is too dumb to omit unused functions, which is ridiculous when you are using a ready-rolled USB/FAT library which will doubtless contain many functions that your app doesn't use.
>------------------------- >None of that is an option. The hardware has a VNC1L on it and I can do >nothing about it at this stage except scream. The Vinculum was specifically >imposed on me for quick time to market (yes, really!). I need a solution to >my problems in weeks at most. It's not like it is completely non-functional. >I have acces to Flash devices working but can't make anything else talk >sense (USB keyboard, printer).
I've not read all the appnotes but my impression is that VNC1L is aimed mostly at mass-storage and not really a general-purpose USB host, although I think there are some appnotes on accessing a few other things.
"Andrew Jackson" <alj@nospam.com> wrote in message 
news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d@eclipse.net.uk...
>> As to the actual Vinculum problem, well, I see a notification that a >> device >> has been inserted but when I try to query what it is with Query Port or >> Query Device I get nothing, a long string of FFs and EBs, other jibberish >> or >> a prompt. In the case of a mouse I don't even get the device detected >> notification. However, if I restrict myself to USB Flash then it works >> (but >> Query commands aren't needed for that). > > Is the issue associated only with low speed devices? Have you looked at > any sort of USB trace to see what the Vinculum chip is trying to do? (I > realise that this partly negates what it is trying to do.)
I don't have a USB analyser so I don't have much visibility at that end. The Vinculum chip has its own firmware which hides most of what the host controller is doing. I have to rely on it doing what the docs say. There is a firmware manual that lists all the commands and responses but the behaviour the system doesn't match my understanding of that document. Now it is quite likely that my understanding is wrong. For additional guidance there are a number of application notes. One such describes how to perform printing to a PCL-type USB printer. That particular example uses what FTDI call SPI mode, short commands etc that match the way I'm using the VNC1L. The hard part is that they are using HC12 assembler to drive it while I'm using C on a ARM7. I have refactored my code to map as closely as I can to what there example does. In practice my code works for USB Flash devices although I bypass all of there filessystem stuff, using it to read and write sectors. Anyway, the code in their app note doesn't match the code in the accompanying zip file. The code does a significant amount of work in a timer interrupt although the app note only says that there is a timer inetrrupt for timer ticks. Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 command should report a hub on port 1 according to the docs. However, I havent had a USB Flash work through a hub, so I'm very dubious... Surely, if it doesn't work with hubs then it can't claimto be USB? OK. Hub goes in port 1. I get DD1 (device detected on port 1). Remove the hub an got rubbish. Back in - DD1. Out - DR1 (device removed from port 1). QP1 (query port 1) replies with two bytes of zero - nothing fitted. QD 0-15 (query device) lists sixteen lots of thirty-two zeros - nothing fitted. Now, with the hub. DD1 detected. QP1, QD0-15 sequence: QP1 timed out with no bytes received. Same for QP2. QD 0 timed out after 0 bytes. After a few more of those I get write timing out too. Its as if the firmware has stopped responding and there's a fifo filling on the write path. Remove the hub - zilch. Looks like the Vinculum has gone away. That's the worst I've seen. Previously I got junk and it would semi-recover when devices were removed... Peter
"Mike Harrison" <mike@whitewing.co.uk> wrote in message 
news:qvvoq5htcaa5oqlpavkkvma7k2lfh0qf0r@4ax.com...
> On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson" > <first.last@tiscali.invalid> wrote: > >>"Antti" <antti.lukats@googlemail.com> wrote in message >>news:36311f30-3eea-461f-92be-15165f38d6c4@g4g2000yqa.googlegroups.com... >>On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...@tiscali.invalid> >>wrote: >>> Has anyone here ever had a response to a support query for the Vinculum >>> VNC1L or anything else for that matter? I don't get as much as an >>> automated >>> ack. >>> >>> I thought the purpose of the chip was to make life easier when >>> implementing >>> USB host function but this is getting to be no joking matter. >>> >>> Peter >> >>FORGET about vinculum-1 >> >>MCU with only binaries??? >> >>vinculum-2 allows custom programming, but i did not see the toolchain >>downloads >> >>as of USB host, just take AT32UC3 >>cheap and free open USB host stacks >>easy > > Also look at PIC24FJ64GB004 - USB OTG with source libraries for about a > third the cost of VNC1L and > you get the CPU for free... > My biggest complaint is that Microchip's linker is too dumb to omit unused > functions, which is > ridiculous when you are using a ready-rolled USB/FAT library which will > doubtless contain many > functions that your app doesn't use. > >>------------------------- >>None of that is an option. The hardware has a VNC1L on it and I can do >>nothing about it at this stage except scream. The Vinculum was >>specifically >>imposed on me for quick time to market (yes, really!). I need a solution >>to >>my problems in weeks at most. It's not like it is completely >>non-functional. >>I have acces to Flash devices working but can't make anything else talk >>sense (USB keyboard, printer). > > I've not read all the appnotes but my impression is that VNC1L is aimed > mostly at mass-storage and > not really a general-purpose USB host, although I think there are some > appnotes on accessing a few > other things.
Yes, I know it's not a general purpose host device. Which is why it had to be imposed. The VNC1L provides access to FAT formatted USB Flash devices and a number of other things such as HID(keyboard) and printing. We already have a large body of code that accesses FAT (on other products via SD-Card). In the end it turned out easier to tell the VNC1L to read and write sectors, and bypass the file system support altogether. None of which is related to my current problem. I don't get as far as talking to the keyboard or printer. I'm struggling with getting the Vinculum to respond to queries about what has been plugged in even for case that it claims support (keyboard and printer). Peter
"Peter Dickerson" <first.last@tiscali.invalid> wrote in message 
news:hoi10r$oae$1@news.eternal-september.org...
> "Andrew Jackson" <alj@nospam.com> wrote in message > news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d@eclipse.net.uk... >>> As to the actual Vinculum problem, well, I see a notification that a >>> device >>> has been inserted but when I try to query what it is with Query Port or >>> Query Device I get nothing, a long string of FFs and EBs, other >>> jibberish or >>> a prompt. In the case of a mouse I don't even get the device detected >>> notification. However, if I restrict myself to USB Flash then it works >>> (but >>> Query commands aren't needed for that). >> >> Is the issue associated only with low speed devices? Have you looked at >> any sort of USB trace to see what the Vinculum chip is trying to do? (I >> realise that this partly negates what it is trying to do.) > > I don't have a USB analyser so I don't have much visibility at that end. > The Vinculum chip has its own firmware which hides most of what the host > controller is doing. I have to rely on it doing what the docs say. There > is a firmware manual that lists all the commands and responses but the > behaviour the system doesn't match my understanding of that document. Now > it is quite likely that my understanding is wrong. For additional guidance > there are a number of application notes. One such describes how to perform > printing to a PCL-type USB printer. That particular example uses what FTDI > call SPI mode, short commands etc that match the way I'm using the VNC1L. > The hard part is that they are using HC12 assembler to drive it while I'm > using C on a ARM7. I have refactored my code to map as closely as I can to > what there example does. In practice my code works for USB Flash devices > although I bypass all of there filessystem stuff, using it to read and > write sectors. Anyway, the code in their app note doesn't match the code > in the accompanying zip file. The code does a significant amount of work > in a timer interrupt although the app note only says that there is a timer > inetrrupt for timer ticks. > > Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 > command should report a hub on port 1 according to the docs. However, I > havent had a USB Flash work through a hub, so I'm very dubious... Surely, > if it doesn't work with hubs then it can't claimto be USB? > > OK. Hub goes in port 1. I get DD1 (device detected on port 1). Remove the > hub an got rubbish. Back in - DD1. Out - DR1 (device removed from port 1). > QP1 (query port 1) replies with two bytes of zero - nothing fitted. QD > 0-15 (query device) lists sixteen lots of thirty-two zeros - nothing > fitted. > > Now, with the hub. DD1 detected. QP1, QD0-15 sequence: > QP1 timed out with no bytes received. Same for QP2. > QD 0 timed out after 0 bytes. > After a few more of those I get write timing out too. Its as if the > firmware has stopped responding and there's a fifo filling on the write > path. > Remove the hub - zilch. Looks like the Vinculum has gone away. That's the > worst I've seen. Previously I got junk and it would semi-recover when > devices were removed...
I have now had a response via a friend. So it looks like they are ignoring me specifically. I haven't had chance to check out the reply, but it boils down to "put a resistor here". Of course most of the schematics don't have that, and one that does is discussed in the Vinc II docs where they say the resistor(s) aren't needed even for the VNC1L. I'll report back. After all, if it fixes the problem then FTDI tech support ought to get the good press as well as the bad. Peter
>> Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 >> command should report a hub on port 1 according to the docs. However, I >> havent had a USB Flash work through a hub, so I'm very dubious... Surely, >> if it doesn't work with hubs then it can't claimto be USB?
Since the chip is operating as an embedded USB host, it may be that they only support the USB host's root port. That said, its not that difficult to support a hub although there is then a certain amount of complexity in the device management.
> I have now had a response via a friend. So it looks like they are ignoring > me specifically. I haven't had chance to check out the reply, but it boils > down to "put a resistor here". Of course most of the schematics don't have > that, and one that does is discussed in the Vinc II docs where they say the > resistor(s) aren't needed even for the VNC1L.
The Vinculum data sheets look a little light on detail for the USB interface (perhaps on the basis that "it just works"). Is this (missing) resistor a pull up(/down) on one of the USB lines? Andrew
"Andrew Jackson" <alj@nospam.com> wrote in message 
news:gt-dnb9Aw8seZi_WnZ2dnUVZ8nednZ2d@eclipse.net.uk...
>>> Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 >>> command should report a hub on port 1 according to the docs. However, I >>> havent had a USB Flash work through a hub, so I'm very dubious... >>> Surely, >>> if it doesn't work with hubs then it can't claimto be USB? > > Since the chip is operating as an embedded USB host, it may be that they > only support the USB host's root port. That said, its not that difficult > to support a hub although there is then a certain amount of complexity in > the device management. > >> I have now had a response via a friend. So it looks like they are >> ignoring >> me specifically. I haven't had chance to check out the reply, but it >> boils >> down to "put a resistor here". Of course most of the schematics don't >> have >> that, and one that does is discussed in the Vinc II docs where they say >> the >> resistor(s) aren't needed even for the VNC1L. > > The Vinculum data sheets look a little light on detail for the USB > interface (perhaps on the basis that "it just works"). Is this (missing) > resistor a pull up(/down) on one of the USB lines?
Sorry, My connection has been dead for a few days. The resistor is a pull-up on an unused signal (DATAREQ#). The resistors for USB are internal, but I don't think a host needs pull-ups/downs like USB-devices do. The pull-up did help but I still have some unhelpful symptoms. If I plug a keyboard, printer or flash into the port then it reports it (the keyboard is a slow device). If I use a hub it doesn't report the connection but I do see the hub and flash. I don't see a mouse whatever. The flash is identified though a hub on port 2 but not at the file system level - it is seen without the hub. I've yet to get any data to/from a keyboard or printer, which are the things I need to do urgently. Peter

The 2024 Embedded Online Conference