- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 :
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@jlangfo5
This link should help implement bulk USB transfer PSoC5LP - PC
There were many requests here similar to yours. Please post demo project if successful.
odissey1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.