CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

problem with vdrive2 spi mode data transfer

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
satish.drm



Joined: 25 May 2013
Posts: 7
Location: vizag

View user's profile Send private message Send e-mail

problem with vdrive2 spi mode data transfer
PostPosted: Mon Jun 03, 2013 12:59 am     Reply with quote

hi all

I successfully transfered the data from MC to USB flash drive using VRIVE2 in UART mode. But i need to transfer the data in SPI mode. Anyone have any example codes in C? or any idea on this topic please tell me how can i go through this?? please help on this topic.


Thanks & Best regards

Kasi Arsavelli
temtronic



Joined: 01 Jul 2010
Posts: 9243
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Mon Jun 03, 2013 5:41 am     Reply with quote

Having used those chips for awhile , in UART mode, I have to ask why go to SPI mode?
Right now you have working code, simple interface(2 pins,maybe 3) and reasonable speed( I'm using 115k200 baud).You can get 3M baud though!
With SPI you'll need to cut driver code,use more pins(4) ,perhaps get faster speed.

So I'd just like to know why SPI ?

jay'
satish.drm



Joined: 25 May 2013
Posts: 7
Location: vizag

View user's profile Send private message Send e-mail

PostPosted: Tue Jun 04, 2013 12:24 am     Reply with quote

thanks for reply

I just want to test with SPI mode also, and my application occupies my two UART functions so i need to drive this VDRIVE2 in SPI mode only. Please tell me any changes that i need to do to connect it in SPI mode.

Thanks & Regards
Satish Kumar.
Ttelmah



Joined: 11 Mar 2010
Posts: 19539

View user's profile Send private message

PostPosted: Tue Jun 04, 2013 1:42 am     Reply with quote

OK. You have a sensible 'reason' to want to use SPI. Smile

Unfortunately the Vdrive SPI interface is very awkward to drive.

It is closer to the way I2C works than standard SPI. There is a dummy '1' sent, then the next bit sent signifies the 'direction' (rather like the LSb in I2C), then the next bit is used to signify data/address. Then for reading there are eight dummy bits clocked, while for writing there is the data. After the main transfer one more clock reads a status bit to verify acceptance of the transfer.
Since it uses twelve clocks for a transfer, software SPI has to be used.

On the returned data, you have to check the bottom bit, to verify that the data is OK, or read again if not, and once this is OK, rotate the value one bit to get the 8bit number.
When sending you have to multiply the value to send by two, add the address bit above this, and then two ones above this to say you want a write transaction.

SPI on this, is very much harder than serial.

Unfortunately, unlike most chips using odd data packet lengths (Texas and Motorola have several), where, once the required transfer 'count' is done, the device ignores extra clocks, so you can feed them off (for instance) 16 clocks, while the devices uses 12, the FTDI unit does not do this.

It is actually easier and faster to use something like an I2C UART, than to get this to work!.
If you really feel you 'must' go this way, then I'll see if I can find some old stuff I did trying this, but I decided performance was so poor, that I switched to adding another PIC, to give an extra UART.

It is funny, since most of the device is good, but the SPI is the exception. It behaves rather like it is a simple section of a gate array setup to clock out/in the single bytes, without any attempt to actually make the interface easy to use.

Best Wishes
satish.drm



Joined: 25 May 2013
Posts: 7
Location: vizag

View user's profile Send private message Send e-mail

PostPosted: Tue Jun 04, 2013 10:38 pm     Reply with quote

Thanks for giving me this stuff.

I agree with you, it is very difficult process to run in SPI mode. I tried it but its fail to connect to monitor. The LED flasher red and green for 2sec after it gets off. I think it means there is a problem with SPI clock. So I decided to go with UART only. So, please guide me to change FIRMWARE to set my baudrate to 115200. What are the needs to get this baudrate??


Thanks & Regards
Satish Kumar
satish.drm



Joined: 25 May 2013
Posts: 7
Location: vizag

View user's profile Send private message Send e-mail

PostPosted: Thu Jun 06, 2013 12:03 am     Reply with quote

hi

I successfully configured and upgraded my VDRIVE2. But, i have one more doubt on vdrive2 SPI mode. Can we transfer entire FILE from SPI lines to USB flash drive instead of creating file through COMMANDS?? If can please give me any idea to do like that.

Thanks & Regards
Satish Kumar
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group