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
Bookmarks