- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
I am working on digitising our speech signals and transmitting these digital samples using UART to PC and collecting in PC using hyperterminal.
Problem is am losing many samples. For 16000BPS sampling rate, i collect only 1600 samples per second.
I have not used a DMA or ISR ,which i suppose, to be an efficient way?
If so could somebody help me with adding the ISR or/and DMA to the present workspace including the C-code?
If not, is there any other efficient way?
I have attached my workspace.
Thanks in advance
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Attachment missing.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for that. pls find the attached file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Attachment missing again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
am choosing the file and clicking post..but the file isnt getting uploaded..is there any other way?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please clear me with this doubt.
1.If my adc sampling rate is 16000sps and 8 bit resolution. Will i be able to collect 1,60,000 samples if i speak for 10seconds?
Or will there be any loss during conversion time etc?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Or does it depend on the variation of input siignal ?
Also i am collecting my digital samples using Hyperterminal i.e in ASCII form. Is there any software to check/plot if the received samples are in accordance with the input signal? or we need to convert this ascii to binary form?
Thanks a lot in advance !
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'd advise you to go through the video,appnote and code linked here:
AN61102 - PSoC® 3 and PSoC 5 - ADC Data Buffering Using DMA
http://www.cypress.com/?rID=44335
Go through those materials patiently,it will solve your problem.
PSoC Rocks,
Regards,
kmmankad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is an application that will graph from UART, or Ethernet or USB, free
for non-commercial uses.
http://www.selmaware.com/stampplot/index.htm
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks all for sharing !
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think you can store 160.000 samples. Even if one sample is only one byte, it would take nearly trice the amount of available memory. So you should create 2 or three pages of, lets say, 4k, and capture into them in a round-robin fashion. The AppNote AN52705 contains an example for this, called 'ping-pong-buffer'). Then you can transfer each page to the PC after it has been finished, while the other one gets filled again.
To send 16.000 samples per second to the PC, you will need a transfer rate of at least 160.000 bits per second (the overhead for the serial port transmits at least 10 bits per byte). It might be better to use the USB-port for that (it can emulate a serial port on the PC side), and to bulk transfer over it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok Hli, i just checked your post. Will do that !
Also am using Psoc5 -050 for this kit and psoc creator 2.0 . I see few posts in this forum that says we need an external crystal for using communication devices like USB or UART. Could someone please throw some light on it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, starting with Creator 2.0 you need a crystal for using USB. The reason is that the frequency of the internal oscillator is not accurate enough for USB. If you have a -050 kit with production silicon, the crystal should be already there (check near the PSoC, there should be a 24MHz crystal). If you have a kit with -ES1 silicon, you need to solder a crystal. For specific instructions, look here: http://www.cypress.com/?id=4&rID=56796 . There was a more detailed discussion in the forum here: http://www.cypress.com/?app=forum&id=2233&rID=56823 (including using other crystal frequencies, and what capacitors to choose). For myself, I used a stock 12MHz crystal and 22pF capacitors, which worked fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Don't forget if you are dealing with speech signals compression is a very
viable alternative to normal oversampling.
Some algorithims to consider -
http://193.226.6.174/IT2002/pdf/L42.pdf
http://www.ti.com/lit/an/slaa361/slaa361.pdf
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2660¶m=en535126
http://www.amazon.com/Speech-Processing-Embedded-Systems-ebook/dp/B008BBMYRM
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One more reference that may be useful -
http://www.psocdeveloper.com/uploads/tx_piapappnote/an2095.pdf
Regards, Dana.