PSOC5LP Dev Kit Data Acquisition 500Ksps

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hey PSOC Forums!

   

 

   

I am wanting to know if it's feasable for a PSOC5lp dev kit to be used in a situation where data is sampled at 500 Ksps and transfered to a PC without dropping any samples. Over a span of lets say 30 minutes. USB UART is ruled out because the sample rate is to high, but I was thinking i could instead try and use USB Bulk Transfers protocol to send the data over. I am very new to USB and don't have very much time to learn right now,  so I don't know if this is realistic or not..

   

If it is feasabile, Any sugestions torwards an implementation? I was thinking about starting with one of the example projects that uses DMA to move data from the ADC to the USB TX Buffer, any sugestios on what I should do on the receiving end? 

   

 

   

Thanks!

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

A PC has usually got an operating system that will serve several different processes quasi-parallel (look into your task manager)

   

This will hinder a contineous data stream accepted from the PC side. When the data width and thus the precision is 8 bits you will get a transfer-rate of 0,5 MB/s which is well within the transfer-rate of USB 2.0. With techniques as double buffering and DMA on the PSoC side you might be able to reach your wanted performance.

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

The USBUART is Full Speed, 12 Mb/s, so possibly could handle 12 bits

   

at a 1 MB/s rate.

   

 

   

USB UART is ruled out because the sample rate is to high,

   

 

   

Build a protocol to handle that problem......?

   

 

   

Do you need this to be sychronous over the local net ?

   


   

Regards, Dana.

   

 

   

 

   

     Related Application Notes and Example Projects

   


USB Peripheral Basics - AN57294
PSoC® 3 / PSoC 5 USB HID Fundamentals - AN57473
PSoC® 3 / PSoC 5 USB HID Intermediate - AN58726
USB Bulk Loopback With PSoC® 3 - AN56718
USB Vendor Commands with PSoC® 3 - AN56377
Interrupt Loopback - PSoC® 3 / PSoC 5
Isochronous Transfers in PSoC® 3 / PSoC 5

0 Likes
Anonymous
Not applicable

On host side, at least you have to write a descriptor for your device and use the OS drivers APIs in your application. I know some litterature on this and at least the following pointers could be usefull :

   

- Using WinUSB Functions

   

- USB Descriptors, the whole site is interesting

   

 

   

I think, the throughput with USB-FS in Bulk mode is OK (effective throughput of 1MB/s > 0.75) if you pay attention to limit protocol overhead but there is no guarantee of latency (the host can send IN packet whenever it wants). Latency could conduce you to implement some buffering on device and accept to hazardously loose some data. At least you should be able to detect when it happens. Perhaps, you can implement some compressions depending on your signal characteristics and make a feasability.

   

 

   

Regards,

   

PNN

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

@jlangfo5

   

This link should help implement bulk USB transfer PSoC5LP - PC

   

http://vimeo.com/64097918

   

 

   

There were many requests here similar to yours. Please post demo project if successful.

   

odissey1

0 Likes
Anonymous
Not applicable

 I would if I had ended up using my PSoC to solve the problem. In the end since this was for getting data inside of the lab and not the field, so we ended up going with some data aquistion tools that we had already developed.

0 Likes