VDIP1 (Vinculum - FTDI) problems


Closed Thread
Results 1 to 13 of 13
  1. #1

    Default VDIP1 (Vinculum - FTDI) problems

    Has anyone successfully interfaced the Vinculum VDIP1 module to a PIC for storing data on a USB memory stick?

    I want to use the VDIP1 to take 9600 bps data strings and write blocks of data to a USB memory stick.

    I read the "Flash Drive Connection" article in Circuit Cellar and assumed the VDIP1 and VMUSIC chips are largely the same. I have selected UART mode by placing both jumpers in either the extreme left or extreme right positions as per the VDIP1 Vinculum VNC1L Prototyping Module datasheet figure 2 & table 2. I have RTS pin 9 tied to CTS pin 10. I have +5 volts on pin 1 and Ground on pins 7 and 18. All other pins are floating.

    I am sending the following ASCII message at 9600 bps into the VDIP1 on pin 8.

    OPW Test1
    IPA
    WRF 12
    Hello World!
    CLF Test1

    What I observe is as follows.

    1/ at power up LED1 and LED2 alternately flash
    2/ touching a CRO probe on to pin 23 stops the alternate flash.
    3/ touching a CRO probe to pin 22 restarts the flashing.


    My code is:-

    VDIP1TxD var portb.0 'data from Vinculum VDIP1
    VDIP1RxD var portb.1 'data TO VDIP1 for writing to the USB stick

    LED var portb.5

    TxD var portc.6
    RxD var portc.7

    Start:
    define osc 4
    define loader_used 1
    ' Define LCD registers and bits
    Define LCD_DREG PORTD
    Define LCD_DBIT 0
    Define LCD_RSREG PORTD
    Define LCD_RSBIT 5
    Define LCD_EREG PORTD
    Define LCD_EBIT 4
    define char_pacing 1000

    WriteBlock:
    lcdout $FE, $01, "Creating file", $FE, $C0, "Test1"
    serout vdip1rxd , 6, ["OPW Test1"]
    pause 500
    serout vdip1rxd, 6, ["IPA"]
    pause 100
    serout vdip1rxd, 6, ["WRF 12"]
    pause 100
    lcdout $FE, $01, "Writing data", $FE, $C0, "Hello World!"
    serout vdip1rxd, 6, ["Hello World!"]
    pause 1000
    serout vdip1rxd, 6, ["CLF Test1"]
    lcdout $FE, $01, "Closing file", $FE, $C0, "Test1"
    pause 1000
    goto writeblock

    Any assistance gratefully received.

    Brian

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    did you tried to send your string to your PC first?

    How did you connect them together? schematic would help.

    Assuming you're using a bootloader... this at least mean your PIC have a USART, so why using SEROUT instead of HSEROUT? Knowing that 9600 baud is not recommended at 4MHz, this could be one part of the problem. You're not going to have this problem with HSEROUT even @4MHz.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    947


    Did you find this post helpful? Yes | No

    Default

    Brian

    I dont know if this has been touched upon on this forum ( I did not search ). However, this has been discussed on another forum using the 8051 family. From what I read, the documentation that comes with the vdip1 is not helpful.

    I would not know if this helps you, but you can look for ideas here http://www.8052.com/forum/read.phtml?id=145958

    Jerson

  4. #4


    Did you find this post helpful? Yes | No

    Default Appalling documentation

    The FTDI documentation is appalling. There are no reference designs showing how to interface the VDIP1 module to an external processor. There are some details on using the 40 pin VDIP2 chip but not the 24 pin VDIP1. So far I can't find a specification of the uart interface for speed, polarity, bit length, etc. I will re-read their crummy web site again over the weekend. There are grizzles on the 8052 and Parallax Propellor forums complaining about the documentation which comes complete with errors such as some FIFO pins having different functions to the user guide description. I am not using the FIFO.

    My data looks clean at 9600 with a 4 MHz xtal. I am using SEROUT because the HSEROUT interface is hardwired to the bootloader and used for other purposes. I can't think why SEROUT would not work, it always has in the past at 9600/4 MHz.

    The schematic is very simple and described in my original post. The PIC connects to the TxD and RxD Vinculum ports via 270 ohm resistors. TxD and RxD are in the correct sense as described in the VDIP1 data sheet.

    I smell a rat with the VDIP1 because of the flashing LED1 and LED2 which I doubt is a sign of robust good health. Two VDIP1 modules, fresh out of the box, both flash their leds. I suspect I need to be driving more pins than I have hooked up at the moment.

    Cheers
    Brian

  5. #5
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    I've never used one, but here are a few things I would try.

    1. Switch from serout to debug. Debug works 100% with a 4MHz osc at 9600bps.
    2. Add a carriage return $0D to the end of each command string.
    3. Issue the IPA command to set ASCII mode before sending OPW Test1.
    4. Switch to TRUE mode if INVERTED isn't responding.

    Have you read the Vinculum Firmware User Manual Version: 2.3? The VDIP1 manual looks
    pretty limp, but the firmware manual looks like is has everything you need.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  6. #6


    Did you find this post helpful? Yes | No

    Default Vinculum now starting to work - sort of

    FTDI have just posted a magazine article showing a PIC with a VDIP1. This is a help particularly if you can interpret the C code to get an idea of what is going on.

    http://www.vinculum.com/documents/AEI_0807_pp23-24B.pdf

    The C code is available at.
    http://www.vinculum.com/projects/SampleCsource.zip

    I am trying to use the VDIP1 in the most basic connection using its internal UART interface. What I have found so far is:-
    Reset, PGM, RTS, CTS, etc are all active LOW. Nowhere does the VDIP1 prototyping module datasheet manual version 0.92 say that.
    Txd & Rxd are inverted (mark/idle is TTL high) so you need the 'driven true' settings for serout. A max232 would be needed do drive an external RS-232 interface. I found I needed to force the data line HIGH for 5 mSecs before calling SEROUT to get it to work every time.
    A carriage return is ESSENTIAL after every command.
    FAT32 on a 2 GB card does not work for me.
    FAT on a 2 GB card sometimes works.
    FAT32 on a 256 MB card does not work for me
    FAT on a 256 MB card works almost every time BUT a/ if the 256 MB card is inserted power OFF the system needs a manual reset to start and b/ if the system was powered up when the 256 MB card was inserted it mostly sees the card and works but occasionally a manual reset is needed.

    It looks like FAT32 format flash cards are not supported. If I insert a 2 GB stick with the system powered OFF and I then turn it on, the VDIP1 LED1 and LED2 flash alternately forever. If I then ground the VDIP1 reset AND PGM together (Reset alone is not enough) then the system flashes LED1 and LED2 briefly a few times then LED2 lights steady. But now the Activity LED on the 2 GB stick flashes about 2 times per second and continues to flash forever. Formatting (using Windows Explorer on WIN-XP) the 2 GB stick for FAT instead of FAT32 sort of sometimes works. I have to try repeatedly grounding RESET and PGM before I get a state where the LED1 and LED2 stop their alternate flashing. I have recorded data on a 2 GB stick but it takes about ten tries to get the card recognised and the activity light to stop flashing.

    The detection of a new USB stick seems flakey. What I have found works mostly is to install the memory stick with the system powered up, wait a few seconds, then pull the RST line AND the PGM line low briefly. Touching an oscilloscope probe to the reset line on the external 24 pin adapter is enough to reset the chip - it's ultra sensitive.

    The Circuit Cellar article shows RTS directly connected to CTS. An email from FTDI says these should be actively driven so as not to miss any and data. The VDIP1 manual description is pretty vague and RTS/CTS appear to have a rather different meaning to modem usage.

    All in all I think I will eventually get this going but the documentation is crap. The factory did answer an email promptly but volunteered nothing I have listed above.

    Very frustrating and no way living up to FTDI's claim of 'makes USB a snap'.

    Cheers
    Brian

  7. #7
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    947


    Did you find this post helpful? Yes | No

    Default

    Brian

    That last posting of yours was a real eye-opener. Helped me because I am considering interface to a USB stick soon. However, since I knew that the VDIP had some issues, I was avoiding all searches for it and found something called USBwiz http://www.ghielectronics.com/faq.php?id=5 from GHI electronics LLC. Their claims seem good and the docs seem good too. I am trying to seek opinion of users of USBwiz here. Is this any better than the VDIP? I am currently looking at the USBwiz-OEM module that sells for almost $60 (see http://www.ghielectronics.com/details.php?id=5&sid=6)

    Thanks

  8. #8
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Did you already heard about MAX3421E? REALLY NICE !!!
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  9. #9
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    947


    Did you find this post helpful? Yes | No

    Default

    Hi Mister_E

    Did you already heard about MAX3421E? REALLY NICE !!!
    Have you used it? What kind of peripheral have you used? I'd like to know more. I am trying to interface a USB drive and USB printer to my controller if I can without much headache.

    Jerson

  10. #10
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    i have some sample in stock since i saw the advert in Electronmic Design magazine... never had any time to mess with since then... by the book, it's suppose to do what you need

    Funky enough.. you can find some example on GHI website
    http://www.ghielectronics.com/details.php?id=13

    I feel USBWiz could be easier to use but ~ 24 USD against ~12 USD for max3421e in single quantity.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  11. #11


    Did you find this post helpful? Yes | No

    Default Vinculum nearly working with SOME memory sticks

    The VDIP1 is a fussy feeder and you only find out what it does not like after you have tried and lost data.

    After several emails from the factory I have sort of got a working system. I have found out the hard way that not all USB memory sticks are created equal. My Rundisk 2 GB brandx stick is apparently too slow for the Vinculum VDIP1. That may be rectified with proper handshaking but how to do that is nowhere described in the manuals that I have found.

    You are meant to be able to upgrade the code in the VDIP1 by inserting a memory stick with an specially named file on it. Well it does work with a Verbatim 512 MB card but my Rundisk 2 GB card just dies part way into the boot load process leaving one VDIP1 module permanently inoperative. Scratch $35.

    With a Verbatim 512 MB card I can write 10,000 character files without using any software flow control but I do need some delays.

    Now for the task of reverse engineering the flow control system until it works.

    BrianT

  12. #12


    Did you find this post helpful? Yes | No

    Default How to drive the Vinculum VDIP1 USB module

    I finally got this working with some help from FTDI. I have put a writeup and the full code in the "Code Examples" part of this forum.

    HTH
    BrianT

  13. #13
    Join Date
    Aug 2013
    Posts
    1


    Did you find this post helpful? Yes | No

    Default Re: VDIP1 (Vinculum - FTDI) problems

    Hello friends,
    Can anybody guide me how to link VDIP1 module with hyperterminal for testing purpose?

Similar Threads

  1. How to drive the Vinculum VDIP1 in UART mode
    By BrianT in forum Code Examples
    Replies: 41
    Last Post: - 23rd May 2013, 12:34
  2. Vinculum and CP2102
    By WEspezial in forum Forum Requests
    Replies: 0
    Last Post: - 22nd June 2009, 08:00
  3. Vinculum VNC1L Vdrive2 module problems
    By the_virus in forum Serial
    Replies: 9
    Last Post: - 21st July 2008, 07:01
  4. USB-FTDI[UM232R] with PIC16f877a
    By bjox in forum USB
    Replies: 1
    Last Post: - 23rd February 2008, 22:40
  5. Replies: 4
    Last Post: - 3rd January 2008, 23:41

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts