完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我的问题与样品率有关。选择任意波形采样率的ADC采样率的标准是什么? 在我的例子中,我的WaveDAC(50 KSPS)直接连接到ADC(17位;5kSPS和实际转换率=4935个SPS)。这有道理吗? 特尔莫巴罗斯 以上来自于百度翻译 以下为原文 Hello everyone, My question is related to the sample rates. What is the criteria for choosing the ADC sample rate for an arbitrary WaveDAC sample rate? In my case, my WaveDAC (50 kSPS) is directly connected to the ADC( 17- bits; 5kSPS and actual conversion rate = 4935 SPS). Does it make sense? Telmo Barros |
|
相关推荐
29个回答
|
|
如果ADCJ-Delsig样本在5 kHz,那么DAC应该以相同的速率更新。更新它有什么意义?基本上,测量ADC样本,将其写入DAC,重复。设置DAC寄存器写入,不使用采样时钟。
以上来自于百度翻译 以下为原文 If ADC_DelSig samples at 5 kHz, then DAC should be updated at same rate. What is the point to update it faster? Basically, measure ADC sample, write it to DAC, repeat. Set DAC to Register write, don't use sampling clock. |
|
|
|
nvwuwy 发表于 2018-12-28 12:04 有道理。你提到了吸烟钟。为什么我不应该只是或者? 很抱歉这些问题,但我是初学者。 以上来自于百度翻译 以下为原文 Makes sense. You mentioned the smoking clock. Why should I not just or? Sorry for these questions but I'm a beginner. |
|
|
|
如果你告诉更多关于项目的建议,那就更容易了。 以上来自于百度翻译 以下为原文 It would be easier to advice if you tell more about the project. |
|
|
|
其思想是利用PSoC 5LP开发数据采集通道。 在这一刻,我只是使用WaveDAC + ADC连接,以确保我可以从ADC发送数据到UART(然后是Matlab或Python来处理数据) 最后,在WADEDAC和ADC Delsig之间会有一系列传感器。 我已经附加了项目包 CyWrk.CaseV01.Zip 2兆字节 以上来自于百度翻译 以下为原文 The idea is to develop a data acquisition channel using PSoC 5LP. At this moment I'm just using the wavedac + adc connection to make sure I can send data from the adc to the UART (then matlab or python to process the data) In the end, there'll be an array of sensors between the wavedac and adc delsig. I've attached the project bundle
|
|
|
|
xujun621 发表于 2018-12-28 12:35 瓶颈是UART。采样频率由这个决定。 对于16位ADC(2字节)和UART 115200,对于一个信道,每秒不超过5000个采样(检查它)。 以上来自于百度翻译 以下为原文 The bottleneck is UART. The sampling frequency is determined by this. For 16bit ADC (2 bytes) and UART 115200, there are no more than 5000 samples per second (check it) for one channel. |
|
|
|
chenzhenbo1984 发表于 2018-12-28 12:43 所以,让我直截了当地说。如果我想使用UART,用一个16位ADC,我必须将样本数量限制为5000,否则一些不通过,对不对? 基本上,我要问的是,我是否可以通过UART传输一个16位的值(ADC)。 以上来自于百度翻译 以下为原文 So, let me get this straight. If I want to use the UART, with a 16-bit ADC, I have to limit the number of samples to 5000, otherwise some do not go through, right? Basically, what I'm asking is if I can transmit a 16-bit value (ADC) through the UART |
|
|
|
xujun621 发表于 2018-12-28 12:59 通过UART发送数据可能有点困难。 一般有两种选择:发送二进制数据和发送ASCII数据。 二进制数据只需要两个字节来传输一个16位的值,但是在同步或一个字节被丢弃的情况下,你会遇到麻烦。 ASCII数据将需要5个字符最大+一个分隔符字节(即‘n’)来分隔项目。此外,需要一些CPU费力来进行转换。 二进制数据可以使用不同的接口作为I2C或SPI更安全地传输。人机界面通常是用UART制作的。 鲍勃 以上来自于百度翻译 以下为原文 Sending data through UART can be a bit difficult. You have generally two choices: Sending binara data and sending ASCII data. Binary data will only need two bytes to transmit for a 16 bit value, but you can get into troubles to synchronize or when one byte is dropped. ASCII data will need 5 characters maximum + a delimiter byte (i.e. 'n') to separate the items. Additionally some CPU efford is needed for conversion. Binary data can be transmitted more safely using a different interface as I2C or SPI. Man machine interface is usually made with UART. Bob |
|
|
|
xujun621 发表于 2018-12-28 12:59 是的,将会有损失。 我在UART上有一个非常古老的单通道示波器项目:PSoCoSoCoS12BIT.ZIP 为了确定高字节和低字节,我使用字节中的最高有效位。 所以比特深度不能超过14位。它在这里(俄语)。 也许UBUART在那里适合你,传输是用包来执行的,这就是为什么我们知道Lo和Hi字节在哪里。 例如:具有外部ADC(ADS7818)的数据采集模块 或者,您可以使用Modbus或ASCII模拟器模块ICP DAS(协议DCON)。 HTTP://www. CyPress?COM/?APP =论坛和ID ID=2233和;RID=92508 HTTP://www. pSOCGooReR.COM/FUMRS/VIEW?PHP?F=42和t=8629 HTTPS://Cultuy.CyPress .COM/THEADE/1950 不幸的是,许多参考文献不再相关。 以上来自于百度翻译 以下为原文 Yes there will be losses. I have a very old project of a single-channel oscilloscope on UART: PSoC_OSC_12bit.zip To determine the high and low byte, I used the most significant bit in the byte so the bit depth can not be more than 14 bits. it's here (Russian). Perhaps USBUART is suitable for you there the transmission is carried out by packets, that's why it is known where Lo and Hi bytes is. For example: Data acquisition module with external ADC (ADS7818) Alternatively, you can use a modbus or ASCII simulator module ICP-DAS (protocol DCON) http://www.cypress.com/?app=forum&id=2233&rID=92508 http://www.psocdeveloper.com/forums/viewtopic.php?f=42&t=8629 https://community.cypress.com/thread/19950 unfortunately many references are no longer relevant |
|
|
|
ncmza 发表于 2018-12-28 13:07 我懂了。我还在读数据表,但是你知道我是否也可以用MATLAB连接SPI或I2C?我的意思是,我可以把数据发送到COM端口并用另一个程序获取吗? 非常感谢您的关注! 特尔莫巴罗斯 以上来自于百度翻译 以下为原文 I see. I'm still reading the datasheets, but do you know if I can also connect either the SPI or I2C with Matlab? What I mean is, can I send data to the COM port and fetch it with another program? Thank you very much for your attention! Telmo Barros |
|
|
|
chenzhenbo1984 发表于 2018-12-28 13:14 我要检查一下你的建议。我仍然在努力理解实际发送的信息的大小。 所以,如果我想传输一个16位的数字,我应该确保COM端口接收一个18位的数据包吗? 谢谢你帮助我。 特尔莫巴罗斯 以上来自于百度翻译 以下为原文 I'm going to check your suggestions. I'm still struggling a bit on understanding the size of the information actually sent. So, if I wanted to transfer a 16-bit number, I should make sure that the COM port receives an 18-bit data packet? Thanks for helping me. Telmo Barros |
|
|
|
UBUART是一个64字节的分组交换。 当你发送和接收一个数据包时,你知道任何字节的数量。 你的任务: 1——为这个包提出一个数据结构。 2 -组织具有一定频率的分组传输。 3 -为PC机创建一个程序来接收PC中的数据包并将它们拆开,这是最困难的。 最简单的例子: -组织将表从64字节(0, 1,,,63)发送到UBUART的周期,例如1Hz的频率。 -为接收数据的PC创建一个程序。 以上来自于百度翻译 以下为原文 USBUART is a 64-byte packet exchange. When you send and receive a packet, you know the number of any byte. Your task : 1 - to come up with a data structure for this package. 2 - organize the transfer of packets with a certain frequency. 3 - Create a program for PC to receive packets in the PC and disassemble them - this is the most difficult. The simplest example: - organize the cycle of sending the table from 64 bytes (0, 1 ,,,,, 63) to USBUART for example with a frequency of 1Hz. - Create a program for the PC that will receive the data. |
|
|
|
我不确定我理解你写的东西,所以我要用我自己的话重复一遍。 UBUTART是一个64字节的分组交换,这是否意味着我可以通过UART发送最多64字节? 此外,当你提到组织发送周期时,我的脑海里有几个选项: -将所有转换数据从ADC中以64大小数组(例如)保存,然后通过UART发送每个值 -或者每次发送一个值。 不过,我的问题仍然是,我只想通过它发送一个2字节大小的值(我已经管理了接收端) 对不起,如果我不理解你的解释 以上来自于百度翻译 以下为原文 I'm not sure I understood what you wrote, so i'm going to repeat with my own words. USBUART is a 64-byte packet exchange - does it mean I could, possibly, send a maximum of 64 bytes through UART? Also, when you mentioned organizing the sending cycle, my mind went through a couple options: - save all the converted data from the ADC in a 64 sized array (for example), then send each value through UART - or send a value at each time. My problem stil maintains though, I just want to be able to send a 2-byte sized value through it (I've already managed the receiving end) Sorry if I didn't understand your explanation |
|
|
|
USPUART是一个模拟COM端口的USB CDC设备。 你需要找到有关它是如何工作的信息。 我添加了一个可以帮助你的例子。 UBS16BITYADC.CYWRK.SARVEVE01.ZIP 782.4 K 以上来自于百度翻译 以下为原文 USBUART is a USB CDC device simulating a COM port. You need to find information about how it works. I added an example that can help you. |
|
|
|
它说: “版本值CyDeal.Cuth.PrimgMt.model。CyrjMgMFLoDeSerialType”类型为“3”是一个未知版本。这可能意味着数据被破坏或是由不受支持的软件版本创建。 对不起,我是个新手。我的问题是: 我有第一个波作为VDAC的输出。 但是,不是用相同的(或非常相似的)波,而是在Matlab上得到: 在你们所说的一切之后,我假设我的问题是: - UART不能发送超过1字节的数据(我的ADC读取是16位长) -或 - ADC采样率可能关闭。 我完全迷路了。 以上来自于百度翻译 以下为原文 It says that: " The version value CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFolderSerialize' for type '3' is an unknown version.. This could mean that the data was corrupted or that it was created by an unsupported software version." Sorry, I'm a newbie on this sort of projects. My issue is this: I have the first wave as an output from the VDAC. but, instead of the same (or very similar) wave, I get this on matlab: After everything you guys said, I'm assuming my problems are: - UART can't send more than 1 bytes of data (my reads from the adc are 16 bit long) - or - ADC sampling rate might be off. I'm completely lost. |
|
|
|
xujun621 发表于 2018-12-28 14:36 这似乎是超时的问题。 PSoC每秒发送64字节的数据包(1000次)。 PC(Matlab)将数据收集到一个大的缓冲器中(例如4096)。 因此,你需要给程序积累缓冲器的能力——我有一个100到500毫秒的轮询间隔。 我修改了一个项目,并添加了PSoCuBuAR.EXE测试程序,但它只适用于XP/Wi7x32。 PS你在PSoC创建者4.1项目? 邮编 1.1兆字节 以上来自于百度翻译 以下为原文 It seems this is a problem with timeouts. PSoC sends packets of 64 bytes 1000 times per second (it seems). PC (matlab) collects data into a large buffer (for example 4096). Therefore, you need to give the program the ability to accumulate a buffer - I have a polling interval of 100 - 500 mSec. I modified the project a little and added the PSoCUSBUart.exe test program, but it only works for XP / Win7x32. ps you projects in PSoC Creator 4.1?
|
|
|
|
chenzhenbo1984 发表于 2018-12-28 14:50 是PSoC Creator 4 特尔莫巴罗斯 以上来自于百度翻译 以下为原文 It's PSoC Creator 4.0 Telmo Barros |
|
|
|
创建者4项目: UBS16BITYADC.CYWRK.SARVEVE01.ZIP 65.1 K 以上来自于百度翻译 以下为原文 project for Creator 4.0: |
|
|
|
当我通过数据表和你分享的项目阅读时,一个非常谦卑的疑问出现了。我做同样的连接(线材),因为我正在与其他UART或没有必要线什么? 在我把TX引脚连接到P0.1和RX引脚到P0.0之前 以上来自于百度翻译 以下为原文 As I was reading through the datasheets and the project you shared, one very humble doubt came up. Do I make the same connections (wire wise), as I was doing with the other UART or there is no need to wire anything? Before I connected the TX pin to p0.1 and RX pin to p0.0 |
|
|
|
xujun621 发表于 2018-12-28 15:23 在我的项目中没有UART。只有乌斯巴特。 要连接,USPIN P156,P157(CY8CKIT-059 PSoC 5LP连接器J6) 以上来自于百度翻译 以下为原文 There is no UART in my project. Only USBUART. To connect, usePins P15.6, P15.7 (CY8CKIT-059 PSoC 5LP connector J6 ) |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
570浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
423浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
384浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:58 , Processed in 1.235687 second(s), Total 112, Slave 96 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号