完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的总目标是在30 kSPS /信号(总共60 kSPS)下采样两个信号,并通过蓝牙等无线协议发送数据。
当前进展: 我能用一个8位Delta SIG ADC在10 kSPS上采样一个信号。我可以通过UART把10秒的数据发送给PC机。我可能需要配置一个外部时钟来获得所需的波特率,以匹配我的硬件30 kSPS。 我的代码现在在每个ADC转换之后发送一个字节。我不认为这是最好的办法,恐怕30-60公斤级的赛车不太好。 问题: 在通过UART发送数据之前,我应该使用某种缓冲区来存储数据吗?通过UART发送流数据的最佳方式是什么?我能使用UART两个频道的数据(60 kSPS)没有问题吗?你建议我使用串行蓝牙模块使这个设计无线化吗?我从未使用过蓝牙,但数据速率似乎对这个应用来说是可以的。 以上来自于百度翻译 以下为原文 My overall goal is to sample two signals at 30 ksps / signal (60 ksps total) and send the data via a wireless protocol such as bluetooth. Current progress: I'm able to sample one signal at 10 ksps using a 8-bit delta sig ADC. I'm able to send a few seconds of data at 10 ksps to the pc via UART. I may need to configure an external clock to get the required baud rate to match my hardware for 30 ksps. My code currently sends one byte after each ADC conversion. I don't think that this is the best way, and I'm afraid it won't work well for 30-60 ksps. Questions:
|
|
相关推荐
5个回答
|
|
像往常一样,这是……这取决于…
如果你先通过UART检查连续发送数据,如果所有的比特都可以通过。 让我们估计:60 kSMP/s乘以12(对于开销,如停止位等),为720kbAd。这太多了,我怀疑这是否可能。 如果不连续生成数据,则YOUT数据存在上限,例如250个数据点。在这种情况下,我建议使用软件技术(循环缓冲区)来存储数据并同时发送出去。 希望有所帮助。玩得高兴 鲍勃 以上来自于百度翻译 以下为原文 As usual the answere is : That depends... If you are continously sending your data via an UART check first if all the bits can pass. Let us estimate: 60 ksmp/s times 12 (for the overhead like stop-bits etc) that is 720kbaud. That's a lot and I question if that would be possible. If you are not continously generate data, there is an upper limit for yout data, for instance 250 data-points. In this case I would suggest to use a software- technique (circular Buffer) to store the data and to send them out concurrently. Hope that helps. Have fun Bob |
|
|
|
使用CPU将数据从ADC传输到UART将是一个耗时的过程,正如在前面的帖子中所说的那样,可能很难做到这一点。对于60kSPS,8位样本,波特需要的是60K×10位=480 kbps。从理论上讲,PSoC Creator分量支持这个波特。在DMA的帮助下实现这一点是可能的。DMA可以被配置为具有ADCU-OUTSAMP寄存器作为源,UART TX PTR作为目的地。每个EOC都可以触发DMA来初始化这种传输。由于目标是采样2个通道,所以必须使用Amux组件(模拟硬件MUX)。在EOC的帮助下,两个模拟通道之间的切换可以自动进行。由于您打算测量2个独立的ANALOD通道,在Delsig ADC的情况下,您必须使用多采样模式。在这种模式下,最大采样率约为91 kSPS(每通道45 kSPS)。
以上来自于百度翻译 以下为原文
|
|
|
|
嗨,我有一个类似的问题出现在论坛,让我知道如果你找到一个解决方案。我正在采样一个信号到1 kSPS,并且AM通过蓝牙发送数据到115200 BPS的速度,带有TX8O-sEnDATA函数。问题是,我认为缓冲区太快,接收器不能实时工作。我希望你能帮忙。谢谢
TX8Buffel.TXT.ZIP 987字节 以上来自于百度翻译 以下为原文 Hi, I have a similar problem that arises in the forum and let me know if you found a solution. I'm sampling a signal to 1 ksps and am sending the data via Bluetooth to a speed of 115200bps with TX8_SendData function. The problem is that I think the buffer is full too fast and the receiver does not work in real time. I hope you can help with this. thanks
|
|
|
|
关于你的来源的一些评论:
总是建议使用设计器“文件& GT;存档项目”在完整的项目(在正确的论坛)中发布。 你没有检查你的RX为一个字符准备好了。 在切换AMUX之后,应该丢弃下一个3个ADC值。 我看不到可能会溢出的缓冲区。 鲍勃 以上来自于百度翻译 以下为原文 Some comments on your source: It is always advisable to post the complete project (in the right forum) using Designer "File -> Archive Project..." You do not check your Rx for a character beeing ready. After switching the AMUX the next 3 ADC-values should be discarted. There is no buffer I can see that may overrun. Bob |
|
|
|
有一个使用UBFS的示例项目,描述如下:
该项目列举了作为一个8位,32 kHz,单USB音频设备的UBFS组件。音频数据通过两个DMAS传送到8位DAC。一个DMA被集成在用于发送和接收数据到存储器循环缓冲器中的UBFS组件中;另一个DMA(VDACOTDMA)将数据从存储器缓冲器移动到VDAC8。通过内部的32 kHz时钟的传入传输的同步是由软件完成的。它在循环缓冲区溢出时起作用。当内部32 kHz时钟比PC事务快时,VDACOTDMA停止一段时间来填充缓冲器。当内部32 kHz时钟比PC事务慢时,跳过一个USB传输。由于在UBFS组件中使用DMA端点内存管理,这个项目不适用于PSoC5硅。 您可以考虑使用此操作并修改示例。 问候,Dana。 以上来自于百度翻译 以下为原文 There is an example project using USBFS, described as follows - This project enumerates USBFS component as a 8-bits, 32kHz, mono USB Audio Device. The audio data is passed to 8-bit DAC using two DMAs. One DMA is integrated in USBFS component used for sending and receiving data to/ from the memory cyclic buffer; the other DMA (VDACoutDMA) moves data from memory buffer to VDAC8. The synchronization of incoming transfers with internal 32kHz clock is done by the software. It works when cyclic buffer overflows. When internal 32kHz clock is faster compared to PC transactions, VDACoutDMA stops for a while to fill the buffer. When internal 32kHz clock is slower compared to PC transactions, then one USB transfer is skipped. This project doesn't work with PSoC5 silicon due to the use of DMA Endpoint Memory Management in the USBFS component. You might consider working with this and modifying the example. Regards, Dana. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2101 浏览 1 评论
1848 浏览 1 评论
3666 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1783 浏览 6 评论
1533 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
564浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
418浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
434浏览 2评论
380浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
909浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:03 , Processed in 1.135553 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号